From 2f1b2a582eda2b8993771bfece902f696c4dd9c4 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 18 Dec 1996 03:24:58 +0000 Subject: Note that ID comparisons are caseblind. svn path=/trunk/; revision=656 --- NEWS | 3 +++ pop3.c | 3 +++ uid.c | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index f7014c97..d56f62b1 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,9 @@ features -- * SIGUSR1 is now used for wakeup rather than SIGHUP. This eliminates any possible confusion about fetchmail's behavior at logout time. +* Received line parsing for envelope addresses now matches MX as well as + canonical DNS addresses, making multidrop routing slightly more reliable. + bugs -- * Fixed a FreeBSD compilation glitch involving SIGCLD (thanks to diff --git a/pop3.c b/pop3.c index f99b9f35..3ee5489b 100644 --- a/pop3.c +++ b/pop3.c @@ -181,6 +181,8 @@ static int pop3_getrange(FILE *sockfp, struct query *ctl, int*countp, int*newp) else if (sscanf(buf, "%d %s", &num, id) == 2) { save_str(&ctl->newsaved, num, id); + + /* note: ID comparison is caseblind */ if (!str_in_list(&ctl->oldsaved, id)) (*newp)++; } @@ -231,6 +233,7 @@ static int pop3_is_old(FILE *sockfp, struct query *ctl, int num) if (!ctl->oldsaved) return (num <= last); else + /* note: ID comparison is caseblind */ return (str_in_list(&ctl->oldsaved, str_find (&ctl->newsaved, num))); } diff --git a/uid.c b/uid.c index 84f46267..f4e81a9f 100644 --- a/uid.c +++ b/uid.c @@ -163,11 +163,11 @@ void free_str_pair_list(struct idlist **idl) #endif int str_in_list(struct idlist **idl, const char *str) -/* is a given ID in the given list? */ +/* is a given ID in the given list? (comparison is caseblind) */ { if (*idl == (struct idlist *)NULL || str == (char *) NULL) return(0); - else if (strcmp(str, (*idl)->id) == 0) + else if (strcasecmp(str, (*idl)->id) == 0) return(1); else return(str_in_list(&(*idl)->next, str)); -- cgit v1.2.3