Merge pull request #4528 from chris03/bugfix/replace-expr

SMTP notify: Use grep -E instead of expr
This commit is contained in:
neil 2023-03-01 10:28:18 +08:00 committed by GitHub
commit 0ea84ad799
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -169,7 +169,7 @@ _clean_email_header() {
# email # email
_email_has_display_name() { _email_has_display_name() {
_email="$1" _email="$1"
expr "$_email" : '^.*[<>"]' >/dev/null echo "$_email" | grep -q -E '^.*[<>"]'
} }
## ##
@ -249,7 +249,7 @@ _mime_encoded_word() {
_text="$1" _text="$1"
# (regex character ranges like [a-z] can be locale-dependent; enumerate ASCII chars to avoid that) # (regex character ranges like [a-z] can be locale-dependent; enumerate ASCII chars to avoid that)
_ascii='] $`"'"[!#%&'()*+,./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ~^_abcdefghijklmnopqrstuvwxyz{|}~-" _ascii='] $`"'"[!#%&'()*+,./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ~^_abcdefghijklmnopqrstuvwxyz{|}~-"
if expr "$_text" : "^.*[^$_ascii]" >/dev/null; then if echo "$_text" | grep -q -E "^.*[^$_ascii]"; then
# At least one non-ASCII char; convert entire thing to encoded word # At least one non-ASCII char; convert entire thing to encoded word
printf "%s" "=?UTF-8?B?$(printf "%s" "$_text" | _base64)?=" printf "%s" "=?UTF-8?B?$(printf "%s" "$_text" | _base64)?="
else else