summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmailcert.sh4
1 files changed, 3 insertions, 1 deletions
diff --git a/mailcert.sh b/mailcert.sh
index 6002a1e..d3301d5 100755
--- a/mailcert.sh
+++ b/mailcert.sh
@@ -39,7 +39,9 @@ CACERT="$CA"/ca/"$CA".crt
# attempt to work out where to send the certificate
if ! [ "$USEREMAIL" ]; then # address from cmdline
if ! USEREMAIL="$(openssl x509 -in "$USERCERT" -text | sed -ne '{s/.*Subject.\+emailAddress=\(.\+\)/\1/p}' | head -n 1 | grep . )"; then # address from cert
- if [[ "$USERCERT" =~ (.+/|())(.+)(-|\.).+ ]]; then
+ if [[ "$USERCERT" =~ (.+/|())(.+)-.+ ]]; then
+ USEREMAIL="${BASH_REMATCH[3]}"@"$EMAIL_DEFAULT_DOMAIN"
+ elif [[ "$USERCERT" =~ (.+/|())(.+)\..+ ]]; then
USEREMAIL="${BASH_REMATCH[3]}"@"$EMAIL_DEFAULT_DOMAIN"
else
echo "Cannot find email address!"