[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: Patch for smtpd 2.0]



Since you're the only ones I know shipping smtpd with a default install, here it goes.

Keep up the good work.

SWA
--- Begin Message ---
smtpd 2.0 has a bug:

When smtpd 2.0 gets a message with lots of intended targets
it may split the targets in blocks of maximum size MAXARGS minus a few
and if there is a nonexistent user in any but the last block

smtpd 2.0 will fail to even try to deliver the message to any user
(at least on systems where EX_NOUSER is defined)

I'm proposing patch at the end of this message wich works for me.

I do hope you incorporate this in the distribution.

SWA

# diff -c smtpfwdd.c smtpfwdd.c.org
*** smtpfwdd.c  Thu Jun 22 22:29:29 2000
--- smtpfwdd.c.org      Thu Jun 22 21:23:32 2000
***************
*** 679,693 ****
  #endif
  #ifdef EX_NOUSER
        case EX_NOUSER:
!       /*if multiple deliveries needed, we do not want to             */
!       /*expunge the file yet because some user didn't exist          */
!         if (victim == NULL) {
!           syslog(LOG_INFO, "Sendmail exited indicating one or more local recipients did not exist (no retry)");
!           fail_abort(f, fname);  
!         } else {
!           syslog(LOG_INFO, "Sendmail exited indicating one or more local recipients did not exist (continuing with next portion)");
!           break;
!         }
  #endif
        case EX_CONFIG:
        syslog(LOG_CRIT, "Sendmail configuration error!");
--- 679,686 ----
  #endif
  #ifdef EX_NOUSER
        case EX_NOUSER:
!       syslog(LOG_INFO, "Sendmail exited indicating one or more local recipients did not exist (no retry)");
!       fail_abort(f, fname);  
  #endif
        case EX_CONFIG:
        syslog(LOG_CRIT, "Sendmail configuration error!");

--- End Message ---