📄 mh.patch
字号:
Message-Id: <199309031900.OAA19417@ignatz.acs.depaul.edu>To: bug-mh@ics.uci.educc: mh-users@ics.uci.edu, eric@cs.berkeley.eduSubject: MH-6.8.1/Sendmail 8.X (MH patch) updatedDate: Fri, 03 Sep 1993 14:00:46 -0500From: Dave Nelson <dcn@ignatz.acs.depaul.edu> This patch will fix the "X-auth..." warnings from the newerSendmails (8.X) while continuing to work with the old sendmails. I think the following patch will make everyone happy. 1) Anybody with MH-6.8.1 can install this. It doesn't matter what version of sendmail you're running. It doesn't matter if you're not running sendmail (but it won't fix anything for you). 2) No configuration file hacks. If the -client switch is absent (the default), the new sendmails will get an EHLO using what LocalName() returns as the hostname. On my systems, this returns the FQDN. If the EHLO fails with a result between 500 and 599 and the -client switch is not set, we give up on sending EHLO/HELO and just go deliver the mail. 3) No new configuration options. 4) Retains the undocumented -client switch. One warning: it is possible using the -client switch to cause the old sendmails to return "I refuse to talk to myself". You could do this under the old code as well. This will happen if you claim to be the same system as the sendmail you're sending to is running on. That's pointless, but possible. If you do this, just like under the old code, you will get an error. 5) If you're running a site with both old and new sendmails, you only have to build MH once. The code's the same; works with them both. If you decide to install this, make sure that you look the patchover and that you agree with what it is doing. It works for me, but Ican't test it on every possible combination. Make sure that it worksbefore you really install it for your users, if any. No promises. To install this, save this to a file in the mts/sendmail directory.Feed it to patch. Patch will ignore the non-patch stuff. You should have"mts sendmail/smtp" in your configuration file. This works with old andnew sendmails. Using "mts sendmail" will cause the new sendmails toprint an "X-auth..." warning about who owns the process piping the mail message. I don't know of anyway of getting rid of these. mh-config (if necessary), make, make inst-all.I hope this helps people. /dcnDave NelsonAcademic Computer ServicesDePaul University, Chicago*** smail.c Fri Sep 3 11:58:05 1993--- smail.c Fri Sep 3 11:57:27 1993****************** 239,261 **** return RP_RPLY; } ! if (client && *client) {! doingEHLO = 1;! result = smtalk (SM_HELO, "EHLO %s", client);! doingEHLO = 0; ! if (500 <= result && result <= 599) result = smtalk (SM_HELO, "HELO %s", client);! ! switch (result) { case 250:! break; default: (void) sm_end (NOTOK); return RP_RPLY; } } #ifndef ZMAILER if (onex)--- 239,276 ---- return RP_RPLY; } ! doingEHLO = 1;! result = smtalk (SM_HELO, "EHLO %s", ! (client && *client) ? client : LocalName());! doingEHLO = 0;! ! switch (result)! {! case 250:! break; ! default:! if (!(500 <= result && result <= 599))! {! (void) sm_end (NOTOK);! return RP_RPLY;! }! ! if (client && *client)! { result = smtalk (SM_HELO, "HELO %s", client);! switch (result)! { case 250:! break; default: (void) sm_end (NOTOK); return RP_RPLY;+ } } }+ #ifndef ZMAILER if (onex)****************** 357,380 **** return RP_RPLY; } ! if (client && *client) {! doingEHLO = 1;! result = smtalk (SM_HELO, "EHLO %s", client);! doingEHLO = 0; ! if (500 <= result && result <= 599) result = smtalk (SM_HELO, "HELO %s", client);! ! switch (result) {! case 250: break; ! default: (void) sm_end (NOTOK); return RP_RPLY; } }! send_options: ; if (watch && EHLOset ("XVRB")) (void) smtalk (SM_HELO, "VERB on");--- 372,409 ---- return RP_RPLY; } ! doingEHLO = 1;! result = smtalk (SM_HELO, "EHLO %s", ! (client && *client) ? client : LocalName());! doingEHLO = 0;! ! switch (result)! {! case 250:! break;! ! default:! if (!(500 <= result && result <= 599))! {! (void) sm_end (NOTOK);! return RP_RPLY;! } ! if (client && *client)! { result = smtalk (SM_HELO, "HELO %s", client);! switch (result)! {! case 250: break; ! default: (void) sm_end (NOTOK); return RP_RPLY;+ } } }! send_options: ; if (watch && EHLOset ("XVRB")) (void) smtalk (SM_HELO, "VERB on");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -