diff options
-rw-r--r-- | mail/sendmail/files/patch-sum | 5 | ||||
-rw-r--r-- | mail/sendmail/patches/patch-af | 98 | ||||
-rw-r--r-- | mail/sendmail/patches/patch-ag | 8 |
3 files changed, 73 insertions, 38 deletions
diff --git a/mail/sendmail/files/patch-sum b/mail/sendmail/files/patch-sum index 3418bb5a5e0..b75b93bce82 100644 --- a/mail/sendmail/files/patch-sum +++ b/mail/sendmail/files/patch-sum @@ -1,9 +1,8 @@ -$NetBSD: patch-sum,v 1.12 2000/08/18 12:43:54 itojun Exp $ +$NetBSD: patch-sum,v 1.13 2000/08/18 16:29:23 onoe Exp $ MD5 (patch-aa) = 8b9fcec3b4f82a30c7a167c32a00841f MD5 (patch-ab) = df740f28896a0851159e3e7a7fcfdb5a MD5 (patch-ac) = 6afb53121cfd919c8cb8a37bea3b90f9 MD5 (patch-ad) = 309d090ecd1b4588f87153e9f240d9bd MD5 (patch-ae) = 9cb440411904551b9ceff30cc53b96d8 -MD5 (patch-af) = 30a5ad964e21c30e9fde79a8182b7e1f -MD5 (patch-ag) = 334bce684dd19169bd3662770df4efeb +MD5 (patch-af) = 2c589fc063d8cbf75c54d85e35da9fe7 diff --git a/mail/sendmail/patches/patch-af b/mail/sendmail/patches/patch-af index b4eb451b25e..42450c894c6 100644 --- a/mail/sendmail/patches/patch-af +++ b/mail/sendmail/patches/patch-af @@ -1,27 +1,71 @@ -$NetBSD: patch-af,v 1.1 2000/08/18 12:06:12 itojun Exp $ -a bugfix for WIDE patch, in email address simplifier - -*** sendmail/recipient.c- Sun Jul 30 03:27:17 2000 ---- sendmail/recipient.c Fri Aug 18 20:54:17 2000 -*************** -*** 47,52 **** ---- 47,54 ---- - { - int c = *p++; - -+ if (isspace(c) || c == '<' || c == '>') -+ continue; - if (isascii(c) && isupper(c)) - c = tolower(c); - hfunc = ((hfunc << 1) ^ c) % HASH_SIZE; -*************** -*** 568,573 **** ---- 570,577 ---- - { - int c = *p++; - -+ if (isspace(c) || c == '<' || c == '>') -+ continue; - if (isascii(c) && isupper(c)) - c = tolower(c); - hfunc = ((hfunc << 1) ^ c) % HASH_SIZE; +--- sendmail/recipient.c- Sat Aug 19 00:40:04 2000 ++++ sendmail/recipient.c Sat Aug 19 00:42:11 2000 +@@ -29,8 +29,9 @@ + static ADDRESS **chainlast; + + void +-make_rcpt_hash(sendq) ++make_rcpt_hash(sendq, e) + register ADDRESS **sendq; ++ register ENVELOPE *e; + { + ADDRESS **pq, *q; + int hfunc; +@@ -40,8 +41,14 @@ + + for (pq = sendq; (q = *pq) != NULL; pq = &q->q_next) + { +- char *p = q->q_paddr; ++ char *p; ++ ADDRESS *a; + ++ a = parseaddr(q->q_paddr, NULLADDR, RF_COPYALL, '\0', NULL, e); ++ if (a == NULL) ++ p = ""; ++ else ++ p = a->q_user; + hfunc = 0; + while (*p != '\0') + { +@@ -561,9 +568,15 @@ + if (use_hash) + { + /* get hash entry */ +- char *p = a->q_paddr; +- hfunc = 0; ++ char *p; ++ register ADDRESS *b; + ++ b = parseaddr(a->q_paddr, NULLADDR, RF_COPYALL, '\0', NULL, e); ++ if (b == NULL) ++ p = ""; ++ else ++ p = b->q_user; ++ hfunc = 0; + while (*p != '\0') + { + int c = *p++; +@@ -1588,7 +1601,7 @@ + ctladdr->q_flags &= ~QSELFREF; + nincludes = 0; + #if RCPT_HASH +- make_rcpt_hash(sendq); ++ make_rcpt_hash(sendq, e); + #endif + while (fgets(buf, sizeof buf, fp) != NULL && !maxreached) + { +@@ -1605,7 +1618,14 @@ + isascii(p[-1]) && isspace(p[-1]) && + (p[3] == '\0' || (isascii(p[3]) && isspace(p[3])))) + { ++#if 1 ++ p--; ++ while (p > buf && isspace(p[-1])) ++ p--; ++ p[0] = '\0'; ++#else + p[-1] = '\0'; ++#endif + break; + } + } diff --git a/mail/sendmail/patches/patch-ag b/mail/sendmail/patches/patch-ag deleted file mode 100644 index fe0f8abac13..00000000000 --- a/mail/sendmail/patches/patch-ag +++ /dev/null @@ -1,8 +0,0 @@ -$NetBSD: patch-ag,v 1.2 2000/08/18 12:43:55 itojun Exp $ ---- sendmail/conf.h- Fri Aug 18 21:39:32 2000 -+++ sendmail/conf.h Fri Aug 18 21:39:43 2000 -@@ -63,3 +63,3 @@ - # define CHECK_WARNING 1 /* use ruleset for decision on delay warning */ --# define RCPT_HASH 1 /* use hash to check address duplicates */ -+# define RCPT_HASH 0 /* use hash to check address duplicates */ - /* =========================== parameters =========================== */ |