diff options
Diffstat (limited to 'transact.c')
| -rw-r--r-- | transact.c | 10 | 
1 files changed, 3 insertions, 7 deletions
| @@ -899,10 +899,7 @@ int readheaders(int sock,       * get N copies.  This is bad when N > 1.       *       * Foil this by suppressing all but one copy of a message with a -     * given set of headers.  The accept_count test ensures -     * that multiple pieces of email with the same Message-ID, each -     * with a *single* addressee (the N == 1 case), won't be -     * suppressed. +     * given set of headers.       *       * Note: This implementation only catches runs of successive       * messages with the same ID, but that should be good @@ -930,11 +927,10 @@ int readheaders(int sock,  	     * If so there is a one in 18-quadrillion chance this   	     * code will incorrectly nuke the first message.  	     */ -	    if (memcmp(ctl->lastdigest, ctl->digest, DIGESTLEN)) -		memcpy(ctl->lastdigest, ctl->digest, DIGESTLEN); -	    else if (accept_count > 1) +	    if (!memcmp(ctl->lastdigest, ctl->digest, DIGESTLEN))  		return(PS_REFUSED);  	} +	memcpy(ctl->lastdigest, ctl->digest, DIGESTLEN);      }      /* | 
