summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2011-11-18 22:25:35 +0100
committerDenys Vlasenko2011-11-18 22:25:35 +0100
commit41fea01066539ed8e958c21591a5fe7155565ceb (patch)
treea4531fe81eaa3b1231ef810589477fcb323ba25e
parenta0bef7cc276476e69e2496e728bf97b32d3b561d (diff)
downloadbusybox-41fea01066539ed8e958c21591a5fe7155565ceb.zip
busybox-41fea01066539ed8e958c21591a5fe7155565ceb.tar.gz
sendmail: stop doing -t unconditionally; makemime: generate 76 char base64 lines
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--mailutils/mail.c2
-rw-r--r--mailutils/sendmail.c22
2 files changed, 13 insertions, 11 deletions
diff --git a/mailutils/mail.c b/mailutils/mail.c
index f5260d9..199f644 100644
--- a/mailutils/mail.c
+++ b/mailutils/mail.c
@@ -119,7 +119,7 @@ static char* FAST_FUNC parse_url(char *url, char **user, char **pass)
void FAST_FUNC encode_base64(char *fname, const char *text, const char *eol)
{
enum {
- SRC_BUF_SIZE = 45, /* This *MUST* be a multiple of 3 */
+ SRC_BUF_SIZE = 57, /* This *MUST* be a multiple of 3 */
DST_BUF_SIZE = 4 * ((SRC_BUF_SIZE + 2) / 3),
};
#define src_buf text
diff --git a/mailutils/sendmail.c b/mailutils/sendmail.c
index dbd4910..f96ca32 100644
--- a/mailutils/sendmail.c
+++ b/mailutils/sendmail.c
@@ -281,17 +281,19 @@ int sendmail_main(int argc UNUSED_PARAM, char **argv)
// analyze headers
// To: or Cc: headers add recipients
- if (0 == strncasecmp("To:", s, 3) || 0 == strncasecmp("Bcc:" + 1, s, 3)) {
- rcptto(sane_address(s+3));
- goto addheader;
+ if (opts & OPT_t) {
+ if (0 == strncasecmp("To:", s, 3) || 0 == strncasecmp("Bcc:" + 1, s, 3)) {
+ rcptto(sane_address(s+3));
+ goto addheader;
+ }
+ // Bcc: header adds blind copy (hidden) recipient
+ if (0 == strncasecmp("Bcc:", s, 4)) {
+ rcptto(sane_address(s+4));
+ free(s);
+ continue; // N.B. Bcc: vanishes from headers!
+ }
}
- // Bcc: header adds blind copy (hidden) recipient
- if (0 == strncasecmp("Bcc:", s, 4)) {
- rcptto(sane_address(s+4));
- free(s);
- // N.B. Bcc: vanishes from headers!
- } else
- if (strchr(s, ':') || (list && skip_whitespace(s) != s)) {
+ if (strchr(s, ':') || (list && isspace(s))) {
// other headers go verbatim
// N.B. RFC2822 2.2.3 "Long Header Fields" allows for headers to occupy several lines.
// Continuation is denoted by prefixing additional lines with whitespace(s).