Sfoglia il codice sorgente

Fix bug in v-add-letsencrypt-domain #2563 (#2744)

* Replace search_objects with an better method getting SSL_HOME var

If LE was enabled for multiple domains under the same users search_objects could return multiple times "same
same
same " 

Replacing it with get_object_value should solve the issue

* Add test for it
Jaap Marcus 3 anni fa
parent
commit
b68df3bd41
2 ha cambiato i file con 13 aggiunte e 1 eliminazioni
  1. 1 1
      bin/v-add-letsencrypt-domain
  2. 12 0
      test/letsencrypt.bats

+ 1 - 1
bin/v-add-letsencrypt-domain

@@ -520,7 +520,7 @@ fi
 
 
 # Adding SSL
 # Adding SSL
 if [ -z "$mail" ]; then
 if [ -z "$mail" ]; then
-    ssl_home=$(search_objects 'web' 'LETSENCRYPT' 'yes' 'SSL_HOME')
+    ssl_home="$(get_object_value 'web' 'DOMAIN' "$domain" '$SSL_HOME')"
     ssl_enabled="$(get_object_value 'web' 'DOMAIN' "$domain" '$SSL')"
     ssl_enabled="$(get_object_value 'web' 'DOMAIN' "$domain" '$SSL')"
     if [ "$ssl_enabled" = "yes" ]; then 
     if [ "$ssl_enabled" = "yes" ]; then 
         $BIN/v-update-web-domain-ssl "$user" "$domain" "$ssl_dir" "$ssl_home" "updatessl" 
         $BIN/v-update-web-domain-ssl "$user" "$domain" "$ssl_dir" "$ssl_home" "updatessl" 

+ 12 - 0
test/letsencrypt.bats

@@ -38,12 +38,24 @@ function setup() {
     refute_output
     refute_output
 }
 }
 
 
+@test "[ Web ] Create 2nd web domain" {
+    run v-add-web-domain $user "hestia.$domain" $ip yes
+    assert_success
+    refute_output
+}
+
 @test "[ Web ] Request new certificate for web domain" {
 @test "[ Web ] Request new certificate for web domain" {
     run v-add-letsencrypt-domain $user $domain "www.$domain,renewal.$domain,foobar.$domain,bar.$domain"
     run v-add-letsencrypt-domain $user $domain "www.$domain,renewal.$domain,foobar.$domain,bar.$domain"
     assert_success
     assert_success
     refute_output
     refute_output
 }
 }
 
 
+@test "[ Web ] Request 2nd new certificate for web domain" {
+    run v-add-letsencrypt-domain $user "hestia.$domain"
+    assert_success
+    refute_output
+}
+
 @test "[ Mail ] Create mail domain" {
 @test "[ Mail ] Create mail domain" {
     run v-add-mail-domain $user $domain
     run v-add-mail-domain $user $domain
     assert_success
     assert_success