diff options
-rw-r--r-- | mailutils/sendmail.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mailutils/sendmail.c b/mailutils/sendmail.c index defbd9552..4ca91fad8 100644 --- a/mailutils/sendmail.c +++ b/mailutils/sendmail.c | |||
@@ -150,7 +150,13 @@ static char *sane_address(char *str) | |||
150 | trim(str); | 150 | trim(str); |
151 | s = str; | 151 | s = str; |
152 | while (*s) { | 152 | while (*s) { |
153 | if (!isalnum(*s) && !strchr("+_-.@", *s)) { | 153 | /* Standard allows these chars in username without quoting: |
154 | * /!#$%&'*+-=?^_`{|}~ | ||
155 | * and allows dot (.) with some restrictions. | ||
156 | * I chose to only allow a saner subset. | ||
157 | * I propose to expand it only on user's request. | ||
158 | */ | ||
159 | if (!isalnum(*s) && !strchr("=+_-.@", *s)) { | ||
154 | bb_error_msg("bad address '%s'", str); | 160 | bb_error_msg("bad address '%s'", str); |
155 | /* returning "": */ | 161 | /* returning "": */ |
156 | str[0] = '\0'; | 162 | str[0] = '\0'; |