@s5b003
instead of @s5b003.rrzn.uni-hannover.de or something else?
How can a Pine user generate unique Message-IDs?
The systems administrator?
kjell@beta ~ $ uname -a
Linux beta.uio.no ...
Message-ID: <Pine.LNX.4.58-L.0...@beta.uio.no>
Regards,
Kjell Andresen Systems administrator, University of Oslo, Norway
Center for Information Technology Services and
Department of Geosciences
Andreas Prilop <nhtc...@rrzn-user.uni-hannover.de> writes:
>Who is responsible that my Message-IDs just end in
> @s5b003
>instead of @s5b003.rrzn.uni-hannover.de or something else?
The responsibility is with the authors of pine, who consistently and
stubbornly refuse to change this.
On solaris, I get around this by using a shell script wrapper
around the c compiler. The wrapper just inserts
-Dgethostbyname=res_gethostbyname -Dgethostbyaddr=res_gethostbyaddr
into the command line.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (SunOS)
iD8DBQFAcwLOvmGe70vHPUMRAhmnAKCAXHeB7E+zU3Ap1JsHlVAdG2GuQwCgmism
H444AftHBTE554BBzqIw2Jg=
=CxVM
-----END PGP SIGNATURE-----
We consistently and stubbornly follow the published (and POSIX-compliant)
specification for the host name routines in the C library instead of an
incorrect understanding (debunked 15+ years ago) of these routines.
Certain individuals believe that the fully-qualified domain name is
obtained by appending the results of the (non-POSIX) getdomainname() call
to the official name returned by gethostbyname(). But only for names
which are in the host table. Or is it only for your own host name. But
if it's a local name, then it's in the host table. Or maybe it isn't. Or
only do it if the name doesn't have a dot in it. Or only do it if the
name has just one dot in it. Or...
Long ago, Yellow Pages in the BSD-based Sun OS was configured this way
back when .ARPA was the only domain name, and thus appending the "domain
name" to the host table name was the way to become "domain compliant".
The problems in doing this became apparent long ago, when names of the
form foo.example.com.example.com became a routine occurance.
The correct remedy is to put the fully-qualified domain name first in all
host table entries. That way, gethostbyname() always returns the FQDN,
and getdomainname() is forever buried in its well-deserved non-POSIX
obscurity.
Neil Rickert's patch makes gethostbyname() only use the DNS and never the
local host table. That will work too, but fixing the host table to be
consistent with the DNS is the correct patch.
-- Mark --
http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
>
> The correct remedy is to put the fully-qualified domain name first in all
> host table entries. That way, gethostbyname() always returns the FQDN,
> and getdomainname() is forever buried in its well-deserved non-POSIX
> obscurity.
>
Exactly. The first field of the /etc/hosts is the IP number, the second
the official fully qualified hostname also known as the cannonical name
and all following are alias names.
Sendmail uses a hack when reading the /etc/hosts file by using the first
qualified alias name if the cannonical name is not qualified.
Villy
> The correct remedy is to put the fully-qualified domain name first in all
> host table entries.
Well, I as a Pine user have no control over the /etc/hosts files.
I can politely ask my computing centre to change these files.
But if they don't do this, what else can be done?
Isn't it possible that the newsserver generates Message-IDs?
> The first field of the /etc/hosts is the IP number, the second
> the official fully qualified hostname also known as the cannonical name
> and all following are alias names.
What can the *user* do?
Mark Crispin <M...@CAC.Washington.EDU> writes:
>On Tue, 6 Apr 2004, Neil W Rickert wrote:
>> The responsibility is with the authors of pine, who consistently and
>> stubbornly refuse to change this.
>We consistently and stubbornly follow the published (and POSIX-compliant)
>specification for the host name routines in the C library instead of an
>incorrect understanding (debunked 15+ years ago) of these routines.
>Certain individuals believe that the fully-qualified domain name is
>obtained by appending the results of the (non-POSIX) getdomainname() call
>to the official name returned by gethostbyname().
I wouldn't recommend that. What is returned by getdomainname() is a
local administrative domain, which may or may not be appropriate for
mail msgids.
>The correct remedy is to put the fully-qualified domain name first in all
>host table entries.
Mark's suggested remedy would have no effect here, since the hosts
table is not normally consulted.
The correct remedy is to have this configurable in pine.conf.
> That way, gethostbyname() always returns the FQDN,
Only if gethostbyname() uses "/etc/hosts".
Even where /etc/hosts is consulted, Mark's "solution" is not
necessarily the correct solution. A system might be a member of a
private network, in addition to having an internet connection. There
might be good local reasons for "/etc/hosts" to list a private
administrative name, rather than the DNS name, yet to prefer the DNS
domain name in the msgid.
>Neil Rickert's patch makes gethostbyname() only use the DNS and never the
>local host table.
I would not recommend my change at sites where DNS is not used.
However, Mark's criticism does not stand up to scrutiny. Here is the
msgid generated this morning on a system not listed in DNS, but using
my change when building pine:
Message-id: <Pine.GSO.4.58.04...@kr.cs.niu.edu>
It certainly did not get that from DNS.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (SunOS)
iD8DBQFAdDbYvmGe70vHPUMRAiLVAJ9j3livMuaJnAl5xxsRpW5OfukC4QCgnFcl
jGh/YZjim5pJ3pnC6iWyXc8=
=RT50
-----END PGP SIGNATURE-----