home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume8 / uk-1.4.pch < prev    next >
Text File  |  1987-02-08  |  19KB  |  597 lines

  1. Subject:  v08i051:  Patch for UK-1.4 mail configuration
  2. Newsgroups: mod.sources
  3. Approved: mirror!rs
  4.  
  5. Submitted by: Jim Crammond <jim@cs.hw.ac.uk>
  6. Mod.sources: Volume 8, Issue 51
  7. Archive-name: uk-1.4.pch
  8.  
  9. [  The UK-1.4 sendmail package was published back in Volume 4.  I have
  10.    taken the liberty of including the first few lines of the README
  11.    so that people not currently running the system can get an idea of
  12.    what it does.  --r$  ]
  13.  
  14.     UK-1.4 to UK-1.4a Upgrade
  15.  
  16. This file contains a diff listing between 1.4 and 1.4a versions of
  17. the UK sendmail configuration package, suitable for use with the "patch"
  18. program.  The listing contains fixes to seven problems which have come to
  19. light.  These problems are described below. The following files are affected:
  20.           Rules.a
  21.           Mailers.a
  22.           MAKE
  23.           chn/README
  24.           Support/muucp.c
  25.           xtras/hhmailclean.c
  26.  
  27. To run, pipe this message through "patch -p" in the appropriate directory.
  28.                           Jim Crammond
  29.  
  30.  
  31. 1)  Problem:    BSD4.3 and Sun 3.0 sendmail's put transport addresses from
  32.               ruleset 0 into the header rulesets. This causes problems on
  33.               the uucp channel, where transport addresses use a different
  34.               syntax to header addresses.
  35.     Fix:    If BSD4.3 is defined, uucp transport addresses are formatted
  36.               such that they can be detected and left unaffected in the
  37.               uucp header ruleset.
  38.  
  39. 2)  Problem:    if full name is unknown, an illegal from: header can be
  40.               generated which fussy mmdf mailers don't like.
  41.     Fix:    change $q definition to omit the angle brackets.
  42.  
  43. 3)  Problem:    Resent-Date puts in original date when added by sendmail.
  44.     Fix:    change $a to $b
  45.  
  46. 4)  Problem:    $w doesn't work properly in the rulesets in Sun 3.0 sendmail.
  47.     Fix:    $=w works okay - change documentation to use $=w.
  48.  
  49. 5)  Problem:    mapname is undefined in muucp.c if SYSINFO is not defined.
  50.     Fix:    define mapname(x) to x if SYSINFO is not defined.
  51.  
  52. 6)  Problem:    hhmailclean gives preference to Reply-To addresses over Sender.
  53.     Fix:    change Reply-To to Errors-To.
  54.  
  55. 7)  Problem:    hhmailclean cleans away non-mail transfers (e.g. news)
  56.     Fix:    check return value of gethost in appropriate places
  57.  
  58. #! /bin/sh
  59. # This is a shell archive.  Remove anything before this line,
  60. # then unpack it by saving it in a file and typing "sh file".
  61. # If all goes well, you will see the message "End of shell archive."
  62. # Contents:  INTRO PATCHES
  63. # Wrapped by rs@mirror on Mon Feb  9 13:13:30 1987
  64. PATH=/bin:/usr/bin:/usr/ucb; export PATH
  65. echo shar: extracting "'INTRO'" '(1987 characters)'
  66. if test -f 'INTRO' ; then 
  67.   echo shar: will not over-write existing file "'INTRO'"
  68. else
  69. sed 's/^X//' >INTRO <<'@//E*O*F INTRO//'
  70. XSendmail Configuration Package UK-1.4
  71. X======== ============= ======= ======
  72. X
  73. XOverview
  74. X--------
  75. XThis package provides you with tools to generates a fully domain based
  76. Xsendmail configuration file from domain and channel tables in a format
  77. Xsimilar to that used by MMDF.
  78. X
  79. XThe configuration essentially comprises of three parts: the domain tables,
  80. Xthe channel tables and the mailer specifications.  The following diagram
  81. Xshows how all three pieces fit together.
  82. X
  83. X                                             -----------   [  mailer,  ]
  84. X                                             | channel |-->[   host,   ]
  85. X             ----------  fully qualified    /| tables  |   [ transport ]
  86. Xincoming     | domain |  domain addresses  / -----------   [ addresses ]
  87. Xaddresses -->| tables |--------->---------<
  88. X             ----------                    \ -----------
  89. X                                            \| mailer  |       header
  90. X                                             | specs   |---> addresses
  91. X                                             -----------
  92. X
  93. XThe domain tables convert addresses given to sendmail into fully qualified
  94. Xdomain addresses; these are then passed to the channel tables which select
  95. Xthe <network, host, transport address> triple required for message delivery.
  96. X
  97. XThe domain addresses are then passed to the mailer specifications where
  98. Xthey are converted to a form suitable for the mail headers for that
  99. Xparticular network.
  100. X
  101. XAnyone who has read the Sendmail Implementation Guide should recognise
  102. Xthe similarity between this and the rulesets diagram.  Basically, the
  103. Xdomain tables  correspond to ruleset 3, the channel tables to ruleset 0
  104. Xand the mailer specifications to the mailer specific rulesets.
  105. X
  106. XThis README will hopefully explain how to build these pieces and thus
  107. Xgenerate a configuration file.
  108. X
  109. XThe package also contains a number of support programs that often provide
  110. Xa better interface between mail transport protocols and sendmail than the
  111. X"standard" programs.
  112. @//E*O*F INTRO//
  113. if test 1987 -ne "`wc -c <'INTRO'`"; then
  114.     echo shar: error transmitting "'INTRO'" '(should have been 1987 characters)'
  115. fi
  116. fi # end of overwriting check
  117. echo shar: extracting "'PATCHES'" '(13085 characters)'
  118. if test -f 'PATCHES' ; then 
  119.   echo shar: will not over-write existing file "'PATCHES'"
  120. else
  121. sed 's/^X//' >PATCHES <<'@//E*O*F PATCHES//'
  122. X
  123. X
  124. X
  125. Xdiff -r -c UK-1.4/MAKE UK-1.4a/MAKE
  126. X*** UK-1.4/MAKE    Wed Feb 12 12:20:34 1986
  127. X--- UK-1.4a/MAKE    Sat Oct 11 16:20:51 1986
  128. X***************
  129. X*** 166,171
  130. X  fi
  131. X  
  132. X  #
  133. X  #  now start creating the files
  134. X  #
  135. X  echo -n "
  136. X
  137. X--- 166,184 -----
  138. X  fi
  139. X  
  140. X  #
  141. X+ #  if uucp is defined then see if we need the BSD4.3/Sun 3.0 hack
  142. X+ #
  143. X+ if [ -n "$uucpname" ]
  144. X+ then    echo -n "
  145. X+     Are you using bsd4.3 or Sun 3.0 sendmail? (y|n) "
  146. X+     read reply
  147. X+     if [ $reply = 'y' ]
  148. X+     then
  149. X+         bsd43=true
  150. X+     fi
  151. X+ fi
  152. X+ 
  153. X+ #
  154. X  #  now start creating the files
  155. X  #
  156. X  echo -n "
  157. X***************
  158. X*** 237,242
  159. X  if [ -z "$nonrsformat" ]
  160. X  then
  161. X      echo "define(\`NRSFORMAT')" >> $host.mc
  162. X  fi
  163. X  
  164. X  if [ -n "$ethername" ]
  165. X
  166. X--- 250,260 -----
  167. X  if [ -z "$nonrsformat" ]
  168. X  then
  169. X      echo "define(\`NRSFORMAT')" >> $host.mc
  170. X+ fi
  171. X+ 
  172. X+ if [ -n "$bsd43" ]
  173. X+ then
  174. X+     echo "define(\`BSD4.3')" >> $host.mc
  175. X  fi
  176. X  
  177. X  if [ -n "$ethername" ]
  178. X
  179. Xdiff -r -c UK-1.4/Mailers.a UK-1.4a/Mailers.a
  180. X*** UK-1.4/Mailers.a    Sun Apr 27 12:54:12 1986
  181. X--- UK-1.4a/Mailers.a    Sat Oct 11 16:20:46 1986
  182. X***************
  183. X*** 135,141
  184. X  S26
  185. X  R$+@$+            $@$1@$2            address ok
  186. X  R$+            $@$1@CSNETNAME        add local domain name
  187. X! uucpm.m4        508594640   217   4     100644  754       `
  188. X  ###############################################################################
  189. X  ###############################################################################
  190. X  #####
  191. X
  192. X--- 135,141 -----
  193. X  S26
  194. X  R$+@$+            $@$1@$2            address ok
  195. X  R$+            $@$1@CSNETNAME        add local domain name
  196. X! uucpm.m4        526661348   217   4     100644  811       `
  197. X  ###############################################################################
  198. X  ###############################################################################
  199. X  #####
  200. X***************
  201. X*** 154,159
  202. X  #  can't produce a correct routed 822 address from another style
  203. X  #
  204. X  S23
  205. X  R$+@$+            $@$1@$2            address ok
  206. X  R$+            $@$1@UUCPNAME        add local hostname
  207. X  luucpm.m4.old   508594686   217   4     100644  594       `
  208. X
  209. X--- 154,161 -----
  210. X  #  can't produce a correct routed 822 address from another style
  211. X  #
  212. X  S23
  213. X+ ifdef(`BSD4.3',
  214. X+ `R$+!$+            $@$2            return transport addr')
  215. X  R$+@$+            $@$1@$2            address ok
  216. X  R$+            $@$1@UUCPNAME        add local hostname
  217. X  
  218. X***************
  219. X*** 156,161
  220. X  S23
  221. X  R$+@$+            $@$1@$2            address ok
  222. X  R$+            $@$1@UUCPNAME        add local hostname
  223. X  luucpm.m4.old   508594686   217   4     100644  594       `
  224. X  ###############################################################################
  225. X  ###############################################################################
  226. X
  227. X--- 158,164 -----
  228. X  `R$+!$+            $@$2            return transport addr')
  229. X  R$+@$+            $@$1@$2            address ok
  230. X  R$+            $@$1@UUCPNAME        add local hostname
  231. X+ 
  232. X  luucpm.m4.old   508594686   217   4     100644  594       `
  233. X  ###############################################################################
  234. X  ###############################################################################
  235. X***************
  236. X*** 173,179
  237. X  S22
  238. X  R$+@$+            $@$1@$2            address ok
  239. X  R$+            $@$1@LUUCPNAME        add local hostname
  240. X! uucpm.m4.old    508594687   217   4     100644  688       `
  241. X  ###############################################################################
  242. X  ###############################################################################
  243. X  #####
  244. X
  245. X--- 176,182 -----
  246. X  S22
  247. X  R$+@$+            $@$1@$2            address ok
  248. X  R$+            $@$1@LUUCPNAME        add local hostname
  249. X! uucpm.m4.old    526661360   217   4     100644  745       `
  250. X  ###############################################################################
  251. X  ###############################################################################
  252. X  #####
  253. X***************
  254. X*** 191,196
  255. X  #  Addresses are converted back to uucp style.
  256. X  #
  257. X  S23
  258. X  R$+@$+            $:$>8$1@$2        convert to uucp style
  259. X  R$+!$+            $@$1!$2            address ok
  260. X  R$+            $@UUCPNAME!$1        add local domain name
  261. X
  262. X--- 194,201 -----
  263. X  #  Addresses are converted back to uucp style.
  264. X  #
  265. X  S23
  266. X+ ifdef(`BSD4.3',
  267. X+ `R$+!$+            $@$2            return transport addr')
  268. X  R$+@$+            $:$>8$1@$2        convert to uucp style
  269. X  R$+!$+            $@$1!$2            address ok
  270. X  R$+            $@UUCPNAME!$1        add local domain name
  271. X***************
  272. X*** 194,196
  273. X  R$+@$+            $:$>8$1@$2        convert to uucp style
  274. X  R$+!$+            $@$1!$2            address ok
  275. X  R$+            $@UUCPNAME!$1        add local domain name
  276. X
  277. X--- 199,202 -----
  278. X  R$+@$+            $:$>8$1@$2        convert to uucp style
  279. X  R$+!$+            $@$1!$2            address ok
  280. X  R$+            $@UUCPNAME!$1        add local domain name
  281. X+ 
  282. X
  283. Xdiff -r -c UK-1.4/Rules.a UK-1.4a/Rules.a
  284. X*** UK-1.4/Rules.a    Fri Feb 21 11:14:04 1986
  285. X--- UK-1.4a/Rules.a    Tue Oct 14 11:45:44 1986
  286. X***************
  287. X*** 1,5
  288. X  !<arch>
  289. X! base.m4         508594731   217   4     100644  3142      `
  290. X  ##################################################################
  291. X  ##################################################################
  292. X  #####
  293. X
  294. X--- 1,5 -----
  295. X  !<arch>
  296. X! base.m4         529670681   217   4     100644  3146      `
  297. X  ##################################################################
  298. X  ##################################################################
  299. X  #####
  300. X***************
  301. X*** 45,51
  302. X  # delimiter (operator) characters (note '~' has been added)
  303. X  Do.:%@!^=/[]~
  304. X  # format of a total name
  305. X! Dq$?x$x $.<$g>
  306. X  # SMTP login message
  307. X  De$j Sendmail $v/$V ready at $b
  308. X  
  309. X
  310. X--- 45,51 -----
  311. X  # delimiter (operator) characters (note '~' has been added)
  312. X  Do.:%@!^=/[]~
  313. X  # format of a total name
  314. X! Dq$?x$x <$g>$|$g$.
  315. X  # SMTP login message
  316. X  De$j Sendmail $v/$V ready at $b
  317. X  
  318. X***************
  319. X*** 116,122
  320. X  H?D?Date: $a
  321. X  H?M?Message-Id: <$p.$t@$j>
  322. X  H?F?Resent-From: $q
  323. X! H?D?Resent-Date: $a
  324. X  H?M?Resent-Message-Id: <$p.$t@$j>
  325. X  HSubject:
  326. X  H?R?Received: $?sfrom $s by $j; $b$.
  327. X
  328. X--- 116,122 -----
  329. X  H?D?Date: $a
  330. X  H?M?Message-Id: <$p.$t@$j>
  331. X  H?F?Resent-From: $q
  332. X! H?D?Resent-Date: $b
  333. X  H?M?Resent-Message-Id: <$p.$t@$j>
  334. X  HSubject:
  335. X  H?R?Received: $?sfrom $s by $j; $b$.
  336. X***************
  337. X*** 141,147
  338. X  ifdef(`JANETNAME',`include(hhcpm.m4)')
  339. X  ifdef(`BITNETNAME',`include(bitnetm.m4)')
  340. X  ifdef(`CSNETNAME',`include(pmdfm.m4)')
  341. X! rules.m4        508594751   217   4     100644  3240      `
  342. X  ###############################################################################
  343. X  ###############################################################################
  344. X  #####
  345. X
  346. X--- 141,147 -----
  347. X  ifdef(`JANETNAME',`include(hhcpm.m4)')
  348. X  ifdef(`BITNETNAME',`include(bitnetm.m4)')
  349. X  ifdef(`CSNETNAME',`include(pmdfm.m4)')
  350. X! rules.m4        526661238   217   4     100644  3263      `
  351. X  ###############################################################################
  352. X  ###############################################################################
  353. X  #####
  354. X***************
  355. X*** 179,185
  356. X  ')
  357. X  ifdef(`UUCPNAME',`
  358. X  R<~$+>$+.uucp        <\\~$1>$2.uucp        band-aid for uuxqt
  359. X! R<$+>$-.uucp        $#uucp$@$2$:$1        external uucp mail
  360. X  ')
  361. X  ifdef(`JANETNAME',`
  362. X  R<$+>$+.janet        $#hhcp$@$2$:$1        janet mail
  363. X
  364. X--- 179,185 -----
  365. X  ')
  366. X  ifdef(`UUCPNAME',`
  367. X  R<~$+>$+.uucp        <\\~$1>$2.uucp        band-aid for uuxqt
  368. X! R<$+>$-.uucp        $#uucp$@$2$:'ifdef(`BSD4.3',`$2!')`$1        external uucp mail
  369. X  ')
  370. X  ifdef(`JANETNAME',`
  371. X  R<$+>$+.janet        $#hhcp$@$2$:$1        janet mail
  372. X***************
  373. X*** 254,259
  374. X  #  this ensures that $u has at least one '@' in (if percent style)
  375. X  R$+%$+            $1@$2            convert '%'s to '@'s
  376. X  R$+@$+@$+        $1%$2@$3        then reduce to only one '@'
  377. X  rules1.m4       508594753   217   4     100644  3447      `
  378. X  ###############################################################################
  379. X  ###############################################################################
  380. X
  381. X--- 254,260 -----
  382. X  #  this ensures that $u has at least one '@' in (if percent style)
  383. X  R$+%$+            $1@$2            convert '%'s to '@'s
  384. X  R$+@$+@$+        $1%$2@$3        then reduce to only one '@'
  385. X+ 
  386. X  rules1.m4       508594753   217   4     100644  3447      `
  387. X  ###############################################################################
  388. X  ###############################################################################
  389. X***************
  390. X*** 357,363
  391. X  R$*@$-:$+.$+        $1@$3.$2.$4        u@b:c:d.a -> u@d.c.b.a
  392. X  ')
  393. X  
  394. X! version.m4      508594758   217   4     100644  3257      `
  395. X  #
  396. X  #    @(#)version.m4    UK-1.4 sendmail configuration        12/2/86
  397. X  #
  398. X
  399. X--- 358,364 -----
  400. X  R$*@$-:$+.$+        $1@$3.$2.$4        u@b:c:d.a -> u@d.c.b.a
  401. X  ')
  402. X  
  403. X! version.m4      529253061   217   4     100644  3563      `
  404. X  #
  405. X  #    @(#)version.m4    UK-1.4 sendmail configuration        12/2/86
  406. X  #
  407. X***************
  408. X*** 362,368
  409. X  #    @(#)version.m4    UK-1.4 sendmail configuration        12/2/86
  410. X  #
  411. X  
  412. X! DVUK-1.4
  413. X  
  414. X  #
  415. X  #    UK-1.4  12/2/86        jim
  416. X
  417. X--- 363,369 -----
  418. X  #    @(#)version.m4    UK-1.4 sendmail configuration        12/2/86
  419. X  #
  420. X  
  421. X! DVUK-1.4a
  422. X  
  423. X  #
  424. X  #    UK-1.4a 9/10/86        jim
  425. X***************
  426. X*** 364,369
  427. X  
  428. X  DVUK-1.4
  429. X  
  430. X  #
  431. X  #    UK-1.4  12/2/86        jim
  432. X  #    COMMENTS:
  433. X
  434. X--- 365,377 -----
  435. X  
  436. X  DVUK-1.4a
  437. X  
  438. X+ #
  439. X+ #    UK-1.4a 9/10/86        jim
  440. X+ #    COMMENTS:
  441. X+ #    Band-aid for BSD4.3 (& Sun 3.0). The transport address goes through
  442. X+ #    the header rulesets (big sigh) so have to do a kludge for uucp.
  443. X+ #    $a -> $b in Resent-Date field: this seems to be what you want.
  444. X+ #    change to $q: don't emit angle brackets if full name is unknown.
  445. X  #
  446. X  #    UK-1.4  12/2/86        jim
  447. X  #    COMMENTS:
  448. X
  449. Xdiff -r -c UK-1.4/Support/muucp.c UK-1.4a/Support/muucp.c
  450. X*** UK-1.4/Support/muucp.c    Sun Feb  9 13:56:14 1986
  451. X--- UK-1.4a/Support/muucp.c    Sat Oct 11 16:20:58 1986
  452. X***************
  453. X*** 13,18
  454. X  fprintf(f, "S %s %s %s -%s %s 0666\n", a, b, c, d, e);\
  455. X  }
  456. X  
  457. X  
  458. X  main(argc, argv)
  459. X  char *argv[];
  460. X
  461. X--- 13,21 -----
  462. X  fprintf(f, "S %s %s %s -%s %s 0666\n", a, b, c, d, e);\
  463. X  }
  464. X  
  465. X+ #ifndef SYSINFO
  466. X+ #define mapname(x)    x
  467. X+ #endif SYSINFO
  468. X  
  469. X  main(argc, argv)
  470. X  char *argv[];
  471. X
  472. Xdiff -r -c UK-1.4/chn/README UK-1.4a/chn/README
  473. X*** UK-1.4/chn/README    Mon Mar 17 13:28:07 1986
  474. X--- UK-1.4a/chn/README    Sat Oct 11 16:20:54 1986
  475. X***************
  476. X*** 155,162
  477. X  To do this we need to "generalise" the host dependent parts of the
  478. X  channel tables so that all the workstations can use the same <host>.chn.
  479. X  
  480. X! The trick is to use "$w" when specifying the host specific names in the
  481. X! local.chn table (e.g. $w.cs.hw.ac.uk);  and to have, in above example,
  482. X  all ten workstations in the ether.chn.
  483. X  
  484. X  The two key components to this are that: (a) sendmail will determine
  485. X
  486. X--- 155,162 -----
  487. X  To do this we need to "generalise" the host dependent parts of the
  488. X  channel tables so that all the workstations can use the same <host>.chn.
  489. X  
  490. X! The trick is to use "$=w" when specifying the host specific names in the
  491. X! local.chn table (e.g. $=w.cs.hw.ac.uk);  and to have, in above example,
  492. X  all ten workstations in the ether.chn.
  493. X  
  494. X  The two key components to this are that: (a) sendmail will determine
  495. X***************
  496. X*** 161,165
  497. X  
  498. X  The two key components to this are that: (a) sendmail will determine
  499. X  whether a domain is local or not before it attempts to locate the
  500. X! domain in the other channel tables, and (b) sendmail's "$w" macro expands
  501. X  to the local hostname at runtime.
  502. X
  503. X--- 161,165 -----
  504. X  
  505. X  The two key components to this are that: (a) sendmail will determine
  506. X  whether a domain is local or not before it attempts to locate the
  507. X! domain in the other channel tables, and (b) sendmail's "$=w" class expands
  508. X  to the local hostname at runtime.
  509. X
  510. Xdiff -r -c UK-1.4/xtras/hhmailclean.c UK-1.4a/xtras/hhmailclean.c
  511. X*** UK-1.4/xtras/hhmailclean.c    Fri Mar 21 15:33:29 1986
  512. X--- UK-1.4a/xtras/hhmailclean.c    Sun Oct 12 11:16:12 1986
  513. X***************
  514. X*** 120,126
  515. X  
  516. X      strcpy(pafile,pbfile);
  517. X      pafile[1] = 'A';
  518. X!     host = gethost(pafile);
  519. X  
  520. X      if ((msgfp = fopen(pbfile, "r")) == NULL)
  521. X          return;
  522. X
  523. X--- 120,127 -----
  524. X  
  525. X      strcpy(pafile,pbfile);
  526. X      pafile[1] = 'A';
  527. X!     if ((host = gethost(pafile)) == NULL)
  528. X!         return;
  529. X  
  530. X      if ((msgfp = fopen(pbfile, "r")) == NULL)
  531. X          return;
  532. X***************
  533. X*** 158,164
  534. X  
  535. X      strcpy(pafile,pbfile);
  536. X      pafile[1] = 'A';
  537. X!     host = gethost(pafile);
  538. X  
  539. X      if ((msgfp = fopen(pbfile, "r")) == NULL)
  540. X          return;
  541. X
  542. X--- 159,166 -----
  543. X  
  544. X      strcpy(pafile,pbfile);
  545. X      pafile[1] = 'A';
  546. X!     if ((host = gethost(pafile)) == NULL)
  547. X!         return;
  548. X  
  549. X      if ((msgfp = fopen(pbfile, "r")) == NULL)
  550. X          return;
  551. X***************
  552. X*** 267,273
  553. X      while (fgets(buf, BUFSIZ, msgfp) != NULL && buf[0] != '\n')
  554. X      {    /*
  555. X           *  extract sender from one of the following headers,
  556. X!          *  in order of preference: "Reply-To", "Sender", "From"
  557. X           */
  558. X          if (strncmp(buf, "Reply-To:", 9) == 0)
  559. X          {    strcpy(sndbuf, &buf[9]);
  560. X
  561. X--- 269,275 -----
  562. X      while (fgets(buf, BUFSIZ, msgfp) != NULL && buf[0] != '\n')
  563. X      {    /*
  564. X           *  extract sender from one of the following headers,
  565. X!          *  in order of preference: "Errors-To", "Sender", "From"
  566. X           */
  567. X          if (strncmp(buf, "Errors-To:", 10) == 0)
  568. X          {    strcpy(sndbuf, &buf[10]);
  569. X***************
  570. X*** 269,276
  571. X           *  extract sender from one of the following headers,
  572. X           *  in order of preference: "Reply-To", "Sender", "From"
  573. X           */
  574. X!         if (strncmp(buf, "Reply-To:", 9) == 0)
  575. X!         {    strcpy(sndbuf, &buf[9]);
  576. X              saved = 2;
  577. X          }
  578. X          else if (saved < 2 && strncmp(buf, "Sender:", 7) == 0)
  579. X
  580. X--- 271,278 -----
  581. X           *  extract sender from one of the following headers,
  582. X           *  in order of preference: "Errors-To", "Sender", "From"
  583. X           */
  584. X!         if (strncmp(buf, "Errors-To:", 10) == 0)
  585. X!         {    strcpy(sndbuf, &buf[10]);
  586. X              saved = 2;
  587. X          }
  588. X          else if (saved < 2 && strncmp(buf, "Sender:", 7) == 0)
  589. X
  590. @//E*O*F PATCHES//
  591. if test 13085 -ne "`wc -c <'PATCHES'`"; then
  592.     echo shar: error transmitting "'PATCHES'" '(should have been 13085 characters)'
  593. fi
  594. fi # end of overwriting check
  595. echo shar: "End of shell archive."
  596. exit 0
  597.