diff options
author | Wichert Akkerman <wakkerma@debian.org> | 1999-12-07 02:32:22 +0100 |
---|---|---|
committer | Andreas Beckmann <debian@abeckmann.de> | 2012-10-01 19:58:39 +0200 |
commit | 4e2c4cdcd62c4ab1d5e884e8afaa0bbe1b981e42 (patch) | |
tree | 3735b995048d3eccbfa7e5095e00d483c2549225 /debian | |
parent | 7b9056b97dd10ee7b6b02f88a239f9f99cfa38f8 (diff) | |
download | sendmail-4e2c4cdcd62c4ab1d5e884e8afaa0bbe1b981e42.tar.gz |
Imported Debian patch 8.9.3-3slink1debian/8.9.3-3slink1
Diffstat (limited to 'debian')
53 files changed, 2081 insertions, 5107 deletions
diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 6bbc72c..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,67 +0,0 @@ - -This Debian package includes an automatic configuration utility -`sendmailconfig' which can be run at any time to modify the current sendmail -configuration. - -Most mail-related configuration files are kept in the /etc/mail directory. - -Specialized configurations can be accomplished by editing the file -/etc/mail/sendmail.mc by hand and then running `sendmailconfig' to generate -and use the appropriate corresponding sendmail.cf file. Such configurations -can make use of the m4 configuration macros kept in the /usr/lib/sendmail.cf -directory. See also the other documentation in this directory. - -Finally, the file /etc/aliases holds a text representation of the current mail -aliases. See the aliases(5) man page for more information. If you edit this -file, be sure to run `newaliases' to update the corresponding binary database. - -The Debian sendmail package includes Miquel's patch: - - - PREVENT UNAUTHORIZED USE OF YOUR HOSTS AS SMTP RELAY - - Miquel van Smoorenburg <miquels@cistron.nl> 23-Aug-1997 - -The patch at the end of this file adds a new option to sendmail, -`W' or `TcpWrappers'. This makes it possible for precompiled distributions -to ship binaries compiled with -DTCPWRAPPERS without any unexpected -side-effects, since the option is off by default. - -However that's not the main reason for this patch. The new code also -adds a new map type to sendmail-8.8.7, called "ismx". That maps checks if -we (all names in class 'w') are an MX for a certain domain. If so, the -input hostname is replaced by our hostname, or TEMPFAIL if the DNS -lookup failed. - -This can be used together with the "check_rcpt" rule to deny relaying for -domains for which we are officially not an MX, without listing all domains -in a configuration file. This prevents that your host is being used as -a spam relay. However your host will still relay for hosts that it is -officially an MX for, without any extra administration. - -Ofcourse you can put a list of IP numbers/networks in the file "LocalIP" -to list hosts that may use your host as relay or smarthost. This is -useful for a machine that is used internally as SMTP relay, for e.g. -Eudora or Pegasus mail clients. - -The sendmail rules are: (LOCAL_* included for m4 file) - - -LOCAL_CONFIG -Kismx ismx -F{LocalIP} /etc/mail/LocalIP - -LOCAL_RULESETS -Scheck_rcpt -# first: get client addr -R$+ $: $(dequote "" $&{client_addr} $) $| $1 -R0 $| $* $@ ok no client addr: directly invoked -R$={LocalIP}$* $| $* $@ ok from here -# See if we are MX for this host -R$*<$+@$+>$* $: $1 < $2 @ $(ismx $3 $: NOMX $) > $4 -R$*<$+@NOMX>$* $#error $@ 5.7.1 $: 571 I don't relay for that address. -R$*<$+@TEMPFAIL>$* $#error $@ 4.5.1 $: "451 Cannot resolve. Retry later." - - -Note that if the MX lookup fails, a temporary rather than a fatal error -code is returned so that the message will not get lost. diff --git a/debian/aliases b/debian/aliases index fcfa35f..8e99427 100644 --- a/debian/aliases +++ b/debian/aliases @@ -6,6 +6,10 @@ # Required aliases postmaster: root -MAILER-DAEMON: root +MAILER-DAEMON: postmaster + +# Common aliases +abuse: postmaster +spam: postmaster # Other aliases diff --git a/debian/changelog b/debian/changelog index 4d9bfce..a0427a9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,24 +1,348 @@ -sendmail (8.8.8-20) frozen; urgency=high, closes=23774 +sendmail (8.9.3-3slink1) stable; urgency=high - * Patch collect.c to prevent segfaults in mime8->mime7 (#23774) + * Non-maintainer upload by security team + * Patch to only allow root and trusted users update the aliases database + + -- Wichert Akkerman <wakkerma@debian.org> Tue, 7 Dec 1999 02:32:22 +0100 + +sendmail (8.9.3-3) stable unstable; urgency=low, closes=35357 + + * group writable home, .forward (closes: bug#35357) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Sun, 18 Apr 1999 21:00:00 -0500 + +sendmail (8.9.3-2) unstable; urgency=low, closes=33656 33602 33405 + + * sendmail.postrm not doing suidunregister (closes: bug#33656) + Well, actually it tried... it was just in the wrong spot + + * /etc/init.d/sendmail runs even after sendmail removed (closes: bug#33602) + Since policy calls for all MTAs to supply /usr/sbin/sendmail, and + /etc/mail/sendmail.cf was only deleted upon purge, I'm following + the suggestion of checking for /usr/doc/sendmail + + * add purgestat to /usr/doc/sendmail/examples/ip-up.d (closes: bug#33405) + This will allow all mail to be delivered - this is only an example + file, however, so you'll have to edit you're /etc/ppp/ip-up.d/sendmail + file yourself + + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 22 Feb 1999 13:14:21 -0500 + +sendmail (8.9.3-1) frozen unstable; urgency=high, closes=33152 32872 + + * Refit Debian changes + -- debian/site.config.m4 -- new defines for DOS fix + -- debian/debian.m4 -- new defines for DOS fix, bump version + -- debian/sendmail.postinst -- bump version to coerce sendmailconfig run + + * New upstream version - bugfix only (closes: bug#33152) + -- New version of DOS patch + -- preserve order of MIME headers, correcting PGP signature problems + + * FHS & Debian policy 5.5: move /bin/rmail to /sbin/rmail (closes: bug#32872) + sigh... This time, create a symlink so both exist + -- debian/rules + + -- Richard A Nelson (Rick) <cowboy@debian.org> Wed, 10 Feb 1999 13:14:21 -0500 + +sendmail (8.9.2-4) unstable; urgency=low + + * debian/site.config.m4 + -- link with -ldb2 (sigh) why did glibc let me get away with + this obvious error? glibc-2.1 doesn't... + + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 25 Jan 1999 15:00:00 -0500 + +sendmail (8.9.2-3) frozen unstable; urgency=high + + * Yet another DOS attack from BugTraq -- patch from sendmail.org + -- debian/site.config.m4 -- + -- debian/debian.m4 -- + -- src/conf.h -- + -- src/collect.c -- + -- src/sendmail.h -- + -- src/readcf.c -- + -- src/conf.c -- + -- cf/m4/proto.m4 -- + + * Correct orca (ORBS) address to relays.orbs.org + -- debian/orbs.m4 -- relays.orbs.org + -- cf/m4/proto.m4 -- http://www.orbs.org + + -- Richard A Nelson (Rick) <cowboy@debian.org> Thu, 21 Jan 1999 15:00:00 -0500 + +sendmail (8.9.2-2) frozen unstable; urgency=high + + * Re upload to make both frozen and unstable. + The DOS update and nullclient (open relay) problems are severe + enough that I, and others, think this should make frozen. + + -- Richard A Nelson (Rick) <cowboy@debian.org> Wed, 20 Jan 1999 14:00:00 -0500 + +sendmail (8.9.2-1) unstable; urgency=high, closes=30292 + + * New upstream source, bug fixes and a DOS fix + -- syslog filling/DOS (#30292) + -- libdb2 (Berkeley DB 2.6.4 API change) + -- upstream inclusion of proto.m4 patches already in Debian + -- upstream fixes for FHS issue wrt /etc/mail + + * Update debproto.m4 for 8.9.2 + + * Drop Debian support of nullclient - it turns one into an unchecked relay! + current nullclients are converted to smarthosts with no loss of function- + ality. + -- sendmailconfig + + * See changelog for the unreleased 8.9.1-16 changes contained herein + + -- Richard A Nelson (Rick) <cowboy@debian.org> Tue, 05 Jan 1999 12:00:00 -0500 +sendmail (8.9.1-16) unstable; urgency=low, closes=27355 28410 28931 29420 30447 + + * Correct HACK(nodns) (#30447) + + * Compile with new libc6 to remove versioned depends (#28931) + + * add feature(orca): Dial User List + at the request of Paul Haggart <ph@bsfh.org> + + * Correct README.Debian reference (#29613) + /usr/lib/sendmail.cf -> /usr/share/sendmail.cf + + * Correct include library path for libdb2 + + * Update debproto.m4 for 8.9.1a, add proper diversion tags to + sendmailconfig + + * Add MapInUnsafeDirPath to DontBlameSendmail (#27355) + so access.db may be in group writable directory + + * FHS: Move FEATURE(xxx) databases from /etc/ to /etc/mail/: (#29420) + bitdomain.m4, domaintable.m4, genericstable.m4, mailertable.m4, + uucpdomain.m4, virtusertable.m4 + -- IMPORTANT -- + sendmailconfig can't automagically move all this for you, you'll + have to move the datasets and any update script by hand + + * make the postinst actually wait for enter (#28410) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 30 Nov 1998 12:00:00 -0500 + +sendmail (8.9.1-15) unstable; urgency=high, closes=28410 + + * The change to libdb2 requires that *all* sendmail databases be + rebuilt before sendmail restarts. A warning is now issued to + inform the user of this change. (#28410) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Fri, 23 Oct 1998 12:00:00 -0500 + +sendmail (8.9.1-14) unstable; urgency=low, closes=28279 - -- Richard Nelson <cowboy@debian.org> Tue, 23 Jun 1998 10:00:00 -0500 + * sendmail: adds multiple Content-Transfer-Encoding headers (#28279) + patch sent by Miquel van Smoorenburg <miquels@cistron.nl> -sendmail (8.8.8-19) frozen; urgency=high, closes=23000 + -- Richard A Nelson (Rick) <cowboy@debian.org> Tue, 20 Oct 1998 18:00:00 -0500 + +sendmail (8.9.1-13) unstable; urgency=low + + * add feature(orbs): Open Relay Blocking System + at the request of Paul Haggart <ph@bsfh.org> + + * patch for sendmail stalls on 2.0.x kernels + from Ben Gertzfield <che@debian.org> + + * Build with libdb2 instead of libdb. This chanage is mentioned as being + important in the sendmail documentation, and has been requested by both + i386 and sparc folks. + + -- Richard A Nelson (Rick) <cowboy@debian.org> Tue, 20 Oct 1998 12:00:00 -0500 - * sensible-mda now ignores non-suid MDAs (#23000) +sendmail (8.9.1-12) unstable; urgency=high, closes=28226 - -- Richard Nelson <cowboy@debian.org> Tue, 16 Jun 1998 15:00:00 -0500 + * erf... remove sendmail.real from sendmail.postinst (#28226) + I have to remember to test on the machine w/o socks as well ;-{ + ('twould be nice to have the source in a neutral CVS repository + so I could access from home and work) -sendmail (8.8.8-18) frozen; urgency=high - * Repackaged to apply only to frozen, and bump the severity - because this problem (22747) has sufficient consequences - to warrant a change in hamm - only the alias file is changed, - and it will impact primarily *NEW* installations of sendmail. + -- Richard A Nelson (Rick) <cowboy@debian.org> Tue, 20 Oct 1998 10:00:00 -0500 + +sendmail (8.9.1-11) unstable; urgency=high + + * Correct /etc/init.d/sendmail + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 19 Oct 1998 11:00:00 -0500 + +sendmail (8.9.1-10) unstable; urgency=high, closes=28034 27106 26855 27218 + + * Remove socks wrapper - need a wrapper program, not script as sendmail -F + doesn't work going from the socks wrapper, the runsocks wrapper, and then + finally to sendmail (#28034 and also #27106) + + * sendmail wrapper requires bash for exec -a (#26855) + + * sendmail wrapper was suid-root (#27218) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Sun, 18 Oct 1998 12:00:00 -0500 + +sendmail (8.9.1-9) unstable; urgency=high, closes=26803 + + * correct the socks wrapper for non-socks case - I pulled + the wrong copy (#26803) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Thu, 17 Sep 1998 12:00:00 -0500 + +sendmail (8.9.1-8) unstable; urgency=high, closes=26801 + + * sigh... restore rmail to /usr/bin, even though its presence + therein is a very longstanding bug (#26801) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Thu, 17 Sep 1998 11:00:00 -0500 + +sendmail (8.9.1-7) unstable; urgency=high, closes=26610 26399 26106 + + * Remove dontinitgroups (#26610) + This change updates debian.m4 so you'll have to run sendmailconfig + to actually get the update enabled. + + * update /etc/hosts.allow automagically (#26399) + sendmailconfig checks for sendmail in /etc/hosts.allow and + adds a leading sendmail: all line if needed + + * sendmailconfig is now tolerant of warnings (#26106) + + * socks5 support - /usr/sbin/sendmail is a wrapper that calls + /usr/sbin/sendmail.real if needed when runsocks is executable + + * change checksendmail to a+x + + * more cleanup of debian/rules + + * FHS changes: + move /usr/lib/sendmail.cf/ to /usr/share/sendmail.cf/ + move /usr/lib/sendmail.hf to /usr/share/misc/sendmail.hf + update sendmailconf, debian.m4 + + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 14 Sep 1998 10:00:00 -0500 + +sendmail (8.9.1-6) unstable; urgency=high + + * Sigh... I will not leave extraneous blanks in a .m4 file + + -- Richard A Nelson (Rick) <cowboy@debian.org> Wed, 14 Aug 1998 10:00:00 -0500 + +sendmail (8.9.1-5) unstable; urgency=high, closes=25639 + + * Apply sendmail 8.9.1a security patch to protect the various MUAs + This patch updates debian.m4 so you'll have to run sendmailconfig + to actually get the protection enabled. + + * Apply two proto.m4 patches from Claus: + - bug wrt overriding the RBL + - bug wrt prevention of unauthorized relay attempts + + * Remove -Y from sensible-mda's invocation of procmail (#25639) + + * sensible-mda now checks for /etc/procmailrc/<user> and if so, + calls procmail with the -m option... This allows one to deliver mail + to pseudo users without having to create entries in /etc/aliases + + -- Richard A Nelson (Rick) <cowboy@debian.org> Thu, 13 Aug 1998 10:00:00 -0500 + +sendmail (8.9.1-4) unstable; urgency=med, closes=24456 + + * Correct sendmail.cf path in /usr/sbin/etrn (#24456) + also in /usr/sbin/checkmail + + -- Richard A Nelson (Rick) <cowboy@debian.org> Thu, 06 Aug 1998 17:00:00 -0500 + +sendmail (8.9.1-3) unstable; urgency=high + + * Cleanup debian/rules a bit... + + * Correct /bin /sbin problem created with the reinstall of rmail + + -- Richard A Nelson (Rick) <cowboy@debian.org> Wed, 08 Jun 1998 12:00:00 -0500 + +sendmail (8.9.1-2) unstable; urgency=high + + * change /usr/doc/changelog to be RELEASE_NOTES + + * add rmail back... + + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 06 Jun 1998 12:00:00 -0500 + +sendmail (8.9.1-1) unstable; urgency=low, closes=11132 + + * new upstream source + + * /etc/init.d/sendmail and runq now support SOCKS5 if updated... + I personally run socks via /etc/ld.so.preload so that everything + is automagically socksified. + + * Only add MASQUERADE_AS in sendmailconfig if needed (#11132) + + * Correct define(`confMAX_DAEMON_CHILDREN', `30s')dnl (remove the s) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Mon, 06 Jun 1998 10:00:00 -0500 + +sendmail (8.9.0-5) unstable; urgency=high, closes=23870 + + * gack... when I stopped linking /etc/mail/sendmail.cf, I + missed the test in /etc/init.d/sendmail. (#23870) + + -- Richard Nelson <cowboy@debian.org> Thu, 25 Jun 1998 10:00:00 -0500 + +sendmail (8.9.0-4) unstable; urgency=high, closes=23551 + + * Patch collect.c to prevent segfaults in mime8->mime7 (#23774) + + * sensible-mda now ignores non-suid MDAs (#23000) + + * postinst checks for curent release (#23551) + also - it no longer ln -sf /etc/mail/sendmail.cf /etc/sendmail.cf + + * majordomo wants include files in group writeable dirs + + -- Richard Nelson <cowboy@debian.org> Tue, 16 Jun 1998 15:00:00 -0500 + +sendmail (8.9.0-3) unstable; urgency=low + + * Fix copyright file + + -- Richard Nelson <cowboy@debian.org> Sat, 13 Jun 1998 23:00:00 -0500 + +sendmail (8.9.0-2) unstable; urgency=high, closes=23170 23137 23392 23138 + + * Point smrsh back to /usr/lib/sm.bin (#23170) + + * Document TCP wrapper support in README.Debian (is this enough?) (#23137) + Also document that one should *really* read RELEASE_NOTES + + * don't preformat man pages (#23392) + + * forgot the /usr/lib/sendmail link (pine,uucp) (#23165) + + * include pre 8.9.0 changelog (#23138) + -- Richard Nelson <cowboy@debian.org> Sat, 13 Jun 1998 12:00:00 -0500 -sendmail (8.8.8-17) unstable frozen; urgency=low, closes=22747 +sendmail (8.9.0-1) unstable; urgency=low + + * first release of 8.9.0. This drop is very beta in that I've not + done anything with the control files other than allowing group + writable directories for .forward. I've also not done anything + with the rulesets to improve spam control. + + Basically, this release is ONLY for those who want to play with + the new version and are experienced enough to modify it themselves. + + I'm thinking of integrating the following into the next release, + please let me know what you think: + http://www.unix-ag.uni-hannover.de/soft/check_local/ + + -- Richard Nelson <cowboy@debian.org> Sat, 23 May 1998 12:00:00 -0500 + +sendmail (8.8.8-17) frozen; urgency=high, closes=22747 * add MAILER-DAEMON alias (#22747) This is a SEVERE problem in that absence of this alias may cause mailing loops upon @@ -287,5 +611,5 @@ sendmail (8.8.6-1) unstable; urgency=low Local variables: mode: debian-changelog -add-log-mailing-address: "johnie@debian.org" +add-log-mailing-address: "cowboy@debian.org" End: diff --git a/debian/check.tar.uue b/debian/check.tar.uue deleted file mode 100644 index a813f89..0000000 --- a/debian/check.tar.uue +++ /dev/null @@ -1,1005 +0,0 @@ -begin 600 check.tar -M4D5!1$U%+F-H96-K```````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`````````````"`@(#8T-"``("`@,C,P(``@(#$W-3`@`"`@("`@(#$R,30R -M("`V,S0T,S(R,#8W("`@-C$S,0`@```````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````````````````````!4:&ES(&9I;&4@8V]N=&%I;G,@<V5V97)A;"`B -M2$%#2R)S(&9O<B!S96YD;6%I;"`X+C@@=&\@<F5J96-T(&4M;6%I;',*9G)O -M;2!S<&%M;65R<R!A;F0@=&\@<')E=F5N="!T:&4@86)U<V4@;V8@>6]U<B!M -M86-H:6YE(&%S(&$@;6%I;`IR96QA>2X*"D%N(&5X<&QA;F%T:6]N(&-A;B!B -M92!F;W5N9"!A=#H*/%523#H@:'1T<#HO+W=W=RYI;F9O<FUA=&EK+G5N:2UK -M:65L+F1E+R4W16-A+V5M86EL+V-H96-K+FAT;6P@/@H*5&AE($A!0TMS(&%R -M93H*8VAE8VM?;6%I;"YM-`IC:&5C:U]M86EL,BYM-`IC:&5C:U]M86EL,RYM -M-`IC:&5C:U]R8W!T+FTT"F-H96-K7W)C<'0S+FTT"F-H96-K7W)C<'0T+FTT -M"F-H96-K7W)E;&%Y+FTT"F-H96-K7W)E;&%Y,RYM-`IS<&%M9&]M<RYM-`IS -M<&%M;65R<RYM-`IU<V5?:7`N;30*=7-E7VYA;65S+FTT"G5S95]R96QA>71O -M+FTT"@IA;F0@87)E('5S960@87,@9F]L;&]W<SH*,6$I(&-H96-K7VUA:6P@ -M*'5S97,@<&QA:6X@9FEL97,@9F]R(&UA=&-H:6YG*3H*2$%#2RAS<&%M;65R -M<RD*2$%#2RAS<&%M9&]M<RD*0F]T:"!T86ME(&%N(&]P=&EO;F%L(&%R9W5M -M96YT("AT:&4@9FEL92!T;R!U<V4I+@I4:&4@9&5F875L="!F:6QE;F%M97,@ -M87)E(&QI<W1E9"!B96QO=RX*"DA!0TLH8VAE8VM?;6%I;"D*"C%B*2!C:&5C -M:U]M86EL,B`H=7-E<R!D871A8F%S97,@9F]R(&UA=&-H:6YG*3H*2$%#2RAC -M:&5C:U]M86EL,BD*"C)A*2!C:&5C:U]R8W!T-#H*2$%#2RAU<V5?:7`I"DA! -M0TLH=7-E7VYA;65S*0I(04-+*'5S95]R96QA>71O*0H*2$%#2RAC:&5C:U]R -M8W!T-"D*"C)B*2!C:&5C:U]R8W!T("AO;&0@=F5R<VEO;BP@=7-E(&-H96-K -M7W)C<'0T*3H*2$%#2RAU<V5?:7`I"DA!0TLH=7-E7VYA;65S*0I(04-+*'5S -M95]R96QA>71O*0H*2$%#2RAC:&5C:U]R8W!T*0H*5&AE(&9I<G-T(&]N97,@ -M;6%Y(&AA=F4@82!P87)A;65T97(@=&\@9&5F:6YE('1H92!N86UE(&]F('1H -M92!F:6QE('1O"F)E('5S960N"@HS*2!C:&5C:U]R96QA>2P@8VAE8VM?<F5L -M87DS"E1H97-E('=O<FL@;VYL>2!I9B!Y;W4@:&%V92!A('!A=&-H("AS964@ -M86)O=F4@55),*2!O<B`X+C@N-B`H;W(@8F5T=&5R*2X*2$%#2RAC:&5C:U]R -M96QA>2D*;W(*2$%#2RAC:&5C:U]R96QA>3,I"@H*4V]M92!M;W)E(&5X<&QA -M;F%T:6]N<SH*"C%A*0I)9B!Y;W4@=V%N="!T;R!U<V4@8VAE8VM?;6%I;"P@ -M9&\@=&AE(&9O;&QO=VEN9SH@4'5T"@I(04-+*'-P86UM97)S*0I(04-+*'-P -M86UD;VUS*0I(04-+*&-H96-K7VUA:6PI"@II;B!Y;W5R("YM8R!F:6QE+B!0 -M=70@861D<F5S<V5S(&]F('=E;&PM:VYO=VX@<W!A;6UE<G,@*&4M;6%I;"!A -M9&1R97-S97,L"F1O;6%I;G,I(&EN('1H92!A<'!R;W!R:6%T92!F:6QE<R!; -M9&5F875L=%TZ"G-P86UM97)S"5LO971C+VUA:6PO4W!A;6UE<ET)"G-P86UD -M;VUA:6YS"5LO971C+VUA:6PO4W!A;41O;6%I;G-="0H*,6(I"DEF('EO=2!W -M86YT('1O('5S92!C:&5C:U]M86EL,BP@9&\@=&AE(&9O;&QO=VEN9SH@4'5T -M"@I(04-+*&-H96-K7VUA:6PR*0I;5&AI<R!H87,@86QS;R!A;B!O<'1I;VYA -M;"!A<F=U;65N="P@=&AE(&1E9F%U;'0@:7,@9VEV96X@8F5L;W<N70H*:6X@ -M>6]U<B`N;6,@9FEL92X@4'5T(&%D9')E<W-E<R!O9B!W96QL+6MN;W=N('-P -M86UM97)S("AE+6UA:6P@861D<F5S<V5S+`ID;VUA:6YS*2!I;B!T:&4@87!P -M<F]P<FEA=&4@9&%T86)A<V4@6V1E9F%U;'1=.@IJ=6YK"5MD8FT@+V5T8R]M -M86EL+VIU;FM="0H*5&AE(&9O<FUA="!I<SH*:G5N:RYD;VUA:6X@2E5.2PIS -M<&%M;65R0&%D9')E<W,N9&]M86EN(%-004U-15(*0W)E871E('1H92!D871A -M8F%S92`H;6%N(&UA:V5M87`I(&EN('1H92!C:&]S96X@9F]R;6%T+@H*4%,Z -M(%EO=2!C86X@86-T:79A=&4@=&AE(')E=F5R<V4@25`@;&]O:W5P(&%N9"!T -M:&4*=F%L:61I='D@8VAE8VL@;V8@=&AE($923TT@861D<F5S<R!B>0ID969I -M;F4H8%])4%],3T]+55!?)RPQ*61N;`ID969I;F4H8%]$3E-604Q)1%\G+#$I -M9&YL"G)E<W!E8W1I=F5L>2X*"C%C*0I4:&ES(&ES(&$@=F%R:6%N="!O9B!C -M:&5C:U]M86EL,BP@=VAE<F4@=&AE(%)(4R!O9B!T:&4@;6%P"FES('5S960@ -M=&\@<W!E8VEF>2!A;B!E<G)O<B!C;V1E("AW:&EC:"!I<R!O;FQY('5S960@ -M:6X@=&AE"G1E>'0I(&%N9"!A;B!E<G)O<B!T97AT+@I)9B!Y;W4@=V%N="!T -M;R!U<V4@8VAE8VM?;6%I;#,L(&1O('1H92!F;VQL;W=I;F<Z(%!U=`H*2$%# -M2RAC:&5C:U]M86EL,RD*6U1H:7,@:&%S(&%L<V\@86X@;W!T:6]N86P@87)G -M=6UE;G0L('1H92!D969A=6QT(&ES(&=I=F5N(&)E;&]W+ET*"FEN('EO=7(@ -M+FUC(&9I;&4N(%!U="!A9&1R97-S97,@;V8@=V5L;"UK;F]W;B!S<&%M;65R -M<R`H92UM86EL(&%D9')E<W-E<RP*9&]M86EN<RD@:6X@=&AE(&%P<')O<')I -M871E(&1A=&%B87-E(%MD969A=6QT73H*:G5N:PE;9&)M("UA0$I53DL@+V5T -M8R]M86EL+VIU;FM="0HH:68@>6]U('5S92!A;F]T:&5R(&1A=&%B87-E(&9O -M<FUA="!O<B!A;F]T:&5R(&9I;&4L(&UA:V4@<W5R92!Y;W4*<W!E8VEF>2!T -M:&4@;W!T:6]N("UA0$I53DL@(2D*"E1H92!F;W)M870@:7,Z"FIU;FLN9&]M -M86EN(")%<G)O<BU#;V1E($5R<F]R+51E>'0B"G-P86UM97)`861D<F5S<RYD -M;VUA:6X@(D5R<F]R+4-O9&4@17)R;W(M5&5X="(*0W)E871E('1H92!D871A -M8F%S92`H;6%N(&UA:V5M87`I(&EN('1H92!C:&]S96X@9F]R;6%T+@H*17AA -M;7!L93H*8WEB97)P<F]M;RYC;VT@(C4W,2!3;W)R>2P@4W!A;69O<F0L(&YO -M(&4M;6%I;"!F<F]M('EO=7(@<&QA8V4N(@IH;VYE>4!S=V5E=&EE<RYC;VT@ -M(C4W,2!(;VYE>2P@>6]U)W)E(&$@<W!A;6UE<BP@9V\@87=A>2XB"@I04SH@ -M66]U(&-A;B!A8W1I=F%T92!T:&4@<F5V97)S92!)4"!L;V]K=7`@86YD('1H -M90IV86QI9&ET>2!C:&5C:R!O9B!T:&4@1E)/32!A9&1R97-S(&)Y"F1E9FEN -M92A@7TE07TQ/3TM54%\G+#$I9&YL"F1E9FEN92A@7T1.4U9!3$E$7R<L,2ED -M;FP*<F5S<&5C=&EV96QY+@H*,F$I"DEF('EO=2!W86YT('1O('5S92!C:&5C -M:U]R8W!T+"!D;R!T:&4@9F]L;&]W:6YG.B!$96-I9&4@=VAE=&AE<B!Y;W4* -M=V%N('1O('5S92!T:&4@8VAE8VL@9F]R(&QO8V%L(&UA8VAI;F5S(&)Y($E0 -M(&YU;6)E<B`H=7-E7VEP*2!O<B!B>0IN86UE("AU<V5?;F%M97,I+B!.97AT -M+"!D96-I9&4@=VAE=&AE<B!Y;W4@=V%N="!A;'-O(&%L;&]W(')E;&%Y('1O -M"G-E=F5R86P@;6%C:&EN97,@:6X@861D:71I;VX@=&\@=&AO<V4@>6]U(&%C -M8V5P="!A<R!L;V-A;"`H8VQA<W,@=RDN"D1E<&5N9&EN9R!O;B!Y;W5R('-E -M;&5C=&EO;BP@<'5T('-O;64@;V8@=&AE(&9I<G-T('1H<F5E($A!0TMS(&EN -M=&\*>6]U<B`N;6,@9FEL92P@86YD(&%L=V%Y<R!U<V4@=&AE(&QA<W0@;VYE -M+@I(04-+*'5S95]I<"D*2$%#2RAU<V5?;F%M97,I"DA!0TLH=7-E7W)E;&%Y -M=&\I"D%L;"!T86ME(&%N(&]P=&EO;F%L(&%R9W5M96YT("AT:&4@9FEL92!T -M;R!U<V4I+@I4:&4@9&5F875L="!F:6QE;F%M97,@87)E(&QI<W1E9"!B96QO -M=RX*"DA!0TLH8VAE8VM?<F-P=#0I"@I0=70@=&AE(&%P<')O<')I871E('9A -M;'5E<R!I;B!T:&4@9FEL97,Z"G5S95]I<`D)6R]E=&,O;6%I;"],;V-A;$E0 -M70D*=7-E7VYA;65S"5LO971C+VUA:6PO3&]C86Q.86UE<UT)"G5S95]R96QA -M>71O"5LO971C+VUA:6PO4F5L87E4;UT)"@HQ.3DW+3`S+3$V.B!C:&5C:U]R -M8W!T-"!C86X@;F]W(&UA:V4@=7-E(&]F('5S95]I<"!A;F0@=7-E7VYA;65S -M+@I)="!R97!L86-E<R!C:&5C:U]R8W!T,RP@=VAI8V@@:7,@<W1I;&P@879A -M:6QA8FQE(&EF('1H97)E(&ES"F$@<')O8FQE;2!W:71H('1H92!N97<@=F5R -M<VEO;BX*"C-A*0I)9B!Y;W4@=V%N="!T;R!U<V4@8VAE8VM?<F5L87DL(&1O -M('1H92!F;VQL;W=I;F<Z(%!U=`H*2$%#2RAC:&5C:U]R96QA>2D*6U1H:7,@ -M:&%S(&%L<V\@86X@;W!T:6]N86P@87)G=6UE;G0L('1H92!D969A=6QT(&ES -M(&=I=F5N(&)E;&]W+ET*"FEN('EO=7(@+FUC(&9I;&4N(%!U="!T:&4@25`@ -M;G5M8F5R<R!O9B!W96QL+6MN;W=N('-P86UM97)S(`II;B!T:&4@87!P<F]P -M<FEA=&4@9&%T86)A<V4@6V1E9F%U;'1=.@IJ=6YK"5MD8FT@+V5T8R]M86EL -M+VIU;FM="0H*5&AE(&9O<FUA="!I<SH*1"Y8+EDN6B!)4`I#+E@N62!)4`I" -M+E@@25`*02!)4`HH9G5L;"!A9&1R97-S97,L(&-L87-S($,L($(L(&]R($$@ -M;F5T<RD*0W)E871E('1H92!D871A8F%S92`H;6%N(&UA:V5M87`I(&EN('1H -M92!C:&]S96X@9F]R;6%T+@H*,V(I"DEF('EO=2!W86YT('1O('5S92!C:&5C -M:U]R96QA>3,L(&1O('1H92!F;VQL;W=I;F<Z(%!U=`H*2$%#2RAC:&5C:U]R -M96QA>3,I"EM4:&ES(&AA<R!A;'-O(&%N(&]P=&EO;F%L(&%R9W5M96YT+"!T -M:&4@9&5F875L="!I<R!G:79E;B!B96QO=RY="@II;B!Y;W5R("YM8R!F:6QE -M+B!0=70@=&AE($E0(&YU;6)E<G,@;V8@=V5L;"UK;F]W;B!S<&%M;65R<R`* -M:6X@=&AE(&%P<')O<')I871E(&1A=&%B87-E(%MD969A=6QT73H*:G5N:PE; -M9&)M("UA0$I53DL@+V5T8R]M86EL+VIU;FM="0HH:68@>6]U('5S92!A;F]T -M:&5R(&1A=&%B87-E(&9O<FUA="!O<B!A;F]T:&5R(&9I;&4L(&UA:V4@<W5R -M92!Y;W4*<W!E8VEF>2!T:&4@;W!T:6]N("UA0$I53DL@(2D*"E1H92!F;W)M -M870@:7,Z"D0N6"Y9+EH@(D5R<F]R('1E>'0B"D,N6"Y9(")%<G)O<B!T97AT -M(@I"+E@@(D5R<F]R('1E>'0B"D$@(D5R<F]R('1E>'0B"BAF=6QL(&%D9')E -M<W-E<RP@8VQA<W,@0RP@0BP@;W(@02!N971S*0I#<F5A=&4@=&AE(&1A=&%B -M87-E("AM86X@;6%K96UA<"D@:6X@=&AE(&-H;W-E;B!F;W)M870N"@I4:&ES -M(&ES('1H92!S86UE(&1A=&%B87-E(&%S('5S960@9F]R(&-H96-K7VUA:6PS -M+`IJ=7-T('=I=&@@=&AE(&%D9&ET:6]N(&]F($E0(&YU;6)E<G,N"@I#;VYC -M;'5S:6]N.@H*36%K92!S=7)E('EO=2!U;F1E<G-T86YD('=H870@>6]U(&1O -M(&%N9"!Y;W4@=&5S="!T:&ES('-T=69F"F)E9F]R92!Y;W4@=7-E(&ET(&]N -M(&$@<')O9'5C=&EO;B!M86-H:6YE(0I)(&1O;B=T(&=U87)A;G1E92!F;W(@ -M86YY=&AI;F<A"DEF('EO=2!H879E(&%N>2!S=6=G97-T:6]N<RP@8V]M;65N -M=',L(&5N:&%N8V5M96YT<RP*<&QE87-E(&QE="!M92!K;F]W+@H*0VQA=7,@ -M07-S;6%N;@D\8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD93X*3&%S="!U<&1A -M=&4Z(#$Y.3<M,#8M,#$*('=E;&PM:VYO=VX@<W!A;6UE<G,@*&4M;6%I;"!A -M9&1R97-S97,L"F1O;6%I;G,I(&EN('1H92!A<'!R;W!R:6%T92!D871A8F%S -M92!;9&5F875L=%TZ"FIU;FL)6V1B;2`O971C+VUA:6PO:G5N:UT)"@I4:&4@ -M9F]R;6%T(&ES.@IJ=6YK+F1O;6%I;B!*54Y+"G-P86UM97)`861D<F5S<RYD -M;VUA:6X@4U!!34U%4@I#<F5A=&4@=&AE(&1A=&%B87-E("AM86X@;6%K96UA -M<"D@:6X@=&AE(&-H;W-E;B!F;W)M870N"@I04SH@66]U(&-A;B!A8W1I=F%T -M92!T:&4@<F5V97)S92!)4"!L;V]K=7`@86YD('1H90IV86QI9&ET>2!C:&5C -M:R!O9B!T:&4@1E)/32!A9&1R97-S(&)Y"F1E9FEN92A@7TE07TQ/3TM54%\G -M+#$I9&YL"F1E9FEN92A@7T1.4U9!3$E$7R<L,2ED;FP*<F5S<&5C=&EV96QY -M+@H*,6,I"E1H:7,@:7,@82!V87)I86YT:&%C:R]C:&5C:U]M86EL+FTT```` -M```````````````````````````````````````````````````````````` -M`````````````````````````````````````````````"`@(#8T-"``("`@ -M,C,P(``@(#$W-3`@`"`@("`@("`T,C0R("`V,S0U,C8V-S8S("`@-S0R,0`@ -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````````````````````````````````````````````````````!D:79E -M<G0H+3$I"B,*(R!#;W!Y<FEG:'0@*&,I(#$Y.38@0VQA=7,@07-S;6%N;B`\ -M8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD93X*(PHC($EN('-H;W)T.B!Y;W4@ -M8V%N(&1O('=H871E=F5R('EO=2!W86YT('=I=&@@=&AI<RP@8G5T(&1O;B=T -M(&)L86UE(&UE(0HC"B,@5$A)4R!33T945T%212!)4R!04D]6241%1"!"62!4 -M2$4@05542$]2($%.1"!#3TY44DE"551/4E,@8&!!4R!)4R<G($%.1`HC($%. -M62!%6%!215-3($]2($E-4$Q)140@5T%24D%.5$E%4RP@24Y#3%5$24Y'+"!" -M550@3D]4($Q)34E4140@5$\L(%1(10HC($E-4$Q)140@5T%24D%.5$E%4R!/ -M1B!-15)#2$%.5$%"24Q)5%D@04Y$($9)5$Y%4U,@1D]2($$@4$%25$E#54Q! -M4B!055)03U-%"B,@05)%($1)4T-,04E-140N("!)3B!.3R!%5D5.5"!32$%, -M3"!42$4@05542$]2($]2($-/3E1224)55$]24R!"12!,24%"3$4*(R!&3U(@ -M04Y9($1)4D5#5"P@24Y$25)%0U0L($E.0TE$14Y404PL(%-014-)04PL($58 -M14U03$%262P@3U(@0T].4T51545.5$E!3`HC($1!34%'15,@*$E.0TQ51$E. -M1RP@0E54($Y/5"!,24U)5$5$(%1/+"!04D]#55)%345.5"!/1B!354)35$E4 -M551%($=/3T13"B,@3U(@4T525DE#15,[($Q/4U,@3T8@55-%+"!$051!+"!/ -M4B!04D]&2513.R!/4B!"55-)3D534R!)3E1%4E)54%1)3TXI"B,@2$]7159% -M4B!#0553140@04Y$($].($%.62!42$5/4ED@3T8@3$E!0DE,2519+"!72$54 -M2$52($E.($-/3E1204-4+"!35%))0U0*(R!,24%"24Q)5%DL($]2(%1/4E0@ -M*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]42$525TE312D@05))4TE.1R!) -M3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@3T8@5$A)4R!33T945T%212P@ -M159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E462!/1@HC(%-50T@@ -M1$%-04=%+@HC"F1I=F5R="@P*0I615)324].240H8$`H(REC:&5C:U]M86EL -M+FTT"3$N,2`H0VQA=7,@07-S;6%N;BD@,3DY-RTP,RTP.2<I"@ID:79E<G0H -M,BD*3$]#04Q?4E5,15-%5%,*4V-H96-K7VUA:6P*9&5F:6YE*&!#3TU-14Y4 -M)RP@:69D968H8%]34$%-34524U\G+"!@)RP@8",G*2ED;FP*(R!N;R!M86EL -M<R!F<F]M('-P86UM97)S("AU<V5R0&1O;2YA:6XI"D-/34U%3E1@)U(\)#U[ -M4W!A;6UE<GT^"20C97)R;W(@)$`@-2XW+C$@)#H@(C4W,2!792!D;VXG="!A -M8V-E<'0@:G5N:R!M86EL+B(@"6=O(&%W87D*0T]-345.5&`G4CPD/7M3<&%M -M;65R?2X^"20C97)R;W(@)$`@-2XW+C$@)#H@(C4W,2!792!D;VXG="!A8V-E -M<'0@:G5N:R!M86EL+B(@"6=O(&%W87D*0T]-345.5&`G4B0]>U-P86UM97)] -M"20C97)R;W(@)$`@-2XW+C$@)#H@(C4W,2!792!D;VXG="!A8V-E<'0@:G5N -M:R!M86EL+B(@"6=O(&%W87D*0T]-345.5&`G4B0]>U-P86UM97)]+@DD(V5R -M<F]R("1`(#4N-RXQ("0Z("(U-S$@5V4@9&]N)W0@86-C97!T(&IU;FL@;6%I -M;"XB(`EG;R!A=V%Y"G5N9&5F:6YE*&!#3TU-14Y4)RED;FP*4B0J"0DD.B`D -M/C,@)#$)"0D)"0EC86YO;FEF>0I2)"T)"21`(&]K"0D)"0D)"6QO8V%L(&AO -M<W0*9&5F:6YE*&!#3TU-14Y4)RP@:69D968H8%]34$%-1$]-4U\G+"!@)RP@ -M8",G*2ED;FP*(R!N;R!S<&%M(&1O;6%I;G,*0T]-345.5&`G4B0J/$`D*B0] -M>U-P86U$;VUA:6YS?2X^)"H))"-E<G)O<B`D0"`U+C<N,2`D.B`B-3<Q(%1H -M:7,@9&]M86EN(&ES(&)A;FYE9"XB(`EG;R!A=V%Y"D-/34U%3E1@)U(D*CQ` -M)"HD/7M3<&%M1&]M86EN<WT^)"H))"-E<G)O<B`D0"`U+C<N,2`D.B`B-3<Q -M(%1H:7,@9&]M86EN(&ES(&)A;FYE9"XB(`EG;R!A=V%Y"G5N9&5F:6YE*&!# -M3TU-14Y4)RED;FP*(R!I9B!Y;W4@96YA8FQE('1H92!L87-T(')U;&4L('EO -M=2!C86X@9&ES86)L92!T:&ES(&]N92X*(R!H;W-T('=I=&AO=70@82`N(&EN -M('1H92!&44A.(#\*4B0J/$`D+3XD*@DD(V5R<F]R("1`(#4N,2XX("0Z(#4Q -M."!I;G9A;&ED(&AO<W0@;F%M92`D,@D);F\@<F5A;"!N86UE"B,@;&]O:W5P -M($E0(&%D9')E<W,@*')E=F5R<V4@;6%P<&EN9R!A=F%I;&%B;&4_*0HC(%(D -M*CQ`6R0K73XD*@DD.B`D,2`\($`@)%L@6R`D,B!=("1=(#X@)#,*(R!N;R!$ -M3E,@96YT<GD_('1H:7,@:7,@9&%N9V5R;W5S(0HC(%(D*CQ`)"HD?E`^)"H) -M)"-E<G)O<B`D0"`T+C$N."`D.B`T,3@@=6YR97-O;'9A8FQE(&AO<W0@;F%M -M92`D,B0S+"!C:&5C:R!Y;W5R(&-O;F9I9W5R871I;VXN"0ID:79E<G0H,"D* -M"D]7159%4B!#0553140@04Y$($].($%.62!42$5/4ED@3T8@3$E!0DE,2519 -M+"!72$542$52($E.($-/3E1204-4+"!35%))0U0*(R!,24%"24Q)5%DL($]2 -M(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]42$525TE312D@05)) -M4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@3T8@5$A)4R!33T94 -M5T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E462!/1@HC -M(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)324].240H8$`H(REC:&5C -M:U]M86EL+FTT"3$N,2`H0VQA=7,@07-S;6%N;BD@,3DY-RTP,RTP.2<I"@ID -M:79E<G0H,BD*3$]#04Q?4E5,15-%5%,*4V-H96-K7VUA:6P*:&%C:R]C:&5C -M:U]M86EL,BYM-``````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`"`@(#8T-"``("`@,C,P(``@(#$W-3`@`"`@("`@("`V,3$S("`V,S8S-#,V -M,S,S("`@-S0W,@`@```````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````````!D:79E<G0H+3$I"B,*(R!#;W!Y<FEG:'0@*&,I(#$Y.38L,3DY -M-R!#;&%U<R!!<W-M86YN(#QC84!I;F9O<FUA=&EK+G5N:2UK:65L+F1E/@HC -M"B,@26X@<VAO<G0Z('EO=2!C86X@9&\@=VAA=&5V97(@>6]U('=A;G0@=VET -M:"!T:&ES+"!B=70@9&]N)W0@8FQA;64@;64A"B,*(R!42$E3(%-/1E1705)% -M($E3(%!23U9)1$5$($)9(%1(12!!551(3U(@04Y$($-/3E1224)55$]24R!@ -M8$%3($E3)R<@04Y$"B,@04Y9($584%)%4U,@3U(@24U03$E%1"!705)204Y4 -M2453+"!)3D-,541)3D<L($)55"!.3U0@3$E-251%1"!43RP@5$A%"B,@24U0 -M3$E%1"!705)204Y42453($]&($U%4D-(04Y404))3$E462!!3D0@1DE43D53 -M4R!&3U(@02!005)424-53$%2(%!54E!/4T4*(R!!4D4@1$E30TQ!24U%1"X@ -M($E.($Y/($5614Y4(%-(04Q,(%1(12!!551(3U(@3U(@0T].5%))0E543U)3 -M($)%($Q)04),10HC($9/4B!!3ED@1$E214-4+"!)3D1)4D5#5"P@24Y#241% -M3E1!3"P@4U!%0TE!3"P@15A%35!,05)9+"!/4B!#3TY315%514Y424%,"B,@ -M1$%-04=%4R`H24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%!23T-5 -M4D5-14Y4($]&(%-50E-425155$4@1T]/1%,*(R!/4B!315)624-%4SL@3$]3 -M4R!/1B!54T4L($1!5$$L($]2(%!23T9)5%,[($]2($)54TE.15-3($E.5$52 -M4E505$E/3BD*(R!(3U=%5D52($-!55-%1"!!3D0@3TX@04Y9(%1(14]262!/ -M1B!,24%"24Q)5%DL(%=(151(15(@24X@0T].5%)!0U0L(%-44DE#5`HC($Q) -M04))3$E462P@3U(@5$]25"`H24Y#3%5$24Y'($Y%1TQ)1T5.0T4@3U(@3U1( -M15)725-%*2!!4DE324Y'($E.($%.62!705D*(R!/550@3T8@5$A%(%5312!/ -M1B!42$E3(%-/1E1705)%+"!%5D5.($E&($%$5DE3140@3T8@5$A%(%!/4U-) -M0DE,2519($]&"B,@4U5#2"!$04U!1T4N"B,*9&EV97)T*#`I"E9%4E-)3TY) -M1"A@0"@C*6-H96-K7VUA:6PN;30),BXQ("A#;&%U<R!!<W-M86YN*2`Q.3DW -M+3`S+3,P)RD*4%532$1)5D525"@V*0II9F1E9BA@7TI53DM?1$5&24Y%1%]2 -M14Q!62<L+`HC(&9I;&4@8V]N=&%I;FEN9R!F=6QL(&4M;6%I;"!A9&1R97-S -M97,@;V8@<W!A;6UE<G,@*&9O<B!C:&5C:U]M86EL*3H*(R!S<&%M;65R0&%D -M9')E<W,N9&]M86EN(%-004U-15(*(R!O<B!J=6YK(&1O;6%I;G,@*&9O<B!C -M:&5C:U]M86EL+"!C:&5C:U]R96QA>2DZ"B,@:G5N:RYD;VUA:6X@2E5.2PHC -M(&]R($E0(&%D9')E<W-E<R`H9F]R(&-H96-K7W)E;&%Y*3H*(R!$+E@N62Y: -M($E0"B,@0RY8+ED@25`*(R!"+E@@25`*(R!!($E0"DMJ=6YK(&EF96QS92A? -M05)'7RP@8"<L(&!D8FT@+V5T8R]M86EL+VIU;FLG+"!@7T%21U\G*0ID969I -M;F4H8%]*54Y+7T1%1DE.141?34%)3"<L,2D**0II9F1E9BA@7T%#0T505%]3 -M3TU%7R<L"DMA8V-E<'0@9&)M("]E=&,O;6%I;"]A8V-E<'0I"E!/4$1)5D52 -M5`H*9&EV97)T*#(I"DQ/0T%,7U)53$531513"B,@8VAE8VL@9F]R(&IU;FL@ -M9&]M86EN+W-P86UM97)S"E-J=6YK"B,@;&]O:W5P(&1O;6%I;B!I;B!D871A -M8F%S90I2)"H\0"0K/B0J"0DD.B0Q/$`D*&IU;FL@)#(D*3XD,PHC(&5X:7-T -M<S\@<F5T=7)N"E(D*CQ`2E5.2SXD*@D))$`D,3Q`2E5.2SXD,@HC(&QO;VMU -M<"!A9&1R97-S(&EN(&1A=&%B87-E"E(D*CQ`)"L^)"H)"20Z)#$\0"0H:G5N -M:R`D,4`D,B`D.B0R)"D^)#,*(R!E>&ES=',_(')E='5R;@I2)"H\0%-004U- -M15(^)"H)"21`)#$\0%-004U-15(^)#(*(R!M=B!O;F4@<W5B9&]M86EN(&EN -M(&9R;VYT+"!T<GD@86=A:6X*4B0J/$`D+2XD+2XD*SXD*@DD.B`D,CQ`/B`D -M/FIU;FL@)#$\0"0S+B0T/B0U"B,@=6YD;R!D86UA9V4*4B0J/$`^)"H\0"0K -M/B0J"0DD,CQ`)#$N)#,^)#0*"E-C:&5C:U]M86EL"B,@9&]N)W0@8VAE8VL@ -M=&AE<V4*4CPD*D`D/7<^"21`(&]K"0D)<VAO<G1C=70*(R!I9&5A(&9R;VT@ -M4W1E=F5N(%-C:'5L='H*4CP^"0DD.B`\)&X@0"`D*&1E<75O=&4@(B(@)"9[ -M8VQI96YT7VYA;65]("0I(#X*:69D968H8%]!0T-%4%1?4T]-15\G+`HC(&%C -M8V5P="!S;VUE('-T=7!I9"!S='5F9@I2/"0J0"0K/@DD.CPD,4`D*&%C8V5P -M="`D,B`D.B0R)"D^"E(\)"I`3TL^"21`(&]K*0I2)"H)"20Z("0^,R`D,0D) -M"6-A;F]N:69Y"E(D+0D))$`@;VL)"0D);&]C86P@:&]S=`HC(&YO(&AO<W0@ -M=VET:&]U="!A("X@:6X@=&AE($912$X@/PI2)"H\0"0M/B0J"20C97)R;W(@ -M)$`@-2XQ+C@@)#H@-3$X(&EN=F%L:60@:&]S="!N86UE("0R+"!C:&5C:R!Y -M;W5R(&-O;F9I9W5R871I;VXN"G5N9&5F:6YE*&!#3TU-14Y4)RED;FP*9&5F -M:6YE*&!#3TU-14Y4)RP@:69D968H8%])4%],3T]+55!?)RP@8"<L(&`C)RDI -M9&YL"B,@;&]O:W5P($E0(&%D9')E<W,@*')E=F5R<V4@;6%P<&EN9R!A=F%I -M;&%B;&4_*0I#3TU-14Y48"=2)"H\0%LD+2XD+2XD+2XD+5T^)"H))#H@)#$@ -M/"!`("1;(%L@)#(N)#,N)#0N)#4@72`D72`^("0V(`IU;F1E9FEN92A@0T]- -M345.5"<I9&YL"B,@8V]P>2!T:&4@<F5S=6QT(&]F('1H92!L;V]K=7`*4B0J -M"0DD.B0Q("1\("0Q"B,@;F]W(')E;6]V92!T:&4@9&]T"E(D*B`D?"`D*CQ` -M)"HN/B0J"20Z("0Q("1\("0R/$`D,SXD-`HC(&%N9"!C:&5C:R!T:&4@9&%T -M86)A<V4*4B0J("1\("0J/$`D*CXD*@DD.B`D,2`D?"`D/FIU;FL@)#(\0"0S -M/@I2)"H@)'P@)"H\0"0J2E5.2SXD*@DD(V5R<F]R("1`(#4N-RXQ("0Z("(U -M-S$@5&AI<R!D;VUA:6X@:7,@8F%N;F5D+"!C;VYT86-T('EO=7(@;&]C86P@ -M861M:6XN(B`)9V\@87=A>0I2)"H@)'P@)"H\0"0J4U!!34U%4CXD*@DD(V5R -M<F]R("1`(#4N-RXQ("0Z("(U-S$@66]U(&%R92!B86YN960L(&-O;G1A8W0@ -M>6]U<B!L;V-A;"!A9&UI;BXB(`EG;R!A=V%Y"B,@<F5S=&]R92!O<FEG:6YA -M;"!V86QU92`H869T97(@8V%N;VYI8V%L:7IA=&EO;B!B>2!R=6QE<V5T(#,I -M"E(D*B`D?"`D*@D))#H@)#$*=6YD969I;F4H8$-/34U%3E0G*61N;`ID969I -M;F4H8$-/34U%3E0G+"!I9F1E9BA@7T1.4U9!3$E$7R<L(&`G+"!@(R<I*61N -M;`HC('1H:7,@:7,@9&%N9V5R;W5S(2!N;R!R96%L(&YA;64*0T]-345.5&`G -M4B0J/$`D*B1^4#XD*@DD(V5R<F]R("1`(#0N,2XX("0Z(#0Q."!U;G)E<V]L -M=F%B;&4@:&]S="!N86UE("0R)#,L(&-H96-K('EO=7(@<V5T=7`N"F1I=F5R -M="@P*0I354)35$E4551%($=/3T13"B,@3U(@4T525DE#15,[($Q/4U,@3T8@ -M55-%+"!$051!+"!/4B!04D]&2513.R!/4B!"55-)3D534R!)3E1%4E)54%1) -M3TXI"B,@2$]7159%4B!#0553140@04Y$($].($%.62!42$5/4ED@3T8@3$E! -M0DE,2519+"!72$542$52($E.($-/3E1204-4+"!35%))0U0*(R!,24%"24Q) -M5%DL($]2(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]42$525TE3 -M12D@05))4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@3T8@5$A) -M4R!33T945T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E4 -M62!/1@HC(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)324].240H8$`H -M(REC:&5C:U]M86EL+FTT"3(N,2`H0VQA=7,@07-S;6%N;BD@,3DY-RTP,RTS -M,"<I"E!54TA$259%4E0H-BD*:69D968H8%]*54Y+7T1%1DE.16AA8VLO8VAE -M8VM?;6%I;#,N;30````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```@("`V-#0@`"`@(#(S,"``("`Q-S4P(``@("`@("`@-C0V-2`@-C,V,S0S -M-S(U,R`@(#<U,#<`(``````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M````````````9&EV97)T*"TQ*0HC"B,@0V]P>7)I9VAT("AC*2`Q.3DV+#$Y -M.3<@0VQA=7,@07-S;6%N;B`\8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD93X* -M(PHC($EN('-H;W)T.B!Y;W4@8V%N(&1O('=H871E=F5R('EO=2!W86YT('=I -M=&@@=&AI<RP@8G5T(&1O;B=T(&)L86UE(&UE(0HC"B,@5$A)4R!33T945T%2 -M12!)4R!04D]6241%1"!"62!42$4@05542$]2($%.1"!#3TY44DE"551/4E,@ -M8&!!4R!)4R<G($%.1`HC($%.62!%6%!215-3($]2($E-4$Q)140@5T%24D%. -M5$E%4RP@24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%1(10HC($E- -M4$Q)140@5T%24D%.5$E%4R!/1B!-15)#2$%.5$%"24Q)5%D@04Y$($9)5$Y% -M4U,@1D]2($$@4$%25$E#54Q!4B!055)03U-%"B,@05)%($1)4T-,04E-140N -M("!)3B!.3R!%5D5.5"!32$%,3"!42$4@05542$]2($]2($-/3E1224)55$]2 -M4R!"12!,24%"3$4*(R!&3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L($E.0TE$ -M14Y404PL(%-014-)04PL($5814U03$%262P@3U(@0T].4T51545.5$E!3`HC -M($1!34%'15,@*$E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!04D]# -M55)%345.5"!/1B!354)35$E4551%($=/3T13"B,@3U(@4T525DE#15,[($Q/ -M4U,@3T8@55-%+"!$051!+"!/4B!04D]&2513.R!/4B!"55-)3D534R!)3E1% -M4E)54%1)3TXI"B,@2$]7159%4B!#0553140@04Y$($].($%.62!42$5/4ED@ -M3T8@3$E!0DE,2519+"!72$542$52($E.($-/3E1204-4+"!35%))0U0*(R!, -M24%"24Q)5%DL($]2(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]4 -M2$525TE312D@05))4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@ -M3T8@5$A)4R!33T945T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-3 -M24))3$E462!/1@HC(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)324]. -M240H8$`H(REC:&5C:U]M86EL+FTT"3,N,2`H0VQA=7,@07-S;6%N;BD@,3DY -M-RTP-RTP-B<I"E!54TA$259%4E0H-BD*:69D968H8%]*54Y+7T1%1DE.141? -M4D5,05DG+"P*(R!F:6QE(&-O;G1A:6YI;F<@9G5L;"!E+6UA:6P@861D<F5S -M<V5S(&]F('-P86UM97)S("AF;W(@8VAE8VM?;6%I;"DZ"B,@<W!A;6UE<D!A -M9&1R97-S+F1O;6%I;B`B17)R;W(M0V]D92!%<G)O<BU497AT(@HC(&]R(&IU -M;FL@9&]M86EN<R`H9F]R(&-H96-K7VUA:6PL(&-H96-K7W)E;&%Y*3H*(R!J -M=6YK+F1O;6%I;B`@(D5R<F]R+4-O9&4@17)R;W(M5&5X="(*(R!O<B!)4"!A -M9&1R97-S97,@*&9O<B!C:&5C:U]R96QA>2DZ"B,@1"Y8+EDN6B`B17)R;W(M -M0V]D92!%<G)O<BU497AT(@HC($,N6"Y9(")%<G)O<BU#;V1E($5R<F]R+51E -M>'0B"B,@0BY8(")%<G)O<BU#;V1E($5R<F]R+51E>'0B"B,@02`B17)R;W(M -M0V]D92!%<G)O<BU497AT(@I+:G5N:R!I9F5L<V4H7T%21U\L(&`G+"!@9&)M -M("UA0$I53DL@+V5T8R]M86EL+VIU;FLG+"!@7T%21U\G*0ID969I;F4H8%]* -M54Y+7T1%1DE.141?34%)3"<L,2D**0II9F1E9BA@7T%#0T505%]33TU%7R<L -M"DMA8V-E<'0@9&)M("UO("]E=&,O;6%I;"]A8V-E<'0I"E!/4$1)5D525`H* -M9&EV97)T*#(I"DQ/0T%,7U)53$531513"B,@8VAE8VL@9F]R(&IU;FL@9&]M -M86EN+W-P86UM97)S"E-J=6YK"B,@;&]O:W5P(&1O;6%I;B!I;B!D871A8F%S -M90I2)"H\0"0K/@D))#HD,3Q`)"AJ=6YK("0R)"D^"B,@97AI<W1S/R!R971U -M<FX*4B0J/$`D*D!*54Y+/@D))$`D,3Q`)#)`2E5.2SX*(R!L;V]K=7`@861D -M<F5S<R!I;B!D871A8F%S90I2)"H\0"0K/@D))#HD,3Q`)"AJ=6YK("0Q0"0R -M("0Z)#(D*3X*(R!E>&ES=',_(')E='5R;@I2)"H\0"0J0$I53DL^"0DD0"0Q -M/$`D,D!*54Y+/@HC(')E;6]V92!O;F4@<W5B9&]M86EN+"!T<GD@86=A:6X* -M4B0J/$`D+2XD+2XD*SX)"20Z("0^:G5N:R`D,3Q`)#,N)#0^"@I38VAE8VM? -M;6%I;`HC(&1O;B=T(&-H96-K('1H97-E"E(\)"I`)#UW/@DD0"!O:PD)"7-H -M;W)T8W5T"B,@:61E82!F<F]M(%-T979E;B!38VAU;'1Z"E(\/@D))#H@/"1N -M($`@)"AD97%U;W1E("(B("0F>V-L:65N=%]N86UE?2`D*2`^"FEF9&5F*&!? -M04-#15!47U-/345?)RP*(R!A8V-E<'0@<V]M92!S='5P:60@<W1U9F8*4CPD -M*D`D*SX))#H\)#%`)"AA8V-E<'0@)#(@)#HD,B0I/@I2/"0J0$]+/@DD0"!O -M:RD*:69D968H8%]#2$5#2U]&4D]-7R<L"B,@;6%R:R!A9&1R97-S"E(D*@D) -M)#H\0#XD,0HC(&ES('1H92!S>6YT87@@;VL@*'5S97,@/#X@86YD(&YO(&1O -M="!A="!T:&4@96YD/RD*4CQ`/CPD*D`D*B1^+CX))#H\)#%`)#(D,SX*(R!M -M87)K('-T:6QL('1H97)E.B!E<G)O<BXN+@I2/$`^)"H)"20C97)R;W(@)$`@ -M-2XQ+C@@)#H@-3$X(&EL;&5G86P@34%)3"!&4D]-("0Q+`HC(&EF('=E(&1O -M;B=T('1O('1H92!A8F]V93H@<F5M;W9E(&%T(&QE87-T('1H92!D;W0N+BX* -M4CPD*D`D*BX^"3PD,21`,CXI"E(D*@D))#H@)#XS("0Q"0D)8V%N;VYI9GD* -M4B0M"0DD0"!O:PD)"0EL;V-A;"!H;W-T"B,@;F\@:&]S="!W:71H;W5T(&$@ -M+B!I;B!T:&4@1E%(3B`_"E(D*CQ`)"T^)"H))"-E<G)O<B`D0"`U+C$N."`D -M.B`U,3@@:6YV86QI9"!H;W-T(&YA;64@)#(L(&-H96-K('EO=7(@8V]N9FEG -M=7)A=&EO;BX*=6YD969I;F4H8$-/34U%3E0G*61N;`ID969I;F4H8$-/34U% -M3E0G+"!I9F1E9BA@7TE07TQ/3TM54%\G+"!@)RP@8",G*2ED;FP*(R!L;V]K -M=7`@25`@861D<F5S<R`H<F5V97)S92!M87!P:6YG(&%V86EL86)L93\I"D-/ -M34U%3E1@)U(D*CQ`6R0M+B0M+B0M+B0M73XD*@DD.B`D,2`\($`@)%L@6R`D -M,BXD,RXD-"XD-2!=("1=(#X@)#8@"B,@8V]P>2!T:&4@<F5S=6QT(&]F('1H -M92!L;V]K=7`*4B0J"0DD.B0Q("1\("0Q"B,@;F]W(')E;6]V92!T:&4@9&]T -M"E(D*B`D?"`D*CQ`)"HN/B0J"20Z("0Q("1\("0R/$`D,SXD-`HC(&%N9"!C -M:&5C:R!T:&4@9&%T86)A<V4*4B0J("1\("0J/$`D*CXD*@DD.B`D,2`D?"`D -M/FIU;FL@)#(\0"0S/@HC(&UA=&-H.B!R971U<FX@9VEV96X@97)R;W(@8V]D -M92`H<FAS(&]F(&UA<"D*4B0J("1\("0J/$`D*D!*54Y+/B0J"20C97)R;W(@ -M)$`@-2XW+C$@)#H@)#,*(R!R97-T;W)E(&]R:6=I;F%L('9A;'5E("AA9G1E -M<B!C86YO;FEC86QI>F%T:6]N(&)Y(')U;&5S970@,RD*4B0J("1\("0J"0DD -M.B`D,0IU;F1E9FEN92A@0T]-345.5"<I9&YL"F1E9FEN92A@0T]-345.5"<L -M(&EF9&5F*&!?1$Y35D%,241?)RP@8"<L(&`C)RDI9&YL"B,@=&AI<R!I<R!D -M86YG97)O=7,A(&YO(')E86P@;F%M90I#3TU-14Y48"=2)"H\0"0J)'Y0/B0J -M"20C97)R;W(@)$`@-"XQ+C@@)#H@-#$X('5N<F5S;VQV86)L92!H;W-T(&YA -M;64@)#(D,RP@8VAE8VL@>6]U<B!S971U<"X*=6YD969I;F4H8$-/34U%3E0G -M*61N;`ID:79E<G0H,"D*04Y9(%=!60HC($]55"!/1B!42$4@55-%($]&(%1( -M25,@4T]&5%=!4D4L($5614X@248@041625-%1"!/1B!42$4@4$]34TE"24Q) -M5%D@3T8*(R!354-(($1!34%'12X*(PID:79E<G0H,"D*5D524TE/3DE$*&!` -M*",I8VAE8VM?;6%I;"YM-`DS+C$@*$-L875S($%S<VUA;FXI(#$Y.3<M,#<M -M,#8G*0I055-(1$E615)4*#8I"FEF9&5F*&!?2E5.2U]$149)3D5H86-K+V-H -M96-K7W)C<'0N;30````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M````("`@-C0T(``@("`R,S`@`"`@,3<U,"``("`@("`@(#,U,#,@(#8S-#4R -M-C4S-3,@("`W-#0P`"`````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`````````````&1I=F5R="@M,2D*(PHC($-O<'ER:6=H="`H8RD@,3DY-B!# -M;&%U<R!!<W-M86YN(#QC84!I;F9O<FUA=&EK+G5N:2UK:65L+F1E/@HC"B,@ -M26X@<VAO<G0Z('EO=2!C86X@9&\@=VAA=&5V97(@>6]U('=A;G0@=VET:"!T -M:&ES+"!B=70@9&]N)W0@8FQA;64@;64A"B,*(R!42$E3(%-/1E1705)%($E3 -M(%!23U9)1$5$($)9(%1(12!!551(3U(@04Y$($-/3E1224)55$]24R!@8$%3 -M($E3)R<@04Y$"B,@04Y9($584%)%4U,@3U(@24U03$E%1"!705)204Y42453 -M+"!)3D-,541)3D<L($)55"!.3U0@3$E-251%1"!43RP@5$A%"B,@24U03$E% -M1"!705)204Y42453($]&($U%4D-(04Y404))3$E462!!3D0@1DE43D534R!& -M3U(@02!005)424-53$%2(%!54E!/4T4*(R!!4D4@1$E30TQ!24U%1"X@($E. -M($Y/($5614Y4(%-(04Q,(%1(12!!551(3U(@3U(@0T].5%))0E543U)3($)% -M($Q)04),10HC($9/4B!!3ED@1$E214-4+"!)3D1)4D5#5"P@24Y#241%3E1! -M3"P@4U!%0TE!3"P@15A%35!,05)9+"!/4B!#3TY315%514Y424%,"B,@1$%- -M04=%4R`H24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%!23T-54D5- -M14Y4($]&(%-50E-425155$4@1T]/1%,*(R!/4B!315)624-%4SL@3$]34R!/ -M1B!54T4L($1!5$$L($]2(%!23T9)5%,[($]2($)54TE.15-3($E.5$524E50 -M5$E/3BD*(R!(3U=%5D52($-!55-%1"!!3D0@3TX@04Y9(%1(14]262!/1B!, -M24%"24Q)5%DL(%=(151(15(@24X@0T].5%)!0U0L(%-44DE#5`HC($Q)04)) -M3$E462P@3U(@5$]25"`H24Y#3%5$24Y'($Y%1TQ)1T5.0T4@3U(@3U1(15)7 -M25-%*2!!4DE324Y'($E.($%.62!705D*(R!/550@3T8@5$A%(%5312!/1B!4 -M2$E3(%-/1E1705)%+"!%5D5.($E&($%$5DE3140@3T8@5$A%(%!/4U-)0DE, -M2519($]&"B,@4U5#2"!$04U!1T4N"B,*9&EV97)T*#`I"E9%4E-)3TY)1"A@ -M0"@C*6-H96-K7W)C<'0N;30),2XP("A#;&%U<R!!<W-M86YN*2`Q.3DV+3$Q -M+3(S)RD*"@ID:79E<G0H,BD*3$]#04Q?4E5,15-%5%,*4V-H96-K7W)C<'0* -M4B0K"0D))#H@)#XS("0Q"0D)"6-A;F]N:69Y"E(D*PD)"20Z("0H9&5Q=6]T -M92`D,2`D*0I2)"T)"0DD0"!O:PD)"0D)=&\@:&5R90I2)"H@)2`D*@D))#H@ -M<F5L87D@871T96UP=`I2)"H@0"`D*B`\($`@)"HN/@DD.B!R96QA>2!A='1E -M;7!T"E(D*R`\($`@)#UW+CX)"21`(&]K"0D)"0ET;R!H97)E"FEF9&5F*&!? -M55-%7U)%3$%95$]?)RQ@)RQ@(R<I9&YL"E(D*R`\($`@)"HD/7M296QA>51O -M?2X^"21`(&]K"0EA;&QO=R!R96QA>2!T;R!T:&5R90ID969I;F4H8$-/34U% -M3E0G+"!I9F1E9BA@7U5315])4%\G+"!@)RP@8",G*2ED;FP*0T]-345.5&`G -M4B0K"0D))#H@)"AD97%U;W1E("(B("0F>V-L:65N=%]A9&1R?2`D*0I#3TU- -M14Y48"=2,`D)"21`(&]K"0EC;&EE;G1?861D<B!I<R`P(&9O<B!S96YD;6%I -M;"`M8G,*0T]-345.5&`G4B0]>TQO8V%L25!]+B0J"0DD0"!O:PD)"0D)9G)O -M;2!H97)E"G5N9&5F:6YE*&!#3TU-14Y4)RED;FP*9&5F:6YE*&!#3TU-14Y4 -M)RP@:69D968H8%]54T5?3D%-15-?)RP@8"<L(&`C)RDI9&YL"D-/34U%3E1@ -M)U(D*PD)"20Z("0H9&5Q=6]T92`B(B`D)GMC;&EE;G1?;F%M97T@)"D*0T]- -M345.5&`G4B0M"0D))$`@;VL)"0D)"69R;VT@:&5R90I#3TU-14Y48"=2)"HD -M/7M,;V-A;$YA;65S?0D))$`@;VL)"0D)"69R;VT@:&5R90IU;F1E9FEN92A@ -M0T]-345.5"<I9&YL"FEF9&5F*&!?55-%7U)#4%1?)RP@8"<L(&!E<G)P<FEN -M="A@2$%#2R`B8VAE8VM?<F-P="(@<F5Q=6ER97,@=7-E7VEP(&]R('5S95]N -M86UE<R<I)RD*4B0J"0D))"-E<G)O<B`D0"`U+C<N,2`D.B`B-3<Q('=E(&1O -M(&YO="!S=7!P;W)T(')E;&%Y:6YG(@H*('-U8F1O;6%I;BP@=')Y(&%G86EN -M"E(D*CQ`)"TN)"TN)"L^"0DD.B`D/FIU;FL@)#$\0"0S+B0T/@H*4V-H96-K -M7VUA:6P*(R!D;VXG="!C:&5C:R!T:&5S90I2/"0J0"0]=SX))$`@;VL)"0ES -M:&]R=&-U=`HC(&ED96$@9G)O;2!3=&5V96X@4V-H=6QT>@I2/#X)"20Z(#PD -M;B!`("0H9&5Q=6]T92`B(B`D)GMC;&EE;G1?;F%M97T@:&%C:R]C:&5C:U]R -M8W!T,BYM-``````````````````````````````````````````````````` -M`````````````````````````````````````````````````````````"`@ -M(#8T-"``("`@,C,P(``@(#$W-3`@`"`@("`@("`T,#(Q("`V,S0U,C8U,S8T -M("`@-S4R,``@```````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````!D:79E<G0H+3$I"B,*(R!#;W!Y<FEG:'0@*&,I(#$Y.3<@0VQA=7,@ -M07-S;6%N;B`\8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD93X*(PHC($EN('-H -M;W)T.B!Y;W4@8V%N(&1O('=H871E=F5R('EO=2!W86YT('=I=&@@=&AI<RP@ -M8G5T(&1O;B=T(&)L86UE(&UE(0HC"B,@5$A)4R!33T945T%212!)4R!04D]6 -M241%1"!"62!42$4@05542$]2($%.1"!#3TY44DE"551/4E,@8&!!4R!)4R<G -M($%.1`HC($%.62!%6%!215-3($]2($E-4$Q)140@5T%24D%.5$E%4RP@24Y# -M3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%1(10HC($E-4$Q)140@5T%2 -M4D%.5$E%4R!/1B!-15)#2$%.5$%"24Q)5%D@04Y$($9)5$Y%4U,@1D]2($$@ -M4$%25$E#54Q!4B!055)03U-%"B,@05)%($1)4T-,04E-140N("!)3B!.3R!% -M5D5.5"!32$%,3"!42$4@05542$]2($]2($-/3E1224)55$]24R!"12!,24%" -M3$4*(R!&3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L($E.0TE$14Y404PL(%-0 -M14-)04PL($5814U03$%262P@3U(@0T].4T51545.5$E!3`HC($1!34%'15,@ -M*$E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!04D]#55)%345.5"!/ -M1B!354)35$E4551%($=/3T13"B,@3U(@4T525DE#15,[($Q/4U,@3T8@55-% -M+"!$051!+"!/4B!04D]&2513.R!/4B!"55-)3D534R!)3E1%4E)54%1)3TXI -M"B,@2$]7159%4B!#0553140@04Y$($].($%.62!42$5/4ED@3T8@3$E!0DE, -M2519+"!72$542$52($E.($-/3E1204-4+"!35%))0U0*(R!,24%"24Q)5%DL -M($]2(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]42$525TE312D@ -M05))4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@3T8@5$A)4R!3 -M3T945T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E462!/ -M1@HC(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)324].240H8$`H(REC -M:&5C:U]R8W!T,BYM-`DR+C`@*$-L875S($%S<VUA;FXI(#$Y.3<M,#,M,#$G -M*0H*9&EV97)T*#(I"DQ/0T%,7U)53$531513"E-C:&5C:U]R8W!T"G5N9&5F -M:6YE*&!#3TU-14Y4)RED;FP*9&5F:6YE*&!#3TU-14Y4)RP@:69D968H8%]5 -M4T5?3D%-15-?)RP@8"<L(&`C)RDI9&YL"D-/34U%3E1@)R,@9FER<W0Z(&=E -M="!C;&EE;G0@;F%M90I#3TU-14Y48"=2)"L)"0DD.B`D*&1E<75O=&4@(B(@ -M)"9[8VQI96YT7VYA;65]("0I("1\("0Q"D-/34U%3E1@)U(@)'P@)"H)"0DD -M0"!O:PD)"6YO(&-L:65N="!N86UE.B!D:7)E8W1L>2!I;G9O:V5D"D-/34U% -M3E1@)R-2)"T@)'P@)"H)"21`(&]K"0D)9F]R('1H;W-E('=I=&AO=70@9G5L -M;"!$3E,N+BX*0T]-345.5&`G4B0J)#UW("1\("0J"0DD0"!O:PD)"69R;VT@ -M:&5R90II9F1E9BA@7U5315]214Q!651/7R<L8"<L8",G*61N;`I2)"HD/7M2 -M96QA>51O?2`D?"`D*@D))$`@;VL)"69R;VT@86QL;W=E9"!S>7-T96T*=6YD -M969I;F4H8$-/34U%3E0G*61N;`ID969I;F4H8$-/34U%3E0G+"!I9F1E9BA@ -M7U5315])4%\G+"!@)RP@8",G*2ED;FP*0T]-345.5&`G(R!F:7)S=#H@9V5T -M(&-L:65N="!A9&1R97-S"D-/34U%3E1@)U(D*PD)"20Z("0H9&5Q=6]T92`B -M(B`D)GMC;&EE;G1?861D<GT@)"D@)'P@)#$*0T]-345.5&`G4C`@)'P@)"H) -M"0DD0"!O:PD)"6-L:65N=%]A9&1R(&ES(#`@9F]R('-E;F1M86EL("UB<PI# -M3TU-14Y48"=2)#U[3&]C86Q)4'TD*B`D?"`D*@DD0"!O:PD)"69R;VT@:&5R -M90IU;F1E9FEN92A@0T]-345.5"<I9&YL"FEF9&5F*&!?55-%7U)#4%1?)RP@ -M8"<L(&!E<G)P<FEN="A@2$%#2R`B8VAE8VM?<F-P="(@<F5Q=6ER97,@=7-E -M7VEP(&]R('5S95]N86UE<R<I)RD*(R!N;W<@8VAE8VL@;W1H97(@<VED90I2 -M)"H@)'P@)"H)"20Z("0^,R`D,@HC(')E;6]V92!L;V-A;"!P87)T+"!M87EB -M92!R97!E871E9&QY"E(D*CQ`)#UW+CXD*@D))#XS("0Q("0S"FEF9&5F*&!? -M55-%7U)%3$%95$]?)RQ@)RQ@(R<I9&YL"E(D*CQ`)"HD/7M296QA>51O?2X^ -M)"H)"20^,R`D,2`D,PHC('-T:6QL('-O;65T:&EN9R!L969T/PI2)"H\0"0J -M/B0J"0DD(V5R<F]R("1`(#4N-RXQ("0Z(#4W,2!W92!D;R!N;W0@<F5L87D* -M4%1?4T]-15\G+`HC(&%C8V5P="!S;VUE('-T=7!I9"!S='5F9@I2/"0J0"0K -M/@DD.CPD,4`D*&%C8V5P="`D,B`D.B0R)"D^"E(\)"I`3TL^"21`(&]K*0II -M9F1E9BA@7T-(14-+7T923TU?)RP*(R!M87)K(&%D9')E<W,*4B0J"0DD.CQ` -M/B0Q"B,@:7,@=&AE('-Y;G1A>"!O:R`H=7-E<R`\/B!A;F0@;F\@9&]T(&%T -M('1H92!E;F0_*0I2/$`^/"0J0"0J)'XN/@DD.CPD,4`D,B0S/@HC(&UA<FL@ -M<W1I;&P@=&AE<F4Z(&5R<F]R+BXN"E(\0#XD*@D))"-E<G)O<B`D0"`U+C$N -M."`D.B`U,3@@:6QL96=A;"!-04E,($923TT@)#$L"B,@:68@=V4@9&]N)W0@ -M=&\@=&AE(&%B;W9E.B!R96UO=F4@870@;&5A<W0@=&AE(&1O="XN+@I2/"0J -M0"0J+CX)/"0Q)$`R/BD*4B0J"0DD.B`D/C,@)#$)"0EC86YO;FEF>0I2)"T) -M"21`(&]K"0D)"6QO8V%L(&AO<W0*(R!N;R!H;W-T('=I=&AO=70@82`N(&EN -M('1H92!&44A.(#\*4B0J/$`D+3XD*@DD(V5R<F]R("1`(#4N,2XX("0Z(#4Q -M:&%C:R]C:&5C:U]R8W!T,RYM-``````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`````````````"`@(#8T-"``("`@,C,P(``@(#$W-3`@`"`@("`@("`S-#0U -M("`V,S$S,#$R-3(Q("`@-S4P-@`@```````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````````````````````!D:79E<G0H+3$I"B,*(R!#;W!Y<FEG:'0@*&,I -M(#$Y.3<@0VQA=7,@07-S;6%N;B`\8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD -M93X*(PHC($EN('-H;W)T.B!Y;W4@8V%N(&1O('=H871E=F5R('EO=2!W86YT -M('=I=&@@=&AI<RP@8G5T(&1O;B=T(&)L86UE(&UE(0HC"B,@5$A)4R!33T94 -M5T%212!)4R!04D]6241%1"!"62!42$4@05542$]2($%.1"!#3TY44DE"551/ -M4E,@8&!!4R!)4R<G($%.1`HC($%.62!%6%!215-3($]2($E-4$Q)140@5T%2 -M4D%.5$E%4RP@24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%1(10HC -M($E-4$Q)140@5T%24D%.5$E%4R!/1B!-15)#2$%.5$%"24Q)5%D@04Y$($9) -M5$Y%4U,@1D]2($$@4$%25$E#54Q!4B!055)03U-%"B,@05)%($1)4T-,04E- -M140N("!)3B!.3R!%5D5.5"!32$%,3"!42$4@05542$]2($]2($-/3E1224)5 -M5$]24R!"12!,24%"3$4*(R!&3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L($E. -M0TE$14Y404PL(%-014-)04PL($5814U03$%262P@3U(@0T].4T51545.5$E! -M3`HC($1!34%'15,@*$E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!0 -M4D]#55)%345.5"!/1B!354)35$E4551%($=/3T13"B,@3U(@4T525DE#15,[ -M($Q/4U,@3T8@55-%+"!$051!+"!/4B!04D]&2513.R!/4B!"55-)3D534R!) -M3E1%4E)54%1)3TXI"B,@2$]7159%4B!#0553140@04Y$($].($%.62!42$5/ -M4ED@3T8@3$E!0DE,2519+"!72$542$52($E.($-/3E1204-4+"!35%))0U0* -M(R!,24%"24Q)5%DL($]2(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2 -M($]42$525TE312D@05))4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!5 -M4T4@3T8@5$A)4R!33T945T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!0 -M3U-324))3$E462!/1@HC(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)3 -M24].240H8$`H(REC:&5C:U]R8W!T,RYM-`DR+C(@*$-L875S($%S<VUA;FXI -M(#$Y.3<M,#,M,#DG*0H*9&EV97)T*#(I"DQ/0T%,7U)53$531513"E-C:&5C -M:U]R8W!T"FEF9&5F*&!?55-%7U)#4%1?)RP@8"<L(&!E<G)P<FEN="A@2$%# -M2R`B8VAE8VM?<F-P="(@<F5Q=6ER97,@=7-E7VEP(&]R('5S95]N86UE<R<I -M)RED;FP*:69D968H8%]54T5?3D%-15-?)RP*(R!F:7)S=#H@9V5T(&-L:65N -M="!N86UE"E(D*PD)"20Z("0H9&5Q=6]T92`B(B`D)GMC;&EE;G1?;F%M97T@ -M)"D@)'P@)#$*4B`D?"`D*@D)"21`(&]K"0EN;R!C;&EE;G0@;F%M93H@9&ER -M96-T;'D@:6YV;VME9`HC4B0M("1\("0J"0DD0"!O:PD)9F]R('1H;W-E('=I -M=&AO=70@9G5L;"!$3E,N+BX*4B0J)#U[3&]C86Q.86UE<WT@)'P@)"H))$`@ -M;VL)"69R;VT@86QL;W=E9"!S>7-T96T*4B0J)#UW("1\("0J"0DD0"!O:PD) -M9G)O;2!H97)E("AI;G-T96%D(&]F($QO8V%L3F%M97,I"BP*(R!F:7)S=#H@ -M9V5T(&-L:65N="!A9&1R97-S"E(D*PD)"20Z("0H9&5Q=6]T92`B(B`D)GMC -M;&EE;G1?861D<GT@)"D@)'P@)#$*4C`@)'P@)"H)"21`(&]K"0EC;&EE;G1? -M861D<B!I<R`P(&9O<B!S96YD;6%I;"`M8G,*4B0]>TQO8V%L25!])"H@)'P@ -M)"H))$`@;VL)"69R;VT@:&5R90HI9&YL"B,@;F]W(&-H96-K(&]T:&5R('-I -M9&4*4B0J("1\("0J"0DD.B`D/C,@)#(*(R!R96UO=F4@;&]C86P@<&%R="P@ -M;6%Y8F4@<F5P96%T961L>0II9F1E9BA@7U5315]214Q!651/7R<L"E(D*CQ` -M)"HD/7M296QA>51O?2X^)"H)"20^,R`D,2`D-`HL"E(D*CQ`)#UW+CXD*@D) -M)#XS("0Q("0S"BED;FP*(R!S=&EL;"!S;VUE=&AI;F<@;&5F=#\*4B0J/$`D -M*SXD*@D))"-E<G)O<B`D0"`U+C<N,2`D.B`U-S$@=V4@9&\@;F]T(')E;&%Y -M"D%225-)3D<@24X@04Y9(%=!60HC($]55"!/1B!42$4@55-%($]&(%1(25,@ -M4T]&5%=!4D4L($5614X@248@041625-%1"!/1B!42$4@4$]34TE"24Q)5%D@ -M3T8*(R!354-(($1!34%'12X*(PID:79E<G0H,"D*5D524TE/3DE$*&!`*",I -M8VAE8VM?<F-P=#,N;30),BXR("A#;&%U<R!!<W-M86YN*2`Q.3DW+3`S+3`Y -M)RD*"F1I=F5R="@R*0I,3T-!3%]254Q%4T544PI38VAE8VM?<F-P=&AA8VLO -M8VAE8VM?<F-P=#0N;30````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````@("`V-#0@`"`@(#(S,"``("`Q-S4P(``@("`@("`@,S<V-2`@-C,Q -M,S`Q-3,R-"`@(#<U,C``(``````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M````````````````9&EV97)T*"TQ*0HC"B,@0V]P>7)I9VAT("AC*2`Q.3DW -M($-L875S($%S<VUA;FX@/&-A0&EN9F]R;6%T:6LN=6YI+6MI96PN9&4^"B,* -M(R!);B!S:&]R=#H@>6]U(&-A;B!D;R!W:&%T979E<B!Y;W4@=V%N="!W:71H -M('1H:7,L(&)U="!D;VXG="!B;&%M92!M92$*(PHC(%1(25,@4T]&5%=!4D4@ -M25,@4%)/5DE$140@0ED@5$A%($%55$A/4B!!3D0@0T].5%))0E543U)3(&!@ -M05,@25,G)R!!3D0*(R!!3ED@15A04D534R!/4B!)35!,245$(%=!4E)!3E1) -M15,L($E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!42$4*(R!)35!, -M245$(%=!4E)!3E1)15,@3T8@34520TA!3E1!0DE,2519($%.1"!&251.15-3 -M($9/4B!!(%!!4E1)0U5,05(@4%524$]310HC($%212!$25-#3$%)345$+B`@ -M24X@3D\@159%3E0@4TA!3$P@5$A%($%55$A/4B!/4B!#3TY44DE"551/4E,@ -M0D4@3$E!0DQ%"B,@1D]2($%.62!$25)%0U0L($E.1$E214-4+"!)3D-)1$5. -M5$%,+"!34$5#24%,+"!%6$5-4$Q!4EDL($]2($-/3E-%455%3E1)04P*(R!$ -M04U!1T53("A)3D-,541)3D<L($)55"!.3U0@3$E-251%1"!43RP@4%)/0U52 -M14U%3E0@3T8@4U5"4U1)5%5412!'3T]$4PHC($]2(%-%4E9)0T53.R!,3U-3 -M($]&(%5312P@1$%402P@3U(@4%)/1DE44SL@3U(@0E5324Y%4U,@24Y415)2 -M55!424].*0HC($A/5T5615(@0T%54T5$($%.1"!/3B!!3ED@5$A%3U)9($]& -M($Q)04))3$E462P@5TA%5$A%4B!)3B!#3TY44D%#5"P@4U1224-4"B,@3$E! -M0DE,2519+"!/4B!43U)4("A)3D-,541)3D<@3D5'3$E'14Y#12!/4B!/5$A% -M4E=)4T4I($%225-)3D<@24X@04Y9(%=!60HC($]55"!/1B!42$4@55-%($]& -M(%1(25,@4T]&5%=!4D4L($5614X@248@041625-%1"!/1B!42$4@4$]34TE" -M24Q)5%D@3T8*(R!354-(($1!34%'12X*(PID:79E<G0H,"D*5D524TE/3DE$ -M*&!`*",I8VAE8VM?<F-P=#0N;30),BXS("A#;&%U<R!!<W-M86YN*2`Q.3DW -M+3`S+3$V)RD*"F1I=F5R="@R*0ID969I;F4H8%]54T5?3D%-15-?4E5,15,G -M+&!2("1@)WP@)&`G*@D)"21@)T`@;VL)"6YO(&-L:65N="!N86UE.B!D:7)E -M8W1L>2!I;G9O:V5D"B-2)&`G+2`D8"=\("1@)RH)"21@)T`@;VL)"69O<B!T -M:&]S92!W:71H;W5T(&9U;&P@1$Y3+BXN"E(D8"<J)&`G/7<@)&`G?"`D8"<J -M"0DD8"=`(&]K"0EF<F]M(&AE<F4*4B1@)RHD8"<]>TQO8V%L3F%M97-]("1@ -M)WP@)&`G*@DD8"=`(&]K"0EF<F]M(&%L;&]W960@<WES=&5M)RD*3$]#04Q? -M4E5,15-%5%,*4V-H96-K7W)C<'0*:69D968H8%]54T5?4D-05%\G+"!@)RP@ -M8&5R<G!R:6YT*&!(04-+(")C:&5C:U]R8W!T(B!R97%U:7)E<R!U<V5?:7`@ -M;W(@=7-E7VYA;65S)RDG*61N;`II9F1E9BA@7U5315])4%\G+`HC(&9I<G-T -M.B!G970@8VQI96YT(&%D9')E<W,*4B0K"0D))#H@)"AD97%U;W1E("(B("0F -M>V-L:65N=%]A9&1R?2`D*2`D?"`D,0I2,"`D?"`D*@D))$`@;VL)"6-L:65N -M=%]A9&1R(&ES(#`@9F]R('-E;F1M86EL("UB<PI2)#U[3&]C86Q)4'TD*B`D -M?"`D*@DD0"!O:PD)9G)O;2!H97)E"FEF9&5F*&!?55-%7TY!34537R<L"B,@ -M;F5X=#H@9V5T(&-L:65N="!N86UE"E(D*B`D?"`D*PD))#H@)"AD97%U;W1E -M("(B("0F>V-L:65N=%]N86UE?2`D*2`D?"`D,@I?55-%7TY!34537U)53$53 -M"BDL"B,@9FER<W0Z(&=E="!C;&EE;G0@;F%M90I2)"L)"0DD.B`D*&1E<75O -M=&4@(B(@)"9[8VQI96YT7VYA;65]("0I("1\("0Q"E]54T5?3D%-15-?4E5, -M15,**61N;`HC(&YO=R!C:&5C:R!O=&AE<B!S:61E"E(D*B`D?"`D*@D))#H@ -M)#XS("0R"FEF9&5F*&!?55-%7U)%3$%95$]?)RP*(R!R96UO=F4@4F5L87E4 -M;R!P87)T("AM87EB92!R97!E871E9&QY*0I2)"H\0"0J)#U[4F5L87E4;WTN -M/B0J"0DD/C,@)#$@)#0**61N;`HC(')E;6]V92!L;V-A;"!P87)T("AM87EB -M92!R97!E871E9&QY*0I2)"H\0"0]=RX^)"H)"20^,R`D,2`D,PHC('-T:6QL -M('-O;65T:&EN9R!L969T/PI2)"H\0"0K/B0J"0DD(V5R<F]R("1`(#4N-RXQ -M("0Z(#4W,2!W92!D;R!N;W0@<F5L87D*+C<N,2`D.B`U-S%H86-K+V-H96-K -M7W)E;&%Y+FTT```````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M("`@-C0T(``@("`R,S`@`"`@,3<U,"``("`@("`@(#,U-#(@(#8S-#(R-C<U -M-S(@("`W-C$Q`"`````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`````````&1I=F5R="@M,2D*(PHC($-O<'ER:6=H="`H8RD@,3DY-R!#;&%U -M<R!!<W-M86YN(#QC84!I;F9O<FUA=&EK+G5N:2UK:65L+F1E/@HC"B,@26X@ -M<VAO<G0Z('EO=2!C86X@9&\@=VAA=&5V97(@>6]U('=A;G0@=VET:"!T:&ES -M+"!B=70@9&]N)W0@8FQA;64@;64A"B,*(R!42$E3(%-/1E1705)%($E3(%!2 -M3U9)1$5$($)9(%1(12!!551(3U(@04Y$($-/3E1224)55$]24R!@8$%3($E3 -M)R<@04Y$"B,@04Y9($584%)%4U,@3U(@24U03$E%1"!705)204Y42453+"!) -M3D-,541)3D<L($)55"!.3U0@3$E-251%1"!43RP@5$A%"B,@24U03$E%1"!7 -M05)204Y42453($]&($U%4D-(04Y404))3$E462!!3D0@1DE43D534R!&3U(@ -M02!005)424-53$%2(%!54E!/4T4*(R!!4D4@1$E30TQ!24U%1"X@($E.($Y/ -M($5614Y4(%-(04Q,(%1(12!!551(3U(@3U(@0T].5%))0E543U)3($)%($Q) -M04),10HC($9/4B!!3ED@1$E214-4+"!)3D1)4D5#5"P@24Y#241%3E1!3"P@ -M4U!%0TE!3"P@15A%35!,05)9+"!/4B!#3TY315%514Y424%,"B,@1$%-04=% -M4R`H24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%!23T-54D5-14Y4 -M($]&(%-50E-425155$4@1T]/1%,*(R!/4B!315)624-%4SL@3$]34R!/1B!5 -M4T4L($1!5$$L($]2(%!23T9)5%,[($]2($)54TE.15-3($E.5$524E505$E/ -M3BD*(R!(3U=%5D52($-!55-%1"!!3D0@3TX@04Y9(%1(14]262!/1B!,24%" -M24Q)5%DL(%=(151(15(@24X@0T].5%)!0U0L(%-44DE#5`HC($Q)04))3$E4 -M62P@3U(@5$]25"`H24Y#3%5$24Y'($Y%1TQ)1T5.0T4@3U(@3U1(15)725-% -M*2!!4DE324Y'($E.($%.62!705D*(R!/550@3T8@5$A%(%5312!/1B!42$E3 -M(%-/1E1705)%+"!%5D5.($E&($%$5DE3140@3T8@5$A%(%!/4U-)0DE,2519 -M($]&"B,@4U5#2"!$04U!1T4N"B,*9&EV97)T*#`I"E9%4E-)3TY)1"A@0"@C -M*6-H96-K7W)E;&%Y+FTT"3(N,"`H0VQA=7,@07-S;6%N;BD@,3DY-RTP-2TR -M-2<I"E!54TA$259%4E0H-BD*:69D968H8%]*54Y+7T1%1DE.141?34%)3"<L -M+`HC(&9I;&4@8V]N=&%I;FEN9R!F=6QL(&4M;6%I;"!A9&1R97-S97,@;V8@ -M<W!A;6UE<G,@*&9O<B!C:&5C:U]M86EL*3H*(R!S<&%M;65R0&%D9')E<W,N -M9&]M86EN(%-004U-15(*(R!O<B!J=6YK(&1O;6%I;G,@*&9O<B!C:&5C:U]M -M86EL+"!C:&5C:U]R96QA>2DZ"B,@:G5N:RYD;VUA:6X@2E5.2PHC(&]R($E0 -M(&%D9')E<W-E<R`H9F]R(&-H96-K7W)E;&%Y*3H*(R!$+E@N62Y:($E0"B,@ -M0RY8+ED@25`*(R!"+E@@25`*(R!!($E0"DMJ=6YK(&EF96QS92A?05)'7RP@ -M8"<L(&!D8FT@+V5T8R]M86EL+VIU;FLG+"!@7T%21U\G*0ID969I;F4H8%]* -M54Y+7T1%1DE.141?4D5,05DG+#$I"BD*4$]01$E615)4"@ID:79E<G0H,BD* -M3$]#04Q?4E5,15-%5%,*4VIU;FM)4`HC(&QO;VMU<"!)4"!I;B!D871A8F%S -M90HC(&9U;&P@25`@861D<F5S<PI2)"TN)"TN)"TN)"T))#H@)"AJ=6YK("0Q -M+B0R+B0S+B0T("0I"B,@8VQA<W,@0R!N970*4B0M+B0M+B0M+B0M"20Z("0H -M:G5N:R`D,2XD,BXD,R`D.B`D,2XD,BXD,RXD-"`D*0HC(&-L87-S($(@;F5T -M"E(D+2XD+2XD+2XD+0DD.B`D*&IU;FL@)#$N)#(@)#H@)#$N)#(N)#,N)#0@ -M)"D*(R!C;&%S<R!!(&YE=`I2)"TN)"TN)"TN)"T))#H@)"AJ=6YK("0Q("0Z -M("0Q+B0R+B0S+B0T("0I"@I38VAE8VM?<F5L87D*(R!C:&5C:R!)4`I2)"L@ -M)'P@)"L))#H@)#$@)'P@)#YJ=6YK25`@)#(*4B0K("1\($E0"20C97)R;W(@ -M)$`@-2XW+C$@)#H@(FYO(&%C8V5S<R!F<F]M('EO=7(@25`B"B,@8VAE8VL@ -M:&]S=&YA;64*4B0K("1\("0K"20Z("0^:G5N:R`\0"0Q/@I2)"H\0"0J2E5. -M2SXD*@DD(V5R<F]R("1`(#4N-RXQ("0Z(")N;R!A8V-E<W,@9G)O;2!T:&ES -M(&AO<W0B"B0T"BED;FP*(R!R96UO=F4@;&]C86P@<&%R="`H;6%Y8F4@<F5P -M96%T961L>2D*4B0J/$`D/7<N/B0J"0DD/C,@)#$@)#,*(R!S=&EL;"!S;VUE -M=&AI;F<@;&5F=#\*4B0J/$`D*SXD*@D))"-E<G)O<B`D0"`U+C<N,2`D.B`U -M-S$@=V4@9&\@;F]T(')E;&%Y"BXW+C$@)#H@-3<Q:&%C:R]C:&5C:U]R96QA -M>3,N;30````````````````````````````````````````````````````` -M`````````````````````````````````````````````````````"`@(#8T -M-"``("`@,C,P(``@(#$W-3`@`"`@("`@("`S-C<R("`V,S4W-S4P,S4W("`@ -M-S<P-``@```````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``!D:79E<G0H+3$I"B,*(R!#;W!Y<FEG:'0@*&,I(#$Y.3<@0VQA=7,@07-S -M;6%N;B`\8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD93X*(PHC($EN('-H;W)T -M.B!Y;W4@8V%N(&1O('=H871E=F5R('EO=2!W86YT('=I=&@@=&AI<RP@8G5T -M(&1O;B=T(&)L86UE(&UE(0HC"B,@5$A)4R!33T945T%212!)4R!04D]6241% -M1"!"62!42$4@05542$]2($%.1"!#3TY44DE"551/4E,@8&!!4R!)4R<G($%. -M1`HC($%.62!%6%!215-3($]2($E-4$Q)140@5T%24D%.5$E%4RP@24Y#3%5$ -M24Y'+"!"550@3D]4($Q)34E4140@5$\L(%1(10HC($E-4$Q)140@5T%24D%. -M5$E%4R!/1B!-15)#2$%.5$%"24Q)5%D@04Y$($9)5$Y%4U,@1D]2($$@4$%2 -M5$E#54Q!4B!055)03U-%"B,@05)%($1)4T-,04E-140N("!)3B!.3R!%5D5. -M5"!32$%,3"!42$4@05542$]2($]2($-/3E1224)55$]24R!"12!,24%"3$4* -M(R!&3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L($E.0TE$14Y404PL(%-014-) -M04PL($5814U03$%262P@3U(@0T].4T51545.5$E!3`HC($1!34%'15,@*$E. -M0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!04D]#55)%345.5"!/1B!3 -M54)35$E4551%($=/3T13"B,@3U(@4T525DE#15,[($Q/4U,@3T8@55-%+"!$ -M051!+"!/4B!04D]&2513.R!/4B!"55-)3D534R!)3E1%4E)54%1)3TXI"B,@ -M2$]7159%4B!#0553140@04Y$($].($%.62!42$5/4ED@3T8@3$E!0DE,2519 -M+"!72$542$52($E.($-/3E1204-4+"!35%))0U0*(R!,24%"24Q)5%DL($]2 -M(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]42$525TE312D@05)) -M4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@3T8@5$A)4R!33T94 -M5T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E462!/1@HC -M(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)324].240H8$`H(REC:&5C -M:U]R96QA>2YM-`DS+C`@*$-L875S($%S<VUA;FXI(#$Y.3<M,#8M,#$G*0I0 -M55-(1$E615)4*#8I"FEF9&5F*&!?2E5.2U]$149)3D5$7TU!24PG+"P*(R!F -M:6QE(&-O;G1A:6YI;F<@9G5L;"!E+6UA:6P@861D<F5S<V5S(&]F('-P86UM -M97)S("AF;W(@8VAE8VM?;6%I;"DZ"B,@<W!A;6UE<D!A9&1R97-S+F1O;6%I -M;B`B17)R;W(M0V]D92!%<G)O<BU497AT(@HC(&]R(&IU;FL@9&]M86EN<R`H -M9F]R(&-H96-K7VUA:6PL(&-H96-K7W)E;&%Y*3H*(R!J=6YK+F1O;6%I;B`@ -M(D5R<F]R+4-O9&4@17)R;W(M5&5X="(*(R!O<B!)4"!A9&1R97-S97,@*&9O -M<B!C:&5C:U]R96QA>2DZ"B,@1"Y8+EDN6B`B17)R;W(M0V]D92!%<G)O<BU4 -M97AT(@HC($,N6"Y9(")%<G)O<BU#;V1E($5R<F]R+51E>'0B"B,@0BY8(")% -M<G)O<BU#;V1E($5R<F]R+51E>'0B"B,@02`B17)R;W(M0V]D92!%<G)O<BU4 -M97AT(@I+:G5N:R!I9F5L<V4H7T%21U\L(&`G+"!@9&)M("UA0$I53DL@+V5T -M8R]M86EL+VIU;FLG+"!@7T%21U\G*0ID969I;F4H8%]*54Y+7T1%1DE.141? -M4D5,05DG+#$I"BD*4$]01$E615)4"@ID:79E<G0H,BD*3$]#04Q?4E5,15-% -M5%,*4VIU;FM)4`HC(&QO;VMU<"!)4"!I;B!D871A8F%S90HC(&9U;&P@25`@ -M861D<F5S<PI2)"TN)"TN)"TN)"T))#H@)"AJ=6YK("0Q+B0R+B0S+B0T("0I -M"B,@8VQA<W,@0R!N970*4B0M+B0M+B0M+B0M"20Z("0H:G5N:R`D,2XD,BXD -M,R`D.B`D,2XD,BXD,RXD-"`D*0HC(&-L87-S($(@;F5T"E(D+2XD+2XD+2XD -M+0DD.B`D*&IU;FL@)#$N)#(@)#H@)#$N)#(N)#,N)#0@)"D*(R!C;&%S<R!! -M(&YE=`I2)"TN)"TN)"TN)"T))#H@)"AJ=6YK("0Q("0Z("0Q+B0R+B0S+B0T -M("0I"@I38VAE8VM?<F5L87D*(R!C:&5C:R!)4`I2)"L@)'P@)"L))#H@)#$@ -M)'P@)#YJ=6YK25`@)#(*4B0K("1\("0J0$I53DL))"-E<G)O<B`D0"`U+C<N -M,2`D.B`D,@HC(&-H96-K(&AO<W1N86UE"E(D*R`D?"`D*PDD.B`D/FIU;FL@ -M/$`D,3X*4B0J/$`D*D!*54Y+/B0J"20C97)R;W(@)$`@-2XW+C$@)#H@)#(* -M24%"3$4*(R!&3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L($E.0TE$14Y404PL -M(%-014-)04PL($5814U03$%262P@3U(@0VAA8VLO<W!A;61O;7,N;30````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````@("`V-#0@`"`@ -M(#(S,"``("`Q-S4P(``@("`@("`@,C(P-R`@-C(T-C`U,38P,B`@(#<Q-#0` -M(``````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M````````````````````````````````````````````````````````9&EV -M97)T*"TQ*0HC"B,@0V]P>7)I9VAT("AC*2`Q.3DV($-L875S($%S<VUA;FX@ -M/&-A0&EN9F]R;6%T:6LN=6YI+6MI96PN9&4^"B,*(R!);B!S:&]R=#H@>6]U -M(&-A;B!D;R!W:&%T979E<B!Y;W4@=V%N="!W:71H('1H:7,L(&)U="!D;VXG -M="!B;&%M92!M92$*(PHC(%1(25,@4T]&5%=!4D4@25,@4%)/5DE$140@0ED@ -M5$A%($%55$A/4B!!3D0@0T].5%))0E543U)3(&!@05,@25,G)R!!3D0*(R!! -M3ED@15A04D534R!/4B!)35!,245$(%=!4E)!3E1)15,L($E.0TQ51$E.1RP@ -M0E54($Y/5"!,24U)5$5$(%1/+"!42$4*(R!)35!,245$(%=!4E)!3E1)15,@ -M3T8@34520TA!3E1!0DE,2519($%.1"!&251.15-3($9/4B!!(%!!4E1)0U5, -M05(@4%524$]310HC($%212!$25-#3$%)345$+B`@24X@3D\@159%3E0@4TA! -M3$P@5$A%($%55$A/4B!/4B!#3TY44DE"551/4E,@0D4@3$E!0DQ%"B,@1D]2 -M($%.62!$25)%0U0L($E.1$E214-4+"!)3D-)1$5.5$%,+"!34$5#24%,+"!% -M6$5-4$Q!4EDL($]2($-/3E-%455%3E1)04P*(R!$04U!1T53("A)3D-,541) -M3D<L($)55"!.3U0@3$E-251%1"!43RP@4%)/0U5214U%3E0@3T8@4U5"4U1) -M5%5412!'3T]$4PHC($]2(%-%4E9)0T53.R!,3U-3($]&(%5312P@1$%402P@ -M3U(@4%)/1DE44SL@3U(@0E5324Y%4U,@24Y415)255!424].*0HC($A/5T56 -M15(@0T%54T5$($%.1"!/3B!!3ED@5$A%3U)9($]&($Q)04))3$E462P@5TA% -M5$A%4B!)3B!#3TY44D%#5"P@4U1224-4"B,@3$E!0DE,2519+"!/4B!43U)4 -M("A)3D-,541)3D<@3D5'3$E'14Y#12!/4B!/5$A%4E=)4T4I($%225-)3D<@ -M24X@04Y9(%=!60HC($]55"!/1B!42$4@55-%($]&(%1(25,@4T]&5%=!4D4L -M($5614X@248@041625-%1"!/1B!42$4@4$]34TE"24Q)5%D@3T8*(R!354-( -M($1!34%'12X*(PID:79E<G0H,"D*5D524TE/3DE$*&!`*",I<W!A;61O;7,N -M;30),2XP("A#;&%U<R!!<W-M86YN*2`Q.3DV+3$Q+3(S)RD*9&EV97)T*"TQ -M*0H*9&5F:6YE*&!?4U!!341/35-?)RPQ*0I055-(1$E615)4*#8I"B,@9FEL -M92!C;VYT86EN:6YG(&1O;6%I;G,@;V8@=V5L;"UK;F]W;B!S<&%M;65R<PI& -M>U-P86U$;VUA:6YS?2!I9F5L<V4H7T%21U\L(&`G+"!@+V5T8R]M86EL+U-P -M86U$;VUA:6YS)RP@8%]!4D=?)RD*4$]01$E615)4"F1O;6%I;G,@*&9O<B!C -M:&5C:U]M86EL+"!C:&5C:U]R96QA>2DZ"B,@:G5N:RYD;VUA:6X@(")%<G)O -M<BU#;V1E($5R<F]R+51E>'0B"B,@;W(@25`@861D<F5S<V5S("AF;W(@8VAE -M8VM?<F5L87DI.@HC($0N6"Y9+EH@(D5R<F]R+4-O9&4@17)R;W(M5&5X="(* -M(R!#+E@N62`B17)R;W(M0V]D92!%<G)O<BU497AT(@HC($(N6"`B17)R;W(M -M0V]D92!%<G)O<BU497AT(@HC($$@(D5R<F]R+4-O9&4@17)R;W(M5&5X="(* -M2VIU;FL@:69E;'-E*%]!4D=?+"!@)RP@8&1B;2`M84!*54Y+("]E=&,O;6%I -M;"]J=6YK)RP@8%]!4D=?)RD*9&5F:6YE*&!?2E5.2U]$149)3D5$7U)%3$%9 -M)RPQ*0HI"E!/4$1)5D525`H*9&EV97)T*#(I"DQ/0T%,7U)53$531513"E-J -M=6YK:&%C:R]S<&%M;65R<RYM-``````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`````````````````"`@(#8T-"``("`@,C,P(``@(#$W-3`@`"`@("`@("`R -M,C$U("`V,C0U-C,T,#0R("`@-S$U,P`@```````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````````````````````````!D:79E<G0H+3$I"B,*(R!#;W!Y<FEG:'0@ -M*&,I(#$Y.38@0VQA=7,@07-S;6%N;B`\8V%`:6YF;W)M871I:RYU;FDM:VEE -M;"YD93X*(PHC($EN('-H;W)T.B!Y;W4@8V%N(&1O('=H871E=F5R('EO=2!W -M86YT('=I=&@@=&AI<RP@8G5T(&1O;B=T(&)L86UE(&UE(0HC"B,@5$A)4R!3 -M3T945T%212!)4R!04D]6241%1"!"62!42$4@05542$]2($%.1"!#3TY44DE" -M551/4E,@8&!!4R!)4R<G($%.1`HC($%.62!%6%!215-3($]2($E-4$Q)140@ -M5T%24D%.5$E%4RP@24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@5$\L(%1( -M10HC($E-4$Q)140@5T%24D%.5$E%4R!/1B!-15)#2$%.5$%"24Q)5%D@04Y$ -M($9)5$Y%4U,@1D]2($$@4$%25$E#54Q!4B!055)03U-%"B,@05)%($1)4T-, -M04E-140N("!)3B!.3R!%5D5.5"!32$%,3"!42$4@05542$]2($]2($-/3E12 -M24)55$]24R!"12!,24%"3$4*(R!&3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L -M($E.0TE$14Y404PL(%-014-)04PL($5814U03$%262P@3U(@0T].4T51545. -M5$E!3`HC($1!34%'15,@*$E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/ -M+"!04D]#55)%345.5"!/1B!354)35$E4551%($=/3T13"B,@3U(@4T525DE# -M15,[($Q/4U,@3T8@55-%+"!$051!+"!/4B!04D]&2513.R!/4B!"55-)3D53 -M4R!)3E1%4E)54%1)3TXI"B,@2$]7159%4B!#0553140@04Y$($].($%.62!4 -M2$5/4ED@3T8@3$E!0DE,2519+"!72$542$52($E.($-/3E1204-4+"!35%)) -M0U0*(R!,24%"24Q)5%DL($]2(%1/4E0@*$E.0TQ51$E.1R!.14=,24=%3D-% -M($]2($]42$525TE312D@05))4TE.1R!)3B!!3ED@5T%9"B,@3U54($]&(%1( -M12!54T4@3T8@5$A)4R!33T945T%212P@159%3B!)1B!!1%9)4T5$($]&(%1( -M12!03U-324))3$E462!/1@HC(%-50T@@1$%-04=%+@HC"F1I=F5R="@P*0I6 -M15)324].240H8$`H(RES<&%M;65R<RYM-`DQ+C`@*$-L875S($%S<VUA;FXI -M(#$Y.38M,3$M,C,G*0ID:79E<G0H+3$I"@ID969I;F4H8%]34$%-34524U\G -M+#$I"E!54TA$259%4E0H-BD*(R!F:6QE(&-O;G1A:6YI;F<@9G5L;"!E+6UA -M:6P@861D<F5S<V5S(&]F('=E;&PM:VYO=VX@<W!A;6UE<G,*1GM3<&%M;65R -M?2!I9F5L<V4H7T%21U\L(&`G+"!@+V5T8R]M86EL+U-P86UM97(G+"!@7T%2 -M1U\G*0I03U!$259%4E0*;&%M92!M92$*(PHC(%1(25,@4T]&5%=!4D4@25,@ -M4%)/5DE$140@0ED@5$A%($%55$A/4B!!3D0@0T].5%))0E543U)3(&!@05,@ -M25,G)R!!3D0*(R!!3ED@15A04D534R!/4B!)35!,245$(%=!4E)!3E1)15,L -M($E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!42$4*(R!)35!,245$ -M(%=!4E)!3E1)15,@3T8@34520TA!3E1!0DE,2519($%.1"!&251.15-3($9/ -M4B!!(%!!4E1)0U5,05(@4%524$]310HC($%212!$25-#3$%)345$+B`@24X@ -M3D\@159%3E0@4TA!3$P@5$A%($%55$A/4B!/4B!#3TY44DE"551/4E,@0D4@ -M3$E!0DQ%"B,@1D]2($%.62!$25)%0U0L($E.1$E214-4+"!)3D-)1$5.5$%, -M+"!34$5#24%,+"!%6$5-4$Q!4EDL($]2($-H86-K+W5S95]I<"YM-``````` -M```````````````````````````````````````````````````````````` -M````````````````````````````````````````````````("`@-C0T(``@ -M("`R,S`@`"`@,3<U,"``("`@("`@(#(R-#,@(#8R-#8P-3,T-#8@("`V-C$U -M`"`````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M`````````````````````````````````````````````````````````&1I -M=F5R="@M,2D*(PHC($-O<'ER:6=H="`H8RD@,3DY-B!#;&%U<R!!<W-M86YN -M(#QC84!I;F9O<FUA=&EK+G5N:2UK:65L+F1E/@HC"B,@26X@<VAO<G0Z('EO -M=2!C86X@9&\@=VAA=&5V97(@>6]U('=A;G0@=VET:"!T:&ES+"!B=70@9&]N -M)W0@8FQA;64@;64A"B,*(R!42$E3(%-/1E1705)%($E3(%!23U9)1$5$($)9 -M(%1(12!!551(3U(@04Y$($-/3E1224)55$]24R!@8$%3($E3)R<@04Y$"B,@ -M04Y9($584%)%4U,@3U(@24U03$E%1"!705)204Y42453+"!)3D-,541)3D<L -M($)55"!.3U0@3$E-251%1"!43RP@5$A%"B,@24U03$E%1"!705)204Y42453 -M($]&($U%4D-(04Y404))3$E462!!3D0@1DE43D534R!&3U(@02!005)424-5 -M3$%2(%!54E!/4T4*(R!!4D4@1$E30TQ!24U%1"X@($E.($Y/($5614Y4(%-( -M04Q,(%1(12!!551(3U(@3U(@0T].5%))0E543U)3($)%($Q)04),10HC($9/ -M4B!!3ED@1$E214-4+"!)3D1)4D5#5"P@24Y#241%3E1!3"P@4U!%0TE!3"P@ -M15A%35!,05)9+"!/4B!#3TY315%514Y424%,"B,@1$%-04=%4R`H24Y#3%5$ -M24Y'+"!"550@3D]4($Q)34E4140@5$\L(%!23T-54D5-14Y4($]&(%-50E-4 -M25155$4@1T]/1%,*(R!/4B!315)624-%4SL@3$]34R!/1B!54T4L($1!5$$L -M($]2(%!23T9)5%,[($]2($)54TE.15-3($E.5$524E505$E/3BD*(R!(3U=% -M5D52($-!55-%1"!!3D0@3TX@04Y9(%1(14]262!/1B!,24%"24Q)5%DL(%=( -M151(15(@24X@0T].5%)!0U0L(%-44DE#5`HC($Q)04))3$E462P@3U(@5$]2 -M5"`H24Y#3%5$24Y'($Y%1TQ)1T5.0T4@3U(@3U1(15)725-%*2!!4DE324Y' -M($E.($%.62!705D*(R!/550@3T8@5$A%(%5312!/1B!42$E3(%-/1E1705)% -M+"!%5D5.($E&($%$5DE3140@3T8@5$A%(%!/4U-)0DE,2519($]&"B,@4U5# -M2"!$04U!1T4N"B,*9&EV97)T*#`I"E9%4E-)3TY)1"A@0"@C*75S95]I<"YM -M-`DQ+C`@*$-L875S($%S<VUA;FXI(#$Y.38M,3$M,C,G*0ID:79E<G0H+3$I -M"@ID969I;F4H8%]54T5?25!?)RPQ*0ID969I;F4H8%]54T5?4D-05%\G+#$I -M"E!54TA$259%4E0H-BD*(R!F:6QE(&-O;G1A:6YI;F<@25`@;G5M8F5R<R!O -M9B!M86-H:6YE<R!W:&EC:"!C86X@=7-E(&]U<B!R96QA>0I&>TQO8V%L25!] -M(&EF96QS92A?05)'7RP@8"<L(&`O971C+VUA:6PO3&]C86Q)4"<L(&!?05)' -M7R<I"E!/4$1)5D525`H*8VM?<F5L87DI.@HC(&IU;FLN9&]M86EN("`B17)R -M;W(M0V]D92!%<G)O<BU497AT(@HC(&]R($E0(&%D9')E<W-E<R`H9F]R(&-H -M96-K7W)E;&%Y*3H*(R!$+E@N62Y:(")%<G)O<BU#;V1E($5R<F]R+51E>'0B -M"B,@0RY8+ED@(D5R<F]R+4-O9&4@17)R;W(M5&5X="(*(R!"+E@@(D5R<F]R -M+4-O9&4@17)R;W(M5&5X="(*(R!!(")%<G)O<BU#;V1E($5R<F]R+51E>'0B -M"DMJ=6YK(&EF96QS92A?05)'7RP@8"<L(&!D8FT@+6%`2E5.2R`O971C+VUA -M:6PO:G5N:R<L(&!?05)'7R<I"F1E9FEN92A@7TI53DM?1$5&24Y%1%]214Q! -M62<L,2D**0I03U!$259%4E0*"F1I=F5R="@R*0I,3T-!3%]254Q%4T544PI3 -M:G5N:VAA8VLO=7-E7VYA;65S+FTT```````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````@("`V-#0@`"`@(#(S,"``("`Q-S4P(``@("`@("`@ -M,C(U,B`@-C(T-C`U,S0U-"`@(#<S,#<`(``````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M````````````````````````````9&EV97)T*"TQ*0HC"B,@0V]P>7)I9VAT -M("AC*2`Q.3DV($-L875S($%S<VUA;FX@/&-A0&EN9F]R;6%T:6LN=6YI+6MI -M96PN9&4^"B,*(R!);B!S:&]R=#H@>6]U(&-A;B!D;R!W:&%T979E<B!Y;W4@ -M=V%N="!W:71H('1H:7,L(&)U="!D;VXG="!B;&%M92!M92$*(PHC(%1(25,@ -M4T]&5%=!4D4@25,@4%)/5DE$140@0ED@5$A%($%55$A/4B!!3D0@0T].5%)) -M0E543U)3(&!@05,@25,G)R!!3D0*(R!!3ED@15A04D534R!/4B!)35!,245$ -M(%=!4E)!3E1)15,L($E.0TQ51$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!4 -M2$4*(R!)35!,245$(%=!4E)!3E1)15,@3T8@34520TA!3E1!0DE,2519($%. -M1"!&251.15-3($9/4B!!(%!!4E1)0U5,05(@4%524$]310HC($%212!$25-# -M3$%)345$+B`@24X@3D\@159%3E0@4TA!3$P@5$A%($%55$A/4B!/4B!#3TY4 -M4DE"551/4E,@0D4@3$E!0DQ%"B,@1D]2($%.62!$25)%0U0L($E.1$E214-4 -M+"!)3D-)1$5.5$%,+"!34$5#24%,+"!%6$5-4$Q!4EDL($]2($-/3E-%455% -M3E1)04P*(R!$04U!1T53("A)3D-,541)3D<L($)55"!.3U0@3$E-251%1"!4 -M3RP@4%)/0U5214U%3E0@3T8@4U5"4U1)5%5412!'3T]$4PHC($]2(%-%4E9) -M0T53.R!,3U-3($]&(%5312P@1$%402P@3U(@4%)/1DE44SL@3U(@0E5324Y% -M4U,@24Y415)255!424].*0HC($A/5T5615(@0T%54T5$($%.1"!/3B!!3ED@ -M5$A%3U)9($]&($Q)04))3$E462P@5TA%5$A%4B!)3B!#3TY44D%#5"P@4U12 -M24-4"B,@3$E!0DE,2519+"!/4B!43U)4("A)3D-,541)3D<@3D5'3$E'14Y# -M12!/4B!/5$A%4E=)4T4I($%225-)3D<@24X@04Y9(%=!60HC($]55"!/1B!4 -M2$4@55-%($]&(%1(25,@4T]&5%=!4D4L($5614X@248@041625-%1"!/1B!4 -M2$4@4$]34TE"24Q)5%D@3T8*(R!354-(($1!34%'12X*(PID:79E<G0H,"D* -M5D524TE/3DE$*&!`*",I=7-E7VYA;65S+FTT"3$N,"`H0VQA=7,@07-S;6%N -M;BD@,3DY-BTQ,2TR,R<I"F1I=F5R="@M,2D*"F1E9FEN92A@7U5315].04U% -M4U\G+#$I"F1E9FEN92A@7U5315]20U!47R<L,2D*4%532$1)5D525"@V*0HC -M(&9I;&4@8V]N=&%I;FEN9R!N86UE<R!O9B!M86-H:6YE<R!W:&EC:"!C86X@ -M=7-E(&]U<B!R96QA>0I&>TQO8V%L3F%M97-](&EF96QS92A?05)'7RP@8"<L -M(&`O971C+VUA:6PO3&]C86Q.86UE<R<L(&!?05)'7R<I"E!/4$1)5D525`H* -M(%!23U9)1$5$($)9(%1(12!!551(3U(@04Y$($-/3E1224)55$]24R!@8$%3 -M($E3)R<@04Y$"B,@04Y9($584%)%4U,@3U(@24U03$E%1"!705)204Y42453 -M+"!)3D-,541)3D<L($)55"!.3U0@3$E-251%1"!43RP@5$A%"B,@24U03$E% -M1"!705)204Y42453($]&($U%4D-(04Y404))3$E462!!3D0@1DE43D534R!& -M3U(@02!005)424-53$%2(%!54E!/4T4*(R!!4D4@1$E30TQ!24U%1"X@($E. -M($Y/($5614Y4(%-(04Q,(%1(12!!551(3U(@3U(@0T].5%))0E543U)3($)% -M($Q)04),10HC($9/4B!!3ED@1$E214-4+"!)3D1)4D5#5"P@24Y#241%3E1! -M3"P@4U!%0TE!3"P@15A%35!,05)9+"!/4B!#:&%C:R]U<V5?<F5L87ET;RYM -M-``````````````````````````````````````````````````````````` -M`````````````````````````````````````````````````"`@(#8T-"`` -M("`@,C,P(``@(#$W-3`@`"`@("`@("`R,3<P("`V,C0U-C,S-S4T("`@-S8W -M,``@```````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M``````````````````````````````````````````````````````````!D -M:79E<G0H+3$I"B,*(R!#;W!Y<FEG:'0@*&,I(#$Y.38@0VQA=7,@07-S;6%N -M;B`\8V%`:6YF;W)M871I:RYU;FDM:VEE;"YD93X*(PHC($EN('-H;W)T.B!Y -M;W4@8V%N(&1O('=H871E=F5R('EO=2!W86YT('=I=&@@=&AI<RP@8G5T(&1O -M;B=T(&)L86UE(&UE(0HC"B,@5$A)4R!33T945T%212!)4R!04D]6241%1"!" -M62!42$4@05542$]2($%.1"!#3TY44DE"551/4E,@8&!!4R!)4R<G($%.1`HC -M($%.62!%6%!215-3($]2($E-4$Q)140@5T%24D%.5$E%4RP@24Y#3%5$24Y' -M+"!"550@3D]4($Q)34E4140@5$\L(%1(10HC($E-4$Q)140@5T%24D%.5$E% -M4R!/1B!-15)#2$%.5$%"24Q)5%D@04Y$($9)5$Y%4U,@1D]2($$@4$%25$E# -M54Q!4B!055)03U-%"B,@05)%($1)4T-,04E-140N("!)3B!.3R!%5D5.5"!3 -M2$%,3"!42$4@05542$]2($]2($-/3E1224)55$]24R!"12!,24%"3$4*(R!& -M3U(@04Y9($1)4D5#5"P@24Y$25)%0U0L($E.0TE$14Y404PL(%-014-)04PL -M($5814U03$%262P@3U(@0T].4T51545.5$E!3`HC($1!34%'15,@*$E.0TQ5 -M1$E.1RP@0E54($Y/5"!,24U)5$5$(%1/+"!04D]#55)%345.5"!/1B!354)3 -M5$E4551%($=/3T13"B,@3U(@4T525DE#15,[($Q/4U,@3T8@55-%+"!$051! -M+"!/4B!04D]&2513.R!/4B!"55-)3D534R!)3E1%4E)54%1)3TXI"B,@2$]7 -M159%4B!#0553140@04Y$($].($%.62!42$5/4ED@3T8@3$E!0DE,2519+"!7 -M2$542$52($E.($-/3E1204-4+"!35%))0U0*(R!,24%"24Q)5%DL($]2(%1/ -M4E0@*$E.0TQ51$E.1R!.14=,24=%3D-%($]2($]42$525TE312D@05))4TE. -M1R!)3B!!3ED@5T%9"B,@3U54($]&(%1(12!54T4@3T8@5$A)4R!33T945T%2 -M12P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E462!/1@HC(%-5 -M0T@@1$%-04=%+@HC"F1I=F5R="@P*0I615)324].240H8$`H(REU<V5?<F5L -M87ET;RYM-`DQ+C`@*$-L875S($%S<VUA;FXI(#$Y.38M,3$M,C,G*0ID:79E -M<G0H+3$I"@ID969I;F4H8%]54T5?4D5,05E43U\G+#$I"E!54TA$259%4E0H -M-BD*(R!F:6QE(&-O;G1A:6YI;F<@;F%M97,@=V4@<F5L87D@=&\*1GM296QA -M>51O?2!I9F5L<V4H7T%21U\L(&`G+"!@+V5T8R]M86EL+U)E;&%Y5&\G+"!@ -M7T%21U\G*0I03U!$259%4E0*+"!@+V5T8R]M86EL+TQO8V%L25`G+"!@7T%2 -M1U\G*0I03U!$259%4E0*"F-K7W)E;&%Y*3H*(R!J=6YK+F1O;6%I;B`@(D5R -M<F]R+4-O9&4@17)R;W(M5&5X="(*(R!O<B!)4"!A9&1R97-S97,@*&9O<B!C -M:&5C:U]R96QA>2DZ"B,@1"Y8+EDN6B`B17)R;W(M0V]D92!%<G)O<BU497AT -M(@HC($,N6"Y9(")%<G)O<BU#;V1E($5R<F]R+51E>'0B"B,@0BY8(")%<G)O -M<BU#;V1E($5R<F]R+51E>'0B"B,@02`B17)R;W(M0V]D92!%<G)O<BU497AT -M(@I+:G5N:R!I9F5L<V4H7T%21U\L(&`G+"!@9&)M("UA0$I53DL@+V5T8R]M -M86EL+VIU;FLG+"!@7T%21U\G*0ID969I;F4H8%]*54Y+7T1%1DE.141?4D5, -M05DG+#$I"BD*4$]01$E615)4"@ID:79E<G0H,BD*3$]#04Q?4E5,15-%5%,* -M4VIU;FL````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M````````````````````````````````````````````````````3TY315%5 -M14Y424%,"B,@1$%-04=%4R`H24Y#3%5$24Y'+"!"550@3D]4($Q)34E4140@ -M5$\L(%!23T-54D5-14Y4($]&(%-50E-425155$4@1T]/1%,*(R!/4B!315)6 -M24-%4SL@3$]34R!/1B!54T4L($1!5$$L($]2(%!23T9)5%,[($]2($)54TE. -M15-3($E.5$524E505$E/3BD*(R!(3U=%5D52($-!55-%1"!!3D0@3TX@04Y9 -M(%1(14]262!/1B!,24%"24Q)5%DL(%=(151(15(@24X@0T].5%)!0U0L(%-4 -M4DE#5`HC($Q)04))3$E462P@3U(@5$]25"`H24Y#3%5$24Y'($Y%1TQ)1T5. -M0T4@3U(@3U1(15)725-%*2!!4DE324Y'($E.($%.62!705D*(R!/550@3T8@ -M5$A%(%5312!/1B!42$E3(%-/1E1705)%+"!%5D5.($E&($%$5DE3140@3T8@ -M5$A%(%!/4U-)0DE,2519($]&"B,@4U5#2"!$04U!1T4N"B,*9&EV97)T*#`I -M"E9%4E-)3TY)1"A@0"@C*75S95]N86UE<RYM-`DQ+C`@*$-L875S($%S<VUA -M;FXI(#$Y.38M,3$M,C,G*0ID:79E<G0H+3$I"@ID969I;F4H8%]54T5?3D%- -+15-?)RPQ*0ID968` -` -end diff --git a/debian/checksendmail/BSDI_CONTRIB b/debian/checksendmail/BSDI_CONTRIB new file mode 100644 index 0000000..97871d5 --- /dev/null +++ b/debian/checksendmail/BSDI_CONTRIB @@ -0,0 +1,18 @@ +Software Package: + checksendmail + +Release/Version: + Dated 7/11/90. + +Retrieved from: + N/A. + +Bug reports: + This software package is maintained by the software contributor, + not BSDI. Please send any bug reports to both support@BSDI.COM + and polk@bsdi.com. + +Comments: + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +Modifications to this version made by BSDI: diff --git a/debian/checksendmail/CVS/Entries b/debian/checksendmail/CVS/Entries new file mode 100644 index 0000000..692e38d --- /dev/null +++ b/debian/checksendmail/CVS/Entries @@ -0,0 +1,5 @@ +/BSDI_CONTRIB/1.1/Mon Jan 22 10:57:27 1996 Tue Oct 24 17:29:51 1995// +/Makefile/1.3/Mon Jan 22 10:57:28 1996 Fri Jan 6 22:34:35 1995// +/address.resolve/1.1.1.1/Mon Jan 22 10:57:28 1996 Thu Jan 13 14:15:30 1994// +/checksendmail.8/1.1.1.1/Mon Jan 22 10:57:28 1996 Thu Jan 13 14:15:31 1994// +/checksendmail.perl/1.1.1.1/Mon Jan 22 10:57:29 1996 Thu Jan 13 14:15:31 1994// diff --git a/debian/checksendmail/CVS/Repository b/debian/checksendmail/CVS/Repository new file mode 100644 index 0000000..b300606 --- /dev/null +++ b/debian/checksendmail/CVS/Repository @@ -0,0 +1 @@ +/master/contrib/checksendmail diff --git a/debian/checksendmail/Makefile b/debian/checksendmail/Makefile new file mode 100644 index 0000000..101ba4e --- /dev/null +++ b/debian/checksendmail/Makefile @@ -0,0 +1,15 @@ +# BSDI $Id: Makefile,v 1.3 1995/01/07 05:34:35 donn Exp $ + +MAN8= checksendmail.0 + +all checksendmail: ${MAN8} + +clean depend tags: + +install: maninstall + install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/checksendmail.perl ${DESTDIR}${BINDIR}/checksendmail + install -c -o ${BINOWN} -g ${BINGRP} -m 0444 \ + ${.CURDIR}/address.resolve ${DESTDIR}/usr/contrib/lib/ + +.include <bsd.prog.mk> diff --git a/debian/checksendmail/address.resolve b/debian/checksendmail/address.resolve new file mode 100644 index 0000000..01f3011 --- /dev/null +++ b/debian/checksendmail/address.resolve @@ -0,0 +1,27 @@ + +# BSDI $Id: address.resolve,v 1.1.1.1 1994/01/13 21:15:30 polk Exp $ + +# Sample address resolution file for checksendmail(8) + +# local addresses +user +user@hilltop +user@hilltop.BSDI.COM +hilltop!polk + +# within-domain addresses +user@bsdi.com +user@ibapah +user@ibapah.bsdi.com +ibapah!user + +# faraway addresses +user@xxxxxxx.com +user@xxxxxxx.dom +site!user + +# addresses with routing, etc. +site1!site2!user +user@xxxxxxx.dom@bar.dom +site!user@xxxxxxx.dom +site!user@uunet.uu.net diff --git a/debian/checksendmail/checksendmail.8 b/debian/checksendmail/checksendmail.8 new file mode 100644 index 0000000..b129c35 --- /dev/null +++ b/debian/checksendmail/checksendmail.8 @@ -0,0 +1,223 @@ +.\" BSDI $Id: checksendmail.8,v 1.1.1.1 1994/01/13 21:15:31 polk Exp $ +.Dd January 12, 1994 +.Dt CHECKSENDMAIL 8 +.Os +.Sh NAME +.Nm checksendmail +.Nd verify sendmail address transformations. +.Sh SYNOPSIS +.Nm checksendmail +.Op Fl C Ar file.cf +.Op Fl r Ar resolve +.Op Fl T Ar test.address +.Op Fl b Ar sendmail_binary +.Sh DESCRIPTION +.Pp +The +.Nm checksendmail +program is a +.Xr perl +script that aids the testing of +.Xr sendmail 8 's +various configuration files. +.Nm checksendmail +passes typical addresses (supplied in input files) through +.Xr sendmail +and prints the results of the resolution and transformation routines. +.Pp +The input files contain a list of addresses, one per line. +For example: +.Bd -literal -offset indent +user +user@site +user@site.com +.Ed +.Pp +The input file can contain comments started with a +.Em # +and blank lines. +.Sh OPTIONS +.Pp +.Bl -tag -width Fl -compact -offset left +.It Fl C Ar file.cf +Use the +.Xr sendmail +configuration file +.Ar file.cf +instead of the default +.Pa /etc/sendmail.cf +file. +.It Fl r Ar resolve +Use +.Ar resolve +as the input file for the addresses to be used for mail resolving. Defaults +to +.Ar address.resolve . +.It Fl T Ar test.address +Use +.Ar test.address +as the single address to test. Cannot be used in conjunction with +file setting flags. +.It Fl B Ar sendmail_binary +Use the specified +.Ar sendmail_binary +as the path to invoke sendmail (instead of +.Pa /usr/sbin/sendmail ) . +.El +.Sh EXAMPLES +.Pp +The following command will pass the addresses in +.Ar address.resolve +through +.Xr sendmail +using the configuration information in +.Ar myconfig.cf . +.Bd -literal -offset left +example% cat address.resolve +user +user@site +user@site.com +example% checksendmail \-C myconfig.cf +config file: myconfig.cf resolve file: address.resolve +towhom file: address.resolve fromwhom file: address.resolve +Mail address resolution +user --(ether )--> user[rmtc] +user@site --(ether )--> user@site[rmtc] +user@site.com --(ether )--> user@site.com[rmtc] +`To' address transformations for mailer ether: +user ----> user +user@site ----> user@site +user@site.com ----> user@site.com +`From' address transformations for mailer ether: +user ----> user +user@site ----> user +user@site.com ----> user +.Ed +.Pp +The first section of the output shows how the addresses in the input +files are resolved by +.Xr sendmail 8 . +Consider the following output line: +.Pp +.Dl user@site.com --(ether )--> user@site.com[rmtc] +.Pp +The input address +.Em user@site.com +resolves to use the +.Em ether +mailer. That mailer is directed to send the mail to +to the user +.Em user@site.com +at site +.Em rmtc +(as indicated in the square brackets). +.Pp +The two later sections of output show how the addresses specified as +the +.Em To +and +.Em From +address are transformed in the text of the +headers. In the example above, the +.Em To +addresses are untouched. +The +.Em From +addresses, however, all lose their machine information on +the way through the mailer: +.Pp +.Dl user@site ----> user +.Pp +This may be desirable when using a configuration file on a +workstation which is to be hidden as a mailhost from the rest of the +network. +.Pp +The following is a set of addresses used at one site for the purposes of +testing address resolution. Comments after the addresses detail why +particular addresses are present: +.Bl -tag -width "user@machine.com" -compact -offset indent +.It user +Standard trivial address +.It user@rmtc +qualified at one level +.It user@rmtc.central +qualified at two levels +.It user@rmtc.central.sun.com +qualified all the way +.It rmtc!user +local but specified as uucp +.It user@summit +a workstation (normally delivered locally, though) +.It user@summit.central +same but more qualified +.It user@summit.central.sun.com +same but fully qualified +.It summit!user +same but specified as uucp +.It user@prisma +Backward compatibility tests +.It user@prisma.com +.It prisma!user +.It user@central +Superior domain testing +.It user@machine.central +more qualified, but unknown +.It user@summit.central +more qualified and known +.It user@eng +name in faraway domain +.It user@machine.eng +unknown machine in faraway domain +.It user@summit.eng +local machine, far away domain +.It user@hoback +far away machine +.It user@machine +apparently local but unknown machine +.It user@sun.com +Standard trivial address +.It user@machine.dom.sun.com +fully qualified but unknown machine +.It user@foo.com +standard, known, really far away domain +.It user@foo.dom +standard, unknown, really far away domain +.It site!user +Single level uucp +.It site1!site2!user +Double level uucp +.It user@foo.dom@bar.dom +Trickier address +.It site!user@foo.dom +Mixed uucp/domain +.It site!user@uunet.uu.net +Mixed double uucp/domain +.El +.Sh NOTES +Note that +.Nm checksendmail +is a +.Xr perl +script. If your site does not have +.Xr perl 1 , +it can be obtained via anonymous +.Xr ftp +from +.Em ftp.uu.net . +.Pp +.Xr sendmail +requires that the user have access to directory specified by the +.Em OQ +parameter in the configuration file (normally +.Pa /usr/spool/mqueue ) . +.Nm checksendmail +verifies that the user has access to this directory before allowing the +test to continue. +.Sh AUTHORS +.Bd -literal +Gene Kim +Rob Kolstad +Jeff Polk +.Ed +.Sh "SEE ALSO" +.Xr sendmail 8 diff --git a/debian/checksendmail/checksendmail.perl b/debian/checksendmail/checksendmail.perl new file mode 100644 index 0000000..a8e9e11 --- /dev/null +++ b/debian/checksendmail/checksendmail.perl @@ -0,0 +1,377 @@ +#!/usr/bin/perl + +# BSDI $Id: checksendmail.perl,v 1.1.1.1 1994/01/13 21:15:31 polk Exp $ + +# checksendmail +# +# The checksendmail program is a perl script that aids the testing +# of sendmail's various configuration filse. checksendmail +# passes typical addresses (supplied in input files) through +# sendmail and prints the result of the resolution and +# transformation routines. +# +# Gene Kim & Rob Kolstad & Jeff Polk, 7/11/90 + +# -- -C config file +# -- -r resolve_addresses_file +# -- -T test one address +# -- -b sendmail binary + +# XXX deficiencies: ``/etc/sendmail'' should be a parameter + +# defaults: + $resolve = "address.resolve"; + $cffile = "/etc/sendmail.cf"; + $sendmail = "/usr/sbin/sendmail"; + +sub usage { + die "Usage: checksendmail [-C cffile.cf] [-r resolve_addrs_file [-T one\@test.addr\n"; +} + +for (unshift (@ARGV, "XX"); $#ARGV > 0; shift ARGV) { + if ($ARGV[1] eq "-C") + { + shift @ARGV; + if ($#ARGV >= 1) {$cffile = $ARGV[1]; } + else { &usage(); } + } + elsif ($ARGV[1] eq "-r") + { + if ($setfile & 1) { die "Can only set `resolve' once"; } + shift @ARGV; + if ($#ARGV < 1) { &usage(); } + $resolve = $ARGV[1]; + $setfile += 1; + } + elsif ($ARGV[1] eq "-T") + { + if ($setfile) { die "Can't set other files and use -T"; } + shift @ARGV; + if ($#ARGV < 1) { &usage(); } + open (OUT, ">/tmp/csm.in$$") || + die "Can't open >/tmp/csm.in$$"; + $resolve = "/tmp/csm.in$$"; + print OUT "$ARGV[1]\n"; + close (OUT); + $setfile = 7; + } + elsif ($ARGV[1] eq "-b") + { + shift @ARGV; + if ($#ARGV >= 1) {$sendmail = $ARGV[1]; } + else { &usage(); } + } + else { &usage(); } +} + +if (!-e $cffile) { die "Can't find configuration file $cffile\n"; } +if (!-e $resolve) { die "Can't find name file $resolve\n"; } + +# make sure the user can access the ../mqueue directory + +$maildir = `grep ^OQ $cffile`; +chop $maildir; +$maildir =~ s/^OQ//; +if ((!-r $maildir) || (!-x $maildir) || (!-w $maildir)) { + warn "checksendmail: can't access $maildir! trying anyway...\n"; +} + +chop($hostname = `hostname`); +chop($pwd = `pwd`); +print "system: $hostname\t\tcurrent dir: $pwd\n"; +print "config file: $cffile\t\tresolve file: $resolve\n"; + +sub handler { # 1st argument is signal name + local($sig) = @_; + print STDERR "Caught a SIG$sig--shutting down\n"; + unlink("/tmp/csm$$") || die "Can't unlink /tmp/csm$$"; + unlink("/tmp/csm.in$$"); + exit(0); +} + +$SIG{'INT'} = 'handler'; +$SIG{'QUIT'} = 'handler'; + + +# glean the mailers used from the rule 0 tests + +sub parseresolve +{ + while (<MAIL>) + { + if (/^ADDRESS TEST MODE/) { next; } + if (/^Enter <ruleset>/) { next; } + if (/^>/) # INPUT LINE! (and last output is done) + { + chop; + if ($prevline) { # OUTPUT LINE! + &printparseresolve; + } + s/> *[0-9,]* *//g; + s/.*input: *//; + s/ //g; + s/"//g; + $input = $_; + } + else { chop; } + $prevline = $_; + } + &printparseresolve; +} + +sub printparseresolve { + $prevline =~ s/.*returns: *//; + $prevline =~ s/"//g; + $prevline =~ s/ //g; + # Don't strip spaces off error messages + $prevline =~ s/ *([.!%<>]) */$1/g; + $prevline =~ s/ +([;?\$])/$1/g; + $prevline =~ s/([#\@:]) +/$1/g; + +# non-Sun test mode delimiters -> easily-readable style +# Mark Sausville, MIT Media Laboratory, saus@media-lab.media.mit.edu + $prevline =~ s/\^V/\$#/; + $prevline =~ s/\^W/\$@/; + $prevline =~ s/\^X/\$:/; + + #### $#ether$@sun-barr.Ebay.Sun.COM$:site!user@uunet.uu.NET + @t = split( '\$', $prevline); + $address = "XXX"; + $remote = "XXX"; + $mailer = "XXX"; + for ($i = 1; $i <= $#t; $i++) + { + if (substr($t[$i], 0, 1) eq ":") + { $address = substr($t[$i], 1,999); } + if (substr($t[$i], 0, 1) eq "@") + { $remote = substr($t[$i], 1,999); } + if (substr($t[$i], 0, 1) eq "#") + { $mailer = substr($t[$i], 1,999); + $mailer =~ tr/A-Z/a-z/; } + } + printf("%-27.27s --(%-6.6s)--> %s[%s]\n", $input, $mailer, + $address, $remote); + if ($mailer ne "XXX") { $themailers{$mailer}.="$input ";} +} + +# Parse output of sendmail name resolution + +sub parseaddress +{ +## ADDRESS TEST MODE +## Enter <ruleset> <address> +## > rewrite: ruleset 3 input: "user" + + open(MAIL, $_[0]) || die "Can't open $_[0]...\n"; + local ($k, $address, $prevline, $mailer, $remote, $input); + print $_[1]; # the title + + $done = 0; + while (<MAIL>) + { + if (/^> *$/) { $done = 1; } + if (/^ADDRESS TEST MODE/) { next; } + if (/^Enter <ruleset>/) { next; } + chop; + if (/^>/) # INPUT LINE! (and last output is done) + { + if ($prevline) { # OUTPUT LINE! + $prevline =~ s/.*returns: *//; + $prevline =~ s/"//g; + $prevline =~ s/ //g; +#> rewrite: ruleset 3 input: "site" "!" "user" "@" "uunet" "." "uu" "." "net" +#rewrite: ruleset 8 input: "site" "!" "user" "@" "uunet" "." "uu" "." "net" +#> + printf("%-27.27s ----> %s\n", $input, $prevline); + } + s/> *[0-9,]* *//g; + s/.*input: *//; + s/ //g; + s/"//g; + $input = $_; + } + last if $done; + $prevline = $_; + } + close(MAIL); +} + + +# pass names from resolve files to sendmail + +open(IN, $resolve) || die "can't open $resolve\n"; +open(OUT, ">/tmp/csm$$") || die "can't open >/tmp/csm$$\n"; +while (<IN>) +{ + /^$/ && next; + /^#/ && next; + print OUT "3,0 $_"; + chop; + $allinput .= " $_"; +} +close(OUT); +close(IN); +$sendmailprog = "$sendmail -bt -C$cffile < /tmp/csm$$|"; +open(MAIL, $sendmailprog) || die "can't exec $sendmailprog...\n"; +print "Mail address resolution (rule 0)\n\n"; +&parseresolve(); + +# calculate $f + $sendmailprog = "|$sendmail -bt -C$cffile > /tmp/csm$$"; + open (OUT, $sendmailprog); + open (IN, $resolve); + $rules = "3,1,4"; + while (<IN>) { + chop; + /^$/ && next; + /^#/ && next; + $address = $_; + print OUT "$rules $address\n"; + } + print OUT "\n"; # stuff last line into sendmail + close(IN); + close(OUT); + &parseaddress ("/tmp/csm$$", "\n\n\$f address header transformations\n\n"); + +# Get the R= and S= special rulesets from the configuration + +open(FID, "grep ^M $cffile|"); +while (<FID>) +{ +# Mether, P=[IPC], F=msDFMueCX, S=11, R=21, A=IPC $h + chop; + $thisline = $_; $thisline =~ s/M//; $thisline =~ s/,.*//; + $thisline =~ tr/A-Z/a-z/; + $sendrule = $_; $sendrule =~ s/.*S=//; $sendrule =~ s/,.*//; + if ($sendrule=~q!/!) { + ($esendrule, $hsendrule) = split (q!/!, $sendrule); + } + else { $esendrule = $hsendrule = $sendrule; } + $recvrule = $_; $recvrule =~ s/.*R=//; $recvrule =~ s/,.*//; + if ($recvrule=~q!/!) { + ($erecvrule, $hrecvrule) = split (q!/!, $recvrule); + } + else { $erecvrule = $hrecvrule = $recvrule; } + $esendrules{$thisline} = $esendrule; + $hsendrules{$thisline} = $hsendrule; + $erecvrules{$thisline} = $erecvrule; + $hrecvrules{$thisline} = $hrecvrule; +} +close(FID); + +# pass names from various mailers through sendmail + +foreach $i (keys %themailers) +{ + $sendmailprog = "|$sendmail -bt -C$cffile > /tmp/csm$$"; + if ($erecvrules{$i} == 0) { + print "\n\nCan't find recv rule for `$i', skipping this mailer <-------------------\n"; + next; + } + open (OUT, $sendmailprog); + @namelist = split(/ /, $allinput); + $rules = "3,2,$erecvrules{$i},4"; + foreach (@namelist) { + print OUT "$rules $_\n"; + } + print OUT "\n"; # stuff last line into sendmail + close(OUT); + $note = ""; + if ($erecvrules{$i} eq $hrecvrules{$i}) { $note = "and header "; } + &parseaddress ("/tmp/csm$$", "\n\n`To' envelope ${note}address transformations for mailer $i [$rules]:\n\n"); +} +foreach $i (keys %themailers) +{ + $sendmailprog = "|$sendmail -bt -C$cffile > /tmp/csm$$"; + if ($hrecvrules{$i} == 0) { + print "\n\nCan't find recv rule for `$i', skipping this mailer <-------------------\n"; + next; + } + if ($hrecvrules{$i} ne $erecvrules{$i}) { + open (OUT, $sendmailprog); + @namelist = split(/ /, $allinput); + $rules = "3,2,$hrecvrules{$i},4"; + foreach (@namelist) { + print OUT "$rules $_\n"; + } + print OUT "\n"; # stuff last line into sendmail + close(OUT); + &parseaddress ("/tmp/csm$$", "\n\n`To' header address transformations for mailer $i [$rules]:\n\n"); + } +} + +# pass names from various mailers through sendmail +foreach $i (keys %themailers) +{ + $sendmailprog = "|$sendmail -bt -C$cffile > /tmp/csm$$"; + if ($esendrules{$i} == 0) { + print "\n\nCan't find send rule for `$i', skipping this mailer <-------------------\n"; + next; + } + open (OUT, $sendmailprog); + open (IN, $resolve); + $rules = "3,1,$esendrules{$i},4"; + while (<IN>) { + chop; + /^$/ && next; + /^#/ && next; + $address = $_; + print OUT "$rules $address\n"; + } + print OUT "\n"; # stuff last line into sendmail + close(IN); + close(OUT); + $note = ""; + if ($esendrules{$i} eq $hsendrles{$i}) {$note = "and header ";} + &parseaddress ("/tmp/csm$$", "\n\n`From' envelope ${note}address transformations for mailer $i [$rules]:\n\n"); +} +foreach $i (keys %themailers) +{ + $sendmailprog = "|$sendmail -bt -C$cffile > /tmp/csm$$"; + if ($hsendrules{$i} == 0) { + print "\n\nCan't find send rule for `$i', skipping this mailer <-------------------\n"; + next; + } + open (OUT, $sendmailprog); + open (IN, $resolve); + $rules = "3,1,$hsendrules{$i},4"; + while (<IN>) { + chop; + /^$/ && next; + /^#/ && next; + $address = $_; + print OUT "$rules $address\n"; + } + print OUT "\n"; # stuff last line into sendmail + close(IN); + close(OUT); + &parseaddress ("/tmp/csm$$", "\n\n`From' address header transformations for mailer $i [$rules]:\n\n"); +} +foreach $i (keys %themailers) +{ + $sendmailprog = "|$sendmail -bt -C$cffile > /tmp/csm$$"; + if ($esendrules{$i} == 0) { + print "\n\nCan't find send rule for `$i', skipping this mailer <-------------------\n"; + next; + } + open (OUT, $sendmailprog); + open (IN, $resolve); + $rules = "3,1,4,3,1,$hsendrules{$i},4"; # XXX esendrules? book p. 431??? + while (<IN>) { + chop; + /^$/ && next; + /^#/ && next; + $address = $_; + print OUT "$rules $address\n"; + } + print OUT "\n"; # stuff last line into sendmail + close(IN); + close(OUT); + $note = ""; + if ($esendrules{$i} eq $hsendrles{$i}) {$note = "and header ";} + &parseaddress ("/tmp/csm$$", "\n\n\$g address transformations for mailer $i [$rules]:\n\n"); +} + +unlink("/tmp/csm$$") || die "Can't unlink /tmp/csm$$"; +unlink("/tmp/csm.in$$"); + diff --git a/debian/control b/debian/control index c964212..59bcfeb 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: sendmail Section: mail Priority: extra Maintainer: Richard Nelson <cowboy@debian.org> -Standards-Version: 2.4.0.0 +Standards-Version: 2.5.0.0 Package: sendmail Architecture: any diff --git a/debian/copyright b/debian/copyright index b34d8e5..b68a73b 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,47 +1,101 @@ This is the Debian Linux prepackaged version of Sendmail, a powerful mail transport agent. -This package was put together by Robert Leslie <rob@mars.org> and is -now being maintained by Johnie Ingram <johnie@debian.org>. The -sources were obtained from: +This package was put together by Robert Leslie <rob@mars.org>, was +maintained by Johnie Ingram <johnie@debian.org>, and is now being +maintained by Richard Nelson <cowboy@debian.org>. The sources were +were obtained from: ftp://ftp.sendmail.org/pub/sendmail/ -The following copyright applies to this software: - - - Copyright (c) 1983, 1995-1997 Eric P. Allman - Copyright (c) 1988 The Regents of the University of California. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed by the University of - California, Berkeley and its contributors. - 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - -On Debian systems, further copyright information can be found in the -file /usr/doc/copyright/BSD. + The following copyright applies to this software: + + SENDMAIL LICENSE + +The following license terms and conditions apply, unless a different +license is obtained from Sendmail, Inc., 1401 Park Avenue, Emeryville, CA +94608, or by electronic mail at license@sendmail.com. + +License Terms: + +Use, Modification and Redistribution (including distribution of any +modified or derived work) in source and binary forms is permitted only if +each of the following conditions is met: + +1. Redistributions qualify as "freeware" or "Open Source Software" under + one of the following terms: + + (a) Redistributions are made at no charge beyond the reasonable cost of + materials and delivery. + + (b) Redistributions are accompanied by a copy of the Source Code or by an + irrevocable offer to provide a copy of the Source Code for up to three + years at the cost of materials and delivery. Such redistributions + must allow further use, modification, and redistribution of the Source + Code under substantially the same terms as this license. For the + purposes of redistribution "Source Code" means the complete source + code of sendmail including all modifications. + + Other forms of redistribution are allowed only under a separate royalty- + free agreement permitting such redistribution subject to standard + commercial terms and conditions. A copy of such agreement may be + obtained from Sendmail, Inc. at the above address. + +2. Redistributions of source code must retain the copyright notices as they + appear in each source code file, these license terms, and the + disclaimer/limitation of liability set forth as paragraph 6 below. + +3. Redistributions in binary form must reproduce the Copyright Notice, + these license terms, and the disclaimer/limitation of liability set + forth as paragraph 6 below, in the documentation and/or other materials + provided with the distribution. For the purposes of binary distribution + the "Copyright Notice" refers to the following language: + "Copyright (c) 1998 Sendmail, Inc. All rights reserved." + +4. Neither the name of Sendmail, Inc. nor the University of California nor + the names of their contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. The name "sendmail" is a trademark of Sendmail, Inc. + +5. All redistributions must comply with the conditions imposed by the + University of California on certain embedded code, whose copyright + notice and conditions for redistribution are as follows: + + (a) Copyright (c) 1988, 1993 The Regents of the University of + California. All rights reserved. + + (b) Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + (i) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + (ii) Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + (iii) All advertising materials mentioning features or use of this + software must display the following acknowledgement: "This + product includes software developed by the University of + California, Berkeley and its contributors." + + (iv) Neither the name of the University nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY + SENDMAIL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF + CALIFORNIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +(Version 8.6, last updated 6/24/1998) diff --git a/debian/db-examples/access b/debian/db-examples/access new file mode 100644 index 0000000..31d8c38 --- /dev/null +++ b/debian/db-examples/access @@ -0,0 +1,66 @@ +# /etc/mail/access +# Copyright (c) 1998, Richard Nelson <cowboy@debian.org>. +# Time-stamp: <1998/10/27 10:00:00 cowboy> +# GPL'd config file, please feed any gripes, suggestions, etc. to me +# +# Function: +# Access Control for this smtp server - determines: +# * Who we accept mail from +# * Who we accept relaying from +# * Who we will not send to +# +# Usage: +# FEATURE(access_db[, hash -o /etc/mail/access])dnl +# makemap hash access < access +# +# Format: +# lhs: +# email addr <user@[host.domain]> +# domain name unless FEATURE(relay_hosts_only) is used, +# then this is a fqdn - and relay-domains ($=R) +# must also be fqdns. +# network number must end on an octet boundary, or +# you're stuck going the longwinded way ;-{ +# rhs: +# OK accept mail even if other rules in the +# running ruleset would reject it. +# RELAY Allow domain to relay through your SMTP +# server. RELAY also serves an implicit +# OK for the other checks. +# REJECT reject the sender/recipient with a general +# purpose message that can be customized. +# confREJECT_MSG [550 Access denied] will be issued +# DISCARD discard the message completely using +# the $#discard mailer. +# ### any text where ### is an RFC 821 compliant error code +# and "any text" is a message to return for +# the command +# Examples: +# spammer@aol.com REJECT +# FREE.STEALTH.MAILER@ 550 Spam not accepted +# +# Notes: +# With FEATURE(blacklist_recipients) this is also possible: +# badlocaluser 550 Mailbox disabled for this username +# host.mydomain.com 550 That host does not accept mail +# user@otherhost.mydomain.com 550 Mailbox disabled for this recipient +# +# Related: +# define(`confREJECT_MSG', `550 Access denied')dnl +# define(`confCR_FILE', `-o /etc/mail/relay-domains')dnl <<- $=R +# FEATURE(relay_hosts_only)dnl +# FEATURE(relay_entire_domain)dnl <<- relays any host in the $=m class +# FEATURE(relay_based_on_MX)dnl <<- relaying for boxes MX'd to you +# FEATURE(blacklist_recipients)dnl +# FEATURE(rbl[,alternate server])dnl +# FEATURE(orbs[,alternate server])dnl <<- Debian addition +# FEATURE(accept_unqualified_senders)dnl +# FEATURE(accept_unresolvable_domains)dnl +# +# Local addresses 10.x.x.x, 127.x.x.x, 192.168.x.x can relay +10 RELAY +127 RELAY +192.168 RELAY +# +# Hosts that are allowed to talk to me +# diff --git a/debian/db-examples/relay-domains b/debian/db-examples/relay-domains new file mode 100644 index 0000000..a1f319d --- /dev/null +++ b/debian/db-examples/relay-domains @@ -0,0 +1,34 @@ +# /etc/mail/relay-domains +# Copyright (c) 1998, Richard Nelson <cowboy@debian.org>. +# Time-stamp: <1998/10/27 10:00:00 cowboy> +# GPL'd config file, please feed any gripes, suggestions, etc. to me +# +# Function: +# Control what hosts are allowed to relay (or be a relay) +# +# Usage: +# define(`confCR_FILE', `-o /etc/mail/relay-domains')dnl +# +# Format: +# lhs: +# +# Notes: +# Class $=R +# These are domains unless FEATURE(relay_hosts_only) is used, +# then these names must be fully qualified host names! +# +# Related: +# FEATURE(relay_hosts_only)dnl +# FEATURE(relay_entire_domain)dnl <<- relays any host in the $=m class +# FEATURE(relay_based_on_MX)dnl <<- relaying for boxes MX'd to you +# FEATURE(access_db)dnl +# EATURE(blacklist_recipients)dnl +# FEATURE(rbl[,alternate server])dnl +# FEATURE(orbs[,alternate server])dnl <<- Debian addition +# FEATURE(accept_unqualified_senders)dnl +# FEATURE(accept_unresolvable_domains)dnl +# +# Hosts that I will relay to: +# +# Hosts that can relay to me: +# diff --git a/debian/debian.m4 b/debian/debian.m4 index 8c111e4..8344772 100644 --- a/debian/debian.m4 +++ b/debian/debian.m4 @@ -33,7 +33,7 @@ divert(-1) # SUCH DAMAGE. # divert(0) -VERSIONID(`@(#)debian.m4 8.8 (Debian) 01/21/98') +VERSIONID(`@(#)debian.m4 8.9.3 (Debian) 19990210') define(`confCF_VERSION', `Debian/GNU')dnl define(`LOCAL_MAILER_PATH', `/usr/sbin/sensible-mda')dnl dnl define(`LOCAL_MAILER_FLAGS', `mnru9')dnl @@ -44,19 +44,21 @@ define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`USENET_MAILER_PATH', `/usr/bin/inews')dnl define(`confSAFE_QUEUE', `True')dnl define(`confTEMP_FILE_MODE', `600')dnl -define(`STATUS_FILE', `/var/log/sendmail.st')dnl -define(`confCW_FILE', `-o /etc/mail/sendmail.cw')dnl -define(`confCT_FILE', `-o /etc/mail/sendmail.ct')dnl -define(`confCON_EXPENSIVE', `True')dnl +define(`STATUS_FILE', `/var/log/sendmail.st')dnl +define(`HELP_FILE', `/usr/share/misc/sendmail.hf')dnl define(`confHOST_STATUS_DIRECTORY', `/var/state/sendmail')dnl +define(`confCW_FILE', `-o /etc/mail/sendmail.cw')dnl +define(`confCT_FILE', `-o /etc/mail/sendmail.ct')dnl +define(`confCR_FILE', `-o /etc/mail/relay-domains')dnl +define(`confUSERDB_SPEC', ` /etc/mail/users.db')dnl +define(`confCON_EXPENSIVE', `True')dnl define(`confDIAL_DELAY', `45')dnl define(`confTO_ICONNECT', `30s')dnl define(`confQUEUE_SORT_ORDER', `Host')dnl -define(`confMAX_DAEMON_CHILDREN', `30s')dnl -define(`confDONT_INIT_GROUPS', `True')dnl +define(`confMAX_DAEMON_CHILDREN', `30')dnl +define(`confEBINDIR', `/usr/sbin')dnl # These undocumented features are available in Debian sendmail. - # O PidFile=/var/run/sendmail.pid # O WritableDirectoriesAreFatal=False # O ChownIsAlwaysSafe=False @@ -64,6 +66,25 @@ define(`confDONT_INIT_GROUPS', `True')dnl # O MaxRecipientPerMessage= # O DeadLetterDrop=False # O RrtImpliesDSN=False -# O TCPWrappers=False +# O TCPWrappers=False -- not for 8.9.0+ +# These are the sendmail 8.9.0 security enhancements +define(`confDONT_BLAME_SENDMAIL',`ClassFileInUnsafeDirPath,ForwardFileInGroupWritableDirPath,GroupWritableAliasFile,GroupWritableForwardFileSafe,GroupWritableIncludeFileSafe,IncludeFileInGroupWritableDirPath,MapInUnsafeDirPath')dnl +LOCAL_CONFIG +# Sendmail 8.9.1a patch for mime headers to protect the various MUAs: +# This option causes MIME headers to be truncated to a total of 256 +# characters; no individual field is permitted to exceed 128 +# characters. These values should be safe for the common mail clients +# that are vulnerable. +# +# Note: there is a speed trade here, as the entire message must be scanned +O MaxMimeHeaderLength=256/128 + +# Sendmail 8.9.3 fix for header based DOS +# Number of bytes allowed for mail headers, default=32k. +define(confMAX_HEADERS_LENGTH, 32768) + +# +DOMAIN(generic)dnl +FEATURE(access_db, `hash -o /etc/mail/access.db')dnl diff --git a/debian/debproto.mc b/debian/debproto.mc index 6841807..01c4fdb 100644 --- a/debian/debproto.mc +++ b/debian/debproto.mc @@ -38,5 +38,5 @@ divert(-1) # divert(0) -VERSIONID(`@(#)sendmail.mc 8.7 (Linux) 3/5/96') +VERSIONID(`@(#)sendmail.mc 8.9.1a (Linux) 19981026') OSTYPE(debian)dnl diff --git a/debian/dirs b/debian/dirs deleted file mode 100644 index 23b4a3f..0000000 --- a/debian/dirs +++ /dev/null @@ -1,15 +0,0 @@ -DEBIAN -etc/init.d -usr/bin -usr/sbin -usr/man/man1 -usr/man/man5 -usr/man/man8 -usr/doc/sendmail -usr/lib/sm.bin -usr/lib/sendmail.cf/hack -usr/lib/sendmail.cf/domain -usr/lib/sendmail.cf/ostype -usr/lib/sendmail.cf/cf -var/state/sendmail -var/log diff --git a/debian/ip-up.d b/debian/ip-up.d index 7bada47..e965be2 100644 --- a/debian/ip-up.d +++ b/debian/ip-up.d @@ -10,5 +10,8 @@ # Start/reload sendmail as needed #/etc/init.d/sendmail reload +# Purge the persistant host status so that *all* mail will be tried +purgestat + # Process the sendmail queue -#runq +runq diff --git a/debian/nodns.m4 b/debian/nodns.m4 index c84d2c5..489e90b 100644 --- a/debian/nodns.m4 +++ b/debian/nodns.m4 @@ -38,7 +38,7 @@ divert(-1) undefine(`confBIND_OPTS')dnl define(`confSERVICE_SWITCH_FILE', `/etc/nssnodns.conf')dnl FEATURE(nocanonify) -# HACK(nodns): What DNS? +# `HACK(nodns)': What DNS? O DontProbeInterfaces=True diff --git a/debian/notes b/debian/notes new file mode 100644 index 0000000..6eb17ea --- /dev/null +++ b/debian/notes @@ -0,0 +1,2 @@ +dpkg-source -x, dpkg-buildpackage -B -rsudo and then fetch the changes file, pgp-ing and ready, the flag -B is important to the binary-indep section of the debian/rules file --- thats all +*haggie!koptein@ppp014asc.fho-emden.de* powerpc builds all packages with an auto-builder (wanna-build), but it is currently broken with an db error diff --git a/debian/orbs.m4 b/debian/orbs.m4 new file mode 100644 index 0000000..1be5bb3 --- /dev/null +++ b/debian/orbs.m4 @@ -0,0 +1,5 @@ +VERSIONID(`@(#)orbs.m4 1.1 1998-09-14') +divert(-1) + +dnl define(`_ORBS_', ifelse(_ARG_, `', `orbs.dorkslayers.com', `_ARG_'))dnl +define(`_ORBS_', ifelse(_ARG_, `', `relays.orbs.org', `_ARG_'))dnl diff --git a/debian/orbs.patch.README b/debian/orbs.patch.README new file mode 100644 index 0000000..d6b12d6 --- /dev/null +++ b/debian/orbs.patch.README @@ -0,0 +1,112 @@ +From MAILER-DAEMON Tue Oct 20 12:08:00 1998 +Date: Tue, 20 Oct 1998 12:08:00 -0400 (EDT) +From: Mail System Internal Data <MAILER-DAEMON@badlands.lexington.ibm.com> +Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA +X-IMAP: 0908899680 0000000000 +Status: RO + +This text is part of the internal format of your mail folder, and is not +a real message. It is created automatically by the mail system software. +If deleted, important folder data will be lost, and it will be re-created +with the data reset to initial values. + +From cowboy@badlands.lexington.ibm.com Tue Oct 20 11:48:28 1998 -0400 +Status: R +X-Status: +X-Keywords: +Return-Path: <<@LEXVMK.LEXINGTON.IBM.COM:SMTP3@IINUS1>> +Received: from LEXVMK.LEXINGTON.IBM.COM (lexvmk.lexington.ibm.com [9.51.16.254]) + by badlands.lexington.ibm.com (8.9.1a/8.9.1/Debian/GNU) with SMTP id LAA31227 + for <cowboy@badlands.lexington.ibm.com>; Tue, 20 Oct 1998 11:48:27 -0400 +Received: from LEXVMK by LEXVMK.LEXINGTON.IBM.COM (IBM VM SMTP V2R4) + with BSMTP id 8846; Tue, 20 Oct 98 11:48:26 EDT +Received: by LEXVMK (cvtto822 4.0.0) via <smtp3@iinus1> id 9595 (RFC822) + for <cowboy@lexgate>; Tue, 20 Oct 98 11:48:26 -0400 +Received: from master.debian.org [209.176.56.5] by vnet.IBM.COM (IBM VM SMTP V2R4a) via TCP with SMTP ; Tue, 20 Oct 1998 11:48:20 EDT +Received: (qmail 8440 invoked by uid 1163); 20 Oct 1998 15:48:21 -0000 +Delivered-To: cowboy@debian.org +Received: (qmail 8427 invoked by uid 847); 20 Oct 1998 15:48:20 -0000 +Delivered-To: joey-packages-sendmail@packages.debian.org +Received: (qmail 8422 invoked from network); 20 Oct 1998 15:48:19 -0000 +Received: from jupiter.bsfh.org (ph@204.101.57.25) + by master.debian.org with SMTP; 20 Oct 1998 15:48:19 -0000 +Received: (from ph@localhost) + by jupiter.bsfh.org (8.9.1a/8.9.1/Debian/GNU) id LAA13376 + for sendmail@packages.debian.org; Tue, 20 Oct 1998 11:48:18 -0400 +Message-ID: <19981020114817.A1338@jupiter.bsfh.org> +Date: Tue, 20 Oct 1998 11:48:17 -0400 +From: Paul Haggart <ph@bsfh.org> +To: sendmail@packages.debian.org +Subject: orbs - open relay blocking system +Mime-Version: 1.0 +Content-Type: multipart/mixed; boundary=zhXaljGHf11kAtnf +X-Mailer: Mutt 0.93.2i +X-Uptime: 4:41pm up 3 min, 3 users, load average: 1.16, 0.53, 0.20 +X-SpamBouncer: 1.00h (10/18/98) +X-SBRule: Pass-No Pattern Matching +X-SBClass: OK +X-Sorted: Default + + +--zhXaljGHf11kAtnf +Content-Type: text/plain; charset=us-ascii + + Is there any way I can get the orbs.m4 and proto.m4 patch into the next +sendmail? I hate patching my local version because it all disappears at the +next upgrade. + + I've attached the files. + + More info about ORBS is at http://www.dorkslayers.com/orbs/ + +-- +Paul Haggart - System Admin, Cybertap Inc. - Debian Linux - PGP 0xD61313E9 + + +--zhXaljGHf11kAtnf +Content-Type: text/plain; charset=us-ascii +Content-Disposition: attachment; filename="proto.m4.patch" + +*** proto.m4.19980930 Wed Sep 30 20:21:52 1998 +--- proto.m4 Wed Sep 30 20:18:18 1998 +*************** +*** 1068,1076 **** + ifdef(`_RBL_', `dnl + # MAPS project checks -- http://maps.vix.com/ + R$* $: $&{client_addr} +! R$-.$-.$-.$- $: $(host $4.$3.$2.$1._RBL_. $: OK $) +! ROK $@ OK +! R$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused; see http://maps.vix.com/rbl/"', + `dnl') + + ###################################################################### +--- 1068,1084 ---- + ifdef(`_RBL_', `dnl + # MAPS project checks -- http://maps.vix.com/ + R$* $: $&{client_addr} +! R$-.$-.$-.$- $: <?> $(host $4.$3.$2.$1._RBL_. $: OK $) +! R<?>OK $: OKSOFAR +! R<?>$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused; see http://maps.vix.com/rbl/"', +! `dnl') +! +! ifdef(`_ORBS_', `dnl +! # ORBS project checks -- http://www.dorkslayers.com/orbs/ +! R$* $: $&{client_addr} +! R$-.$-.$-.$- $: <?> $(host $4.$3.$2.$1._ORBS_. $: OK $) +! R<?>OK $: OKSOFAR +! R<?>$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused; see http://www.dorkslayers.com/orbs/"', + `dnl') + + ###################################################################### + +--zhXaljGHf11kAtnf +Content-Type: text/plain; charset=us-ascii +Content-Disposition: attachment; filename="orbs.m4" + +VERSIONID(`@(#)orbs.m4 1.1 1998-09-14') +divert(-1) + +define(`_ORBS_', ifelse(_ARG_, `', `orbs.dorkslayers.com', `_ARG_'))dnl + +--zhXaljGHf11kAtnf-- + diff --git a/debian/orca.m4 b/debian/orca.m4 new file mode 100644 index 0000000..c881cb8 --- /dev/null +++ b/debian/orca.m4 @@ -0,0 +1,4 @@ +VERSIONID(`@(#)orca.m4 1.0 1998-11-23') +divert(-1) + +define(`_ORCA_', ifelse(_ARG_, `', `dul.orca.bc.ca', `_ARG_'))dnl diff --git a/debian/part1 b/debian/part1 deleted file mode 100644 index f6f347a..0000000 --- a/debian/part1 +++ /dev/null @@ -1,1755 +0,0 @@ -Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!hookup!nic.ott.hookup.net!vertex.tor.hookup.net!nic.win.hookup.net!news-out.internetmci.com!newsfeed.internetmci.com!uwm.edu!math.ohio-state.edu!howland.erols.net!newsxfer3.itd.umich.edu!news.cic.net!not-for-mail -From: brad@etext.org -Newsgroups: comp.mail.sendmail,comp.mail.misc,comp.answers,news.answers -Subject: comp.mail.sendmail Frequently Asked Questions (Part 1 of 2) -Followup-To: comp.mail.sendmail -Date: 27 Mar 1997 06:01:28 GMT -Organization: The ETEXT Archives -Lines: 1734 -Approved: news-answers-request@MIT.Edu -Distribution: world -Expires: 05/01/97 02:00:01 -Message-ID: <5hd2fo$pou$1@news.cic.net> -Reply-To: sendmail-faq@etext.org (Sendmail FAQ Maintainers) -NNTP-Posting-Host: locust.cic.net -Summary: This posting contains a list of Frequently Asked Questions - (and their answers) about the program "sendmail", distributed with - many versions of Unix. It should be read by anyone who wishes to - post to the Usenet newsgroup comp.mail.sendmail. -Keywords: sendmail mail SMTP FAQ -X-Posting-Frequency: posted on the 27th of each month -Xref: senator-bedfellow.mit.edu comp.mail.sendmail:42630 comp.mail.misc:38790 comp.answers:25080 news.answers:98196 - -Posted-By: auto-faq 3.1.1.2 -Archive-name: mail/sendmail-faq/part1 - -URL: http://www.his.com/~brad/sendmail/index.html - - - comp.mail.sendmail - Frequently Asked Questions (FAQ) - Last updated March 24, 1997 - - Copyright 1996, by Brad Knowles, all rights reserved - - -This FAQ is edited and maintained by Brad Knowles <brad@etext.org>. -The official archive for all FAQs posted to <news:news.answers> -is <ftp://rtfm.mit.edu/pub/usenet/news.answers/>, with many known -mirrors. On this site, the latest version of this FAQ can be found -in <ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq/>. -Since this server tends to be extremely busy, as an alternative, -you might want to try using <http://www.imc.org/sendmail-faq-1> -and <http://www.imc.org/sendmail-faq-2> instead. - -If you don't have access to FTP or WWW, this FAQ can be retrieved by -sending Internet email to <mail-server@rtfm.mit.edu> with an empty -subject line (it gets ignored) and the command "send -usenet/news.answers/mail/sendmail-faq/part*" as the body of the -message (omitting the quotes, of course). - -As an alternative, you might want to try sending Internet email -to <info@imc.org> with an empty subject line (it gets ignored) -and "send sendmail-faq-*" as the body of the body of the message -(again, omitting the quotes). - -Additional alternative access methods are detailed within. - - -This FAQ is in RFC 1153 digest format. The "Date:" field of each -entry represents the date of the last update made to that entry. - - -This FAQ has now been split into two parts, to try and make it easier -to pass through older or less capable news or mail gateways. - - -The intent is to ultimately make this document more web-friendly (in -that all original work is done in SGML), and using the linuxdoc-sgml -tools, automatically generate both the HTML and ASCII text versions, -automatically posting the ASCII version to comp.mail.sendmail as -appropriate. - -In the meanwhile, all pseudo-HTMLized versions of this FAQ are -considered unsupported. We cannot be held responsible for what -someone else's program does to this document in an attempt to -make it more web-friendly. Nevertheless, the Landfield Hypertext -Usenet FAQ Archive seems to work well, and if you must access -the comp.mail.sendmail FAQ via the web, try slinging over to -<http://www.landfield.com/faqs/mail/sendmail-faq/>. - - -Comments/updates should be sent to <sendmail-faq@etext.org>. - ----------------------------------------------------------------------- - -Date: March 24, 1997 -Subject: Table of Contents - -Table of Contents -================= - - PART ONE - ======== - - 0. TO DO - - 1. COPYRIGHT NOTICE / REDISTRIBUTION REQUIREMENTS - - 2. INTRODUCTION / MISCELLANEOUS - 2.1 What is this newsgroup? - 2.2 What is the scope of this FAQ? - 2.3 Where can I find the latest version of this FAQ? - 2.4 How do I access comp.mail.sendmail by email? - 2.5 Where can I ask email-related DNS questions? - 2.6 How can I subscribe to these newsgroups? - 2.7 Which version of sendmail should I run? - 2.8 What is the latest release of sendmail? - 2.9 Where can I find it? - 2.10 What are the differences between Version 8 and other - versions? - 2.11 What's the best platform for running sendmail? - 2.12 What is BIND and where can I get the latest version? - 2.13 What is smrsh and where can I get it? - 2.14 What is smap and where can I get it? - 2.15 What is TCP-Wrappers and where can I get it? - 2.16 Why won't db 1.85 build for my SGI running Irix >= 5.2? - 2.17 What is makemap and where can I get it? - - 3. VERSION 8 SPECIFIC ISSUES - 3.1 How do I make all my addresses appear to be from a single - host? - 3.2 How do I rewrite my "From:" lines to read - ``First_Last@My.Domain''? - 3.3 So what was the user database feature intended for? - 3.4 Why are you so hostile to using full names for email - addresses? - 3.5 Where do I find this user database (UserDB) code? - 3.6 How do I get the user database to work with Pine or - with FEATURE(always_add_domain)? - 3.7 How do I manage several (virtual) domains? - 3.8 There are four UUCP mailers listed in the configuration - files. Which one should I use? - 3.9 How do I fix "undefined symbol inet_aton" and "undefined - symbol _strerror" messages? - 3.10 How do I solve "collect: I/O error on connection" errors? - 3.11 Why can't my users forward their mail to a program? - 3.12 Why do connections to the SMTP port take such a long time? - 3.13 Why do I get "unknown mailer error 5 -- mail: options - MUST PRECEDE recipients" errors? - 3.14 Why does version 8 sendmail panic my SunOS box? - 3.15 Why does the "From " header gets mysteriously munged - when I send to an alias? - 3.16 Why doesn't MASQUERADE_AS (or the user database) work - for envelope addresses as well as header addresses? - 3.17 How do I run version 8 sendmail and support the MAIL11V3 - protocol? - 3.18 Why do messages disappear from my queue unsent? - 3.19 When is sendmail going to support RFC 1522 MIME header - encoding? - 3.20 Why can't I get mail to some places, but instead - always get the error "reply: read error from - name.of.remote.host"? - 3.21 Why doesn't "FEATURE(xxx)" work? - 3.22 How do I configure sendmail to not use DNS? - 3.23 How do I get all my queued mail delivered to my Unix - box from my ISP? - - - PART TWO - ======== - - 4. GENERAL SENDMAIL ISSUES - 4.1 Should I use a wildcard MX for my domain? - 4.2 How can I set up an auto-responder? - 4.3 How can I get sendmail to deliver local mail to - $HOME/.mail instead of into /usr/spool/mail (or - /usr/mail)? - 4.4 Why does it deliver the mail interactively when I'm - trying to get it to go into queue only mode? - 4.5 How can I solve "config error: mail loops back to - myself" messages? - 4.6 Why does my sendmail process sometimes hang when - connecting over a SLIP/PPP link? - 4.7 How can I summarize the statistics generated by - sendmail in the syslog? - 4.8 How can I check my sendmail.cf to ensure that it's - re-writing addresses correctly? - 4.9 What is procmail, and where can I get it? - 4.10 How can I solve "cannot alias non-local names" errors? - - 5. VENDOR/OS SPECIFIC SENDMAIL ISSUES - 5.1 Sun Microsystems SunOS/Solaris 1.x/2.x - 5.1.1 How can I solve "line 273: replacement $3 out of - bounds" errors? - 5.1.2 How can I solve "line 445: bad ruleset 96 (50 max)" - errors? - 5.1.3 Why does version 8 sendmail (< 8.7.5) sometimes - hang under Solaris 2.5? - 5.1.4 Why can't I use SunOS/Solaris to get email to - certain large sites? - 5.2 IBM AIX - 5.2.1 The system resource controller always reports - sendmail as "inoperative". What's wrong? - 5.2.2 Why can't I use AIX to get email to some sites? - 5.2.3 Why can't I get sendmail 8.7.1 to use MX records - with AIX 3.2.5? - - 6. ADDITIONAL INFORMATION SOURCES (RFC 1807 bibliography format) - 6.1 Reference material devoted exlusively to sendmail - 6.2 Reference material with chapters or sections on sendmail - 6.3 Reference material on subjects related to sendmail - 6.4 World-wide web index pages on sendmail - 6.5 World-wide web index pages Internet email in general - 6.6 Online tutorials for sendmail - 6.7 Online archives of mailing lists and Usenet newsgroups, - relating to Internet email - - 7. THANKS! - ------------------------------- - -Date: January 17, 1997 -Subject: Q0 -- TO DO list - -* Make the FAQ more web-friendly by writing it in SGML and using - the linuxdoc-sgml tools to automate the generation of the HTML - and ASCII text versions. -* Index -* Additional net resources (web pages, anonymous ftp sites, etc...) -* Larger, more clearly written annotated bibliography (including RFCs - and comments/corrections for books specific to sendmail) -* Reorganize by platform/version of sendmail (All Sun questions in one - section, all AIX questions in another, etc...) - ------------------------------- - -Date: May 28, 1996 -Subject: Q1 -- COPYRIGHT NOTICE / REDISTRIBUTION REQUIREMENTS - - The entire contents of this document are copyright 1996 by Brad -Knowles, all rights reserved. - - This document may be freely distributed for non-profit purposes -(including, but not limited to: posting to mailing lists, Usenet -newsgroups, and world-wide-web pages; inclusion on CD-ROM or other -distribution media; and insertion into text retrieval systems), so -long as it is the latest version available at the time, all parts are -distributed together, and it is kept completely intact without -editing, changes, deletions, or additions. Non-profit redistribution -in accordance with these guidelines does not require contact with or -approval from the copyright holder. - - Redistribution of this document for profit without express prior -permission is not allowed. At the very least, expect to provide the -copyright holder a free copy of the product (exactly as it would be -sold to customers, all distribution media intact), or a percentage of -the gross revenue from said product and sufficient proof that the -integrity and completeness requirements set for non-profit -distribution will be met. - - - In the event that the copyright holder discovers a redistributed -version that is not in compliance with the above requirements, he will -make a good-faith effort to get it corrected or removed, and failing -that, at least note its deprecated status in a new version. Legal -action will likely be taken against redistribution for profit that -is not in compliance with the above requirements. - ------------------------------- - -Date: May 28, 1996 -Subject: Q2.1 -- What is this newsgroup? - - The Usenet newsgroup <news:comp.mail.sendmail> is dedicated to the -discussion of the program named "sendmail" in all its various forms. -It is most commonly found on computers running a flavor of the -Operating System known as Unix, or derived from Unix. - - This program has been ported to other OSes, but those versions -have typically been ported by a particular vendor and are considered -proprietary. There are many versions of sendmail, but the original -author (Eric Allman) is continuing development on a particular version -typically referred to as "Version Eight" or sometimes just "V8". This -is considered by many to be the One True Version. This is also the -version that this FAQ is centered around. - - - If you have a question that amounts to "How do I send mail to my -friend?", then you're in the wrong newsgroup. You should first check -with your System or E-Mail Administrator(s), BBS SysOp(s), etc... -before you post your question publicly, since the answer will likely -be very highly dependant on what software and hardware you have. You -also don't want to embarass yourself publicly, nor do you want to -annoy the kinds of people who are likely to be the counterparts of -your System or E-Mail Administrator(s), BBS SysOp(s), etc.... If -asking them doesn't do you any good, make sure you read this FAQ and -the other mail-related FAQs at the archive sites listed below. - - If you have a question about another program similar to sendmail -(technically referred to as an "SMTP MTA"), an SMTP Gateway package, -or a LAN email package, then you should see if there is another group -in the <news:comp.mail> hierarchy that more closely matches the -particular program you want to ask a question about. For example, the -SMTP MTA known as Smail has <news:comp.mail.smail> dedicated to it. -The Mail User Agent (MUA) Eudora has two newsgroups dedicated to it -(<news:comp.mail.eudora.mac> and <news:comp.mail.eudora.ms-windows>), -depending on which hardware platform you use. If there isn't a more -appropriate newsgroup, try <news:comp.mail.misc>. Again, make sure -your question isn't already addressed in one of the mail-related -FAQs or other available documentation. See the IMC website (more -info below) for a good list of mail-related FAQs. - - - If you have a question about an older or vendor-proprietary -version of sendmail, be prepared for a lot of answers that amount to -"Get V8". Version 8 isn't a panacea, but it does solve many problems -known to plague previous versions, as well as having many new features -that make it much easier to administer large or complex sites. In -many cases, it makes at least possible what was previously virtually -impossible, and relatively easy the previously difficult. - - - There are, of course, many alternative programs that have sprung -up in an attempt to answer one or another weakness or perceived fault -of sendmail, but so far, none of them have had the kind of success it -would require to unseat it as the de facto standard program for -sending Internet mail. Obviously, this forum should not be used to -discuss the merits of any of the alternative programs versus sendmail. -These kinds of discussions should be taken to <news:comp.mail.misc>, -or you should agitate to get a new newsgroup or newsgroup hierarchy -created where that sort of thing is acceptable (or even the norm, such -as a <news:comp.mail.advocacy> or <news:comp.mail.mta.advocacy> -newsgroup). - ------------------------------- - -Date: July 9, 1996 -Subject: Q2.2 -- What is the scope of this FAQ? - - This FAQ is strongly centered around version 8 sendmail, for many -reasons. First and foremost, this is the area of most interest on the -part of the maintainer of this FAQ. Secondly, version 8 is where most -of the additional development is being concentrated. Version 8 -sendmail is also the best documented of all SMTP MTAs, by virtue of -the book by Bryan Costales (see entry -sendmail-faq//book/ISBN/1-56592-056-2 in Q6.1). - - Other versions of sendmail get mentioned in passing, and some -interesting interactions between version 8 and various OSes is also -covered. - - This FAQ is aimed primarily at the experienced Unix System -Administrator/Postmaster/DNS Domain Administrator. If you're looking -for introductory texts, see the references in Q6.1. - - - Where I've provided URLs, I've generally tried to keep them -exactly as they should be entered, without line breaks or anything -else. This may make them or the surrounding text ugly, but hopefully -they'll be easier to cut-and-paste, or just click on once I've got an -HTMLized version. However, this has not been possible in the -bibliography section, since I'm trying to adhere to RFC 1807 -guidelines, and they explicitly require lines to be no longer than 79 -characters. In those cases, I've tried to break the lines at -relatively obvious and innocuous places. - ------------------------------- - -Date: January 21, 1997 -Subject: Q2.3 -- Where can I find the latest version of this FAQ? - - I post changes as they occur to my sendmail FAQ support page -at <http://www.his.com/pub/brad/sendmail/>. - - The ASCII text of my private version can be found at -<ftp://ftp.his.com/pub/brad/sendmail/sendmail-faq/part*>, while -the latest "single part" version before the split can be found at -<ftp://ftp.his.com/pub/brad/sendmail/sendmail-faq/old>. I don't -have an HTMLized version yet, but when I do, I will put in a link -to it from my support page as well as updating this document. - - - The official version (as posted to <news:news.answers>) is in -<ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq/>. - - The Internet Mail Consortium <http://www.imc.org> -maintains an archive of email related FAQs and many other -documents. On their site, the latest version of this FAQ -can be found in <http://www.imc.org/sendmail-faq-1> and -<http://www.imc.org/sendmail-faq-2>. - - - Unfortunately, the parser for the Ohio State semi-official -pseudo-HTMLized version tends to misinterpret the way I provide -URLs, so I no longer support it or provide the URL for this FAQ at -that site. However, Kent Landfield has put together an alternative -web archive of Usenet FAQs, and it appears to parse things in a -more sensible manner. - - The root of the Landfield FAQ archive is at -<http://www.landfield.com/faqs/>, and the comp.mail.sendmail FAQ -can be found at <http://www.landfield.com/faqs/mail/sendmail-faq/>. - - The Landfield Usenet Hypertext FAQ Archive supports full text -searching with multiple ways to access Usenet's Frequently Asked -Question postings. Hyperlinks are enabled where ever possible to -make references easy to follow. A full set of FAQ statistics is -also available. - - - If you don't have access to FTP or WWW, this FAQ can be -retrieved by sending Internet email to <mail-server@rtfm.mit.edu> -with an empty subject line (it gets ignored) and the command "send -usenet/news.answers/mail/sendmail-faq/part*" as the body of the -message (omitting the quotes, of course). - - Since this server tends to be extremely busy, as an alternative, -you might want to try sending Internet email to <info@imc.org> with -an empty subject line (it gets ignored) and "send sendmail-faq-*" -as the body of the body of the message (again, omitting the quotes). - - - Well known mirrors for the FAQs archived at rtfm.mit.edu can be -found at: - - Continent URL - --------- ------------------------------------------- - North <ftp://mirrors.aol.com/pub/rtfm/usenet/> - America <ftp://ftp.uu.net/usenet/news.answers/> - <ftp://ftp.seas.gwu.edu/pub/rtfm/> - <http://www.landfield.com/faqs/> - Europe <ftp://ftp.uni-paderborn.de/pub/FAQ/> - <ftp://ftp.Germany.EU.net/pub/newsarchive/news.answers/> - <ftp://ftp.sunet.se/pub/usenet/> - <http://www.cs.ruu.nl/cgi-bin/faqwais/> - <http://www.lib.ox.ac.uk/internet/news/faq/by_group.index.html> - Asia <ftp://nctuccca.edu.tw/USENET/FAQ/> - <ftp://hwarang.postech.ac.kr/pub/usenet/news.answers/> - <ftp://ftp.hk.super.net/mirror/faqs/> - Australia <ftp://ftp.info.au/usenet/FAQs/> - - - - Additional information on how to get access -to various Internet resources by email can be -found in Bob Rankin's Internet-by-Email FAQ, -<ftp://rtfm.mit.edu/pub/usenet/news.answers/internet-services/access-via-email>. - - To get the latest edition of this document sent to you by return -email, send a message to one of these addresses: - - To: mail-server@rtfm.mit.edu (for US, Canada & South America) - Enter only this line in the BODY of the note: - send usenet/news.answers/internet-services/access-via-email - - To: mailbase@mailbase.ac.uk (for Europe, Asia, etc.) - Enter only this line in the BODY of the note: - send lis-iis e-access-inet.txt - ------------------------------- - -Date: November 24, 1996 -Subject: Q2.4 -- How do I access comp.mail.sendmail by email? - - Send email to <mxt@dl.ac.uk> with the command "sub -comp-news.comp.mail.sendmail full-US-ordered-email-address" as -the body of the message (with your correct address in place of the -"full-US-ordered-email-address", and omitting the double quotes in -all cases of this example). - - E-mail you want posted on comp.mail.sendmail should be sent to -<comp-mail-sendmail@dl.ac.uk> - ------------------------------- - -Date: March 23, 1996 -Subject: Q2.5 -- Where can I ask email-related DNS questions? - - Depending on how deeply they get into the DNS, they can be asked -here. However, you'll probably be told that you should send them to -the Usenet newsgroup <news:comp.protocols.tcp-ip.domains> (DNS in -general) or to the Info-BIND mailing list (if the question is specific -to that program). - ------------------------------- - -Date: May 23, 1996 -Subject: Q2.6 -- How can I subscribe to these? - - For <news:comp.protocols.tcp-ip.domains>, you have to be on -Usenet. They don't have a news-to-mail gateway yet (I'm working on -this), but they do have a FAQ, and it can be found at -<ftp://ftp.njit.edu/pub/dns/Comp.protocols.tcp-ip.domains.FAQ>. - - Questions from all levels of experience can be found on this -newsgroup (as well as people to answer them), so don't be shy about -asking a question you think may be too simple. - - - For the Info-BIND mailing list, send email to -<bind-request@vix.com> with and empty subject (it gets ignored) and -the command "subscribe" as the body of the message. Submissions -should be sent to <bind@vix.com>. - - Note that this list is now moderated, and anything you post to it -may get material added, deleted, or changed by the moderator. He -reserves the right to reject any postings (and possibly unsubscribe -the poster), if he deems them inappropriate. - ------------------------------- - -Date: May 23, 1996 -Subject: Q2.7 -- Which version of sendmail should I run? - - If you're concerned at all about the security of your machines, -you should make sure you're at least running a recent release of -version 8 sendmail (either from your vendor or the public version -detailed in 1.8). - - Check the CERT Alerts and Summaries (details in 1.13) to make sure -that you're running a version that is free of known security holes. -Just because the sendmail program provided by your vendor isn't list -doesn't mean that you're not vulnerable, however. If your particular -vendor or version isn't listed, check with your vendor and on the -appropriate Internet mailing lists and Usenet newsgroups to verify. - - If nothing else, the most recent public version is usually a -pretty good bet, although you should check <news:comp.mail.sendmail> -to see if anyone has posted recent comments that haven't yet been -folded into a new release. - - - That said, you need to look at what the primary function is for -the machine. If its primary function is to run some CAD/CAM package -on the desk of an Engineer, then there's probably not much sense in -replacing the vendor-supplied version of sendmail (assuming it's -secure, according to the CERT Alerts and Summaries). Just set the -machine up to forward all outbound mail to a central mail relay, and -then worry about making that central mail relay the best it can be. -Also arrange to have all their inbound mail pass through a central -Mail eXchanger (probably the same machine as the central Mail Relay), -for the same reasons. - - - If the primary function for a machine is to act as that central -Mail Relay/Mail eXchanger, then I *strongly* recommend the best -version of sendmail you can get, and in my opinion that is the latest -release of version 8. IDA sendmail is also pretty good, but virtually -everything it does, version 8 does better, and version 8 has the -additional advantage of having continued development as well. On a -central mailhub, recent versions of IDA sendmail are the oldest -sendmail that I'd even consider leaving in place instead of replacing -with version 8. - - However, keep in mind that version 8 still hasn't been ported (so -far as we know) to some of the older (and perhaps more esoteric) -platforms, and if you're stuck using one of them, you may not have -much choice. - - - Recently, some vendors have started shipping (or announced that -they will soon ship) version 8 sendmail pre-configured for their -machines. Unfortunately, in most cases this means you get a -pre-compiled binary and a sendmail.cf file (that may need a bit of -tweaking), but not much else of the "standard" version 8 sendmail -installation kit. Silicon Graphics (SGI) is known to already be -shipping version 8 sendmail in this fashion, and both Hewlett-Packard -and Sun Microsystems have announced that they soon will be (Sun has a -patch today that can be applied to upgrade many machines to an older -release of version 8 sendmail). - - This may be suitable for desktop machines forwarding all their -mail to a central Mail Relay and receiving all their mail from a -central Mail eXchanger, but I personally believe that this is not -likely to be suitable for the central Mail Relay/Mail eXchanger -itself. In that case, I recommend you get and install the latest -version and get the m4 macros, the on-line documentation, the source -code, etc.... - ------------------------------- - -Date: January 21, 1997 -Subject: Q2.8 -- What is the latest release of sendmail? - - For version 8 sendmail, there are three release trees. - - For those people who, for whatever reason, are unable or -unwilling to upgrade to version 8.8.z, releases of version 8.6 and -8.7 sendmail are still available. As of this writing, the most -recent release of version 8.6 sendmail is 8.6.13, and the most -recent release of version 8.7 sendmail is 8.7.6. - - For the most recent releases of 8.6 and 8.7 sendmail, there is a -version number difference between the sendmail program itself and the -associated configuration files. This is okay. The security-related -bug fixes that were made only required changes to the sendmail -program itself and not the configuration files, so only the version -number of the sendmail program itself was incremented. - - - The most recent release of version 8.8 sendmail is 8.8.5. - - On machines exposed directly to the Internet, you should either -already be running 8.8.5 sendmail or plan on upgrading to it in the -immediate future. This release is considered "mature", has security -fixes included that will not be found in any previous release, and -therefore supercedes all previous releases. - - There is no further support for previous releases of sendmail. - ------------------------------- - -Date: January 21, 1997 -Subject: Q2.9 -- Where can I find it? - - By anonymous FTP from ftp.sendmail.org in /pub/sendmail, or (in -URL form) via <ftp://ftp.sendmail.org/pub/sendmail/>. If you care, -there should be files in this directory that end with the extension -".sig" which you can check with PGP to make sure that corresponding -archives haven't been modified. You'll need to have the PGP key -of Eric Allman on your public keyring to be able to verify these -archives with their associated .sig files. - - Current releases of sendmail can also be found at -<ftp://ftp.cs.berkeley.edu/ucb/src/sendmail/>. - - There are no other known official version 8 sendmail mirrors. - - - Check the sendmail home page at <http://www.sendmail.org/> for -late-breaking updates and other useful information. - - If you want to be notified regarding future updates to sendmail -and other items of potential interest, you may want to subscribe -to the sendmail-announce mailing list. Address your subscription -requests to "majordomo@lists.sendmail.org" with "subscribe -sendmail-announce" as the body of the message. - ------------------------------- - -Date: March 23, 1996 -Subject: Q2.10 -- What are the differences between Version 8 and - other versions? - - See doc/changes/changes.{me,ps} in the distribution. See also -RELEASE_NOTES at the top level. - ------------------------------- - -Date: March 24, 1997 -Subject: Q2.11 -- What is BIND and where can I get the latest version? - - BIND stands for "Berkeley Internet Name Daemon", and is the -Internet de-facto standard program for turning host names into IP -addresses. - - The BIND Home Page is at <http://www.isc.org/bind.html>, which -provides pointers to the most recent release of BIND. Note that -BIND 4.9.5-P1 is the most recent "production version", and BIND -8.1 (the next major release; skipping 5.x-7.x) is a "release -candidate" as of version 8.1T3B. See the BIND 8.1T3B announcement -at <ftp://ftp.isc.org/isc/bind/src/testing/t3b-ann.asc> for more -information. - - - Note that there are bugs in older resolver libraries, which can -cause problems getting to large sites (that list more than five IP -addresses for a particular name), or represent a huge security hole -as they do not check the returned data to see if it will fit in the -amount of space pre-allocated for it. - - If at all possible, you should get the most recent "release" -version of BIND and make a serious attempt to integrate it into -your configuration, since virtually all vendor-provided resolver -libaries are woefully out of date. - ------------------------------- - -Date: March 24, 1997 -Subject: Q2.12 -- What's the best platform for running sendmail? - - Generally speaking, I adhere to the old axiom that you should -choose what software you want to run first, then choose the platform -(hardware and OS) that best runs this software. By this token, if -sendmail is the software, then a recent version of BSD Unix would -probably be best, since sendmail was developed at UC Berkeley on -BSD Unix. FreeBSD and BSD/OS are two known implementations of -BSD Unix for Intel-based PC's (among other hardware platforms), -and this would make them the most "native" OSes for sendmail. -FreeBSD is freely available by anonymous ftp or on CD-ROM, and -BSD/OS is a commercial product. - - However, not everyone has this kind of "luxury". If you're on a -homogenous network (i.e., completely composed of only one type of -hardware and OS), then you should probably be running the same OS as -the rest of the machines on the network, regardless of the axiom -stated above. You may have other problems, but you should at least be -able to get some local support on the OS for your machine. - - - Either way, if the primary function of the machine is to handle -"large" quantities of mail (for whatever value you define "large" -to be), I strongly recommend getting the latest stable release of -version 8 sendmail. - - On the other hand, if the primary function of the machine is -to sit on some Engineer's desk and do CAD, then it may be easier -for you to leave the vendor-supplied version of sendmail on that -machine (after suitable configuration), and instead concentrate -your efforts on making the central mail handling machine(s) as -robust and capable as they can be. - - However, you may be surprised to find that it is easier -for you to support only one version of sendmail across all the -various platforms than it is to try and support multiple versions of -sendmail, each unique for their particular platform. In that case, -the easy solution is to put version 8 sendmail everywhere, and not -have to worry about vendor-specific problems with older versions. - - - For more information on BSD Unix in general, see the Usenet -newsgroups under <news:comp.unix.bsd>, <news:comp.bugs.4bsd>, -<news:comp.os.386bsd>. For more information on BSD/OS, see the BSD -newsgroups mentioned above, or the BSD/OS Home Page at -<http://www.bsdi.com/>. For more information on FreeBSD, see the -Usenet newsgroups under <news:comp.unix.bsd.freebsd>, or the FreeBSD -Home Page at <http://www.freebsd.org/>. - ------------------------------- - -Date: July 9, 1996 -Subject: Q2.13 -- What is smrsh and where can I get it? - - From <ftp://info.cert.org/pub/tools/smrsh/README>: - - smrsh is a restricted shell utility that provides the ability - to specify, through a configuration, an explicit list of - executable programs. When used in conjunction with sendmail, - smrsh effectively limits sendmail's scope of program execution - to only those programs specified in smrsh's configuration. - - smrsh has been written with portability in mind, and uses - traditional Unix library utilities. As such, smrsh should - compile on most Unix C compilers. - -The purpose for restricting the list of programs that can be executed -in this manner is to keep mail messages (either through an alias or -the .forward file in a user's home directory) from being sent to -arbitrary programs which are not necessarily known to be sufficiently -paranoid in checking their input, and can therefore be easily -subverted (this is related to, but different from, the /etc/shells -feature discussed in Q3.11). - - More information regarding the CERT-CC can be found at their web -site, <http://www.cert.org>. For more information on CERT Alerts and -CERT Summaries, see <ftp://info.cert.org/pub/cert_advisories/> and -<ftp://info.cert.org/pub/cert_summaries/>, respectively. - - - You can find smrsh in the most recent sendmail source archive, as -well as <ftp://info.cert.org/pub/tools/smrsh/>. Other very useful -programs can be found in <ftp://info.cert.org/pub/tools/>. - ------------------------------- - -Date: July 5, 1996 -Subject: Q2.14 -- What is smap and where can I get it? - - Smap (and smapd) are tools out of the Trusted Information Systems -(TIS) Firewall Toolkit (fwtk). They were originally written by -firewall expert Marcus Ranum under contract to TIS, and TIS is -continuing what maintenance there is. The toolkit may be found at -<ftp://ftp.tis.com/pub/firewalls/toolkit/>. Support questions -regarding the toolkit may be sent to <mailto:fwall-support@tis.com>, -while you may join their mailing list <mailto:fwall-users@tis.com> by -sending electronic mail to <mailto:fwall-users-request@tis.com>. - - - The concept of smap and smapd is that sendmail is a huge, -monolithic setuid root program that is virtually impossible to verify -as being "correct" and free from bugs (historically, sendmail has been -rather buggy and an easy mark for system crackers to exploit, although -with the advent of version 8 sendmail, this becomes much more -difficult). In contrast, smap and smapd are very small (only a few -hundred lines long), and relatively easy to verify as being correct -and functioning as designed (however, as you will see later, we can -question their design). According to the theory, it is therefore -safer and "better" to run smap and smapd as "wrappers" around -sendmail, which would no longer need to be run setuid root. - - Unfortunately, smap and smapd have a few problems of their -own, and don't appear to have been updated since late March 1996. -There have been conflicting reports of incompatibilities between -smapd and sendmail 8.7.y (both cannot be run on the same machine, -although if you're running sendmail 8.6.x and smap/smapd on the -local machine, people on the outside can still use sendmail 8.7.y -to talk to you). - - For further information on smap and smapd, see the documentation -that comes with the TIS Firewall Toolkit. - - - For more information on firewalls, see the Firewalls FAQ at -<http://www.v-one.com/newpages/faq.htm>. - ------------------------------- - -Date: January 21, 1996 -Subject: Q2.15 -- What is TCP-Wrappers and where can I get it? - - TCP-Wrappers is another security enhancement package. The theory -is that you take programs being run under inetd (see /etc/inetd.conf) -and before you run the program to do the real work (ftpd, telnetd, -etc...), you first run the connection attempt through a package that -checks to see if the IP address of the source packet is coming from a -host known to be either good or bad (you may filter connection -attempts by source host name, domain name, raw IP address, port they -are attempting to connect to; and either allow known good connections -through thus refusing unknown connections, or accept all connections -except those known to be bad). - - The practice of TCP-Wrappers actually follows the theory -quite well. It is a very useful and important tool in the System -Administrator's Bag of Things To Help You Secure Your Machine ->From Crackers, Spammers, Junkmailers, and Other Undesirables. -However, it only works for programs that communicate via TCP packets -(not UDP, such as NFS) started up out of inetd. It does not work -for RPC-based services, and programs that start up a daemon outside -of inetd and just leave it running obviously don't benefit beyond -the initial connection that gets the daemon started (however, see -the FTP URL below for other packages that can help secure RPC and -portmapper-based services). - - However, most sendmail installations tend to start up a daemon and -leave it running at all times. If you did run sendmail out of inetd, -you'd lose the benefit of the load average checking code that is -executed only in daemon mode, and for systems that handle a lot of -mail, this is vitally important. - - You can get TCP-Wrappers from -<ftp://ftp.win.tue.nl/pub/security/>, a site that has -a whole host of other useful security tools, such as -securelib, portmap, satan, cops, crack, etc... You can -also find pointers to many other useful security tools at -<http://ciac.llnl.gov/ciac/SecurityTools.html>, and the COAST Archive -at <http://www.cs.purdue.edu/homes/spaf/hotlists/csec.html> is a -veritable cornucopia of all things security related. The SANS 1996 -Network Security Roadmap at <http://www.sans.org/roadmap.html> has -much useful information and pointers to many other useful resources. - - - For the adventurous, you can get a source patch for version -8 sendmail (created for 8.7.6, but with work, applicable to older -releases) that will take the core TCP-Wrappers code and integrate -it into the daemon, so that you get the best of both worlds. -However, this isn't as smoothly integrated as it should be, is not -for the faint-of-heart, and is certainly not officially supported -by the orginal author of sendmail (Eric Allman). This functionality -is integrated in a different fashion into version 8.8.5 sendmail. - - You should be able to find the unsupported patch at -<ftp://ftp.win.tue.nl/pub/security/sendmail-tcpd.patch>. - ------------------------------- - -Date: November 24, 1996 - -Subject: Q2.16 -- Why won't db 1.85 build for my SGI running Irix - >= 5.2? - - The db 1.85 package as available from ftp.cs.berkeley.edu -provides Irix support up to Irix 4.05F, but 5.{2,3} need a slightly -patched version. Some vendors also provide db standard with their OS -(DEC Unix 4.0, for example). - - A tarball incorporating these changes is available at -<ftp://ftp.his.com/pub/brad/sendmail/irix5.tar.gz>. This will -extract into ./db.1.85/PORT/irix.5.2, with a symbolic link -created from ./db.1.85/PORT/irix.5.3 to this same directory. -Make sure you extract this archive into the same directory -where you extracted the db 1.85 archive as available from -ftp.cs.berkeley.edu. (see Q3.5 for more information on getting -the db 1.85 package). An ASCII context diff of this same patch is -at <ftp://ftp.his.com/pub/brad/sendmail/irix4-5.diff>. - - A version of db 1.85 that has been supposedly patched -to compile under Irix 6.2 has been made available at -<http://reality.sgi.com/ariel/db-1.85-irix.tar.Z>, but I haven't -had a chance to download and check it out yet. - ------------------------------- - -Date: August 30, 1996 - -Subject: Q2.17 -- What is makemap and where can I get it? - - The program "makemap" is used to build the databases used by -version 8 sendmail, for things like the UserDB, mailertables, -etc.... - - It is distributed as part of the basic Operating System from -some vendors, but source code for it is also included at the root -level of the sendmail archive (at least, it is for sendmail 8.6.12 -and 8.7.5, and presumably will continue to be as newer releases come -out). However, it is not considered a "supported" part of version -8 sendmail. Just like the other source provided in the archive, -the Makefile will likely need some tweaking for your specific site. - - It turns out that Irix 5.3 doesn't appear to have the dbm or -ndbm libraries, but to compile makemap.c, you need to have -DNDBM -on the "DBMDEF=" line (some necessary things are defined only -in /usr/include/ndbm.h). Try just leaving off "-lndbm" from the -"LIBS=" line in the Makefile for makemap. - - If you plan on using makemap with db 1.85 on an SGI machine -running a version of Irix later than 4.x, see Q2.16 for some -additional steps to get db 1.85 compiled on your machine. - ------------------------------- - -Date: May 28, 1996 -Subject: Q3.1 -- How do I make all my addresses appear to be from a - single host? - - Using the m4 macros, use: - - MASQUERADE_AS(my.dom.ain) - - This will cause all addresses to be sent out as being from the -indicated domain. - - On your mailhub/mailhost/Domain Mail eXchanger, you may need to -add "my.dom.ain" to the sendmail.cw file or the "Cwhost.my.dom.ain" -line in the sendmail.cf file. - - If you're using version 8.7 sendmail, and you want to hide this -information in the envelope as well as the headers, use: - - FEATURE(masquerade_envelope) - ------------------------------- - -Date: January 24, 1996 -Subject: Q3.2 -- How do I rewrite my From: lines to read - ``First_Last@My.Domain''? - - There are a couple of ways of doing this. This describes using -the "user database" code. This is still experimental, and was -intended for a different purpose -- however, it does work with a bit -of care. It does require that you have the Berkeley "db" package -installed (it won't work with DBM). - - First, create your input file. This should have lines like: - - loginname:mailname First_Last - First_Last:maildrop loginname - - If your login name is "john" and your full name is "John Q. -Public", then this would be: - - john:mailname John_Q_Public@your.domain.goes.here - John_Q_Public:maildrop john - - The words "mailname" and "maildrop" must be typed in literally, -just as they appear. - - - Install this file in (say) /etc/userdb. Create the database: - - makemap -d btree /etc/userdb.db < /etc/userdb - - You can then create a config file that uses this. You will have -to include the following in your .mc file: - - define(confUSERDB_SPEC, /etc/userdb.db) - FEATURE(notsticky) - - Version 8.7 sendmail changes the semantics of this feature such -that notsticky is turned on by default, and if you want the old (8.6) -behaviour, you instead define: - - FEATURE(stickyhost) - - - You also need to make sure that you have the "ik" flags specified -on the affected mailer definition. - - - Note: The program "makemap" is discussed in further detail -in Q2.17. The UserDB feature is discussed further on pp. 643-645 -of _sendmail, 2nd Ed._ by Costales. - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.3 -- So what was the user database feature intended for? - - The intent was to have all information for a given user (where the -user is the unique login name, not an inherently non-unique full name) -in one place. This would include phone numbers, addresses, and so -forth. The "maildrop" feature is because Berkeley does not use a -centralized mail server (there are a number of reasons for this that -are mostly historic), and so we need to know where each user gets his -or her mail delivered -- i.e., the mail drop. - - UC Berkeley is (was) in the process of setting up their -environment so that mail sent to an unqualified "name" goes to that -person's preferred maildrop; mail sent to "name@host" goes to that -host. The purpose of "FEATURE(notsticky)" is to cause "name@host" to -be looked up in the user database for delivery to the maildrop. - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.4 -- Why are you so hostile to using full names for email - addresses? - - Because full names are not unique. For example, the computer -community has two Andy Tannenbaums and two Peter Deutsches. At one -time, Bell Labs had two Stephen R. Bournes with offices a few doors -apart. You can create alternative addresses (e.g., -Stephen_R_Bourne_2), but that's even worse -- which one of them has to -have their name desecrated in this way? And you can bet that one of -them will get most of the other person's email. - - So called "full names" are just an attempt to create longer -versions of unique names. Rather that lulling people into a sense of -security, I'd rather that it be clear that these handles are -arbitrary. People should use good user agents that have alias -mappings so that they can attach arbitrary names for their personal -use to those with whom they correspond (such as the MH alias file). - - Even worse is fuzzy matching in email -- this can make good -addresses turn bad. For example, Eric Allman is currently (to the -best of our knowledge) the only ``Allman'' at Berkeley, so mail sent -to <Allman@Berkeley.EDU> should get to him. But if another Allman -ever appears, this address could suddenly become ambiguous. He's been -the only Allman at Berkeley for over fifteen years -- to suddenly have -this "good address" bounce mail because it is ambiguous would be a -heinous wrong. - - Directory services should be as fuzzy as possible (within reason, -of course). Mail services should be unique. - ------------------------------- - -Date: November 24, 1996 -Subject: Q3.5 -- Where do I find this user database (UserDB) code? - - The user database code is part of the Sendmail V8 distribution. -However, it depends on your installing the db library from the -package at <ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz>. -If you install this library, edit the Makefile to include the -right option (-DNEWDB), and then make sendmail again, you get a -binary which has the database features described in the book and -the documentation provided in the sendmail source archive. - - If you're using SGI Irix above 4.x, see Q2.16 for the patches -you will need to get db 1.85 working on your machine. - ------------------------------- - -Date: July 19, 1996 -Subject: Q3.6 -- How do I get the user database to work with Pine or - with FEATURE(always_add_domain)? - - The basic incompatibility with Pine and the user database option -is in how Pine writes From addresses in the header. Most MUAs write -the From address as "From: user", while Pine, for reasons given in -its documentation, write the From address as "From: user@FQDN" -(FQDN=fully qualified domain name). Using the m4 feature macro -"always_add_domain" has the same effect. Because of this difference, -the user database does not rewrite these headers. - - One solution to this problem is to make the following change in -the sendmail.mc file compiled by m4 into your /etc/sendmail.cf (or -wherever your sendmail.cf file is located) after you have the user -database option installed and working with other MUAs: - - Early in the section(s) where you are setting configuration -variables, add the following: - - # Define our userdb file for FQDN rewrites - Kuserdb btree -o /etc/userdb.db - - And a bit later, before the "MAILER()" entries, but after other -configuration options have been set: - - LOCAL_RULE_1 - ######################################################## - ### Local Ruleset 1, rewrite sender header & envelope ## - ######################################################## - #Thanks to Bjart Kvarme <bjart.kvarme@usit.uio.no> - S1 - R$- $1 < @ $j . > user => user@localhost - R$- < @ $=w . > $* $: $1 < @ $2 . > $3 ?? $1 user@localhost ? - R$+ ?? $+ $: $1 ?? $(userdb $2 : mailname $: @ $) - R$+ ?? @ $@ $1 Not found - R$+ ?? $+ $>3 $2 Found, rewrite - - #NOTE ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ - # Use Tab Characters Use Tab Characters in these regions - # to make three columns (the line with "mailname" only has 2 columns). - - Now the user database should re-write messages sent with Pine or -anything else that causes local users to have their address be fully -qualified (both header and envelope sender will be properly -re-written). If this still does not work for you, try adding the -following to either the system-wide pine.conf, pine.conf.fixed, or -your personal .pinerc: - - user-domain=localhost - - This has been known to help solve the problem for some people. - - However, a more elegant (read: m4-based) solution for version 8 -sendmail users has yet to be created. - ------------------------------- - -Date: March 24, 1997 -Subject: Q3.7 -- How do I manage several (virtual) domains? - - If you want to provide mailservice to several domains and be able -to add identical names across different domains, as in this example: - - user@a.dom.ain mb1@dom.ain - user@b.dom.ain mb2@dom.ain - user@c.dom.ain mb@outer.space - - you may accomplish this by using an external database in -conjunction with minor Ruleset rewriting in sendmail.cf. Many ISPs -(Internet Service Providers) have asked me and here's a general -solution (you may combine it with userdb's if you need to): - - 1. Make a textfile (I usually make one for each domain and - concatenate them before database-compilation) with the - following structure: - - user@a.dom.ain mb1@dom.ain - user@b.dom.ain mb2@dom.ain - user@c.dom.ain mb@outer.space - - The LHS (Left Hand Side) is the mail-adress of a particular - user and the RHS is the corresponding mailbox. An example - that might apply to the real world: - - webmaster@josnet.se wm.list@eowyn.josnet.se - webmaster@client1.se joe@client1.se - webmaster@client2.se anne@another.provider.se - webmaster@client3.se joe@client3.se - joe@client1.se c1_joe@mail.josnet.se - joe@client3.se joeuser - - Note that you have to spell out the complete email-address in - the LHS entry. The RHS entry may be either a local address - (for example 'johan' if that account exists) or a complete - email-adress on another system (or a domain that the server - recognizes as local for that matter). - - 2. Compile the textfile into a database: - - makemap hash mbt.db <mbt - - You may you use other lookup-methods than hash (btree for - example). The resulting database is mbt.db in this example - and the input is the textfile mbt. - - 3. Add a few lines in sendmail.cf: - - A. In the beginning (typically in the "local info" section or - together with the user database option in the "options" - section): - - # Declare mbt as a hash-lookup database: - Kmbt hash /etc/mail/mbt.db - - B. In the Ruleset 98 (local part of ruleset 0) section, add: - - # Use mailboxtable-database: - R$+ < @ $+ . > $: $1 < @ $2 > . - R$+ < @ $+ > $* $: $(mbt $1@$2 $: $1 < @ $2 > $3 $) - R$+ < @ $+ > $* $: $(mbt $2 $: $1 < @ $2 > $3 $) - RERROR $* $#error $: $1 - R$+ < @ $+ > . $: $1 < @ $2 . > - - If you have any other rewrite rules in ruleset 98, these - should be able to either go after or before the existing - rules, but you may have to do some experimenting to - find out which placement works best. - - 4. The next-to-last line of these rules let you have an alias - file like: - - joe@somedom.com joe - jim@somedom.com jim@othersite - somedom.com ERROR "No such user" - - And still have mail addressed to unknown users at that domain - bounce properly. You can also do a form of redirects, such - as: - - fred@somedom.com ERROR "This user has moved to fred@otherdom.com" - - 5. Test with sendmail -bv and/or sendmail -bt - - 6. Restart sendmail. You must do this in order to have the - daemon reread the sendmail.cf. - - - Note: Alternate sets of instructions and/or kits -can be found at <http://www.westnet.com/providers>, -<http://hub.org/softdocs/Sendmail-VD>, -<ftp://samson.oslo.uninett.no/pub/unix/sendmail/>, and -<http://jos.net/projects/mbt/>. None of these have been tested -by the maintainer of this FAQ, but are believed to work correctly. -Which you use is a matter of your personal aesthetics. - - - If you're using version 8.8 sendmail, you can make use of the -new "virtual user table" feature (for one thing, it won't require -that you add new rewrite rules to your sendmail configuration, as -the previous example does). - - 1. Put "FEATURE(virtusertable)" in your sendmail.mc - file. - - 2. By default, sendmail will build tables out of - /etc/virtusertable. If you want to change this, put - something like: - - define(`VIRTUSER_TABLE', `-o hash /usr/local/lib/virtusertable')dnl - - in your sendmail.mc file. - - 3. Construct the virtusertable file like so: - - info@foo.com foo-info - info@bar.com bar-info - @baz.org jane@elsewhere.net - @somedom.com error : 5.5.0 User unknown - - (Contrast with steps 1 and 4 in the previous example - using regular mailertables). - - 4. Compile the textfile into a database: - - makemap hash /etc/virtusertable.db </etc/virtusertable - - You may you use other lookup-methods than hash (btree - for example). Make sure that this database type matches - what is defined for the table in step 2. - - 5. Put all the domains listed on the LHS of these aliases - in your sendmail.cw file, or on the Cw line in your - sendmail.cf. - - 6. Recompile your sendmail.cf from your sendmail.mc and - test it. - - 7. Once you are satisfied, move it into place and restart - sendmail. - - - Note that the virtusertable is only referenced for inbound -mail (more accurately, only for controlling delivery). If you -want to rewrite mail addresses from your virtual domain users as -they pass through your system, you'll also need to make comparable -modifications to the genericstable (used for rewriting). - ------------------------------- - -Date: July 9, 1996 -Subject: Q3.8 -- There are four UUCP mailers listed in the - configuration files. Which one should I use? - - The choice is partly a matter of local preferences and what is -running at the other end of your UUCP connection. Unlike good -protocols that define what will go over the wire, UUCP uses the policy -that you should do what is right for the other end; if they change, -you have to change. This makes it hard to do the right thing, and -discourages people from updating their software. In general, if you -can avoid UUCP, please do. - - If you can't avoid it, you'll have to find the version that is -closest to what the other end accepts. Following is a summary of the -UUCP mailers available. - - uucp-old (obsolete name: "uucp") - This is the oldest, the worst (but the closest to UUCP) way of - sending messages across UUCP connections. It does bangify - everything and prepends $U (your UUCP name) to the sender's - address (which can already be a bang path itself). It can only - send to one address at a time, so it spends a lot of time - copying duplicates of messages. Avoid this if at all possible. - - uucp-new (obsolete name: "suucp") - The same as above, except that it assumes that in one rmail - command you can specify several recipients. It still has a lot - of other problems. - - uucp-dom - This UUCP mailer keeps everything as domain addresses. - Basically, it uses the SMTP mailer rewriting rules. - - Unfortunately, a lot of UUCP mailer transport agents require - bangified addresses in the envelope, although you can use - domain-based addresses in the message header. (The envelope - shows up as the From_ line on UNIX mail.) So.... - - uucp-uudom - This is a cross between uucp-new (for the envelope addresses) - and uucp-dom (for the header addresses). It bangifies the - envelope sender (From_ line in messages) without adding the - local hostname, unless there is no host name on the address at - all (e.g., "wolf") or the host component is a UUCP host name - instead of a domain name ("somehost!wolf" instead of - "some.dom.ain!wolf"). - - Examples: - - We are on host grasp.insa-lyon.fr (UUCP host name "grasp"). The - following summarizes the sender rewriting for various mailers: - - Mailer sender rewriting in the envelope - ------ ------ ------------------------- - uucp-{old,new} wolf grasp!wolf - uucp-dom wolf wolf@grasp.insa-lyon.fr - uucp-uudom wolf grasp.insa-lyon.fr!wolf - - uucp-{old,new} wolf@fr.net grasp!fr.net!wolf - uucp-dom wolf@fr.net wolf@fr.net - uucp-uudom wolf@fr.net fr.net!wolf - - uucp-{old,new} somehost!wolf grasp!somehost!wolf - uucp-dom somehost!wolf somehost!wolf@grasp.insa-lyon.fr - uucp-uudom somehost!wolf grasp.insa-lyon.fr!somehost!wolf - - - If your only contact with the external world is through UUCP, -you'll probably want to recompile sendmail with support for DNS turned -off (if your host architecture supports a service switch file that -sendmail understands, it will use the service switch however you've -got it configured, even if you've compiled sendmail with DNS support -turned off, so make sure the service switch file is also properly -configured). - - Using "FEATURE(nodns)" probably won't completely satisfy you, as -more recent releases of version 8 sendmail really, REALLY, want to -know what their canonical hostname is, and will go to great lengths to -figure this out from the DNS. But if you don't have any nameservers, -this can obviously add significant amounts of time to process startup -as sendmail repeatedly tries (and fails) to find this information. It -then becomes doubly important to have the proper Fully Qualified -Domain Name (FQDN) listed first in your /etc/hosts file or in the file -used to build your NIS/NIS+ table (or whatever you use). - - For more information on "FEATURE(nodns)", see the RELEASE_NOTES -file for sendmail versions 8.7.1 and later (search for "FQDN"), as -well as _sendmail_, page 741 (page reference correct as of first -edition, first printing). - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.9 -- How do I fix "undefined symbol inet_aton" and - "undefined symbol _strerror" messages? - - You've probably replaced your resolver with the version from BIND -4.9.3. You need to compile with -l44bsd in order to get the -additional routines. - ------------------------------- - -Date: March 24, 1997 -Subject: Q3.10 -- How do I solve "collect: I/O error on connection" - errors? - - There is nothing wrong. This is just a diagnosis of a condition -that had not been diagnosed before. If you are getting a lot of these -from a single host, there is probably some incompatibility between 8.x -and that host. If you get a lot of them in general, you may have -network problems that are causing connections to get reset. - - Note that if you are using PPP and the MTU on your end does -not match what your service provider has configured, you may see -these problems. Discuss with your service provider what the MTU -should be set to, and correct if there is a mismatch. - ------------------------------- - -Date: July 9, 1996 -Subject: Q3.11 -- Why can't my users forward their mail to a program? - - I just upgraded to version 8 sendmail and now when my users try to -forward their mail to a program they get an "illegal shell" or "cannot -mail to programs" message and their mail is not delivered. What's -wrong? - - In order for people to be able to run a program from their -.forward file, version 8 sendmail insists that their shell (that is, -the shell listed for that user in the passwd entry) be a "valid" -shell, meaning a shell listed in /etc/shells. If /etc/shells does not -exist, a default list is used, typically consisting of /bin/sh and -/bin/csh. - - This is to support environments that may have NFS-shared -directories mounted on machines on which users do not have login -permission. For example, many people make their file server -inaccessible for performance or security reasons; although users have -directories, their shell on the server is /usr/local/etc/nologin or -some such. If you allowed them to run programs anyway you might as -well let them log in. - - If you are willing to let users run programs from their .forward -file even though they cannot telnet or rsh in (as might be reasonable -if you run smrsh to control the list of programs they can run) then -add the line: - - /SENDMAIL/ANY/SHELL/ - -to /etc/shells. This must be typed exactly as indicated, in caps, -with the trailing slash. - -NOTA BENE: DO NOT list /usr/local/etc/nologin in /etc/shells -- this -will open up other security problems. - - - IBM AIX does not use /etc/shells -- a list of allowable login -shells is contained, along with many other login parameters, in -/etc/security/login.cfg. You can copy the information in the -"shells=" stanza into a /etc/shells on your system so sendmail will -have something to use. Do NOT add "/usr/lib/uucp/uucico" or any other -non-login shell into /etc/shells. - - Also note that there are some weird things that AFS throws into -the mix, and these can keep a program from running or running -correctly out of .forward files or the system-wide aliases. - - - See also "smrsh" in Q2.13. - ------------------------------- - -Date: November 24, 1996 -Subject: Q3.12 -- Why do connections to the SMTP port take such a - long time? - - I just upgraded to version 8 sendmail and suddenly connections to -the SMTP port take a long time. What is going wrong? - - It's probably something weird in your TCP implementation that -makes the IDENT code act oddly. On most systems version 8 sendmail -tries to do a ``callback'' to the connecting host to get a validated -user name (see RFC 1413 for detail). If the connecting host does not -support such a service it will normally fail quickly with "Connection -refused", but certain kinds of packet filters and certain TCP -implementations just time out. - - To test this (pre-8.7.y sendmail), set the IDENT timeout to zero -using: - - define(`confREAD_TIMEOUT',`Ident=0')dnl - -in the .mc file used by m4 to generate your sendmail.cf file. -Alternatively, if you don't use m4, you can put ``OrIdent=0'' in the -configuration file (we recommend the m4 solution, since that makes -maintenance much easier for people who don't understand sendmail -re-write rules, or after you've been away from it for a while). -Either way, this will completely disable all use of the IDENT -protocol. - - For version 8.7.y sendmail (and above), you should instead use: - - define(`confTO_IDENT',`0s')dnl - - - Another possible problem is that you have your name server and/or -resolver configured improperly. Make sure that all "nameserver" -entries in /etc/resolv.conf point to functional servers. If you are -running your own server, make certain that all the servers listed in -your root cache are up to date (this file is usually called something -like "/var/namedb/root.cache"; see your /etc/named.boot file to get -your value). Either of these can cause long delays. - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.13 -- Why do I get "unknown mailer error 5 -- mail: - options MUST PRECEDE recipients" errors? - - I just upgraded to version 8 sendmail and suddenly I get errors -such as ``unknown mailer error 5 -- mail: options MUST PRECEDE -recipients.'' What is going wrong? - - You need OSTYPE(systype) in your .mc file, where "systype" is set -correctly for your hardware & OS combination -- otherwise the -configurations use a default that probably disagrees with your local -mail system. See cf/README for details. - - If this is on a Sun workstation, you might also want to take a -look at the local mailer flags in the Sun-supplied sendmail.cf and -compare them to the local mailer flags generated for your version 8 -sendmail.cf. If they differ, you might try changing the V8 flags to -match the Sun flags. - ------------------------------- - -Date: March 24, 1996 -Subject: Q3.14 -- Why does version 8 sendmail panic my SunOS box? - - Sendmail 8.7.y panics SunOS 4.1.3_U1 (at least for 1<=y<=3) -and SunOS 4.1.3, and sendmail 8.6.x seems fine on both machines (at -least for 9<=x<=12). - - The problem is that a kernel patch is missing, specifically -100584-08 (4.1.3), 102010-03 (4.1.3_U1), or 102517 (4.1.4). -This should be available from your hardware vendor through your -support contract or their online support facilities (including -being available on the SunSolve CD). - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.15 -- Why does the "From " header gets mysteriously - munged when I send to an alias? - - ``It's not a bug, it's a feature.'' This happens when you have a -"owner-list" alias and you send to "list". V8 propagates the owner -information into the envelope sender field (which appears as the "From -" header on UNIX mail or as the Return-Path: header) so that -downstream errors are properly returned to the mailing list owner -instead of to the sender. In order to make this appear as sensible as -possible to end users, I recommend making the owner point to a -"request" address -- for example: - - list: :include:/path/name/list.list - owner-list: list-request - list-request: eric - - This will make message sent to "list" come out as being "From -list-request" instead of "From eric". - ------------------------------- - -Date: November 24, 1996 -Subject: Q3.16 -- Why doesn't MASQUERADE_AS (or the user database) - work for envelope addresses as well as header addresses? - - Believe it or not, this is intentional. The interpretation of the -standards by the version 8 sendmail development group was that this -was an inappropriate rewriting, and that if the rewriting were -incorrect at least the envelope would contain a valid return address. - - - If you're using version 8.7.y sendmail (or later), you can use - - FEATURE(masquerade_envelope) - - in your sendmail.mc file to change this behaviour. - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.17 -- How do I run version 8 sendmail and support the - MAIL11V3 protocol? - - Get the reimplementation of the mail11 protocol by Keith Moore -from <ftp://gatekeeper.dec.com/pub/DEC/gwtools/> (with contributions -from Paul Vixie). - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.18 -- Why do messages disappear from my queue unsent? - - When I look in the queue directory I see that qf* files have been -renamed to Qf*, and sendmail doesn't see these. What's wrong? - - If you look closely you should find that the Qf files are owned by -users other than root. Since sendmail runs as root it refuses to -believe information in non-root-owned qf files, and it renames them to -Qf to get them out of the way and make it easy for you to find. The -usual cause of this is twofold: first, you have the queue directory -world writable (which is probably a mistake -- this opens up other -security problems) and someone is calling sendmail with an "unsafe" -flag, usually a -o flag that sets an option that could compromise -security. When sendmail sees this it gives up setuid root -permissions. - - The usual solution is to not use the problematic flags. If you -must use them, you have to write a special queue directory and have -them processed by the same uid that submitted the job in the first -place. - ------------------------------- - -Date: March 23, 1996 -Subject: Q3.19 -- When is sendmail going to support RFC 1522 MIME - header encoding? - - This is considered to be a MUA issue rather than an MTA issue. - -Quoth Eric Allman: - - The primary reason is that the information necessary to - do the encoding (that is, 8->7 bit) is unknown to the MTA. - In specific, the character set used to encode names in headers - is _NOT_ necessarily the same as used to encode the body - (which is already encoded in MIME in the charset parameter - of the Content-Type: header). Furthermore, it is perfectly - reasonable for, say, a Swede to be living and working in Korea, - or a Russian living and working in Germany, and want their - name to be encoded in their native character set; it could - even be that the sender was Japanese, the recipient Russian, - and the body encoded in ISO 8859-1. If all I have are 8-bit - characters, I can't choose the charset properly. - - Similarly, when doing 7->8 bit conversions, I don't want - to throw away this information, as it is necessary for proper - presentation to the end user. - ------------------------------- - -Date: January 17, 1997 -Subject: Q3.20 -- Why can't I get mail to some places, but - instead always get the error "reply: read error from - name.of.remote.host"? - - This is usually caused by a bug in the remote host's mail server, -or Mail Transport Agent (MTA). The "EHLO" command of ESMTP causes -the remote server to drop the SMTP connection. There are several -MTAs that have this problem, but one of the most common server -implementations can be identified by the "220 All set, fire away" -greeting it gives when you telnet to its SMTP port. - - To work around this problem, you can configure sendmail to use -a mailertable with an entry telling sendmail to use plain SMTP when -talking to that host: - - name.of.remote.host smtp:name.of.remote.host - - - Sites which must run a host with this broken SMTP implemetation -should do so by having a site running sendmail or some other -reliable (and reasonably modern) SMTP MTA act as an MX server for -the problem host. - - - There is also a problem wherein some TCP/IP implementations -are broken, and if any connection attempt to a remote end gets a -"connection refused", then *all* connections to that site will -get closed. Of course, if you try to use the IDENT protocol across -a firewall (at either end), this is highly likely to result in the -same apparent kind of "read error". - - The fix is simple -- on those machines with broken TCP/IP -implementations, do not attempt to use IDENT. When compiling newer -releases of version 8 sendmail, the compiler should automatically -detect whether you're on a machine that is known to have this kind -of TCP/IP networking problem, and make sure that sendmail does -not attempt to use IDENT. If you've since patched your machine so -that it no longer has this problem, you'll need to go back in and -explicitly configure sendmail for support of IDENT, if you want -that feature. - ------------------------------- - -Date: January 17, 1996 -Subject: Q3.21 -- Why doesn't "FEATURE(xxx)" work? - - When creating m4 Master Config (".mc") files for version 8 -sendmail, many "FEATURE()" macros simply change the definition of -internal variables that are referenced in the "MAILER()" definitions. - - To make sure that everything works as desired, you need to -make sure that "OSTYPE()" macros are put at the very beginning -of the file, followed by "FEATURE()" and "HACK()" macros, local -definitions, and at the very bottom, the "MAILER()" definitions. - ------------------------------- - -Date: March 24, 1997 -Subject: Q3.22 -- How do I configure sendmail to not use DNS? - - In situations where you're behind a firewall, or across a -dial-up line, there are times when you need to make sure that -programs (such as sendmail) do not use the DNS at all. - - - With version 8.8, you change the service switch file to omit -"DNS" and use only NIS, files, and other map types as appropriate. - - With previous releases of version 8 sendmail, you need to -recompile the binary and make sure that "NAMED_BIND" is turned off -in src/conf.h. - - - Note that you'll need to forward all your outbound mail to -another machine as a "relay" (one that does use DNS, and understands -how to properly use MX records, etc...), otherwise you won't be able -to get mail to any site(s) other than the one(s) you configure in -your /etc/hosts file (or whatever). - ------------------------------- - -Date: March 24, 1997 -Subject: Q3.23 -- How do I get all my queued mail delivered to my - Unix box from my ISP? - - Assuming you're running sendmail or some other SMTP MTA on -some sort of a Unix host, and your ISP uses version 8.8 sendmail -and they queue all mail for your domain (as opposed to stuffing it -all in one file that you need to download via POP3 or somesuch), -something like the following script should do the trick: - - #!/bin/sh - telnet mail.myisp.com. 25 < __EOF__ - EHLO me.mydomain.com - ETRN mydomain.com - QUIT - __EOF__ - - - Note that this is indented for readability, and the real script -would have column position #1 of the file be the first printable -character in each line. - - Of course, you'll have to fill in the appropriate details for -"mail.myisp.com", "mydomain.com", etc.... - - - If this script doesn't work, you may have problems with "here" -documents being fed as standard input to commands (like telnet). In -that case, you'll need to build a similar script using "expect". For -more information on expect, see <http://expect.nist.gov> and the book -"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive -Applications" (<http://www.ora.com/catalog/expect/noframes.html>). - - - If your ISP doesn't use version 8.8 sendmail, you may have to -cobble together alternative solutions. They may have a "ppplogin" -script that is executed every time your machines dials them up, and -if so, you may be able to have them modified this script so as to -put a "sendmail -qRmydomain.com" in it (which is effectively what -the "ETRN" command does, but in a safer fashion). - - Alternatively, they may have a hacked finger daemon, so -that you'd put "finger mydomain.com@theirhost.theirdomain.com" -in your script. Or, they may have some other solution for you. -However, only they would be able to answer what solutions they have -available to them. - - Obviously, the easiest and most "standard" solution is to have -them upgrade their system to the most recent stable release of -version 8.8 sendmail. - ------------------------------- - -Comments/updates should be sent to <sendmail-faq@etext.org>. - -Copyright 1996, by Brad Knowles, all rights reserved - -End of comp.mail.sendmail Frequently Asked Questions (FAQ), part 1 of 2 -*********************************************************************** diff --git a/debian/part2 b/debian/part2 deleted file mode 100644 index d91ab4d..0000000 --- a/debian/part2 +++ /dev/null @@ -1,1467 +0,0 @@ -Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!thetimes.pixel.kodak.com!news.kodak.com!news.sprintlink.net!news-pen-16.sprintlink.net!news.etcfiber.net!pjm-gate.pjm.com!dsinc!netnews.upenn.edu!news-xfer.netaxs.com!tezcat!cam-news-hub1.bbnplanet.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!newsxfer3.itd.umich.edu!newsxfer.itd.umich.edu!aanews.merit.net!branch.com!news.bizserve.com!news -From: brad@etext.org -Newsgroups: comp.mail.sendmail,comp.mail.misc,comp.answers,news.answers -Subject: comp.mail.sendmail Frequently Asked Questions (Part 2 of 2) -Followup-To: comp.mail.sendmail -Date: 27 Apr 1997 04:57:53 GMT -Organization: The ETEXT Archives -Lines: 1446 -Approved: news-answers-request@MIT.Edu -Distribution: world -Expires: 06/01/97 01:00:01 -Message-ID: <5jumch$i1l@kahuna.bizserve.com> -Reply-To: sendmail-faq@etext.org (Sendmail FAQ Maintainers) -NNTP-Posting-Host: locust.etext.org -Summary: This posting contains a list of Frequently Asked Questions - (and their answers) about the program "sendmail", distributed with - many versions of Unix. It should be read by anyone who wishes to - post to the Usenet newsgroup comp.mail.sendmail. -Keywords: sendmail mail SMTP FAQ -X-Posting-Frequency: posted on the 27th of each month -Xref: senator-bedfellow.mit.edu comp.mail.sendmail:43555 comp.mail.misc:39333 comp.answers:25606 news.answers:100741 - -Posted-By: auto-faq 3.1.1.2 -Archive-name: mail/sendmail-faq/part2 - -URL: http://www.his.com/~brad/sendmail/index.html - - - comp.mail.sendmail - Frequently Asked Questions (FAQ) - Last updated March 24, 1997 - - Copyright 1996, by Brad Knowles, all rights reserved - - -This FAQ is edited and maintained by Brad Knowles <brad@etext.org>. -The official archive for all FAQs posted to <news:news.answers> -is <ftp://rtfm.mit.edu/pub/usenet/news.answers/>, with many known -mirrors. On this site, the latest version of this FAQ can be found -in <ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq/>. -Since this server tends to be extremely busy, as an alternative, -you might want to try using <http://www.imc.org/sendmail-faq-1> -and <http://www.imc.org/sendmail-faq-2> instead. - -If you don't have access to FTP or WWW, this FAQ can be retrieved by -sending Internet email to <mail-server@rtfm.mit.edu> with an empty -subject line (it gets ignored) and the command "send -usenet/news.answers/mail/sendmail-faq/part*" as the body of the -message (omitting the quotes, of course). - -As an alternative, you might want to try sending Internet email -to <info@imc.org> with an empty subject line (it gets ignored) -and "send sendmail-faq-*" as the body of the body of the message -(again, omitting the quotes). - -Additional alternative access methods are detailed within. - - -This FAQ is in RFC 1153 digest format. The "Date:" field of each -entry represents the date of the last update made to that entry. - - -This FAQ has now been split into two parts, to try and make it easier -to pass through older or less capable news or mail gateways. - - -The intent is to ultimately make this document more web-friendly (in -that all original work is done in SGML), and using the linuxdoc-sgml -tools, automatically generate both the HTML and ASCII text versions, -automatically posting the ASCII version to comp.mail.sendmail as -appropriate. - -In the meanwhile, all pseudo-HTMLized versions of this FAQ are -considered unsupported. We cannot be held responsible for what -someone else's program does to this document in an attempt to -make it more web-friendly. Nevertheless, the Landfield Hypertext -Usenet FAQ Archive seems to work well, and if you must access -the comp.mail.sendmail FAQ via the web, try slinging over to -<http://www.landfield.com/faqs/mail/sendmail-faq/>. - - -Comments/updates should be sent to <sendmail-faq@etext.org>. - ----------------------------------------------------------------------- - -Date: March 24, 1997 -Subject: Table of Contents - -Table of Contents -================= - - PART ONE - ======== - - 0. TO DO - - 1. COPYRIGHT NOTICE / REDISTRIBUTION REQUIREMENTS - - 2. INTRODUCTION / MISCELLANEOUS - 2.1 What is this newsgroup? - 2.2 What is the scope of this FAQ? - 2.3 Where can I find the latest version of this FAQ? - 2.4 How do I access comp.mail.sendmail by email? - 2.5 Where can I ask email-related DNS questions? - 2.6 How can I subscribe to these newsgroups? - 2.7 Which version of sendmail should I run? - 2.8 What is the latest release of sendmail? - 2.9 Where can I find it? - 2.10 What are the differences between Version 8 and other - versions? - 2.11 What's the best platform for running sendmail? - 2.12 What is BIND and where can I get the latest version? - 2.13 What is smrsh and where can I get it? - 2.14 What is smap and where can I get it? - 2.15 What is TCP-Wrappers and where can I get it? - 2.16 Why won't db 1.85 build for my SGI running Irix >= 5.2? - 2.17 What is makemap and where can I get it? - - 3. VERSION 8 SPECIFIC ISSUES - 3.1 How do I make all my addresses appear to be from a single - host? - 3.2 How do I rewrite my "From:" lines to read - ``First_Last@My.Domain''? - 3.3 So what was the user database feature intended for? - 3.4 Why are you so hostile to using full names for email - addresses? - 3.5 Where do I find this user database (UserDB) code? - 3.6 How do I get the user database to work with Pine or - with FEATURE(always_add_domain)? - 3.7 How do I manage several (virtual) domains? - 3.8 There are four UUCP mailers listed in the configuration - files. Which one should I use? - 3.9 How do I fix "undefined symbol inet_aton" and "undefined - symbol _strerror" messages? - 3.10 How do I solve "collect: I/O error on connection" errors? - 3.11 Why can't my users forward their mail to a program? - 3.12 Why do connections to the SMTP port take such a long time? - 3.13 Why do I get "unknown mailer error 5 -- mail: options - MUST PRECEDE recipients" errors? - 3.14 Why does version 8 sendmail panic my SunOS box? - 3.15 Why does the "From " header gets mysteriously munged - when I send to an alias? - 3.16 Why doesn't MASQUERADE_AS (or the user database) work - for envelope addresses as well as header addresses? - 3.17 How do I run version 8 sendmail and support the MAIL11V3 - protocol? - 3.18 Why do messages disappear from my queue unsent? - 3.19 When is sendmail going to support RFC 1522 MIME header - encoding? - 3.20 Why can't I get mail to some places, but instead - always get the error "reply: read error from - name.of.remote.host"? - 3.21 Why doesn't "FEATURE(xxx)" work? - 3.22 How do I configure sendmail to not use DNS? - 3.23 How do I get all my queued mail delivered to my Unix - box from my ISP? - - - PART TWO - ======== - - 4. GENERAL SENDMAIL ISSUES - 4.1 Should I use a wildcard MX for my domain? - 4.2 How can I set up an auto-responder? - 4.3 How can I get sendmail to deliver local mail to - $HOME/.mail instead of into /usr/spool/mail (or - /usr/mail)? - 4.4 Why does it deliver the mail interactively when I'm - trying to get it to go into queue only mode? - 4.5 How can I solve "config error: mail loops back to - myself" messages? - 4.6 Why does my sendmail process sometimes hang when - connecting over a SLIP/PPP link? - 4.7 How can I summarize the statistics generated by - sendmail in the syslog? - 4.8 How can I check my sendmail.cf to ensure that it's - re-writing addresses correctly? - 4.9 What is procmail, and where can I get it? - 4.10 How can I solve "cannot alias non-local names" errors? - - 5. VENDOR/OS SPECIFIC SENDMAIL ISSUES - 5.1 Sun Microsystems SunOS/Solaris 1.x/2.x - 5.1.1 How can I solve "line 273: replacement $3 out of - bounds" errors? - 5.1.2 How can I solve "line 445: bad ruleset 96 (50 max)" - errors? - 5.1.3 Why does version 8 sendmail (< 8.7.5) sometimes - hang under Solaris 2.5? - 5.1.4 Why can't I use SunOS/Solaris to get email to - certain large sites? - 5.2 IBM AIX - 5.2.1 The system resource controller always reports - sendmail as "inoperative". What's wrong? - 5.2.2 Why can't I use AIX to get email to some sites? - 5.2.3 Why can't I get sendmail 8.7.1 to use MX records - with AIX 3.2.5? - - 6. ADDITIONAL INFORMATION SOURCES (RFC 1807 bibliography format) - 6.1 Reference material devoted exlusively to sendmail - 6.2 Reference material with chapters or sections on sendmail - 6.3 Reference material on subjects related to sendmail - 6.4 World-wide web index pages on sendmail - 6.5 World-wide web index pages Internet email in general - 6.6 Online tutorials for sendmail - 6.7 Online archives of mailing lists and Usenet newsgroups, - relating to Internet email - - 7. THANKS! - ------------------------------- - -Date: July 9, 1996 -Subject: Q4.1 -- Should I use a wildcard MX for my domain? - - If at all possible, no. - - Wildcard MX records have lots of semantic "gotcha"s. For example, -they will match a host "unknown.your.domain" -- if you don't -explicitly test for unknown hosts in your domain, you will get "config -error: mail loops back to myself". - - See RFCs 1535, 1536, and 1912 (updates RFC 1537) for more detail -and other related (or common) problems. See also _DNS and BIND_ by -Albitz and Liu. - - They can also cause your system to add your domain to outgoing -FQDNs in a desperate attempt to get the mail to where it's supposed to -go, but because *.your.domain is valid due to the wildcard MX, -delivery to not.real.domain.your.domain will get dumped on you, and -you may even find yourself in a loop as the domain keeps getting -tacked on time after time after time (the "config error: mail loops -back to myself" problem). - - - Wildcard MX records are just a bad idea, plain and simple. -They don't work the way you'd expect, and virtually no one gets -them right. Avoid them at all costs. - ------------------------------- - -Date: March 23, 1996 -Subject: Q4.2 -- How can I set up an auto-responder? - - This is a local mailer issue, not a sendmail issue. Depending on -what you're doing, look at procmail (see Q4.9), ftpmail, or Majordomo. - - - The latest version of Majordomo can be found at -<ftp://ftp.greatcircle.com/pub/majordomo/>. It is written in Perl and -requires either Perl 4.036, and appears to run with only minor tweaks -under 5.001a or later. Make sure to check out the web interface for -Majordomo called "Mailserv" at <http://iquest.com/~fitz/www/mailserv/> -or "LWGate" at <http://www.netspace.org/users/dwb/lwgate.html>. The -latest versions of Perl (both 4.x and 5.x) can be found in -<http://www.metronet.com/perlinfo/src/>. More information about Perl -can be found at <http://www.metronet.com/perlinfo/perl5.html> - - The latest version of ftpmail can be found at -<ftp://src.doc.ic.ac.uk/packages/ftpmail> or any comp.sources.misc -archive (volume 37). - ------------------------------- - -Date: July 9, 1996 -Subject: Q4.3 -- How can I get sendmail to deliver local mail to - $HOME/.mail instead of into /usr/spool/mail (or /usr/mail)? - - Again, this is a local mailer issue, not a sendmail issue. Either -modify your local mailer (source code will be required) or change the -program called in the "local" mailer configuration description to be a -new program that does this local delivery. One program that is -capable of doing this is procmail (see Q4.9), although there are -probably many others as well. - - You might be interested in reading the paper ``HLFSD: Delivering -Email to your $HOME'' available in the Proceedings of the USENIX -System Administration (LISA VII) Conference (November 1993). More -information is at <ftp://ftp.cs.columbia.edu/pub/hlfsd/README.hlfsd>, -while the actual archive of the papers is at -<ftp://ftp.cs.columbia.edu/pub/hlfsd/hlfsd-paper.tar.gz> (tar archive, -gzip'ed). - ------------------------------- - -Date: March 23, 1996 -Subject: Q4.4 -- Why does it deliver the mail interactively when I'm - trying to get it to go into queue only mode? - - Or, I'm trying to use the "don't deliver to expensive mailer" -flag, and it delivers the mail interactively anyway. I can see it -does it: here's the output of "sendmail -v foo@somehost" (or Mail -v -or equivalent). - - - The -v flag to sendmail (which is implied by the -v flag to Mail -and other programs in that family) tells sendmail to watch the -transaction. Since you have explicitly asked to see what's going on, -it assumes that you do not want to to auto-queue, and turns that -feature off. Remove the -v flag and use a "tail -f" of the log -instead to see what's going on. - - If you are trying to use the "don't deliver to expensive mailer" -flag (mailer flag "e"), be sure you also turn on global option "c" -- -otherwise it ignores the mailer flag. - ------------------------------- - -Date: January 17, 1997 -Subject: Q4.5 -- How can I solve "config error: mail loops back to - myself" messages? - - I'm getting these error messages: - - 553 relay.domain.net config error: mail loops back to myself - 554 <user@domain.net>... Local configuration error - - How can I solve this problem? - - You have asked mail to the domain (e.g., domain.net) to be -forwarded to a specific host (in this case, relay.domain.net) -by using an MX record, but the relay machine doesn't recognize -itself as domain.net. Add domain.net to /etc/sendmail.cw (if you -are using FEATURE(use_cw_file)) or add "Cw domain.net" to your -configuration file. - - - IMPORTANT: When making changes to your configuration file, be -sure you kill and restart the sendmail daemon (for ANY change in the -configuration, not just this one): - - kill `head -1 /etc/sendmail.pid` - sh -c "`tail -1 /etc/sendmail.pid`" - - NOTA BENE: kill -1 does not work with versions prior to 8.7.y! - - With version 8.8.z sendmail, if the daemon was started up with -a full pathname (i.e., "/usr/lib/sendmail -bd -q13m"), then you -should be able to send it a HUP signal ("kill -1", or more safely, -"kill -HUP") and have it reload itself (version 8.7.y sendmail -cannot do this safely, and represents a security risk if it's not -replaced with version 8.8.3 or later). - ------------------------------- - -Date: March 23, 1996 -Subject: Q4.6 -- Why does my sendmail process sometimes hang when - connecting over a SLIP/PPP link? - - I'm connected to the network via a SLIP/PPP link. Sometimes my -sendmail process hangs (although it looks like part of the message has -been transfered). Everything else works. What's wrong? - - Most likely, the problem isn't sendmail at all, but the low level -network connection. It's important that the MTU (Maximum Transfer -Unit) for the SLIP connection be set properly at both ends. If they -disagree, large packets will be trashed and the connection will hang. - ------------------------------- - -Date: November 24, 1996 -Subject: Q4.7 -- How can I summarize the statistics generated by - sendmail in the syslog? - - This question is addressed on page 319 of _sendmail_ by Bryan -Costales. - - An updated version of this syslog-stat.pl script (so that -it understands the log format used in version 8 sendmail) is -at <ftp://ftp.his.com/pub/brad/sendmail/syslog_stats>. The -updated version of ssl has been uploaded to the SMTP Resources -Directory (in <ftp://ftp.is.co.za/networking/mail/tools/>), -as well as <ftp://ftp.his.com/pub/brad/sendmail/ssl>. -There is also another program (written by Bryan Beecher) at -<ftp://ftp.his.com/pub/brad/sendmail/smtpstats>. - - If you're interested in summarizing POP statistics, there is -<ftp://ftp.his.com/pub/brad/sendmail/popstats>, also written by -Bryan Beecher. - - - To see what else is available today, check the Comprehensive Perl -Archive Network <ftp://ftp.funet.fi/pub/languages/perl/CPAN/CPAN> or -<ftp://ftp.cis.ufl.edu/pub/perl/CPAN/CPAN> for the site nearest you. -For the scripts themselves, look under CPAN/scripts/mailstuff/ at -any CPAN site. For more information, see the comp.lang.perl.* -FAQs at <ftp://ftp.cis.ufl.edu:/pub/perl/faq/FAQ> or -<ftp://rtfm.mit.edu:/pub/usenet/comp.lang.perl.*/>. - - - There is also the "Sendmail Statistics Project" which has a web -page at <http://www.josnet.se/projects/ssp/>. Although they have -examples online of what the output might look like, it now appears -that this project is either dead or at least indefinitely on hold. -Still, you may be able to talk to the authors in order to get what -code from them you can. - - - If you're interested in using these kinds of tools to help -you do some near real-time monitoring of your system, you might be -interested in MEWS (Mail Early Warning System). From the README: - - If you've ever written a perl script to parse sendmail - log files looking for errors, MEWS might be of interest to - you. If you've ever thought about writing a perl script to - munge sendmail log files, cringed a little and hurriedly - came up with an excuse not to do it, read on. - - If you don't have a Solaris 2.5 machine, you can probably - stop reading here. - - The Mail Early Warning System (MEWS) gives postmasters - immediate notification of trouble spots on your mail - backbone. It only works with sendmail. - - To explain it in a nutshell, whenever sendmail returns a - 4xx or 5xx SMTP code, with the MEWS modifications, it also - sends the code over UDP to a daemon which then replays the - error message to interested parties. The man pages go into - a little bit more detail. - - - If this sounds like something you might be interested in -getting more details about, you can find the MEWS archive at -<ftp://ftp.qualcomm.com/pub/people/eamonn/mews.tar.Z>. - ------------------------------- - -Date: July 9, 1996 -Subject: Q4.8 -- How can I check my sendmail.cf to ensure that it's - re-writing addresses correctly? - - The recommended program for this is "checksendmail" by Rob -Kolstad. Old versions of this are available on various archive sites, -but currently, the only way to get the most recent version (which has -been updated to understand version 8.7 long option name syntax, as -well as now supporting both Perl 4.x and Perl 5.x) is from Rob -himself. - - The latest archive will be made publicly available (most likely -through the SMTPRD run by Andras Salamon; see Q6.5, entry -sendmail-faq//online/index/14) as soon as it is received. - ------------------------------- - -Date: July 9, 1996 -Subject: Q4.9 -- What is procmail, and where can I get it? - - The program "procmail" is a replacement for the local mailer -(variously called /bin/mail, /usr/bin/mail, mail.local, rmail, -etc...). It has been ported to run on virtually every OS you're -likely to run into, and has a whole host of features. It is typically -about 30% faster performing the job of the local mailer than programs -such as /bin/mail or /usr/bin/mail, it has been hammered on widely to -make it extremely secure (much more so than most local mailers) and -very robust. Procmail is also capable of helping you put a quota on a -user's mailbox through the standard Unix quota mechanism (see Q4.3). - - In short, whatever you've got, you're almost guaranteed that -procmail is better (if nothing else, the author has been able to focus -lots of time and energy into making it the best and fastest tool -available, while most system vendors just throw something together as -fast as they can and move on to the whole rest of the OS). - - However, this only begins to scratch the surface of what procmail -is capable of. It's most important feature is the fact that it gives -you a standard way to create rules (procmail calls them "recipes") to -process your mail before the messages get put into your mailbox, and -for that feature alone, it is one of the most important tools any -administrator can have in their repertoire. By filtering out or -automatically dealing with 80% of your daily cruft, it lets you spend -more time on the hard 20%. - - Note that recent releases of version 8 sendmail natively support -using procmail as an alternate local mailer (see -"FEATURE(local_procmail)" for version 8.7 and above). They also -support procmail as an additional local mailer, if you're concerned -about flat-out replacing your current local mailer with procmail (see -"MAILER(procmail)" in version 8.7 and above). - - - You can also install procmail as a user and run it out of your -.forward file, although this tends to be a bit slower and less -efficient. - - - The latest version of procmail can be found at -<ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/>. - - - Procmail is also the core to a mailing list management package -called "SmartList", so if you've already got procmail, adding -SmartList may be a good option. Some listowners prefer Majordomo, -Listserv, or one of those other programs, but SmartList has more than -a few adherents as well. Your personal tastes will dictate whether -you swear by SmartList or at it. - ------------------------------- - -Date: March 24, 1997 -Subject: Q4.10 -- How can I solve "cannot alias non-local names" - errors? - - I upgraded from my vendor's sendmail to the latest version and -now I'm getting these error messages when I run "newaliases": - - /etc/aliases: line 13: MAILER-DAEMON... cannot alias non-local names - /etc/aliases: line 14: postmaster... cannot alias non-local names - - How can I solve this problem? - - - Your local mailer doesn't have the "A" flag specified. Edit the -Mlocal line in sendmail.cf and add "A" to the flags listed after -"F=". - - Better yet, if you're running a recent version of sendmail -that uses m4 to generate .cf files from .mc files, regenerate your -sendmail.cf and see if that fixes the problem. Remember to install -the new sendmail.cf and restart the sendmail daemon. - ------------------------------- - -Date: March 23, 1996 -Subject: Q5.1.1 -- How can I solve "line 273: replacement $3 out of - bounds" errors? - - When I use sendmail V8 with a Sun config file I get lines like: - - /etc/sendmail.cf: line 273: replacement $3 out of bounds - - the line in question reads: - - R$*<@$%y>$* $1<@$2.LOCAL>$3 user@ether - - what does this mean? How do I fix it? - - V8 doesn't recognize the Sun "$%y" syntax, so as far as it is -concerned, there is only a $1 and a $2 (but no $3) in this line. Read -Rick McCarty's paper on "Converting Standard Sun Config Files to -Sendmail Version 8", in the contrib directory (file -"converting.sun.configs") in the latest version 8 sendmail -distribution for a full discussion of how to do this. - ------------------------------- - -Date: March 23, 1996 -Subject: Q5.1.2 -- How can I solve "line 445: bad ruleset 96 (50 max)" - errors? - - When I use sendmail V8 on a Sun, I sometimes get lines like: - - /etc/sendmail.cf: line 445: bad ruleset 96 (50 max) - - what does this mean? How do I fix it? - - You're somehow trying to start up the old Sun sendmail (or -sendmail.mx) with a version 8 sendmail config file, which Sun's -sendmail doesn't like. Check your /etc/rc.local, any procedures that -have been created to stop and re-start the sendmail processes, etc.... -Make sure that you've switched everything over to using the new -sendmail. To keep this problem from ever happening again, try the -following (make sure you're logged in as root): - - mv /usr/lib/sendmail /usr/lib/sendmail.old - ln -s /usr/local/lib/sendmail.v8 /usr/lib/sendmail - mv /usr/lib/sendmail.mx /usr/lib/sendmail.mx.old - ln -s /usr/local/lib/sendmail.v8 /usr/lib/sendmail.mx - chmod 0000 /usr/lib/sendmail.old - chmod 0000 /usr/lib/sendmail.mx.old - - Assuming, of course, that you have installed sendmail V8 in -/usr/local/lib/sendmail.v8. - ------------------------------- - -Date: May 23, 1996 -Subject: Q5.1.3 -- Why does version 8 sendmail (< 8.7.5) sometimes - hang under Solaris 2.5? - - In moving from Solaris 2.4 to Solaris 2.5, the kernel changed its -name and is now in /kernel/genunix instead of /kernel/unix, so -_PATH_UNIX in conf.h is pointing to the wrong place. - - If you can't upgrade to the latest release of sendmail 8.8.z, -the next best thing to do is change _PATH_UNIX in conf.h (in the -solaris2 part) to point to the generic interface /dev/ksyms, like so: - - # define _PATH_UNIX "/dev/ksyms" - ------------------------------- - -Date: November 24, 1996 -Subject: Q5.1.4 -- Why can't I use SunOS/Solaris to get email to - certain large sites? - - This is most likely a problem in your resolver libraries -(DNS, /etc/hosts, NIS, etc...). Older Sun (and Solaris?) resolver -libraries allocated enough room for only five IP addresses for each -host name, and if any program ever ran across a name with more than -five IP addresses for it, the program would crash. - - For example, this would keep you from getting mail to CompuServe, -since (at the time of this writing) they list eleven IP addresses -for mx1.compuserve.com (one of the named MXes for compuserve.com). - - This will affect you even if you use version 8 sendmail, since -it's a problem in the resolver libraries, and not in sendmail itself. - - - You should either get patches to the resolver libraries from -Sun, or the latest version of BIND (see Q2.12) and install their -resolver library routines. Between the two, installing BIND is a -bit more work, but it typically gives you much more up-to-date code -to help you resist attacks to your systems, more capable programs -to be used for serving the DNS (including support for IPv6 and -several other features), and some very useful utility programs. - ------------------------------- - -Date: July 5, 1996 -Subject: Q5.2.1 -- The system resource controller always reports - sendmail as "inoperative". What's wrong? - - When I use version 8 sendmail on an IBM RS/6000 running AIX, the -system resource controller always reports sendmail as "inoperative", -even though it's actually running. What's wrong? - - When running as a daemon, sendmail detaches from its parent -process, fooling the SRC into thinking that sendmail has exited. To -fix this, issue the commands: - - kill `head -1 /etc/sendmail.pid` - chssys -s sendmail -f 9 -n 15 -S -a "-d99.100" - # use "-d0.1" in sendmail 8.6.x - startsrc -s sendmail -a "-bd -q30m" - # your sendmail args may vary - - Now the SRC should report the correct status of sendmail. If you -are using version 8.6.x, use "-d0.1" instead of "-d99.100" (the debug -options changed somewhat in version 8.7). In 8.6.x a side-effect of -the "-d0.1" option is that a few lines of debug output will be printed -on the system console every time sendmail starts up. - - For more information, read up on the System Resource Controller, -the lssrc command and the chssys command in the online AIX -documentation. - ------------------------------- - -Date: May 23, 1996 -Subject: Q5.2.2 -- Why can't I use AIX to get email to some sites? - - When I use IBM's sendmail on an IBM RS/6000 running AIX trying to -get to certain sites, it seems that I can get to some of them and not -others. What's wrong? - - There are two possible problems here: - - 1) Your version of sendmail is not configured to recognize MX - records in the DNS. Search through your sendmail.cf - looking for "OK MX" or "OK ALL". Older configurations had - this line commented out, and this will cause mail from you - to some sites to fail (because those sites have MX - records, but no A records in their DNS for the specific - Fully Qualified Domain Name you're trying to mail to). - - For more information, see the comp.unix.aix FAQ - <ftp://rtfm.mit.edu:/pub/usenet/news.answers/aix-faq/>. - - 2) There is a negative caching bug in AIX 3.2.5 with - /usr/sbin/named executables that are less than 103000 - bytes long. Ask your IBM representative to give you PMP - 3251, or the most recent patch that fixes this problem for - your particular configuration and version of the OS. - ------------------------------- - -Date: July 5, 1996 -Subject: Q5.2.3 -- Why can't I get sendmail 8.7.1 to use MX records - with AIX 3.2.5? - - IBM, in their infinite wisdom, provided a header file that would -easily mis-compile. This resulted in the struct{} for the DNS query -to be mis-allocated, and MX processing would barf. - - Fix 1) upgrade to 8.7.5 - this has a code fix for this problem. - - Fix 2) Install the BIND 4.9.4 libraries and include files and -tweak the Makefile.AIX to use them - I *think* these Get It Right (if -not, at least it'll die during compile rather than failing weirdly at -runtime). - - Fix 3) Hack Makefile.AIX to pass a -DBIT_ZERO_ON_LEFT to cause the -headers to use the right #ifdefs. - ------------------------------- - -Date: January 21, 1997 -Subject: Q6 -- Additional information sources - - This probably isn't in strict RFC 1807 format, but I'm getting -closer. Unfortunately, the format detailed in RFC 1807 was never -intended to be used in this fashion, so I'm doing a bit of square-peg -fitting into round holes. - - Note that the publisher ids that I've assigned should not be -misconstrued to imply that I have actually published all these -documents, it's just that I need some sort of reasonable entry for the -RFC 1807 "ID" field, and in lieu of information to the contrary -indicating what the actual publishers have registered, I have assigned -my own, independant, "third-party" IDs. Hopefully, the bibliographic -entries below make it obvious who the real publishers of the various -documents are. - - - 6.1 Reference material devoted exlusively to sendmail - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/reference/1 - ENTRY:: March 23, 1996 - TYPE:: Reference manual, available online in printable format - REVISION:: January 21, 1997; Updated URL & mailing list info - TITLE:: Sendmail Installation and Operation Guide - AUTHOR:: Allman, Eric - CONTACT:: Eric Allman <eric@Sendmail.ORG> - InReference, Inc. - NASA Ames Technology Commercialization Center - 155-A Moffett Park Drive, Suite 104 - Sunnyvale, CA 94089 - Phone: 1+408 541-7615 - Fax: 1+408 734-4946 - DATE:: November 19, 1995 - PAGES:: 69 - RETRIEVAL:: Contents of manual is in doc/op/op.ps of sendmail source - archive - KEYWORD:: version 8.7.5 sendmail - LANGUAGE:: English - NOTES:: {g|n}roff "me" macro format version is in doc/op/op.me - See: URL:http://www.sendmail.org/ - -ABSTRACT:: - -The documentation written by Eric Allman himself, comes with the -sendmail distribution. The file in doc/op/op.me (nroff "me" macro -format) may have a different number of pages depending on the type of -device it is printed on, etc.... - -Eric provides his free consulting in the form of continuing -development on sendmail, and occasional posts to comp.mail.sendmail. -Please don't be so rude as to ask him to provide further free -consulting directly to you. If you (or your company) is willing to -compensate his for his consulting time, he may be willing to listen. -At the very least, you should make sure you've exhausted all other -courses of action before resorting to adding another message to the -thousands he gets per day. - - -Check the sendmail home page at <http://www.sendmail.org/> for -late-breaking updates and other useful information. - -If you want to be notified regarding future updates to sendmail and -other items of potential interest, you may want to subscribe to the -sendmail-announce mailing list. Address your subscription requests -to "majordomo@lists.sendmail.org" with "subscribe sendmail-announce" -as the body of the message. - - -END:: sendmail-faq//online/reference/1 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/1-56592-056-2 - ENTRY:: March 23, 1996 - REVISION:: January 21, 1997; Updated info re: 2nd Ed. - TYPE:: Reference book, hardcopy - TITLE:: sendmail - AUTHOR:: Costales, Bryan - AUTHOR:: Allman, Eric - AUTHOR:: Rickert, Neil - CONTACT:: Bryan Costales <bcx@BCX.COM> - O'Reilly & Associates, Inc. - 103 Morris Street, Suite A - Sebastapol, CA 95472 - Order by phone: 800-998-9938 (US/Canada inquiries) - 800-889-8969 (US/Canada credit card orders) - 707-829-0515 (local/overseas) - DATE:: November, 1993 - PAGES:: 792 - COPYRIGHT:: Copyright (c) 1993 O'Reilly & Associates, Inc. All rights - reserved. - LANGUAGE:: English - NOTES:: See: URL:http://www.ora.com/gnn/bus/ora/item/sendmail.html - -ABSTRACT:: - -The definitive reference for version 8 sendmail. - -At least three printings of first edition have come out, and the -information above is for the first printing. - -As of yet, this book has not been updated to include versions of -sendmail after 8.6.4. - -Bryan provides his consulting to the world in the form of his book, -unless you're willing to compensate him for his services as well. -Like Eric, you should make sure you've exhausted all other courses of -action before you spend any of his valuable time. - - -The second edition has now been published (focussing exclusively -on version 8.8 sendmail), with an ISBN of 1-56592-222-0. It has -been expanded to 1,050 pages long and expanded coverage of many -new topics too numerous to name. - -END:: sendmail-faq//book/ISBN/1-56592-056-2 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/1-55558-127-7 - ENTRY:: March 23, 1996 - TYPE:: Reference book, hardcopy - REVISION:: Sep 9, 1996; fixed typo - TITLE:: Sendmail: Theory and Practice - AUTHOR:: Avolio, Frederick M. - AUTHOR:: Vixie, Paul A. - CONTACT:: Fred Avolio <fma@al.org>, Paul Vixie <vix@al.org> - Digital Press - 225 Wildwood Avenue - Woburn, MA 01801, USA - Ordering Info: voice 1 800 366 2665 - fax 1 800 446 6520 - DATE:: 1994 - PAGES:: 262 - COPYRIGHT:: Copyright (c) by 1995 Butterworth-Heinemann - LANGUAGE:: English - NOTES:: See: URL:http://www.vix.com/vix/smtap/ - -ABSTRACT:: - -Centers more on IDA sendmail (at least partly because version 8 didn't -exist when they began the book). Written more like a college -Sophomore or Junior level textbook. - -While you'll probably never let the Costales book out of your grubby -little hands (especially if you do much work with version 8 sendmail), -this is a book you'll probably read once or maybe twice, learn some -very valuable things, but then likely put on a shelf and not read or -reference again (unless you have to write up a bibliographic entry for -it). Makes a better introduction to sendmail for management types, -especially if you don't want them getting their hands on too much -"dangerous" technical information. Also a *lot* smaller and less -imposing. - -If possible, I recommend getting both, but if you can only get one, -get Costales unless you're going to be working exclusively with IDA -sendmail, in which case Avolio & Vixie will probably be more useful. - -Note that Paul Vixie is extremely busy working on further development -of BIND, the Internet de facto standard program for serving the DNS, -upon which all Internet services depend, mail being only one of them. -Like Eric and Bryan, he's also very busy. Unless you're willing to -compensate him for his services, please let him get real work done. - -END:: sendmail-faq//book/ISBN/1-55558-127-7 - - - 6.2 Reference material with chapters or sections on sendmail - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/0-13-151051-7 - ENTRY:: March 23, 1996 - TYPE:: Reference book, hardcopy - REVISION:: May 23, 1996; Updated abstract. - TITLE:: Unix System Administration Handbook, Second Edition - AUTHOR:: Nemeth, Evi - AUTHOR:: Snyder, Garth - AUTHOR:: Seebass, Scott - AUTHOR:: Hein, Trent R. - CONTACT:: <sa-book@admin.com> - Prentice-Hall, Inc. - Upper Saddle River, New Jersey 07458 - DATE:: January, 1995 - PAGES:: 780 - COPYRIGHT:: Copyright (c) 1995 by Prentice Hall PTR - LANGUAGE:: English - NOTES:: See: URL:http://www.admin.com/ - -ABSTRACT:: - -Still the best hands-on Unix System Administration book around. -Covers far more than just sendmail, but the sixty-four pages (pages -455-518 in the third printing) it does devote are very well written -and quite useful. Also provides a version of Rob Kolstad's -checksendmail script on the accompanying CD-ROM. - -Note that Eric Allman and Marshall Kirk McKusick wrote the Foreword -for the Second Edition. This should give you at least an inkling as -to how essential this book is, even for experienced Unix -administrators. - -END:: sendmail-faq//book/ISBN/0-13-151051-7 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/0-201-58629=0 - ENTRY:: March 23, 1996 - TYPE:: Reference book, hardcopy - REVISION:: March 27, 1996; Changed ID format to include ISBN, - moved URL to NOTES field from OTHER_ACCESS field, - also updated ABSTRACT - REVISION:: March 29, 1996; Updated ID, PAGES, COPYRIGHT, and ABSTRACT - TITLE:: Practical Internetworking With TCP/IP and UNIX - AUTHOR:: Carl-Mitchell, Smoot - AUTHOR:: Quarterman, John S. - CONTACT:: <tic@tic.com> - Addison Wesley Publishing Company - Computer Science & Engineering Division - One Jacob Way - Reading, MA 01867 - USA - Orders: voice://800-822-6339 (USA) - fax://617-942-1117 - DATE:: 1993 - PAGES:: 476 - COPYRIGHT:: Copyright (c) 1993 by Addison-Wesley Publishing - Company, Inc. - LANGUAGE:: English - NOTES:: See URL:http://heg-school.aw.com/cseng/authors/mitchell/ - practical/practical.html - -ABSTRACT:: - -Devotes 50 pages (most of chapter 8) to discussion of sendmail. As -far as TCP/IP networking books go that also happen to discuss -sendmail, it seems well-written and clear (better than I recall Hunt's -book being), but rather dated in the face of books devoted to the -topic and all the recent development activity in the sendmail -community. Forget about the references, though. The newest -sendmail-related reference listed is dated 1983, ten years before the -date on this book and most certainly wildly out-of-date now. - -There are other books written on the subject of Internetworking with -TCP/IP (most notably Comer), but this particular book seems to have a -unique mix of theory (if perhaps a bit dated) and practical advice. -Other books tend to have lots of one or the other, or split their -theory and nitty-gritty details into separate books in a series (like -Comer). - -Assuming that an update will be coming out soon, it probably deserves -a place on the shelf of most System or Network Administrators, right -next to _Internetworking with TCP/IP_ by Comer, _Managing Internet -Information Services_ by Liu, et. al., _DNS and BIND_ by Albitz and -Liu, _Unix System Administration_ by Nemeth, et. al., and last, but -certainly not least, _sendmail_ by Costales. However, it deserves -this place more because of the non-sendmail related material, as -opposed to what sendmail-related material there is. - -END:: sendmail-faq//book/ISBN/0-201-58629-0 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/0-937175-82-X - ENTRY:: March 23, 1996 - TYPE:: Reference book, hardcopy - REVISION:: March 27, 1996; Changed ID format to include ISBN, - moved URL to NOTES field from OTHER_ACCESS field - TITLE:: TCP/IP Network Administration - AUTHOR:: Hunt, Craig - CONTACT:: O'Reilly & Associates, Inc. - 103 Morris Street, Suite A - Sebastapol, CA 95472 - Order by phone: 800-998-9938 (US/Canada inquiries) - 800-889-8969 (US/Canada credit card orders) - 707-829-0515 (local/overseas) - DATE:: August, 1992 - PAGES:: 502 - LANGUAGE:: English - NOTES:: See: URL:http://www.ora.com/gnn/bus/ora/item/tcp.html - -ABSTRACT:: - -The book I learned sendmail from when there was no other book in print -that even mentioned the name. - -Here primarily for historical purposes, especially with respect to the -sending of Internet mail and the DNS. Some of the other TCP/IP -networking stuff is relevant, but this book is getting more and more -dated as time goes by. - -END:: sendmail-faq//book/ISBN/0-937175-82-X - - - 6.3 Reference material on subjects related to sendmail - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/1-56592-010-4 - ENTRY:: March 23, 1996 - TYPE:: Reference book, hardcopy - REVISION:: January 21, 1997; Updated info re: 2nd Ed. - TITLE:: DNS and BIND - AUTHOR:: Albitz, Paul - AUTHOR:: Liu, Cricket - CONTACT:: O'Reilly & Associates, Inc. - 103 Morris Street, Suite A - Order by phone: 800-998-9938 (US/Canada inquiries) - 800-889-8969 (US/Canada credit card orders) - 707-829-0515 (local/overseas) - DATE:: October 1992 - PAGES:: 418 - COPYRIGHT:: Copyright (c) 1992 O'Reilly & Associates, Inc. All rights - reserved. - LANGUAGE:: English - NOTES:: See: URL:http://www.ora.com/gnn/bus/ora/item/dns.html - -ABSTRACT:: - -As definitive as Costales is on sendmail, this book is on the subject -of the Domain Name System (DNS) and the most common server software -for the DNS, namely BIND. - -It hasn't been updated yet to reflect the massive changes that -happened with BIND 4.9.3 (and the recent flurry of related activity in -the DNS community), but even as old as it is, it still stands the test -of time as the one book *every* DNS/Domain Administrator should have -on their shelf. - -Since the sending of Internet mail is so very heavily dependant on the -DNS, it obviously also belongs on the shelf of any Postmaster or -System Administrator whose site does Internet email. And that means -virtually every administrator of every site on the Internet. - - -This book has recently been updated with a second edition, ISBN -1-56592-236-0 and 438 pages. It includes updated discussion of -BIND 4.9.4, as well as many other topics. - -END:: sendmail-faq//book/ISBN/1-56592-010-4 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//book/ISBN/0-937175-93-5 - ENTRY:: March 23, 1996 - TYPE:: Reference book, hardcopy - REVISION:: March 27, 1996; Changed ID format to include ISBN, - moved URL to NOTES field from OTHER_ACCESS field - TITLE:: Managing UUCP and Usenet - AUTHOR:: Todino, Grace - AUTHOR:: O'Reilly, Tim - CONTACT:: O'Reilly & Associates, Inc. - 103 Morris Street, Suite A - Order by phone: 800-998-9938 (US/Canada inquiries) - 800-889-8969 (US/Canada credit card orders) - 707-829-0515 (local/overseas) - DATE:: January 1992 - PAGES:: 368 - LANGUAGE:: English - NOTES:: See: URL:http://www.ora.com/gnn/bus/ora/item/muucp.html - -ABSTRACT:: - -The definitive book for installing and managing UUCP. - -The general assumption with version 8 sendmail is that virtually no -one uses UUCP to send email anymore, but if that assumption isn't true -for you, then you probably need this book. - -END:: sendmail-faq//book/ISBN/0-937175-93-5 - - - 6.4 World-wide web index/resource pages on sendmail - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/10 - ENTRY:: March 23, 1996 - TYPE:: Online sendmail index - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: comp.mail.sendmail FAQ Support Page - AUTHOR:: Knowles, Brad - CONTACT:: Brad Knowles <brad@etext.org> -OTHER_ACCESS:: URL:http://www.his.com/~brad/sendmail/ - LANGUAGE:: English - -ABSTRACT:: - -Support Page for this FAQ. - -END:: sendmail-faq//online/index/10 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/17 - ENTRY:: March 25, 1996 - TYPE:: Online sendmail index - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: comp.mail.sendmail Most Frequently Asked Questions Support Page - AUTHOR:: Assman, Claus - CONTACT:: Claus Assmann <ca@informatik.uni-kiel.de> -OTHER_ACCESS:: URL:http://www.informatik.uni-kiel.de/~ca/email/english.html - LANGUAGE:: English - -ABSTRACT:: - -Most Frequently Asked Questions on comp.mail.sendmail and their -answers. Also has some links to a few other resources. - -END:: sendmail-faq//online/index/17 - - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/11 - ENTRY:: March 23, 1996 - TYPE:: Online sendmail index - REVISION:: May 23, 1996; Updated abstract. - TITLE:: Henry's sendmail Page! - AUTHOR:: Farkas, Henry - CONTACT:: Henry Farkas <hfarkas@ims.advantis.com> -OTHER_ACCESS:: URL:http://newstand.ims.advantis.com/henry/sendmail.html - LANGUAGE:: English - -ABSTRACT:: - -Has collected a few direct pointers to a few places, although I prefer -to either have pointers to well-known index sites and let them do the -hard work for me or do myself the work of making my site one of those -well-known indexes. - -Still, worth taking a look at. - -END:: sendmail-faq//online/index/11 - - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/resources/22 - ENTRY:: November 24, 1996 - TITLE:: IICONS Sendmail Resources - AUTHOR:: Caloca, Paul - CONTACT:: Paul Caloca <pcaloca@iicons.com> - COPYRIGHT:: Copyright (c) 1996 Paul Caloca. All Rights Reserved. -OTHER_ACCESS:: URL:http://www.iicons.com/sendmail/index.html - LANGUAGE:: English - -ABSTRACT:: - -Provides information on how to compile Sendmail and the NEWDB -db.1.85 for Solaris 2. Also has a section on which Sun patches -update Solaris 2 to BIND 4.9.3. - -Has pointers to some non-Sun/Solaris sendmail resources, especially -including CERT Advisories related to sendmail. - - -END:: sendmail-faq//online/index/22 - - - 6.5 World-wide web index pages and other reference on Internet - email in general - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/12 - ENTRY:: March 23, 1996 - TYPE:: Online general Internet email index - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: Internet Mail Consortium web site - CORP-AUTHOR:: Internet Mail Consortium - CONTACT:: <info@imc.org> -OTHER_ACCESS:: URL:http://www.imc.org/ - LANGUAGE:: English - -ABSTRACT:: - -If it has to do with Internet email, you'll probably find it here or a -link to it from here. - -They have or have information on email-related Usenet FAQs, RFCs, -Internet Drafts (documents that are in the process of becoming RFCs), -IETF Working Groups, security standards, and are running a few -email-related mailing lists. - -Tends to be focussed on the standards issues. - -If you care about Internet email, you should make it your duty in life -to check this site frequently. - -END:: sendmail-faq//online/index/12 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/13 - ENTRY:: March 23, 1996 - TYPE:: Online general Internet email index - REVISION:: August 20, 1996; Updated URL. - TITLE:: Email References - AUTHOR:: Wohler, Bill - CONTACT:: Bill Wohler <wohler@worldtalk.com> -OTHER_ACCESS:: URL:http://www.worldtalk.com/html/msg_resources/email_ref.html - LANGUAGE:: English - -ABSTRACT:: - -The most exhaustive index site I know of for Internet email related -documents outside of the Internet Mail Consortium. - -Also has pointers to other organizations that relate to Internet -email, such as the Electronic Messaging Association and the European -Electronic Messaging Association. - -Tends to be focussed on the server and standards issues. - -END:: sendmail-faq//online/index/13 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/14 - ENTRY:: March 23, 1996 - TYPE:: Online general Internet email index - REVISION:: June 28, 1996; Added acronym for SMTPRD - TITLE:: SMTP Resources Directory (SMTPRD) - AUTHOR:: Salamon, Andras - AUTHOR:: Knowles, Brad - CONTACT:: Andras Salamon <smtprd@dns.net> -OTHER_ACCESS:: URL:http://www.dns.net/smtprd/ - LANGUAGE:: English - -ABSTRACT:: - -Another good index site, but still very much in the early phases of -gestation. Based very heavily on the DNS Resources Directory, also by -Andras Salamon, at <http://www.is.co.za/dnsrd/>. - -A well-rounded site, for the amount of material it covers so far. - -END:: sendmail-faq//online/index/14 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/index/15 - ENTRY:: March 23, 1996 - TYPE:: Online general Internet email index - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: E-Mail Web Resources - AUTHOR:: Wall, Matt - CONTACT:: Matt Wall <wall+@cmu.edu> -OTHER_ACCESS:: URL:http://andrew2.andrew.cmu.edu/cyrus/email/email.html - LANGUAGE:: English - -ABSTRACT:: - -Another good index site, tends to be more focussed on client side and -LAN email packages. Also lists some email services, which no one else -that I've seen appears to have taken the time to catalog. - -Excellent side-by-side feature comparison of various MUAs and their -compliance with various Internet protocols. - -END:: sendmail-faq//online/index/15 - - - 6.6 Online tutorials for sendmail - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/tutorial/9 - ENTRY:: March 23, 1996 - TYPE:: Online sendmail tutorial - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: Sendmail V8: A (Smoother) Engine Powers Network Email - AUTHOR:: Reich, Richard - CONTACT:: Richard Reich <richard@reich.com> - DATE:: February 8, 1996 - COPYRIGHT:: Copyright (c) 1995 The McGraw-Hill Companies, Inc. - All Rights Reserved. -OTHER_ACCESS:: URL:http://www.unixworld.com/unixworld/archives/95/tutorial/ - 008/008.txt.html - LANGUAGE:: English - NOTES:: UnixWorld Online: Tutorial: Article No. 008 - -ABSTRACT:: - -Good technical introduction. Some useful references. Notably does -not reference this FAQ as a place to get more information. - -END:: sendmail-faq//online/article/9 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/tutorial/16 - ENTRY:: March 23, 1996 - TYPE:: Online sendmail tutorial - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: Sendmail -- Care and Feeding - AUTHOR:: Quinton, Reg - CONTACT:: Reg Quinton <reggers@julian.uwo.ca> - Computing and Communications Services - The University of Western Ontario - London, Ontario N6A 5B7 - Canada - DATE:: March 24, 1992 -OTHER_ACCESS:: URL:ftp://ftp.sterling.com/mail/sendmail/uwo-course/ - sendmail.txt.Z - LANGUAGE:: English - NOTES:: Postscript version also available. See ftp://ftp.sterling.com/ - mail/sendmail/uwo-course/sendmail.ps.Z - -ABSTRACT:: - -Dated. Only here until I find better. - -END:: sendmail-faq//online/tutorial/16 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/tutorial/21 - ENTRY:: March 27, 1996 - TYPE:: Online sendmail tutorial - TITLE:: Explosion in a Punctuation Factory - AUTHOR:: Bryan Costales - CONTACT:: Becca Thomas <editor@unixworld.com> - DATE:: January 1994 - COPYRIGHT:: Copyright (c) 1995 The McGraw-Hill Companies, Inc. - All Rights Reserved. -OTHER_ACCESS:: URL:http://www.unixworld.com/unixworld/archives/94/tutorial/ - 01/01.txt.html - LANGUAGE:: English - -ABSTRACT:: - -Good introduction on how sendmail re-write rules work. - -END:: sendmail-faq//online/article/21 - - - 6.7 Online archives of mailing lists and Usenet newsgroups, - relating to Internet email - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/archive/18 - ENTRY:: March 25, 1996 - TYPE:: Online Usenet newgroup archive - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: DejaNews -OTHER_ACCESS:: URL:http://www.dejanews.com - LANGUAGE:: English - NOTES:: Archives/indexes only Usenet news. - -ABSTRACT:: - -The first, and still most focussed, Usenet news archive/index site. -Others archive/index news as well as other things, but none that I've -seen do it better. - -Go to "Power Search" then "Query Filter" if you wish to restrict the -newsgroups you search on to something like just comp.mail.sendmail and -not all newsgroups. - -END:: sendmail-faq//online/archive/18 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/archive/19 - ENTRY:: March 25, 1996 - TYPE:: Online Usenet newgroup archive - REVISION:: March 27, 1996; moved URL from RETRIEVAL field to - OTHER_ACCESS field. - TITLE:: AltaVista -OTHER_ACCESS:: URL:http://www.altavista.digital.com - LANGUAGE:: English - NOTES:: Archives/indexes Usenet news and World-wide web pages. - -ABSTRACT:: - -One of the leading indexes of world-wide web pages, and their -archive/index of Usenet news is obviously secondary. - -END:: sendmail-faq//online/archive/19 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/archive/20 - ENTRY:: March 25, 1996 - TYPE:: Online Usenet newgroup archive - REVISION:: July 9, 1996; Additional information based on experience - TITLE:: InReference -OTHER_ACCESS:: URL:http://www.reference.com - LANGUAGE:: English - NOTES:: Not officially online yet, in final stages of beta - -ABSTRACT:: - -Has promise to be the best Usenet news/publicly accessible mailing -list index/archive site in the world. We'll see how well it delivers -on this promise. It's in the final stages of beta testing (and is now -open to the public), and seems quite solid. I haven't yet figured out -how to really make proper use of the underlying power I'm sure is -there, but it looks good. Of course, you'll need to wait a little -while as they backfill their archives before searches will turn up all -that much information, but it already compares favourably to DejaNews. - -Some of the best minds I know of are working on this project, so if it -can be done, I figure they can do it. - -END:: sendmail-faq//online/archive/20 - - BIB-VERSION:: CS-TR-v2.1 - ID:: sendmail-faq//online/archive/21 - ENTRY:: May 24, 1996 - TYPE:: Online archive of spam/junkmail - TITLE:: list-managers spam discussion archives - AUTHOR:: Gilman, Al - CONTACT:: Al Gilman <asgilman@access.digex.net> -OTHER_ACCESS:: URL:http://www.access.digex.net/~asgilman/spam/ -OTHER_ACCESS:: URL:ftp://www.access.digex.net/~asgilman/spam/ - LANGUAGE:: English - -ABSTRACT:: - -These collections of past mail from the list-managers discussion list -can be retrieved by ftp or HTTP. - -For anonymous ftp, open ftp.digex.net and cd to -/pub/access/asgilman/spam. - -For http, G)o to http://www.access.digex.net/~asgilman/spam/ In this -directory you will find, _inter alia_, two files which are mail -folders: - - spam -- collects examples of spams - spam-NOT -- collects discussion of spam countermeasures - -END:: sendmail-faq//online/archive/21 - ------------------------------- - -Date: July 9, 1996 -Subject: Q7 -- THANKS! - - -Special thanks to: - - Eric Allman The core of the material here comes from - his FAQ for version 8.6.9 sendmail. I - couldn't even have gotten started were it - not for him. And if he hadn't written - sendmail, there obviously wouldn't even - be a FAQ. Heck, there might not even be an - Internet. - - Paul Southworth Provides FAQ posting services, useful - comments on various sections, and the - mailclient-faq. I couldn't have kept - doing this were it not for his help. - - Ed Ravin Virtually all the material regarding the - use of sendmail on AIX is his, and most - of it has been carried over verbatim. - -Thanks also to: - - Neil Hoggarth, Andras Salamon, Johan Svensson, Christopher X. - Candreva, Bill Wohler, Matthew Wall, Henry W. Farkas, Claus - Assmann, Curt Sampson, Rebecca Lasher, Jim Davis, David Keegel, - Betty Lee, Alain Durand, Walter Schweizer, Christophe Wolfhugel, - Al Gilman, Valdis Kletnieks, John Gardiner Myers, Paul DuBois, - Adam Bentley, Dave Sill, Dave Wreski, Paul Caloca, Eamonn - Coleman, Michael Fuhr, Betty Lee, Derrell Lipman, and the - readers and posters of comp.mail.sendmail. - ------------------------------- - -Comments/updates should be sent to <sendmail-faq@etext.org>. - -Copyright 1996, by Brad Knowles, all rights reserved - -End of comp.mail.sendmail Frequently Asked Questions (FAQ), part 2 of 2 -*********************************************************************** diff --git a/debian/patch.collect b/debian/patch.collect deleted file mode 100644 index 6aad2fd..0000000 --- a/debian/patch.collect +++ /dev/null @@ -1,25 +0,0 @@ -*** collect.c.orig Wed May 20 02:36:05 1998 ---- collect.c Thu May 28 13:29:09 1998 -*************** -*** 353,360 **** - if (*--bp != '\n' || *--bp != '\r') - bp++; - *bp = '\0'; -! if (bitset(H_EOH, chompheader(buf, FALSE, hdrp, e))) -! mstate = MS_BODY; - break; - - case MS_BODY: ---- 353,364 ---- - if (*--bp != '\n' || *--bp != '\r') - bp++; - *bp = '\0'; -! if (bitset(H_EOH, chompheader(buf, FALSE, hdrp, e))) { -! mstate = MS_BODY; -! if (tTd(30, 35)) -! printf("H_EOH, istate=%d, mstate=%d\n", istate, mstate); -! goto nextstate; -! } - break; - - case MS_BODY: diff --git a/debian/patch.orbs-orca b/debian/patch.orbs-orca new file mode 100644 index 0000000..7e9275e --- /dev/null +++ b/debian/patch.orbs-orca @@ -0,0 +1,42 @@ +*** ../cf/m4/proto.m4 Tue Dec 29 12:42:07 1998 +--- proto.m4 Tue Jan 5 15:10:53 1999 +*************** +*** 1101,1110 **** + ifdef(`_RBL_', `dnl + # DNS based IP address spam lists + R$* $: $&{client_addr} +! R$-.$-.$-.$- $: $(host $4.$3.$2.$1._RBL_. $: OK $) +! ROK $@ OK +! R$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused by blackhole site _RBL_"', + `dnl') + + ###################################################################### + ### check_mail -- check SMTP ``MAIL FROM:'' command argument +--- 1101,1127 ---- + ifdef(`_RBL_', `dnl + # DNS based IP address spam lists + R$* $: $&{client_addr} +! R$-.$-.$-.$- $: <?> $(host $4.$3.$2.$1._RBL_. $: OK $) +! R<?>OK $: OKSOFAR +! R<?>$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused by blackhole site _RBL_"', + `dnl') ++ ++ ifdef(`_ORBS_', `dnl ++ # ORBS project checks -- http://www.dorkslayers.com/orbs/ ++ R$* $: $&{client_addr} ++ R$-.$-.$-.$- $: <?> $(host $4.$3.$2.$1._ORBS_. $: OK $) ++ R<?>OK $: OKSOFAR ++ R<?>$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused; see http://www.orbs.org/"', ++ `dnl') ++ ++ ifdef(`_ORCA_', `dnl ++ # ORCA project checks -- http://www.orca.bc.ca/dul/ ++ R$* $: $&{client_addr} ++ R$-.$-.$-.$- $: <?> $(host $4.$3.$2.$1._ORCA_. $: OK $) ++ R<?>OK $: OKSOFAR ++ R<?>$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused; see http://www.orca.bc.ca/dul/"', ++ `dnl') ++ + + ###################################################################### + ### check_mail -- check SMTP ``MAIL FROM:'' command argument diff --git a/debian/postinst.debhelper b/debian/postinst.debhelper deleted file mode 100644 index f0e9469..0000000 --- a/debian/postinst.debhelper +++ /dev/null @@ -1,72 +0,0 @@ -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then - suidregister -s sendmail /usr/sbin/sendmail root root 4755 -else - chown root.root /usr/sbin/sendmail - chmod 4755 /usr/sbin/sendmail -fi -# End automatically added section diff --git a/debian/postrm.debhelper b/debian/postrm.debhelper deleted file mode 100644 index fb8bdab..0000000 --- a/debian/postrm.debhelper +++ /dev/null @@ -1,45 +0,0 @@ -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section -# Automatically added by dh_suidregister -if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail -fi -# End automatically added section diff --git a/debian/rbl.m4 b/debian/rbl.m4 deleted file mode 100644 index 0b740b0..0000000 --- a/debian/rbl.m4 +++ /dev/null @@ -1,14 +0,0 @@ -divert(0) -VERSIONID(`@(#)rbl.m4 1.2 (RBL) 11/18/97') - -LOCAL_RULESETS -# -# Deny spammers during MAIL command if the IP address of the incoming -# connection is in the RBL map (http://maps.vix.com/rbl/) -# -Scheck_mail -R$* $: $(dequote "" $&{client_addr} $) -R0 $@ OK -R$-.$-.$-.$- $: $(host $4.$3.$2.$1.rbl.maps.vix.com. $: OK $) -ROK $@ OK -R$+ $#error $@ 5.7.1 $: " Mail from " $(dequote "" $&{client_addr}$) " refused, see http://maps.vix.com/rbl/" diff --git a/debian/rblspam.m4 b/debian/rblspam.m4 deleted file mode 100644 index 48d6c29..0000000 --- a/debian/rblspam.m4 +++ /dev/null @@ -1,66 +0,0 @@ -divert(-1) -# This is a variation on the tradinal RBL filters that dumps email to -# a separate user rather than bouncing it back. It is recommended that -# a user spam be created to recieve the mail. - -# This works as discussed in the web page http://maps.vix.com/ - -# The two ways to use the MAPS RBL are: transfer and inquiry. In -# inquiry mode you start by knowing the IPv4 dotted quad address of -# some host or mail relay, and you use some network protoco l to ask -# MAPS whether that host is listed in the RBL. If the host is so -# listed, you can choose a next step which is appropriate to your site -# security policy. At our site we reject all mail from hosts listed in -# the MAPS RB L, and some of our hosts also route all traffic destined -# for such hosts to a local black hole . - -# The rules below direct all such mail to a designated spam -# user. Please note that this means the mail is not rejected, and the -# spammer has no incentive to stop; the default configuration rejects -# the mail with an error; and this not totally in line with the intent -# of the Mail Abuse Prevention System's Realtime Blackhole List. The -# are trying to make sure the spammers are delibrately -# disconnected. For this reason, I have provided a means of rejecting -# the message (by uncommenting a line) just like the original -# configuration does. - -# Please use this hack after due consideration, this is not for every -# one. - - -# The simplest way to get started using the MAPS RBL to protect your -# mail relay ag ainst theft of service by spammers is to arrange for -# it to make a DNS query (of a stylized name) whenever you receive an -# incoming mail message from a host whose spam status you do not -# know. In Sendmail (version 8.8 or later), this is done using -# configuration rules like these: - - -divert(0) -VERSIONID(`@(#)my_rbl.m4 1.2 (Manoj Srivastava) 1998-02-05') -PUSHDIVERT(6) -# Login of the user selected to recieve all spam -D{SpamUser} ifelse(_ARG_, `', `spam', `_ARG_') -POPDIVERT - - -divert(2) -LOCAL_RULESETS - -S98 -# Try and ensure that the sender is not blacklisted -R$* $: $1 $| $(dequote "" $&{client_addr} $) -R$* $| $1 # no match, restore - -# check with upstream site -R$* $| $-.$-.$-.$- $: $1 $| $(host $5.$4.$3.$2.rbl.maps.vix.com. $: OK $) - -# handle results of lookup -R$* $| OK $1 # no match, restore -R$* $| $1 # no match, restore - -# Comment this line, and un comment the next to actually reject the message -R$* $| $+ ${SpamUser} < @ $j . > # save to spam user -#R$* $| $+ $#error $@ 5.7.1 $: " Mail from " $(dequote "" $&{client_addr} $) " refused, see http://maps.vix.com/rbl/" - -divert(0) diff --git a/debian/rules b/debian/rules index c5eecb3..47b2763 100755 --- a/debian/rules +++ b/debian/rules @@ -1,258 +1,219 @@ #!/usr/bin/make -f # -*- makefile -*- -# Debianrules for building a Debian package -# Version 1.5 +# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. # -# These rules have been specifically designed NOT to require root to -# run them. At any time root privileges are required, the command to be -# executed will be made obvious and root's password will be prompted for. -# Of course, root may still run this and no password will be required. +# This file is also based upon prior sendmail makefiles # -# Robert Leslie <rob@mars.org> +# Richard Nelson <cowboy@debian.org> + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 package=sendmail version=$(shell expr `pwd` : '.*-\([0-9.].*\)') version_main=$(shell expr `pwd` : '.*-\([0-9]*.[0-9.]*\)') -LIBS = -ldb -lresolv -lnsl -lwrap -DBMDEF = -DNEWDB -DNIS -ENVDEF = -DHASFLOCK=1 -DTCPWRAPPERS=1 -include $(shell pwd)/debian/el33t.h \ - -I/usr/include/db - -CC=cc -GCC = $(CC) $(HACK) -OFLAGS = -O2 -SHELL=/bin/bash +#------------- +build: build-stamp +build-stamp: + dh_testdir + # Add here commands to compile the package. + #$(MAKE) -.SILENT: rmail/rmail + cp -f debian/site.config.m4 BuildTools/Site/site.config.m4 + $(MAKE) -rmail/rmail: - cd rmail && $(GCC) $(OFLAGS) rmail.c -o rmail + # Debian stuff + cd debian && gcc -O2 -o sensible-mda sensible-mda.c + touch build-stamp +#------------- +clean: + dh_testdir + dh_testroot + rm -f build-stamp install-stamp -.PHONY: man bin - -build: - $(checkdir) -# -ln -sf /usr/include/gdbm-ndbm.h src/ndbm.h - cd src && ./makesendmail sendmail \ - CC="$(GCC)" O="$(OFLAGS)" DBMDEF="$(DBMDEF)" \ - ENVDEF="$(ENVDEF)" INCDIRS="$(INCDIRS)" \ - LIBS="$(LIBS)" LIBDIRS="" - $(MAKE) -C mailstats -f Makefile.dist mailstats \ - CC="$(GCC)" O="$(OFLAGS)" \ - INCDIRS="-I../src" LIBDIRS="" - $(MAKE) -C makemap -f Makefile.dist makemap \ - CC="$(GCC)" O="$(OFLAGS)" \ - INCDIRS="-I../src -I/usr/include/db" \ - LIBDIRS="" LIBS="$(LIBS)" DBMDEF="$(DBMDEF)" - $(MAKE) -C praliases -f Makefile.dist praliases \ - CC="$(GCC)" O="$(OFLAGS)" \ - INCDIRS="-I../src -I/usr/include/db" \ - LIBDIRS="" LIBS="$(LIBS)" -# -$(MAKE) -C mail.local -f Makefile.dist mail.local \ -# CC="$(GCC)" O="$(OFLAGS)" INCDIRS="-I../src" \ -# LIBDIRS="" LIBS="" ENVDEF="-DBSD4_4" - $(MAKE) -C smrsh -f Makefile.dist smrsh \ - CC="$(GCC)" O="$(OFLAGS)" \ - ENVDEF="-DCMDDIR=\\\"/usr/lib/sm.bin\\\" \ - -DPATH=\\\"/usr/bin:/bin\\\"" \ - INCDIRS="-I../src" LIBDIRS="" - $(MAKE) -f debian/rules rmail/rmail - cd doc && { \ - for doc in changes/changes intro/intro op/op usenix/usenix; \ - do test -f $$doc.txt || \ - nroff -me $$doc.me | cat -s > $$doc.txt; done; \ - } - test -f debian/part1 && test -f debian/part2 - cd debian && gcc -o sensible-mda sensible-mda.c - touch build + # Add here commands to clean up after the build process. + #-$(MAKE) clean + #-$(MAKE) distclean + cp -f debian/site.config.m4 BuildTools/Site/site.config.m4 + -$(MAKE) clean -l33ch: - cd debian && \ - wget ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq/part1 - cd debian && \ - wget ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq/part2 + # Local approximation of distclean + for file in \ + src mail.local mailstats makemap praliases rmail smrsh; do \ + rm -rf $$(find . -name "obj*" -type d); \ + done; + rm -f BuildTools/Site/site.config.m4 + rm -f debian/{check.tar,sensible-mda} + find .. -name $(package)*.asc -size 0 -maxdepth 1 -exec rm {} ";" + chmod +x debian/{runq,sendmailconfig} + dh_clean -man: - cp -p debian/runq.1 debian/tmp/usr/man/man1 - cp -p debian/sendmailconfig.8 debian/tmp/usr/man/man8 - cp -p debian/sensible-mda.8 debian/tmp/usr/man/man8 - for file in src/*.[158] mailstats/*.8 makemap/*.8 \ - praliases/*.8 smrsh/*.8 rmail/*.8; do \ - base=$$(basename $$file); \ - ext=$$(echo $$file | sed -e "s/.*\(.\)$$/\1/"); \ - sed -e "s#/usr/adm/sm.bin#/usr/lib/sm.bin#g" \ - -e "s#/etc/sendmail.hf#/usr/lib/sendmail.hf#g" \ - -e "s#/bin:/usr/bin:/usr/ucb#/usr/bin:/bin#g" \ - -e "s#/etc/rc#/etc/init.d/sendmail#g" $$file \ - > debian/tmp/usr/man/man$$ext/$$base; \ - done - install -m 644 contrib/etrn.pl debian/tmp/usr/man/man8/etrn.8 - install -m 644 contrib/expn.pl debian/tmp/usr/man/man8/expn.8 - cp -p checksendmail/address.resolve debian/tmp/usr/doc/$(package) - cp -p checksendmail/checksendmail.8 debian/tmp/usr/man/man8 +#------------- +install: install-stamp +install-stamp: build-stamp + dh_testdir + dh_testroot + #dh_clean -k + dh_clean + dh_installdirs + # Add here commands to install the package into debian/tmp. + #-$(MAKE) prefix=`pwd`/debian/tmp/usr install -bin: - install rmail/rmail debian/tmp/usr/bin - cd src && ./makesendmail install-sendmail \ - DESTDIR="$$(pwd)/../debian/tmp" BINGRP="root" - STDIR="$$(pwd)/../debian/tmp/var/log" -# cd debian/tmp && mv etc/sendmail.hf usr/lib - rm -f debian/tmp/etc/sendmail.st - $(MAKE) -s -C mailstats -f Makefile.dist install-mailstats \ - DESTDIR="../debian/tmp" - $(MAKE) -s -C makemap -f Makefile.dist install-makemap \ - DESTDIR="../debian/tmp" - $(MAKE) -s -C praliases -f Makefile.dist install-praliases \ - DESTDIR="../debian/tmp" - $(MAKE) -s -C smrsh -f Makefile.dist install-smrsh \ - BINDIR="../debian/tmp/usr/sbin" -# -$(MAKE) -s -C mail.local -f Makefile.dist install-mail.local \ -# BINDIR="../debian/tmp/usr/sbin" - strip --strip-debug debian/tmp/usr/{bin,sbin}/* - install debian/sendmailconfig debian/sensible-mda debian/tmp/usr/sbin - install debian/runq debian/tmp/usr/bin + chmod 700 debian/tmp/var/state/sendmail + + # sendmail install proper... with a little help ;-} + cp -f debian/site.config.m4 BuildTools/Site/site.config.m4 + $(MAKE) install \ + DESTDIR="$$(pwd)/debian/tmp" + cd rmail/obj* && $(MAKE) force-install \ + DESTDIR="../../debian/tmp" + # correct what the m4 build process did... + mv debian/tmp/usr/bin/rmail debian/tmp/usr/sbin/rmail + ln -sf ../sbin/rmail debian/tmp/usr/bin/rmail + #mv debian/tmp/usr/sbin/sendmail debian/tmp/usr/sbin/sendmail.real + #chmod 4755 debian/tmp/usr/sbin/sendmail.real + for file in \ + debian/tmp/usr/bin/{hoststat,mailq,newaliases,purgestat} \ + debian/tmp/usr/lib/sendmail; do \ + ln -sf ../sbin/sendmail $$file; \ + done; + + # contributed stuff - scripts sed "s?/usr/local/bin/perl?/usr/bin/perl?g" contrib/etrn.pl \ + | sed "s?/etc/sendmail.cf?/etc/mail/sendmail.cf?g" \ > debian/tmp/usr/sbin/etrn + chmod a+x debian/tmp/usr/sbin/etrn sed "s?/usr/local/bin/perl?/usr/bin/perl?g" contrib/expn.pl \ > debian/tmp/usr/bin/expn - chmod 755 debian/tmp/usr/sbin/etrn debian/tmp/usr/bin/expn - install checksendmail/checksendmail.perl debian/tmp/usr/sbin/checksendmail - for file in debian/tmp/usr/bin/{hoststat,mailq,newaliases,purgestat} \ - debian/tmp/usr/lib/sendmail; do \ - rm -f $$file && ln -s ../sbin/sendmail $$file; \ - done + chmod a+x debian/tmp/usr/bin/expn + sed "s?/etc/sendmail.cf?/etc/mail/sendmail.cf?g" \ + debian/checksendmail/checksendmail.perl \ + > debian/tmp/usr/sbin/checksendmail + chmod a+x debian/tmp/usr/sbin/checksendmail + # man + sed "s?/usr/local/bin/perl?/usr/bin/perl?g" contrib/etrn.pl \ + > debian/tmp/usr/man/man8/etrn.8 + sed "s?/usr/local/bin/perl?/usr/bin/perl?g" contrib/expn.pl \ + > debian/tmp/usr/man/man8/expn.8 + cp -p debian/checksendmail/checksendmail.8 debian/tmp/usr/man/man8/ + # examples + sed "s?/bin/perl?/usr/bin/perl?g" contrib/passwd-to-alias.pl \ + > debian/tmp/usr/doc/$(package)/examples/passwd-to-alias + # Debian stuff + install debian/sendmailconfig debian/sensible-mda \ + debian/tmp/usr/sbin + install debian/runq debian/tmp/usr/bin + #install -m 755 debian/socks_wrapper debian/tmp/usr/sbin/sendmail + # sendmail documentation + cp -p doc/*/*.ps debian/tmp/usr/doc/$(package) + cd doc && { \ + for doc in \ + changes/changes intro/intro op/op usenix/usenix; do\ + base=$$(basename $$doc.txt); \ + test -f $$doc.txt || \ + nroff -me $$doc.me | \ + cat -s > ../debian/tmp/usr/doc/sendmail/$$base; \ + done; \ + } + + # m4 configuration directories + cp -p cf/README debian/tmp/usr/doc/$(package)/cf.README + cp -a cf/{feature,m4,mailer,sh,domain,ostype} \ + debian/tmp/usr/share/sendmail.cf + chmod a+x debian/tmp/usr/share/sendmail.cf/sh/* + cp debian/debproto.mc debian/tmp/usr/share/sendmail.cf/cf/ + cp debian/debian.m4 debian/tmp/usr/share/sendmail.cf/ostype/ + cp debian/orbs.m4 debian/tmp/usr/share/sendmail.cf/feature/ + cp debian/orca.m4 debian/tmp/usr/share/sendmail.cf/feature/ + + cp -p debian/{aliases,nssnodns.conf} debian/tmp/etc + #$(MAKE) -f debian/rules hacks + + dh_movefiles + touch install-stamp + +#------------- +binary-indep: build install +# There are no architecture-independent files to be uploaded +# generated by this package. If there were any they would be +# made here. + +#------------- +binary-arch: build install +# dh_testversion + dh_testdir + dh_testroot + dh_installchangelogs RELEASE_NOTES + dh_installcron + dh_installdocs +# dh_installemacsen + dh_installexamples + dh_installinit + dh_installmanpages mail.local/* + cd debian/tmp/usr/man/man8 && \ + ln -sf sendmail.8.gz ./purgestat.8.gz && \ + ln -sf sendmail.8.gz ./hoststat.8.gz + # ln -sf sendmail.8.gz ./sendmail.real.8.gz +# dh_undocumented + dh_installmenu + # + $(MAKE) -s -f debian/rules buildinfo + # + dh_strip + dh_compress + dh_fixperms + #dh_link + dh_suidregister + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_makeshlibs + dh_md5sums + dh_builddeb +#------------- +l33ch: + dh_testdir + cd debian && \ + wget --passive-ftp --timestamping \ + ftp://rtfm.mit.edu/pub/usenet/comp.mail.sendmail/sendmail_FAQ + +#------------- hacks: cd debian && uudecode check.tar.uue cd debian/tmp/usr/doc/$(package) && tar -xf ../../../../check.tar cd debian/tmp/usr/doc/$(package)/hack; \ - for file in *; do \ + for file in *; do \ sed "s/dbm /hash /g" < $$file \ - > ../../../lib/sendmail.cf/hack/$$file; \ - done + > ../../../share/sendmail.cf/hack/$$file; \ + done sed "s/dbm /hash /g" debian/tmp/usr/doc/$(package)/README.check \ > debian/tmp/usr/doc/$(package)/README.Spam rm debian/tmp/usr/doc/$(package)/README.check rm -r debian/tmp/usr/doc/$(package)/hack/ - cp -p debian/{rbl*,nodns}.m4 debian/tmp/usr/lib/sendmail.cf/hack - - -binary-indep: checkroot - $(checkdir) - -binary-arch: checkroot build - $(checkdir) - rm -rf debian/tmp && install -d debian/tmp - cd debian/tmp && install -d $$(cat ../dirs) - cp debian/{conffiles,control} debian/tmp/DEBIAN - install debian/{pre*,post*} debian/tmp/DEBIAN - - $(MAKE) -f debian/rules man - cp -p doc/*/{*.ps,*.txt} debian/tmp/usr/doc/$(package) - cp -p RELEASE_NOTES debian/tmp/usr/doc/$(package)/changelog -# cp -p debian/changelog \ -# debian/tmp/usr/doc/$(package)/changelog.Debian - cp -p cf/README debian/tmp/usr/doc/$(package)/cf.README - cp -p debian/part1 debian/tmp/usr/doc/$(package)/FAQ-1.txt - cp -p debian/part2 debian/tmp/usr/doc/$(package)/FAQ-2.txt - find debian/tmp/usr/doc/$(package) debian/tmp/usr/man \ - -type f -exec gzip -v9 {} ";" - cd debian/tmp/usr/man/man8 && \ - ln -s sendmail.8.gz ./purgestat.8.gz && \ - ln -s sendmail.8.gz ./hoststat.8.gz - cp -p debian/{README*,copyright} contrib/passwd-to-alias.pl \ - KNOWNBUGS debian/tmp/usr/doc/$(package) - chmod a-x debian/tmp/usr/doc/$(package)/passwd-to-alias.pl - cp debian/debproto.mc debian/tmp/usr/lib/sendmail.cf/cf - cp -p debian/debian.m4 cf/ostype/* \ - debian/tmp/usr/lib/sendmail.cf/ostype - cp -p cf/domain/* debian/tmp/usr/lib/sendmail.cf/domain - cp -a cf/{feature,m4,mailer,sh} debian/tmp/usr/lib/sendmail.cf - - $(MAKE) -f debian/rules bin - $(MAKE) -f debian/rules hacks - install debian/init.d debian/tmp/etc/init.d/$(package) - #install -m 755 debian/ip-up.d debian/tmp/etc/ppp/ip-up.d/$(package) - #install -m 755 debian/ip-down.d debian/tmp/etc/ppp/ip-down.d/$(package) - cp -p debian/{aliases,nssnodns.conf} debian/tmp/etc - - chmod -R u=rwX,go=rX debian/tmp - chown -R root.root debian/tmp - chmod 4755 debian/tmp/usr/sbin/sendmail - chmod 700 debian/tmp/var/state/sendmail - $(MAKE) -s -f debian/rules buildinfo - -# dh_installdocs -# dh_installexamples -# dh_installmenu -# dh_installcron -# dh_installmanpages - dh_installchangelogs -# dh_movefiles - dh_strip -# dh_compress - dh_fixperms - dh_suidregister - dh_installdeb - dh_shlibdeps - dh_gencontrol -# dh_makeshlibs - dh_md5sums - dh_builddeb - - -clean: - $(checkdir) - rm -f build - test ! -d debian/tmp || rm -rf debian/tmp - $(MAKE) -C smrsh -f Makefile.dist clean - $(MAKE) -C praliases -f Makefile.dist clean - $(MAKE) -C makemap -f Makefile.dist clean - $(MAKE) -C mailstats -f Makefile.dist clean - $(MAKE) -C mail.local -f Makefile.dist clean - rm -f doc/{changes/changes,intro/intro,op/op,usenix/usenix}.txt - rm -rf rmail/rmail stamp-build $$(find . -name "*~") src/obj.* - rm -rf $$(find debian/* -type d) $$(find src makemap -type l) - rm -rf debian/{files*,*substvars*} debian/{check.tar,sensible-mda} - find .. -name $(package)*.asc -size 0 -maxdepth 1 -exec rm {} ";" - chmod +x debian/{pre*,post*,runq,sendmailconfig} - + cp -p debian/{rbl*,nodns}.m4 debian/tmp/usr/share/sendmail.cf/hack +#------------- buildinfo: @echo; dpkg -l gcc "libc6*" binutils ldso make dpkg-dev $(BUILDINFO) \ | awk '$$1 == "ii" { printf("%s-%s\n", $$2, $$3) }' \ | tee debian/tmp/usr/doc/$(package)/buildinfo.Debian; echo chmod 644 debian/tmp/usr/doc/$(package)/buildinfo.Debian -# cd debian/tmp && md5sum $$(find * -type f -not -regex "DEBIAN/.*") \ -# > DEBIAN/md5sums -# rm -f debian/tmp/files.sig -# -cd debian/tmp && pgp -sat +clearsig=on DEBIAN/md5sums -o files.sig \ -# && chmod 644 files.sig \ -# && mv -v files.sig usr/doc/$(package)/checksums.txt - - -define checkdir - test -f debian/rules -endef +#------------- # Below here is fairly generic really -binary: binary-indep binary-arch - source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false -checkroot: - $(checkdir) - test root = "`whoami`" - -.PHONY: binary binary-arch binary-indep clean checkroot +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary diff --git a/debian/runq b/debian/runq index b68b35a..a62522c 100644 --- a/debian/runq +++ b/debian/runq @@ -22,5 +22,6 @@ case $# in ;; * ) ;; esac - -exec /usr/sbin/sendmail -q $* + +COMMAND=/usr/sbin/sendmail +exec $COMMAND -q $* diff --git a/debian/sendmail-8.8.5-tcpwrap b/debian/sendmail-8.8.5-tcpwrap deleted file mode 100644 index 1cf0971..0000000 --- a/debian/sendmail-8.8.5-tcpwrap +++ /dev/null @@ -1,82 +0,0 @@ - - PREVENT UNAUTHORIZED USE OF YOUR HOSTS AS SMTP RELAY - - Miquel van Smoorenburg <miquels@cistron.nl> 14-Jun-1996 - -The patch at the end of this file adds a new option to sendmail, -`W' or `TcpWrappers'. This makes it possible for precompiled distributions -to ship binaries compiled with -DTCPWRAPPERS without any unexpected -side-effects, since the option is off by default. - -Here's the diff to the sendmail-8.8.5 source: - -diff -ru sendmail-8.8.5.orig/src/conf.c sendmail-8.8.5/src/conf.c ---- sendmail-8.8.5.orig/src/conf.c Tue Jan 21 16:47:13 1997 -+++ sendmail-8.8.5/src/conf.c Tue Jun 3 14:26:44 1997 -@@ -4026,7 +4029,8 @@ - return FALSE; - - #if TCPWRAPPERS -- if (!hosts_ctl("sendmail", hostname, anynet_ntoa(sap), STRING_UNKNOWN)) -+ if (TcpWrappers && -+ !hosts_ctl("sendmail", hostname, anynet_ntoa(sap), STRING_UNKNOWN)) - { - # ifdef LOG - if (LogLevel >= 4) -diff -ru sendmail-8.8.5.orig/src/readcf.c sendmail-8.8.5/src/readcf.c ---- sendmail-8.8.5.orig/src/readcf.c Wed Jan 15 02:51:29 1997 -+++ sendmail-8.8.5/src/readcf.c Tue Jun 3 15:19:48 1997 -@@ -1424,6 +1424,9 @@ - { "FallbackMXhost", 'V', FALSE }, - { "Verbose", 'v', TRUE }, - { "TryNullMXList", 'w', FALSE }, -+#ifdef TCPWRAPPERS -+ { "TcpWrappers", 'W', TRUE }, -+#endif - { "QueueLA", 'x', FALSE }, - { "RefuseLA", 'X', FALSE }, - { "RecipientFactor", 'y', FALSE }, -@@ -2069,6 +2072,11 @@ - break; - - /* 'W' available -- was wizard password */ -+#ifdef TCPWRAPPERS -+ case 'W': -+ TcpWrappers = atobool(val); -+ break; -+#endif - - case 'x': /* load avg at which to auto-queue msgs */ - QueueLA = atoi(val); -diff -ru sendmail-8.8.5.orig/src/sendmail.8 sendmail-8.8.5/src/sendmail.8 ---- sendmail-8.8.5.orig/src/sendmail.8 Fri Jan 17 00:25:50 1997 -+++ sendmail-8.8.5/src/sendmail.8 Tue Jun 3 15:03:28 1997 -@@ -432,6 +432,15 @@ - This may not be available if your sendmail does not have the - .Dv USERDB - option compiled in. -+.It Li TcpWrappers -+Use the -+.Dv sendmail -+entry in -+.Pa /etc/hosts.allow -+to decide if the remote host has access to the SMTP port. -+This may not be available if your sendmail does not have the -+.Dv TCPWRAPPERS -+option compiled in. - .It Li ForkEachJob - Fork each job during queue runs. - May be convenient on memory-poor machines. -diff -ru sendmail-8.8.5.orig/src/sendmail.h sendmail-8.8.5/src/sendmail.h ---- sendmail-8.8.5.orig/src/sendmail.h Wed Jan 15 02:51:29 1997 -+++ sendmail-8.8.5/src/sendmail.h Tue Jun 3 14:25:43 1997 -@@ -1168,6 +1168,9 @@ - #ifdef _FFR_DSN_RRT - EXTERN bool RrtImpliesDsn; /* turn Return-Receipt-To: into DSN */ - #endif -+#ifdef TCPWRAPPERS -+EXTERN bool TcpWrappers; /* Use tcp wrappers for access control. */ -+#endif - EXTERN bool IgnoreHostStatus; /* ignore long term host status files */ - EXTERN bool SingleThreadDelivery; /* single thread hosts on delivery */ - EXTERN bool UnsafeGroupWrites; /* group-writable files are unsafe */ diff --git a/debian/sendmail-8.8.8-ismx-4 b/debian/sendmail-8.8.8-ismx-4 deleted file mode 100644 index 7185096..0000000 --- a/debian/sendmail-8.8.8-ismx-4 +++ /dev/null @@ -1,161 +0,0 @@ - - PREVENT UNAUTHORIZED USE OF YOUR HOSTS AS SMTP RELAY - - Miquel van Smoorenburg <miquels@cistron.nl> 03-Mar-1998 - -This patch adds a new map type to sendmail-8.8.8, called "ismx". That -maps checks if we (all names in class 'w') are an MX for a certain domain. -If so, the input hostname is replaced by our hostname, or TEMPFAIL if the DNS -lookup failed. - -This can be used together with the "check_rcpt" rule to deny relaying for -domains for which we are officially not an MX, without listing all domains -in a configuration file. This prevents that your host is being used as -a spam relay. However your host will still relay for hosts that it is -officially an MX for, without any extra administration. - -Ofcourse you can put a list of IP numbers/networks in the file "LocalIP" -to list hosts that may use your host as relay or smarthost. This is -useful for a machine that is used internally as SMTP relay, for e.g. -Eudora or Pegasus mail clients. The fields in this file are used with -a substring match; for example 192.168 will match 192.168.0.0/16, -192.168.1 will match 192.168.1.0/24 and 192.168.1.2 will only match -that specific IP address. One entry per line. - -If you want to add some more hosts/domains you relay for but which -do not have an MX entry pointing at your server, or which are not -in class `w', you can put them in the file "RelayTo". - -Both files (LocalIP and RelayTo) must exist, even if they are otherwise -empty. Comments (using `#') are allowed. - - -These are the sendmail rules, with thanks to Niels Bakker <niels@euro.net> - -8.8.8-2 Documentation update, rules rewrite -8.8.8-3 Allow <@a,b:user@c> in MAIL FROM: -8.8.8-4 Use ismx map to differentiate between soft and hard lookup - errors in Scheck_mail - -LOCAL_CONFIG -Kismx ismx -F{LocalIP} /etc/mail/LocalIP -FR /etc/mail/RelayTo - -LOCAL_RULESETS -Scheck_mail -# -# Check that the domain name is valid. -# -R< @ $+ : $+ @ $+ > $: < $2 @ $3 > Strip SMTP route-addr -R<$*@$=w> $@ <OK> shortcut (class w) -R$- $@ <OK> local host -R<> $@ <OK> bounce -R$* $: <?> $>3 $1 canonify -R<?> $* < @ $+ . > $: $1 < @ $2 > qualified -R<?> $* < @ $+ > $: <?> $(ismx $2 $: NOMX $) -R<?> TEMPFAIL $# error $@ 4.5.1 $: 451 Cannot resolve that - try again later. -R<?> $* $# error $@ 5.7.1 $: 571 Invalid host name - -Scheck_rcpt -# -# Local users (LocalIP) can relay anywhere. -# -R$+ $: $(dequote "" $&{client_addr} $) $| $1 -R0 $| $* $@ <OK> no client addr: directly invoked -R$={LocalIP}$* $| $* $@ <OK> from here -R$* $| $* $: $2 undo damage -# -# Anything terminating locally is also OK. -# -R$* $: $>Parse0 $>3 $1 -R$+ < @ $* . > $* $: $1 < @ $2 > -R$+ < @ $=w > $@ <OK> we deliver -R$+ < @ $=R > $@ <OK> we relay -# -# See if we are MX for this host -# -R$+ < $* @ $+ > $* $: $1 < $2 @ $(ismx $3 $: NOMX $) > $4 -R$+ < $* @ NOMX > $* $# error $@ 5.7.1 $: 571 I do not relay for that address. -R$+ < $* @ TEMPFAIL > $* $# error $@ 4.5.1 $: 451 Cannot resolve target domain. -R$* $@ <OK> - - -Note that if the MX lookup fails, a temporary rather than a fatal error -code is returned so that the message will not get lost. - -Here's the diff to the sendmail-8.8.8 source. Note that if you are -running Debian/Linux, the sendmail-8.8.8 package already has this patch -incorporated. - - -diff -u --recursive --new-file sendmail-8.8.8.orig/src/conf.c sendmail-8.8.8/src/conf.c ---- sendmail-8.8.8.orig/src/conf.c Mon Oct 20 17:41:38 1997 -+++ sendmail-8.8.8/src/conf.c Mon Jan 12 11:24:15 1998 -@@ -368,6 +368,10 @@ - MAPDEF("bestmx", NULL, MCF_OPTFILE, - map_parseargs, null_map_open, null_map_close, - bestmx_map_lookup, null_map_store); -+ -+ MAPDEF("ismx", NULL, MCF_OPTFILE, -+ map_parseargs, null_map_open, null_map_close, -+ ismx_map_lookup, null_map_store); - #endif - - MAPDEF("host", NULL, 0, -diff -u --recursive --new-file sendmail-8.8.8.orig/src/domain.c sendmail-8.8.8/src/domain.c ---- sendmail-8.8.8.orig/src/domain.c Sat Aug 2 20:06:53 1997 -+++ sendmail-8.8.8/src/domain.c Mon Jan 12 11:24:15 1998 -@@ -481,6 +481,52 @@ - return map_rewrite(map, mxhosts[0], strlen(mxhosts[0]), av); - } - /* -+** ISMX -- find if we are the MX for a certain host. -+** -+** This is really a hack, but I don't see any obvious way -+** to generalize it at the moment. -+*/ -+ -+char * -+ismx_map_lookup(map, name, av, statp) -+ MAP *map; -+ char *name; -+ char **av; -+ int *statp; -+{ -+ int nmx, i, len; -+ auto int rcode; -+ int saveopts = _res.options; -+ char *mxhosts[MAXMXHOSTS + 1]; -+ char *mymx = NULL; -+ -+ _res.options &= ~(RES_DNSRCH|RES_DEFNAMES); -+ nmx = getmxrr(name, mxhosts, FALSE, &rcode); -+ _res.options = saveopts; -+ if (rcode != EX_TEMPFAIL) { -+ if (nmx <= 0) -+ return NULL; -+ for(i = 0; i < nmx; i++) { -+ len = strlen(mxhosts[i]); -+ if (len && mxhosts[i][len - 1] == '.') -+ mxhosts[i][len - 1] = 0; -+ if (wordinclass(mxhosts[i], 'w')) { -+ mymx = mxhosts[i]; -+ break; -+ } -+ } -+ if (mymx == NULL) -+ return NULL; -+ } else -+ mymx = "TEMPFAIL"; -+ -+ if (bitset(MF_MATCHONLY, map->map_mflags)) -+ return map_rewrite(map, name, strlen(name), NULL); -+ else -+ return map_rewrite(map, mymx, strlen(mymx), av); -+} -+ -+/* - ** DNS_GETCANONNAME -- get the canonical name for named host using DNS - ** - ** This algorithm tries to be smart about wildcard MX records. diff --git a/debian/sendmail.README.Debian b/debian/sendmail.README.Debian new file mode 100644 index 0000000..7cad251 --- /dev/null +++ b/debian/sendmail.README.Debian @@ -0,0 +1,32 @@ + ***** Important notes on sendmail 8.9.2 **** + +1) Sendmail now always uses TCP wrappers (/etc/hosts.allow /etc/hosts.deny) + This is a change from prior versions where wrapper support was enabled + via sendmail.mc. + + Please make sure you add the appropriate entry to the /etc/hosts.* file. + The most likely candidate is to place sendmail: all in /etc/hosts.allow + +2) You should *really* read RELEASE_NOTES... There are *many* changes for + spam control. + A) Relaying is, by default, prohibitted + B) Mail from non-resolvable domains is, by default, prohibitted + + **** Other information **** + +This Debian package includes an automatic configuration utility +`sendmailconfig' which can be run at any time to modify the current sendmail +configuration. + +Most mail-related configuration files are kept in the /etc/mail directory. + +Specialized configurations can be accomplished by editing the file +/etc/mail/sendmail.mc by hand and then running `sendmailconfig' to generate +and use the appropriate corresponding sendmail.cf file. Such configurations +can make use of the m4 configuration macros kept in the /usr/share/sendmail.cf +directory. See also the other documentation in this directory. + +Finally, the file /etc/aliases holds a text representation of the current mail +aliases. See the aliases(5) man page for more information. If you edit this +file, be sure to run `newaliases' to update the corresponding binary database. + diff --git a/debian/sendmail.TODO b/debian/sendmail.TODO new file mode 100644 index 0000000..5b6cbe5 --- /dev/null +++ b/debian/sendmail.TODO @@ -0,0 +1,29 @@ +Misc: + hack nodns needs cleanup, currently not even installed! + cleanup/extend sendmailconfig + -- get rid of feature(nodns) + +Doc: + add hoststat to sendmail manpage + +FHS: + * /usr/doc -> /usr/share/doc + * /usr/man -> /usr/share/man + * /usr/lib/sm.bin -> ? + * /usr/lib/sendmail (obsolete link used by rmail/pine/others) + +IRC comments: +* <wichert> cowboy: I use a LUSER_RELAY here, which sends everything to another machine. That other machine uses a different maildomain, so I would like the luserrelay to rewrite the from-address when relaying +<cowboy> wichert: does genericstable work with the relay? +<wichert> cowboy: that probably, but that will rewrite _all_ outgoing mail +<cowboy> wichert: so you want it rewritten *only* when going through the relay? +<wichert> cowboy: indeed. And only for the receiving persons +<cowboy> wichert: hrm... I guess a new mailer def for the relay eh? +<wichert> cowboy: probably, FEATUER(luser_relay,host,rewrite_to) or so, with the 3rd param being optional +<cowboy> wichert: hrm... so you using aliases now? +<wichert> cowboy: no, people who do a group-reply to something I sent just get errors now +<cowboy> wichert: interesting... have you considered masquerading as your luser_relay, and then using generictable/user db to override for the uids that actually exist? +<wichert> cowboy: sounds like a hack and certainly does not scale very well +<cowboy> wichert: most definetly true ;-{ + +* <wichert> cowboy: another thing: you might want to make a /usr/doc/sendmail/README.spam or so with info about all spam/relay-control hacks/features that are in the Debian package, with a couple of examples diff --git a/debian/conffiles b/debian/sendmail.conffiles index 2108bcc..2108bcc 100644 --- a/debian/conffiles +++ b/debian/sendmail.conffiles diff --git a/debian/sendmail.dirs b/debian/sendmail.dirs new file mode 100644 index 0000000..3e077c9 --- /dev/null +++ b/debian/sendmail.dirs @@ -0,0 +1,17 @@ +DEBIAN +etc/init.d +usr/bin +usr/sbin +usr/man/man1 +usr/man/man5 +usr/man/man8 +usr/doc/sendmail +usr/doc/sendmail/examples +usr/lib/sm.bin +usr/share/misc +usr/share/sendmail.cf/hack +usr/share/sendmail.cf/domain +usr/share/sendmail.cf/ostype +usr/share/sendmail.cf/cf +var/state/sendmail +var/log diff --git a/debian/sendmail.docs b/debian/sendmail.docs new file mode 100644 index 0000000..828c838 --- /dev/null +++ b/debian/sendmail.docs @@ -0,0 +1,5 @@ +FAQ +KNOWNBUGS +README +RELEASE_NOTES +debian/sendmail_FAQ diff --git a/debian/sendmail.examples b/debian/sendmail.examples new file mode 100644 index 0000000..a5996a1 --- /dev/null +++ b/debian/sendmail.examples @@ -0,0 +1,3 @@ +debian/ip-up.d +debian/ip-down.d +debian/checksendmail/address.resolve diff --git a/debian/init.d b/debian/sendmail.init index ff8422a..3d688b4 100644 --- a/debian/init.d +++ b/debian/sendmail.init @@ -12,17 +12,18 @@ Q="10m" PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=/usr/sbin/sendmail +COMMAND=/usr/sbin/sendmail PIDFILE=/var/run/sendmail.pid NAME=sendmail FLAGS="defaults 50" -test -x $DAEMON -a -f /etc/sendmail.cf || exit 0 +test -x $DAEMON -a -d /usr/doc/sendmail || exit 0 case "$1" in start) ( cd /var/spool/mqueue && rm -f [lnx]f* ) echo -n "Starting mail transport agent: sendmail" - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -bd -q"$Q" + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --startas $COMMAND -- -bd -q"$Q" echo "." ;; @@ -34,6 +35,7 @@ case "$1" in restart) $0 stop + sleep 2 $0 start ;; diff --git a/debian/postinst b/debian/sendmail.postinst index 6c4ecbc..14d7efc 100644 --- a/debian/postinst +++ b/debian/sendmail.postinst @@ -4,6 +4,7 @@ # Version 1.2 # # Robert Leslie <rob@mars.org> +# Note: can't use debhelper here because the actions aren't contiguous case "$1" in configure) @@ -20,6 +21,8 @@ case "$1" in ;; esac +#if [ "$2" == "" ]; then echo "first time"; fi + if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then suidregister -s sendmail /usr/sbin/sendmail root root 4755 else @@ -90,16 +93,45 @@ then mv -f /etc/sendmail.cf /etc/sendmail.cf.old fi fi - -ln -sf mail/sendmail.cf /etc/sendmail.cf - +#ln -sf mail/sendmail.cf /etc/sendmail.cf + +#----------------------------------------------------------- +if test "$1" = configure && dpkg --compare-versions "$2" lt 8.9.1-13; then + echo " " + echo "*** IMPORTANT ***" + echo " " + echo "The format of sendmails databases has changed (now using libdb2)." + echo "You *MUST* update your databases (newaliases, users, etc.)" + echo "before allowing sendmail to restart." + echo " " + echo "Press <Enter> to continue" + read yn + fi + +#----------------------------------------------------------- # Check existing /etc/mail/sendmail.cf -if [ -f /etc/mail/sendmail.cf ] -then +if [ -f /etc/mail/sendmail.cf ]; then + if test "$1" = configure && dpkg --compare-versions "$2" lt 8.9.2; then + echo " " + echo "*** IMPORTANT ***" + echo " " + echo "This version of sendmail moves more configuration files from" + echo "/etc/... to /etc/mail/... ie: domaintable,genericstable, etc." + echo " " + echo "If you you use any of these, you *MUST*:" + echo " 1)" + echo " A) Move them by hand from /etc/... to /etc/mail/..." + echo " B) Move any script to create databases from the text" + echo " or" + echo " 2) Update your sendmail.mc to explicitly name the file" + echo " FEATURE(genericstable, \`hash -o /etc/mail/genericstable.db')dnl" + echo " " + echo "Press <Enter> to continue" + read yn + fi if (sed -n -e "/^DZ/s/^DZ//p" /etc/mail/sendmail.cf \ - | grep 8.8.8 > /dev/null) - then + | grep "8.9.3" > /dev/null); then echo "Existing /etc/mail/sendmail.cf found, and it appears it may be" echo -n "compatible with this version of sendmail. Use it? [Y] " read yn @@ -120,7 +152,7 @@ then "as /etc/mail/sendmail.cf.old ..." mv -f /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old ;; - esac + esac fi test -f /etc/mail/sendmail.cf || sendmailconfig --no-reload diff --git a/debian/postrm b/debian/sendmail.postrm index 2ebac2e..6411504 100644 --- a/debian/postrm +++ b/debian/sendmail.postrm @@ -17,10 +17,6 @@ case "$1" in rm -f /etc/sendmail.cf /etc/aliases.{db,dir,pag} rm -f /etc/mail/sendmail.{cf,cw,ct,mc}{,.old} rmdir /etc/mail 2>/dev/null || true - update-rc.d sendmail remove >/dev/null - if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then - suidunregister -s sendmail /usr/sbin/sendmail - fi ;; failed-upgrade|abort-install|abort-upgrade|disappear) @@ -30,4 +26,6 @@ case "$1" in echo "postrm called with unknown argument \`$1'" >&2 exit 0 ;; -esac + esac + +#DEBHELPER# diff --git a/debian/preinst b/debian/sendmail.preinst index 0a2830d..0a2830d 100644 --- a/debian/preinst +++ b/debian/sendmail.preinst diff --git a/debian/prerm b/debian/sendmail.prerm index 6fa8b78..614318d 100644 --- a/debian/prerm +++ b/debian/sendmail.prerm @@ -7,7 +7,7 @@ case "$1" in remove|upgrade|deconfigure) - /etc/init.d/sendmail stop + #DEBHELPER# ;; failed-upgrade) diff --git a/debian/sendmail.suid b/debian/sendmail.suid new file mode 100644 index 0000000..baa49ef --- /dev/null +++ b/debian/sendmail.suid @@ -0,0 +1 @@ +/usr/sbin/sendmail diff --git a/debian/sendmail_FAQ b/debian/sendmail_FAQ new file mode 100644 index 0000000..d01d134 --- /dev/null +++ b/debian/sendmail_FAQ @@ -0,0 +1,182 @@ +Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.kodak.com!news-nysernet-16.sprintlink.net!news-in-east1.sprintlink.net!news.sprintlink.net!news-feed1.tiac.net!cam-news-hub1.bbnplanet.com!su-news-feed4.bbnplanet.com!news.gtei.net!newsfeed1.uswest.net!newsfeed3.uswest.net!namche.Sun.COM!sunnews1.Eng.Sun.COM!engnews2.Eng.Sun.COM!opal!jbeck +From: John Beck <jbeck@eng.sun.com> +Newsgroups: comp.mail.sendmail,comp.mail.misc,comp.answers,news.answers +Subject: sendmail FAQ +Supersedes: <sendmail-faq-1-913320001@eng.sun.com> +Followup-To: comp.mail.sendmail +Date: 25 Dec 1998 20:00:23 GMT +Organization: Sendmail Consortium +Lines: 159 +Approved: news-answers-request@MIT.EDU +Distribution: world +Expires: Fri, 15 Jan 1999 20:00:02 GMT +Message-ID: <sendmail-faq-1-914616002@eng.sun.com> +Reply-To: sendmail+faq@sendmail.org (Sendmail FAQ) +NNTP-Posting-Host: opal.eng.sun.com +Summary: This posting contains a list of Frequently Asked Questions + about the program "sendmail", distributed with many versions of Unix. + The answers are at the given URLs. They should be read by anyone who + wishes to post to the Usenet newsgroup comp.mail.sendmail. +Keywords: sendmail, mail, SMTP, FAQ +Originator: jbeck@opal +Xref: senator-bedfellow.mit.edu comp.mail.sendmail:67640 comp.mail.misc:47448 comp.answers:34384 news.answers:147451 + +Posted-By: auto-faq 3.3 (Perl 5.006) +Archive-name: mail/sendmail/faq +Posting-Frequency: posted on the 10th and 25th of each month +Last-modified: December 22, 1998 +URL: http://www.sendmail.org/faq/ +Maintainer: Sendmail FAQ <sendmail+faq@sendmail.org> + + Sendmail + Frequently Asked Questions (FAQ) + + Last updated December 22, 1998 + + Changes since the last post on 10 Dec 1998 20:00:28 GMT + * Updated 4.7 + ----------------------------------------------------------------------- + * Questions about the FAQ: <sendmail+faq@sendmail.org> + * General questions: <sendmail-questions@sendmail.org> + * Bug reports: <sendmail-bugs@sendmail.org> + * Questions/comments about the web site <sendmail-www@sendmail.org> + ----------------------------------------------------------------------- + If you post a message to comp.mail.sendmail *and* send it to one of the + above addresses, please clearly indicate so at the top of your message. + ----------------------------------------------------------------------- + +Table of Contents + + * 1. COPYRIGHT NOTICE / REDISTRIBUTION REQUIREMENTS + http://www.sendmail.org/faq/section1.html + + * 2. INTRODUCTION / MISCELLANEOUS + http://www.sendmail.org/faq/section2.html + + + 2.1 What is this newsgroup? + + 2.2 What is the scope of this FAQ? + + 2.3 Where can I find the latest version of this FAQ? + + 2.4 How do I access comp.mail.sendmail by email? + + 2.5 Where can I ask email-related DNS questions? + + 2.6 How can I subscribe to these newsgroups? + + 2.7 Which version of sendmail should I run? + + 2.8 What is the latest release of sendmail? + + 2.9 Where can I find it? + + 2.10 What are the differences between Version 8 and other versions? + + 2.11 What's the best platform for running sendmail? + + 2.12 What is BIND and where can I get the latest version? + + 2.13 What is smrsh and where can I get it? + + 2.14 What is smap and where can I get it? + + 2.15 What is TCP-Wrappers and where can I get it? + + 2.16 Why won't db 1.85 build on my machine? + + 2.17 What is makemap and where can I get it? + + * 3. VERSION 8 SPECIFIC ISSUES + http://www.sendmail.org/faq/section3.html + + + 3.1 How do I make all my addresses appear to be from a single host? + + 3.2 How do I rewrite my "From:" lines to read + ``First_Last@My.Domain'' or ``Different_Name@My.Domain''? + + 3.3 Why are you so hostile to using full names for email addresses? + + 3.4 So what was the user database feature intended for? + + 3.5 Where do I find this user database (UserDB) code? + + 3.6 How do I get the user database to work with Pine or with + FEATURE(always_add_domain)? + + 3.7 How do I manage several (virtual) domains? + + 3.8 There are four UUCP mailers listed in the configuration files. + Which one should I use? + + 3.9 How do I fix "undefined symbol inet_aton" and + "undefined symbol _strerror" messages? + + 3.10 How do I solve "collect: I/O error on connection" or + "reply: read error from host.name" errors? + + 3.11 Why can't my users forward their mail to a program? + + 3.12 Why do connections to the SMTP port take such a long time? + + 3.13 Why do I get "unknown mailer error 5 -- mail: options MUST + PRECEDE recipients" errors? + + 3.14 Why does version 8 sendmail panic my SunOS box? + + 3.15 Why does the Unix From line get mysteriously munged when I send + to an alias? + + 3.16 Why doesn't MASQUERADE_AS (or the user database) work + for envelope addresses as well as header addresses? + + 3.17 How do I run version 8 sendmail and support the MAIL11V3 protocol? + + 3.18 Why do messages disappear from my queue unsent? + + 3.19 When is sendmail going to support RFC 1522 MIME header encoding? + + 3.20 Why can't I get mail to some places, but instead always get + the error "reply: read error from name.of.remote.host"? + + 3.21 Why doesn't "FEATURE(xxx)" work? + + 3.22 How do I configure sendmail not to use DNS? + + 3.23 How do I get all my queued mail delivered to my Unix box from + my ISP? + + 3.24 Why do I get the error message unable to write + /etc/mail/sendmail.pid? + + 3.25 Why can't I compile sendmail with Berkeley DB 2.X? + + 3.26 What operating systems has Berkeley sendmail been ported to? + + 3.27 How do I prevent "Relaying Denied" errors for my clients? + + 3.28 Why isn't virtual hosting working, even after I added a + "Kvirtuser" line to sendmail.cf ? + + 3.29 How can I add a header specifying the actual recipient when having + multiple users in a virtual domain go to a single mailbox? + + 3.30 What do I do when Build fails because groff was not found? + + 3.31 What does "class hash not available" mean? + + * 4. GENERAL SENDMAIL ISSUES + http://www.sendmail.org/faq/section4.html + + + 4.1 Should I use a wildcard MX for my domain? + + 4.2 How can I set up an auto-responder? + + 4.3 How can I get sendmail to deliver local mail to $HOME/.mail + instead of into /usr/spool/mail (or /usr/mail)? + + 4.4 Why does it deliver the mail interactively when I'm trying to get + it to go into queue only mode? + + 4.5 How can I solve "MX list for hostname points back to hostname" + and "config error: mail loops back to myself" messages? + + 4.6 Why does my sendmail process sometimes hang when connecting over + a SLIP/PPP link? + + 4.7 How can I summarize the statistics generated by sendmail in the + syslog? + + 4.8 How can I check my sendmail.cf to ensure that it's re-writing + addresses correctly? + + 4.9 What is procmail, and where can I get it? + + 4.10 How can I solve "cannot alias non-local names" errors? + + 4.11 Is sendmail Year 2000 compliant? + + 4.12 How can I batch remote mail to be sent using my ISP while + delivering local mail immediately? + + 4.13 What does "unknown mailer error 1" mean? + + * 5. VENDOR/OS SPECIFIC SENDMAIL ISSUES + http://www.sendmail.org/faq/section5.html + + + 5.1 Sun Microsystems SunOS/Solaris 1.x/2.x + + o 5.1.1 How can I solve "line 273: replacement $3 out of bounds" + errors? + o 5.1.2 How can I solve "line 445: bad ruleset 96 (50 max)" errors? + o 5.1.3 Why does version 8 sendmail (< 8.7.5) sometimes hang + under Solaris 2.5? + o 5.1.4 Why can't I use SunOS/Solaris to get email to certain + large sites? + o 5.1.5 Why do I have trouble compiling on Solaris? + o 5.1.6 How does 8.X compare to 8.X+Sun? + + + 5.2 IBM AIX + + o 5.2.1 The system resource controller always reports sendmail + as "inoperative". What's wrong? + o 5.2.2 Why can't I use AIX to get email to some sites? + o 5.2.3 Why can't I get sendmail 8.7.1 to use MX records with + AIX 3.2.5? + + * 6. ADDITIONAL INFORMATION SOURCES (RFC 1807 bibliography format) + http://www.sendmail.org/faq/section6.html + + + 6.1 Reference material devoted exclusively to sendmail + + 6.2 Reference material with chapters or sections on sendmail + + 6.3 Reference material on subjects related to sendmail + + 6.4 World-wide web index pages on sendmail + + 6.5 World-wide web index pages Internet email in general + + 6.6 Online tutorials for sendmail + + 6.7 Online archives of mailing lists and Usenet newsgroups, + relating to Internet email + + * 7. THANKS! + http://www.sendmail.org/faq/section7.html diff --git a/debian/sendmailconfig b/debian/sendmailconfig index 3d44a9e..a729607 100644 --- a/debian/sendmailconfig +++ b/debian/sendmailconfig @@ -1,11 +1,14 @@ -#!/bin/sh -e +#!/bin/sh # # Interactively configure Sendmail for Debian # -# Robert Leslie <rob@mars.org> +# Robert Leslie <rob@mars.org>, +# Rick Nelson <cowboy@debian.org> PATH="/usr/sbin:/usr/bin:/sbin:/bin" +FILE="/etc/mail/sendmail.mc" +set +e reload="yes" umask 022 @@ -80,18 +83,34 @@ input() { } testconfig() { - CONFIG=$(grep "$1" /etc/mail/sendmail.mc 2>/dev/null) + CONFIG=$(grep "$1" $FILE 2>/dev/null) +} + +testwrap() { + WRAP=$(grep "^[^#:]*sendmail[^:]*[:]" /etc/hosts.allow 2>/dev/null) +} + +updatewrap() { + echo "Updating /etc/hosts.allow, adding \"sendmail: all\"." + echo "sendmail: all" | cat - /etc/hosts.allow >/etc/hosts.allow.new + mv -f /etc/hosts.allow.new /etc/hosts.allow + /etc/init.d/netbase reload >/dev/null } makecf() { echo "Generating /etc/mail/sendmail.cf from /etc/mail/sendmail.mc ..." - m4 /usr/lib/sendmail.cf/m4/cf.m4 /etc/mail/sendmail.mc \ + m4 /usr/share/sendmail.cf/m4/cf.m4 $FILE \ >/etc/mail/sendmail.cf.new mv -f /etc/mail/sendmail.cf.new /etc/mail/sendmail.cf echo "Updating alias database ..." newaliases + testwrap + if [ "$WRAP" = "" ]; then + updatewrap + fi + if [ "$reload" ] && \ yesno "Reload the running sendmail now with the new configuration" Y then @@ -102,7 +121,7 @@ makecf() { ############################################################################### -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then if yesno "Configure sendmail with the existing /etc/mail/sendmail.mc" Y then @@ -113,8 +132,8 @@ fi ############################################################################### -exec 3>/etc/mail/sendmail.mc.new -trap "rm -f /etc/mail/sendmail.mc.new" 0 +exec 3>$FILE.new +trap "rm -f $FILE.new" 0 ############################################################################### @@ -127,7 +146,8 @@ EOT echo -n "Press [ENTER] " read REPLY -cat /usr/lib/sendmail.cf/cf/debproto.mc >&3 +cat /usr/share/sendmail.cf/cf/debproto.mc >&3 +echo "LOCAL_CONFIG" >&3 ############################################################################### @@ -145,24 +165,63 @@ echo "$mailname" >/etc/mailname ############################################################################### -descrip "Null Client" <<EOT -A special configuration known as the "null client" can be created for this -host if all mail should be forwarded to a central hub via a local SMTP-based -network. This may be a suitable configuration if you want to forward all of -your mail to your local Internet service provider (ISP) for delivery. - -To enable this option, give the name of the host to which all mail should be -forwarded. Otherwise leave the option empty or answer \`NONE' to disable it. -EOT +#descrip "Null Client" <<EOT +#A special configuration known as the "null client" can be created for this +#host if all mail should be forwarded to a central hub via a local SMTP-based +#network. This may be a suitable configuration if you want to forward all of +#your mail to your local Internet service provider (ISP) for delivery. +# +#To enable this option, give the name of the host to which all mail should be +#forwarded. Otherwise leave the option empty or answer \`NONE' to disable it. +#EOT nullclient="" ! testconfig "FEATURE(nullclient" || nullclient=$(echo -n "$CONFIG" | sed -e 's/[^,]*, *\([^)]*\).*/\1/') +# +#input "Null client forward host" nullclient NONE +# +#test -z "$nullclient" || echo "FEATURE(nullclient, $nullclient)dnl" >&3 + +if [ -n "$nullclient" ]; then + echo " " + echo " *** IMPORTANT *** " + echo " " + echo "You are using a nullclient setup. This is ill advised as it" + echo "makes your machine an open relay: If you ever connect to the" + echo "internet, anyone can forge mail and send it through your machine" + echo "to anyone else on the internet! - not a pretty picture." + echo " " + echo "I will convert this into a Smart Host config for you. A Smart Host" + echo "setup is a superset of nullclient - you lose nothing, but gain local" + echo "delivery without kluges, and, of course you're no longer an open relay" + echo " " + echo "You will need to accept your nullclient hostname below, when asked" + echo "for a smart host." + echo " " + echo "Press <Enter> to continue" + read yn + fi + +############################################################################### +descrip "Smart Host" <<EOT +A "Smart Host" is one that can deliver mail to external machines. By using +a "Smart Host", we don't need DNS, or good connectivity ourselves. This is +most likely what you want if you have a dialup link, or sit behind a firewall. + +To enable this option, give the name of the host to which all non-local mail +should be forwarded. Otherwise leave the option empty. +EOT -input "Null client forward host" nullclient NONE - -test -z "$nullclient" || echo "FEATURE(nullclient, $nullclient)dnl" >&3 +smarthost="" +if [ -n $nullclient ]; then + smarthost=$nullclient + fi +! testconfig "define(\`SMART_HOST', smtp:" || + smarthost=$(echo -n "$CONFIG" | sed -e 's/[^:]*:*\([^)]*\).*/\1/') +input "Smart Host:" smarthost "" +test -z $smarthost || echo "define(\`SMART_HOST', smtp:$smarthost)dnl" >&3 ############################################################################### descrip "Address Canonification" <<EOT @@ -201,7 +260,7 @@ it is still a good idea to enable this so local programs can use it. EOT smtp="Y" -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then testconfig "MAILER(smtp)" || smtp="N" fi @@ -216,7 +275,7 @@ If you want mail envelopes (as well as mail headers) to appear to come from EOT masqenvelope="Y" -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then testconfig "FEATURE(masquerade_envelope)" || masqenvelope="N" fi @@ -268,12 +327,13 @@ to another host. If in doubt, it is safe to leave this option enabled. EOT acceptmailname="Y" -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then testconfig "^Cw.*$mailname" || acceptmailname="N" fi yesno "Accept mail for \`$mailname'" acceptmailname || true +test "N" = "$acceptmailname" || echo "Cw$mailname" >&3 ############################################################################### @@ -350,7 +410,7 @@ need to do some additional configuration, perhaps outside of this script. EOT uucp="N" -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then testconfig "FEATURE(nouucp)" || uucp="Y" fi @@ -503,15 +563,14 @@ test "4h" = "$qw" || echo "define(\`confTO_QUEUEWARN', \`$qw')dnl" >&3 test "5d" = "$qr" || echo "define(\`confTO_QUEUERETURN', \`$qr')dnl" >&3 ############################################################################### - +echo "MAILER_DEFINITIONS" >&3 echo "MAILER(local)dnl" >&3 test "N" = "$smtp" || echo "MAILER(smtp)dnl" >&3 -test "N" = "$acceptmailname" || echo "Cw$mailname" >&3 ############################################################################### -if [ -e /etc/ifmail/config ] && [ -e /usr/lib/sendmail.cf/mailer/ifmail.m4 ]; +if [ -e /etc/ifmail/config ] && [ -e /usr/share/sendmail.cf/mailer/ifmail.m4 ]; then echo "MAILER(ifmail)dnl" >&3 fi @@ -520,15 +579,16 @@ fi fi # finished non-"null client" configuration -echo "MASQUERADE_AS($mailname)dnl" >&3 ############################################################################### echo "" >&3 +echo "LOCAL_CONFIG" >&3 +echo "MASQUERADE_AS($mailname)dnl" >&3 -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then - sed -n -e '/^## Custom/,$p' /etc/mail/sendmail.mc >&3 + sed -n -e '/^## Custom/,$p' $FILE >&3 else echo "## Custom configurations below (will be preserved)" >&3 fi @@ -542,7 +602,7 @@ file. (Local changes made at the end of /etc/mail/sendmail.mc will be preserved by \`$0'.) The m4 library files for sendmail configuration are kept in the -/usr/lib/sendmail.cf directory. You may wish to review the documentation in +/usr/share/sendmail.cf directory. You may wish to review the documentation in /usr/doc/sendmail to assist in further customization. You may wish to customize your alias database; see the aliases(5) man page @@ -553,13 +613,13 @@ EOT exec 3>&- -if [ -f /etc/mail/sendmail.mc ] +if [ -f $FILE ] then echo "Saving old /etc/mail/sendmail.mc as /etc/mail/sendmail.mc.old ..." - mv -f /etc/mail/sendmail.mc /etc/mail/sendmail.mc.old + mv -f $FILE $FILE.old fi -mv -f /etc/mail/sendmail.mc.new /etc/mail/sendmail.mc +mv -f $FILE.new $FILE trap 0 makecf diff --git a/debian/sensible-mda.c b/debian/sensible-mda.c index e9afa31..84246e8 100644 --- a/debian/sensible-mda.c +++ b/debian/sensible-mda.c @@ -2,7 +2,7 @@ * sensible-mda.c * Copyright (c) 1998, Johnie Ingram. * Copyright (c) 1998, Richard Nelson <cowboy@debian.org>. - * Time-stamp: <1998/06/16 14:28:33 cowboy> + * Time-stamp: <1998/08/13 10:00:00 cowboy> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,26 +21,43 @@ */ #include <stdio.h> +#include <stdlib.h> #include <sys/stat.h> #include <unistd.h> +#include <pwd.h> +#include <sys/types.h> // TODO: declare -x TCPREMOTEIP="$3" #define PROCMAIL "/usr/bin/procmail" #define DELIVER "/usr/bin/deliver" +#define PROCMAILRCS "/etc/procmailrcs/" static struct stat MDA_stat; +static struct stat procmailrc_stat; static int done = 1; +static struct passwd* passwd_entry; int main (int argc, char *argv[]) { + char *procmailrc; + if (!stat(PROCMAIL, &MDA_stat)) { if (MDA_stat.st_mode & S_ISUID) { - done = 0; - execl (PROCMAIL, PROCMAIL, "-t", "-Y", "-f", - argv[1], "-d", argv[2], NULL); + procmailrc=malloc(strlen(PROCMAILRCS)+strlen(argv[2])+1); + sprintf(procmailrc,"%s%s",PROCMAILRCS,argv[2]); + passwd_entry=getpwnam(argv[2]); + if (passwd_entry && !stat(procmailrc, &procmailrc_stat) && procmailrc_stat.st_uid==passwd_entry->pw_uid) { + done = 0; + execl (PROCMAIL, PROCMAIL, "-t", "-f", + argv[1], "-m", procmailrc, NULL); + } else { + done = 0; + execl (PROCMAIL, PROCMAIL, "-t", "-f", + argv[1], "-d", argv[2], NULL); + } } else fprintf(stderr, "Ack!?! %s is not setuid!\n", PROCMAIL); diff --git a/debian/site.config.m4 b/debian/site.config.m4 new file mode 100644 index 0000000..393e9ee --- /dev/null +++ b/debian/site.config.m4 @@ -0,0 +1,40 @@ +# +# Debian site config file for building sendmail +# +# src +APPENDDEF(`confENVDEF', `-DHASFLOCK=1')dnl +APPENDDEF(`confENVDEF', `-DTCPWRAPPERS=1')dnl +APPENDDEF(`confENVDEF', `-D_FFR_MAX_MIME_HEADER_LENGTH=1')dnl +APPENDDEF(`confENVDEF', `-D_FFR_MAX_HEADERS_LENGTH=1') +APPENDDEF(`confENVDEF', `-D_PATH_SENDMAILCF=\"/etc/mail/sendmail.cf\"')dnl +APPENDDEF(`confENVDEF', `-include ../../debian/el33t.h')dnl +# smrsh +APPENDDEF(`confENVDEF', `-DCMDDIR=\"/usr/lib/sm.bin\"')dnl +APPENDDEF(`confENVDEF', `-DPATH=\"/usr/bin:/bin\"')dnl +# rmail +APPENDDEF(`confENVDEF', `-D_PATH_SENDMAIL=\"/usr/sbin/sendmail\"')dnl +# compilation +define(`confOPTIMIZE', `-O2')dnl +define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')dnl +define(`confINCDIRS', `-I/usr/include/db2')dnl +define(`confLIBS', `-ldb2 -lnsl -lwrap -lresolv')dnl +define(`confLIBSEARCH', `db2 bind resolv 44bsd')dnl +# paths +define(`confMANROOT', `/usr/man/man')dnl +define(`confHDIR', `/usr/lib')dnl +define(`confSTDIR', `/var/log')dnl +define(`confMBINDIR', `/usr/sbin')dnl +define(`confEBINDIR', `/usr/sbin')dnl +define(`confUBINDIR', `/usr/bin')dnl +define(`confHFDIR', `/usr/share/misc')dnl +# owners +define(`confMANOWN', `root')dnl +define(`confMANGRP', `root')dnl +define(`confSBINOWN', `root')dnl +define(`confSBINGRP', `root')dnl +define(`confUBINOWN', `root')dnl +define(`confUBINGRP', `root')dnl +# don't install man pages +define(`confNO_MAN_INSTALL', `true')dnl +# flags +define(`_USE_ETC_MAIL_', `True')dnl diff --git a/debian/socks_wrapper b/debian/socks_wrapper new file mode 100644 index 0000000..ad89379 --- /dev/null +++ b/debian/socks_wrapper @@ -0,0 +1,31 @@ +#!/bin/bash +# Richard Nelson <cowboy@debain.org> +# Socks5 support wrapper for sendmail + +DAEMON=/usr/sbin/sendmail.real +RUNSOCKS=/usr/bin/runsocks +BASENAME=$(basename $0) + +# Adjust command name based upon the presence of the socks5 wrapper +if [ -x $RUNSOCKS ]; then + COMMAND="$RUNSOCKS $DAEMON" +else + COMMAND="$DAEMON" + fi +#echo "$BASENAME command="$COMMAND + +# Exec the appropriate command +case "$BASENAME" in + # These don't need socks support, and must be called by name + "hoststat" | "mailq" | "newaliases" | "purgestat") + exec -a $BASENAME $DAEMON "$@" + ;; + # These need socks support + "sendmail") + exec -a $DAEMON $COMMAND "$@" + ;; + # Help... shouldn't be here + *) + echo "panic, $BASENAME is not a valid alias for sendmail." + ;; + esac |