"Fossies" - the Fresh Open Source Software Archive

Member "sendmail-8.15.2/contrib/mh.patch" (5 Mar 2014, 4968 Bytes) of package /linux/misc/sendmail.8.15.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Diff source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Message-Id: <199309031900.OAA19417@ignatz.acs.depaul.edu>
    2 To: bug-mh@ics.uci.edu
    3 cc: mh-users@ics.uci.edu, eric@cs.berkeley.edu
    4 Subject: MH-6.8.1/Sendmail 8.X (MH patch) updated
    5 Date: Fri, 03 Sep 1993 14:00:46 -0500
    6 From: Dave Nelson <dcn@ignatz.acs.depaul.edu>
    7 
    8 
    9     This patch will fix the "X-auth..." warnings from the newer
   10 Sendmails (8.X) while continuing to work with the old sendmails.
   11 
   12     I think the following patch will make everyone happy.
   13 
   14     1)  Anybody with MH-6.8.1 can install this.  It doesn't matter
   15         what version of sendmail you're running.  It doesn't matter
   16         if you're not running sendmail (but it won't fix anything
   17         for you).
   18 
   19     2)  No configuration file hacks. If the -client switch is
   20         absent (the default), the new sendmails will get an EHLO 
   21         using what LocalName() returns as the hostname.  On my systems, 
   22         this returns the FQDN.  If the EHLO fails with a result between 
   23         500 and 599  and the -client switch is not set, we give up on 
   24         sending EHLO/HELO and just go deliver the mail.
   25 
   26     3)  No new configuration options.
   27 
   28     4)  Retains the undocumented -client switch.  One warning:  it
   29         is possible using the -client switch to cause the old sendmails
   30         to return "I refuse to talk to myself".  You could do this under
   31         the old code as well.  This will happen if you claim to be the
   32         same system as the sendmail you're sending to is running on.  
   33         That's pointless, but possible.  If you do this, just like under
   34         the old code, you will get an error.
   35 
   36     5)  If you're running a site with both old and new sendmails, you only
   37         have to build MH once.  The code's the same; works with them
   38         both.
   39 
   40     If you decide to install this, make sure that you look the patch
   41 over and that you agree with what it is doing.  It works for me, but I
   42 can't test it on every possible combination.  Make sure that it works
   43 before you really install it for your users, if any.  No promises.
   44 
   45     To install this, save this to a file in the mts/sendmail directory.
   46 Feed it to patch.  Patch will ignore the non-patch stuff.  You should have
   47 "mts sendmail/smtp" in your configuration file.  This works with old and
   48 new sendmails.  Using "mts sendmail"  will cause the new sendmails to
   49 print an "X-auth..." warning about who owns the process piping the mail 
   50 message.  I don't know of anyway of getting rid of these.
   51 
   52     mh-config (if necessary), make, make inst-all.
   53 
   54 
   55 I hope this helps people.
   56     
   57 /dcn
   58 
   59 Dave Nelson
   60 Academic Computer Services
   61 DePaul University, Chicago
   62 
   63 *** smail.c Fri Sep  3 11:58:05 1993
   64 --- smail.c Fri Sep  3 11:57:27 1993
   65 ***************
   66 *** 239,261 ****
   67             return RP_RPLY;
   68         }
   69   
   70 !       if (client && *client) {
   71 !       doingEHLO = 1;
   72 !       result = smtalk (SM_HELO, "EHLO %s", client);
   73 !       doingEHLO = 0;
   74   
   75 !       if (500 <= result && result <= 599)
   76             result = smtalk (SM_HELO, "HELO %s", client);
   77 ! 
   78 !       switch (result) {
   79             case 250:
   80 !               break;
   81   
   82             default:
   83             (void) sm_end (NOTOK);
   84             return RP_RPLY;
   85         }
   86         }
   87   
   88   #ifndef   ZMAILER
   89         if (onex)
   90 --- 239,276 ----
   91             return RP_RPLY;
   92         }
   93   
   94 !       doingEHLO = 1;
   95 !       result = smtalk (SM_HELO, "EHLO %s", 
   96 !                (client && *client) ? client : LocalName());
   97 !       doingEHLO = 0;
   98 ! 
   99 !       switch (result)
  100 !       {
  101 !       case 250:
  102 !       break;
  103   
  104 !       default:
  105 !       if (!(500 <= result && result <= 599))
  106 !       {
  107 !           (void) sm_end (NOTOK);
  108 !           return RP_RPLY;
  109 !       }
  110 !       
  111 !       if (client && *client)
  112 !       {
  113             result = smtalk (SM_HELO, "HELO %s", client);
  114 !           switch (result)
  115 !           {
  116             case 250:
  117 !           break;
  118   
  119             default:
  120             (void) sm_end (NOTOK);
  121             return RP_RPLY;
  122 +           }
  123         }
  124         }
  125 +       
  126   
  127   #ifndef   ZMAILER
  128         if (onex)
  129 ***************
  130 *** 357,380 ****
  131         return RP_RPLY;
  132       }
  133   
  134 !     if (client && *client) {
  135 !   doingEHLO = 1;
  136 !   result = smtalk (SM_HELO, "EHLO %s", client);
  137 !   doingEHLO = 0;
  138   
  139 !   if (500 <= result && result <= 599)
  140         result = smtalk (SM_HELO, "HELO %s", client);
  141 ! 
  142 !   switch (result) {
  143 !       case 250: 
  144         break;
  145   
  146 !       default: 
  147         (void) sm_end (NOTOK);
  148         return RP_RPLY;
  149     }
  150       }
  151 ! 
  152   send_options: ;
  153       if (watch && EHLOset ("XVRB"))
  154     (void) smtalk (SM_HELO, "VERB on");
  155 --- 372,409 ----
  156         return RP_RPLY;
  157       }
  158   
  159 !     doingEHLO = 1;
  160 !     result = smtalk (SM_HELO, "EHLO %s", 
  161 !            (client && *client) ? client : LocalName());
  162 !     doingEHLO = 0;
  163 ! 
  164 !     switch (result)
  165 !     {
  166 !     case 250:
  167 !   break;
  168 ! 
  169 !     default:
  170 !   if (!(500 <= result && result <= 599))
  171 !   {
  172 !       (void) sm_end (NOTOK);
  173 !       return RP_RPLY;
  174 !   }
  175   
  176 !   if (client && *client)
  177 !   {
  178         result = smtalk (SM_HELO, "HELO %s", client);
  179 !       switch (result)
  180 !       {
  181 !       case 250:
  182         break;
  183   
  184 !       default:
  185         (void) sm_end (NOTOK);
  186         return RP_RPLY;
  187 +       }
  188     }
  189       }
  190 !     
  191   send_options: ;
  192       if (watch && EHLOset ("XVRB"))
  193     (void) smtalk (SM_HELO, "VERB on");