Просмотр исходного кода

Merge branch 'fix/list-self-generated-ssl' into main

Kristan Kenney 5 лет назад
Родитель
Сommit
70db94da85

+ 3 - 3
bin/v-generate-ssl-cert

@@ -92,9 +92,9 @@ cd $workdir
 openssl genrsa $KEY_SIZE > $domain.key 2>/dev/null
 
 # Generate the CSR
-subj="/C=$country/ST=$state/localityName=$city/O=$org"
-subj="$subj/organizationalUnitName=$org_unit/commonName=$domain_idn"
-subj="$subj/emailAddress=$email"
+subj="/emailAddress=$email/C=$country/ST=$state/L=$city/O=$org"
+subj="$subj/OU=$org_unit/CN=$domain_idn"
+
 if [ -z "$aliases" ]; then
     openssl req -sha256\
         -new \

+ 1 - 1
bin/v-list-mail-domain-ssl

@@ -118,7 +118,7 @@ if [ -e "$USER_DATA/ssl/mail.$domain.crt" ]; then
     crt=$(cat $USER_DATA/ssl/mail.$domain.crt |sed ':a;N;$!ba;s/\n/\\n/g')
 
     info=$(openssl x509 -text -in $USER_DATA/ssl/mail.$domain.crt)
-    subj=$(echo "$info" |grep Subject: |cut -f 2 -d =)
+    subj=$(echo "$info" |grep Subject: |sed -e "s/\"//g" -e "s/.*= //")
     before=$(echo "$info" |grep Before: |sed -e "s/.*Before: //")
     after=$(echo "$info" |grep "After :" |sed -e "s/.*After : //")
     signature=$(echo "$info" |grep "Algorithm:" |head -n1 )

+ 9 - 2
web/generate/ssl/index.php

@@ -41,6 +41,7 @@ if (empty($_POST['v_locality'])) $errors[] = _('City');
 if (empty($_POST['v_org'])) $errors[] = _('Organization');
 if (empty($_POST['v_email'])) $errors[] = _('Email');
 $v_domain = $_POST['v_domain'];
+$v_aliases = $_POST['v_aliases'];
 $v_email = $_POST['v_email'];
 $v_country = $_POST['v_country'];
 $v_state = $_POST['v_state'];
@@ -64,14 +65,20 @@ if (!empty($errors[0])) {
 
 // Protect input
 $v_domain = escapeshellarg($_POST['v_domain']);
+$waliases = preg_replace("/\n/", " ", $_POST['v_aliases']);
+$waliases = preg_replace("/,/", " ", $waliases);
+$waliases = preg_replace('/\s+/', ' ',$waliases);
+$waliases = trim($waliases);
+$aliases = explode(" ", $waliases);
+$v_aliases = escapeshellarg(str_replace(' ', "\n", $waliases));
+
 $v_email = escapeshellarg($_POST['v_email']);
 $v_country = escapeshellarg($_POST['v_country']);
 $v_state = escapeshellarg($_POST['v_state']);
 $v_locality = escapeshellarg($_POST['v_locality']);
 $v_org = escapeshellarg($_POST['v_org']);
 
-exec (HESTIA_CMD."v-generate-ssl-cert ".$v_domain." ".$v_email." ".$v_country." ".$v_state." ".$v_locality." ".$v_org." IT '' json", $output, $return_var);
-
+exec (HESTIA_CMD."v-generate-ssl-cert ".$v_domain." ".$v_email." ".$v_country." ".$v_state." ".$v_locality." ".$v_org." IT  '".$v_aliases."' json", $output, $return_var);
 // Revert to raw values
 $v_domain = $_POST['v_domain'];
 $v_email = $_POST['v_email'];

+ 10 - 0
web/templates/admin/generate_ssl.html

@@ -55,6 +55,16 @@
                                     <input type="text" size="20" class="vst-input" name="v_domain" value="<?=htmlentities(trim($v_domain, "'")) ?>">
                                 </td>
                             </tr>
+                            <tr>
+                                <td class="vst-text" style="padding: 24px 0 0 0;">
+                                    <?php print _('Aliases');?>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <textarea size="20" class="vst-textinput short" name="v_aliases"><?=htmlentities(trim($v_aliases, "'"))?></textarea>
+                                </td>
+                            </tr>
                             <tr>
                                 <td class="vst-text" style="padding: 12px 0 0 0;">
                                     <?php print _('Email');?>