Bug#994815: exim4: Helo command rejected: need fully-qualified hostname

2021-09-21 Thread Anton Ertl
On Tue, Sep 21, 2021 at 08:31:15PM +0200, Marc Haber wrote:
> Please check whether your system is correctly configured to find the
> host name. Information can be found on
> https://wiki.debian.org/PkgExim4UserFAQ#How_does_exim_find_out_its_host_name_to_use_in_HELO.2FEHLO.3F
> 
> Please report back about your results.

It's not quite clear to me what you want me to report, but I will try.

We never had a problem of HELO localhost.localdomain, only of HELO
.

After commenting out the MAIN_HARDCODE_PRIMARY_HOSTNAME line (and
running update-exim4.conf and service exim4 restart, I got

# exim4 -bP|grep ^primary_hostname
primary_hostname = 

I then did "apt purge libnss-myhostname" (and again update and
restart) and now the same command produces:

primary_hostname = 

When trying "telnet  smtp", the mail server identifies itself with
the longname and replies to "helo bla" with

250  Hello  []

So apparently libnss-myhostname bug is at fault.  Looking at bug
report #756224, it has not been fixed in 7 years, so it is unlikely to
be fixed soon, and a conflict between exim4 and libnss-myhostname
seems appropriate.  I don't remember explicitly installing
libnss-myhostname, so it most likely came with some other package;
however, removing it did not lead to other package removals, so I
don't know how it came in.

- anton



Bug#994815: exim4: Helo command rejected: need fully-qualified hostname

2021-09-21 Thread Marc Haber
Please check whether your system is correctly configured to find the
host name. Information can be found on
https://wiki.debian.org/PkgExim4UserFAQ#How_does_exim_find_out_its_host_name_to_use_in_HELO.2FEHLO.3F

Please report back about your results.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany|  lose things."Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421



Bug#994815: exim4: Helo command rejected: need fully-qualified hostname

2021-09-21 Thread Anton Ertl
Package: exim4
Version: 4.94.2-7
Severity: important

Without the "MAIN_HARDCODE_PRIMARY_HOSTNAME" line in
/etc/exim4/update-exim4.conf.conf a remote server rejected mail coming
from our exim4 server with:

SMTP error from remote mail server after RCPT TO:<>
504 5.5.2 <>: Helo command rejected: need fully-qualified hostname

And I expect that many servers require fully-qualified names.  We also
saw a domainless name when talking the server with telnet:

telnet  smtp
Trying 
Connected to 
Escape character is '^]'.
220  ESMTP Exim 4.94.2 Tue, 21 Sep 2021 10:02:08 +0200

The  here is coming from telnet; note the  in exim4's
response.

Our workaround is to append

MAIN_HARDCODE_PRIMARY_HOSTNAME=

to /etc/exim4/update-exim4.conf.conf.  Calling "update-exim4.conf"
then reports

undocumented line REMOTE_SMTP_HELO_DATA=
/etc/exim4/update-exim4.conf.conf, generating exim macro

but it still works (e.g., exim4 now announced itself with the
longname).  In the Debian 9 configuration we had

REMOTE_SMTP_HELO_DATA=

in /etc/exim4/update-exim4.conf.conf, and I think that this was as a
workaround for the same problem.  But that no longer works in Debian 11.

There is bug report #760278
, which
seems to be about the same issue.  This bug ended with someone
suggesting that someone else take this upstream (but that upstream may
have been libnss-myhostname).  However, given that this is a
configuration issue (at least it can be configured away, or so it
seems), and given that Debian is the source for update-exim4.conf, it
seems to me that Debian is the right address for reporting this bug.

If you think that there is something that should be fixed in upstream
exim4, I would not know what it is, and could not produce a meaningful
bug report for exim4 upstream.  For bug #760278 sending the reporter
upstream has not led to a fix in 7 years.

In the following I have replaced the mail server names with
 and .

-- Package-specific info:
Exim version 4.94.2 #2 built 13-Jul-2021 16:04:57
Copyright (c) University of Cambridge, 1995 - 2018
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2018
Berkeley DB: Berkeley DB 5.3.28: (September  9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DANE DKIM DNSSEC 
Event I18N OCSP PIPE_CONNECT PRDR SOCKS TCP_Fast_Open
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz 
dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Configure owner: 0:0
Size of off_t: 8
Configuration file search path is 
/etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
Configuration file is /var/lib/exim4/config.autogenerated
# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'
#
# Please note that this is _not_ a dpkg-conffile and that automatic changes
# to this file might happen. The code handling this will honor your local
# changes, so this is usually fine, but will break local schemes that mess
# around with multiple versions of the file.
#
# update-exim4.conf uses this file to determine variable values to generate
# exim configuration macros for the configuration file.
#
# Most settings found in here do have corresponding questions in the
# Debconf configuration, but not all of them.
#
# This is a Debian specific file

#dc_eximconfig_configtype='local'
dc_eximconfig_configtype='internet'
#dc_other_hostnames=''
dc_other_hostnames='; 
#dc_local_interfaces='127.0.0.1 ; ::1'
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
#REMOTE_SMTP_HELO_DATA=
#PRIMARY_HOST_NAME=
MAIN_HARDCODE_PRIMARY_HOSTNAME=
mailname:
# /etc/default/exim4
EX4DEF_VERSION=''

# 'combined' -   one daemon running queue and listening on SMTP port
# 'no'   -   no daemon running the queue
# 'separate' -   two separate daemons
# 'ppp'  -   only run queue with /etc/ppp/ip-up.d/exim4.
# 'nodaemon' - no daemon is started at all.
# 'queueonly' - only a queue running daemon is started, no SMTP listener.
# setting this to 'no' will also disable queueruns from /etc/ppp/ip-up.d/exim4
QUEUERUNNER='combined'
# how often should we run the queue
QUEUEINTERVAL='30m'
# options common to quez-runner and listening daemon
COMMONOPTIONS=''
# more options for the daemon/process running the queue (applies to the one
# started in /etc/ppp/ip-up.d/exim4, too.
QUEUERUNNEROPTIONS=''
# special flags given to exim directly after the -q. See exim(8)
QFLAGS=''
# Options for the SMTP listener daemon. By default, it is listening on
# port 25 only. To listen on more ports, it is