[comp.mail.sendmail] Problems with uksendmail V2.1

jrac@planet.bt.co.uk (03/02/89)

 
   I am having some trouble with uksendmail (V2.1) in a multihost
site - I'm not sure whether my configuration or my understanding
of host hiding is at fault.
 
   We have an NRS registered site name `planet.bt.co.uk', behind which
a number of machines (workstations, development machines, general 
purpose minis etc) are hidden. It is impractical for us to maintain
a list of machines in the local domain on every slave.  We therefore 
route all mail for the local domain (but not for the local host) 
through a server which holds the full list of hosts and user aliases.
 
   This scenario is very similar to that given in the examples, so we
based our tables on the cs.glasgow ones. The only significant difference
was that we tried to put a wildcard entry in the local channel table:
 
		%s.planet.bt.co.uk	local_gateway
 
   I assume (are these reasonable?) the following interpretations for
local domain addresses used on the slave machine:
1	user					Local delivery
2	user@localhost				Ditto
3	user@localhost.planet.bt.co.uk		Ditto
4	user@planet				Via server to preferred host
5	user@planet.bt.co.uk			Ditto
6	user@otherhost				Via server to specified host
7	user@otherhost.planet.bt.co.uk		Ditto
 
   Addresses 1,3,4 and 6 work as expected.
   Address 2 is not recognised as local unless LHOST is included in the
	local channel table - otherwise it goes out via the server.
   Address 5 is stripped unconditionally in ruleset 0 and delivered 
	locally.
   Address 7 was intended to be caught by the wildcard; unfortunately
	all wildcard entries are appended to ruleset 16, and the address
	is rejected by ruleset 17 before the match can occur. The result
	is <Error: Local Domain Unknown>.
 
    My interpretations seem to be shared by the majority of the users
on site, so if they are wrong my life is going to become very difficult.
I have hacked the sendmail.cf by hand to achieve the desired behaviour,
but I would be interested to know whether uksendmail can (should?) 
handle this set-up without such intervention. Have I done something
wrong?
 
    If anyone can shed some light - many thanks.
 
-------------------------
James Collier               jrac@planet.bt.co.uk
Colonial Services Ltd., c/o Group RT5111, BT Research Labs., 
Martlesham Heath, Ipswich, Suffolk IP5 7RE, United Kingdom.
Office: +44  473  64 6778/2870 (was james@cantuar.{uucp,ac.nz})

jac@doc.ic.ac.uk (Jim Crammond) (03/03/89)

The local channel table specifies which addresses are local *to this host*.
So obviously  user@otherhost[.domain]  are not dealt with here, but rather
in the channel table which routes mail to the mail server (e.g. ether.chn).

Host hiding involves every machine being able to route mail for all users
in general domain via the aliases file.  You say it is impractical for you
to maintain such a list on every slave.  Well, there are two ways to avoid
this:
	(a) use yellow pages for the aliases
	(b) use nfs to enable sharing of /usr/lib/aliases*

Now let us assume that neither of these options of available to you;
maybe you have a hetrogeneous network with system V things etc.
In that case it sounds like you do not want host hiding using the multihost
feature.

Instead, you nominate your mail machine to treat "planet.bt.co.uk" as local
where you have the main aliases file. It can also have as its "official"
domain name "<machine>.planet.bt.co.uk" if mail machine is not called planet.

Slaves are given the domain name LHOST.planet.bt.co.uk.  In both cases do
not define multihost.  Instead specify that the domain name used on 
outgoing channel(s) is planet.bt.co.uk.  This is the key trick. In the
config file you give ldomain="planet.bt.co.uk" in the outgoing channel
specifications.

In the local channel table you specify LHOST.planet.bt.co.uk
and in ether (or whatever) channel table you specify
	planet.bt.co.uk		mail_machine

The effect is basically what you were after - all mail goes through
a central machine where the aliases database is kept - with the exception
of mail sent to "user" or "user@localhost".

-Jim.

taylor@cs.glasgow.ac.uk (Jem Taylor) (03/04/89)

	 
	   We have an NRS registered site name `planet.bt.co.uk', behind which
	a number of machines (workstations, development machines, general 
	purpose minis etc) are hidden. It is impractical for us to maintain
	a list of machines in the local domain on every slave.  We therefore 

Hmmm. we have about 100 names allocated; not all of them represent real
machines at any one time. We have pre-allocated internet numbers and 
everything else for all these names, and put that standard set on
all hosts, so, no maintainance problems.
In fact we only have about 30 workstations, hosts etc at any time, plus
dozens of other network devices such as terminal concentrators, gateways
to Appletalk nets, etc..

	route all mail for the local domain (but not for the local host) 
	through a server which holds the full list of hosts and user aliases.
	 
	   This scenario is very similar to that given in the examples, so we
	based our tables on the cs.glasgow ones. The only significant difference
	was that we tried to put a wildcard entry in the local channel table:
	 
			%s.planet.bt.co.uk	local_gateway
If local_gateway is across the ethernet, this entry should be in the ether
channel table ...
	 
	   I assume (are these reasonable?) the following interpretations for
	local domain addresses used on the slave machine:
	1	user					Local delivery
	2	user@localhost				Ditto
	3	user@localhost.planet.bt.co.uk		Ditto
	4	user@planet				Via server to preferred host
	5	user@planet.bt.co.uk			Ditto
	6	user@otherhost				Via server to specified host
	7	user@otherhost.planet.bt.co.uk		Ditto
	 
	   Addresses 1,3,4 and 6 work as expected.
	   Address 2 is not recognised as local unless LHOST is included in the
		local channel table - otherwise it goes out via the server.
This is the expected behaviour ...

	   Address 5 is stripped unconditionally in ruleset 0 and delivered 
		locally.

This is also as expected - all users in the local DOMAIN must be in the alias
file if they do not get mail on the local HOST.
If you have problems keeping your Alias databse up to date, fetch the
request sources; topic aliases
package from info-server@uk.ac.gla.cs

	   Address 7 was intended to be caught by the wildcard; unfortunately
		all wildcard entries are appended to ruleset 16, and the address
		is rejected by ruleset 17 before the match can occur. The result
		is <Error: Local Domain Unknown>.
	 
The 'slave' example in the distribution would send this to the 'master'.
What particular rule in S17 is rejecting it ? Is it a rule generated from
the wildcard entry in local.chn above, which should be in ether.chn ?

	    My interpretations seem to be shared by the majority of the users
	on site, so if they are wrong my life is going to become very difficult.
	I have hacked the sendmail.cf by hand to achieve the desired behaviour,
What did you do to it ? 
	but I would be interested to know whether uksendmail can (should?) 
	handle this set-up without such intervention. Have I done something
	wrong?
	 
	    If anyone can shed some light - many thanks.
The documentation fails to point out that the order of entries in the
config.site file is significant; you can re-arrange these lines to get
wildcards into the correct order to avoid

file1
-----
uk.%s		relay1

file2
-----
uk.ac.%s	relay2

and so forth.
	 
-jem.