jf@ap.co.umist.ac.uk (John Forrest) (11/05/90)
We are thinking of upgrading to sendmail 5.65+IDA from 5.61. What I would like to known, though, is does anyone use a version of sendmail that uses MB records from BIND? It seems strange that they are there, in the specification but yet are ignored by sendmail! John Forrest Dept of Computation UMIST.
mbl900@manuel.anu.edu.au (Mathew BM LIM) (11/07/90)
Try sendmail 5.61-bind 1.5+ida from Dan@DNA.LTH.Se ( Dan Oscarsson ), It is
available via anon ftp from archive.anu.edu.au (130.56.4.25) in the file
~ftp:pub/src/networking/send5.61+IDA+BIND1.5.tar.Z
Here is the README from it :
sendmail 5.61-bind 1.5+ida
New for version 1.5 compared to version 1.4 is:
By defining IGNORE_ISOC_ERRORS in conf.h, responses for the isoc
smtp query is not logged in letters that fails in error and is returned
to the sender.
Some small patches from the net.
i-flag on smtp mailer is ignored. Only the result of the isoc question
is used.
The SCANF define is removed from conf.h. Now if no format is specified
it works like SCANF was not defined before. If a format is specified
it works like when SCANF was defined before. This provides a more
homogeneous behaviour. This means that %s is not default when you
define a class from a file as it were before when SCANF was defined.
If NSALIAS is defined $@ is no longer needed in the $#local lines in
ruleset 0. If is is not defined $j is used as the domain to query the
name server for aliases.
It is now possible to define character translations of letters
transmitted to or received from different hosts.
This is done by extending the OJ option in sendmail.cf.
Syntax: OJL<translation-table>
or OJH<translation-table>
or OJH[<translation-table>] <mask> <host-number>...
The first version defines translation from iso 8859-1 to 7-bit characters
after local conventions just like in version 1.4.
<translation-table> is a sequence of character pairs of which each may
be written as a sigle character or as a "\" followed by octal digits.
The first is always iso 8859-1 and the second what it translates to.
Several OJL lines may be used to define the loca translation rable.
For compatability a line starting without a letter "L" or "H" after the OJ
is also treated as a OJL line.
The other two defines a translation table for some hosts.
If there is no <mask> after the translation table the following
OJH line will continue the same translation table.
If the <translation-table> is empty (at least one space) the hosts
defined by that line is appended to the last previously defined
translation table.
<mask> is a mask to be applied to all host numbers when searching
for a host among those that follows. This makes it possible to give
several host by giving one number.
Both <mask> and <host-number> must be given as an internet number
in the normal decimal format "num.num.num.num".
The <translation-table> is defined as told above. The pair defines
iso 8859-1 to special character set. Undefined translations are
not translated. When a letter is received from one of the hosts given
by a translation table, the reverse translation is used.
Examples: OJH\304A 255.255.255.255 123.34.56.7 124.34.67.23
translate \304 to an A for letters from the two hosts above.
OJH\304A 255.255.255.0 123.34.56.0
translate for all hosts with numbers beginning with 123.34.56
OJH 255.255.255.255 123.34.57.9
let hosts 123.34.57.9 use the same translation as those
on the line above.
Below lines with local translation and for some Macs.
OJL\304[\305]\326\134\344{\345}\366|
# Translate from Macintosh to ISO 8859-1 (re is POP-server for the Macs)
OJH\304\200\305\201\307\202\311\203\321\204\326\205\334\206\341\207
OJH\340\210\342\211\344\212\343\213\345\214\347\215\351\216\350\217
OJH\352\220\353\221\355\222\354\223\356\224\357\225\361\226\363\227
OJH\362\230\364\231\366\232\365\233\372\234\371\235\373\236\374\237
OJH\200\240\260\241\247\244\267\245\266\246\337\247\256\250\201\252
OJH\264\253\250\254\202\255\306\256\330\257\203\260\245\264\204\266
OJH\205\267\206\272\252\273\272\274\346\276\370\277\277\300\241\301
OJH\254\302\207\303\210\304\211\305\212\306\253\307\273\310\213\311
OJH\240\312\300\313\303\314\325\315\255\321\214\325\367\326\377\330
OJH\215\334\216\337\217\340\220\341\221\342\222\343\223\344\224\345
OJH\225\346\226\347\227\350\230\351\231\352\232\353\233\354\234\355
OJH\235\356\236\357\237\361\244\362\246\363\257\364\274\365\276\366
OJH\301\367\302\370\310\371\312\372\313\373\314\374\315\377
255.255.255.255 192.16.123.119 192.16.123.200
OJH 255.255.255.192 192.16.123.128
OJH 255.255.255.248 192.16.123.192
A host is located by searching through the tables in the same order as
the OJ lines.
If not special translation table is defined for a host the local
convention or standard table is used if the receiver cannot use
iso 8859-1.
New for version 1.4 compared to version 1.3 is:
ISO character set support. Defined by option ISO in conf.c.
Does no harm if you do not use ISO on your machine, but can then allow
ISO letters to pass through your machine.
The smtp protocol has been extended. See file README.SMTP.
The extensions are intended to work with current old mailers and
smtp servers that does not support iso characters.
For smtp links sendmail will query if receiver can handle iso character
sets. For other mailers, the "i"-flag must be defined for the mailers
that can handle the iso 8859-1 character set. Currently only iso 8859-1
is supported but in the future other iso character sets may also work.
If the mailer a letter is going through does not support iso characters,
the letter is converted to 7-bit using two conversion schemes:
If the sender of the letter is a local sender or the sender is
identified to come from a local domain, it is converted to 7-bit
using the local conventions defined by the "J"-option in sendmail.cf.
Otherwise the letter is converted by replacing character with code
greater than 127 with the nearest look alike letter in ascii.
To receive letters locally with iso 8859-1 you must have the "i"-flag
on the local mailer.
To define the local convertion define the "J"-option in sendmail.cf
After the J is a sequence of character pairs of which the first may be
of the format \octal digits. The first character identifies an iso
character
and the second the ascii character it is to be converted to incase
7-bit conversion is needed.
In Sweden "OJ\304[\305]\326\\344{\345}\366|" would be fine.
To locate if the letter is from a local domain the final part of
the sender is matched to the string defined by the "j"-option.
In Sweden you would normally define it as: "Oj.se"
With ISO letters, only the body is ISO. Headers are always converted into
7-bit.
The reason that iso 8859-1 is used is that X/Open recommends the
iso 8859-1:1987 character set to be used for transmission and internal use.
New for version 1.3 compared to version 1.0 is:
New name server rules for canonisation of names through MX or A records.
Beginning of iso character set handling. See version 1.4
New for version 1.1 compared to version 1.0 is:
Syntax for rule with MX-lookup by using bind search rules.
If the sender cannot be verified through name server the letter is
delivered anyway. This may make it impossible to replay to the
from adress. Also the name server rules should be contained in
ruleset 0. If name server rules are used in ruleset 3,1 or 4
and the name server fails during sender check, the letter will not be
delivered immediately.
Version 1.0
This source code contains the sendmail 5.61 source code modified
with the "new" ida-patches and patches to use named derived from patches
done by matti@kth.se.
The Makefile is for a Sun running SunOS 4.0. You must have bind 4.8 to
make sendmail work. If you have the resolv library in the ordinary place
you can remove the -L../../Bind in the Makefile.
The named patches enables you to query the name server from the rewriting
rules in sendmail.cf. See README.NS.
The ida definitions of the $k and $w macros are changed to work with
a name server. $k is the host name returned by the gethostname call
(normally the uucp host name) and $w is the name returned by the
gethostbyname (i.e. the name full name from the name server).
If NSALIAS is defined in conf.h, alias lookup is done from the name
server instead of /etc/aliases (or /usr/lib/aliases). MINFO records
are supported for owner of mailing list lookup.
NAMED_BIND should always be defined in this version of sendmail.
If NAMED_BIND_NO_SEARCH is defined in conf.h, no domain search is used
when communication with named 4.8 is done during the delivery phase.
You need to have the strcasecmp routine in the resolv library or libc.
There is also a home made unsetenv routine in util.c as this routine
does not exist on a Sun.
Bugs and comments should be sent to Dan@DNA.LTH.Se
Dan Oscarsson
---
Mathew Lim, Unix Systems Programmer, Computer Services Centre, ANU, Australia.
Telephone : +61 6 249 2750 | ACSnet : Mathew.BM.Lim@anu.oz
Fax : +61 6 247 3425 | Internet : Mathew.BM.Lim@anu.edu.au