sendmail: stop doing -t unconditionally; makemime: generate 76 char base64 lines

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2011-11-18 22:25:35 +01:00
parent a0bef7cc27
commit 41fea01066
2 changed files with 13 additions and 11 deletions

View File

@ -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

View File

@ -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).