Hi, * LaMont Jones [Fri Jan 04, 2008 at 07:06:49AM -0700]:
> The bug here is quite possibly that postfix's install doesn't make > dealing with a machine that needs to tweak myorigin (usually because > it's not in the DNS for the rest of the internet) easier. I recently stumbled upon a related issue, where a system had a static IP configuration, but its search path wasn't configured. systemd-resolved uses "search ." then, and installation of postfix fails with such a setup. Steps to reproduce: | root@grml ~ # hostname | grml | root@grml ~ # hostname --fqdn | grml | root@grml ~ # grep '^search' /etc/resolv.conf | search . | root@grml ~ # apt install postfix | [...] | Creating /etc/postfix/dynamicmaps.cf | Adding group `postdrop' (GID 125) ... | Done. | setting myhostname: grml.. | setting alias maps | setting alias database | mailname is not a fully qualified domain name. Not changing /etc/mailname. | setting destinations: $myhostname, grml, localhost.localdomain, , localhost | setting relayhost: | setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 | setting mailbox_size_limit: 0 | setting recipient_delimiter: + | setting inet_interfaces: all | setting inet_protocols: all | /etc/aliases does not exist, creating it. | WARNING: /etc/aliases exists, but does not have a root alias. | | Postfix (main.cf) is now set up with a default configuration. If you need to | make changes, edit /etc/postfix/main.cf (and others) as needed. To view | Postfix configuration values, see postconf(1). | | After modifying main.cf, be sure to run 'systemctl reload postfix'. | | Running newaliases | newaliases: warning: valid_hostname: misplaced delimiter: grml.. | newaliases: fatal: file /etc/postfix/main.cf: parameter myhostname: bad parameter value: grml.. | dpkg: error processing package postfix (--configure): | installed postfix package post-installation script subprocess returned error exit status 75 | [...] The generated "grml.." setting for postfix's myhostname configuration is invalid and rejected by e.g. postfix's newaliases. This is caused by postfix's postinst script, which includes this: | myfqdn() { | myhostname=$(hostname --fqdn 2>/dev/null || echo "") | # If we don't have a name with a dot (which includes ""), then we have work. | if [ $myhostname = ${myhostname%.*} ]; then | # If it's empty, and we have /etc/hostname, try that. | if [ -z $myhostname ] && [ -r /etc/hostname ]; then | myhostname=$(cat /etc/hostname) | fi | # If we are still lacking a domain component, then try resolv.conf. | if [ $myhostname = ${myhostname%.*} ]; then | if [ -f /etc/resolv.conf ]; then | # The resolver uses the last one found, and ignores the rest | mydom=$(sed -n 's/^search[[:space:]]*\.*\([^[:space:]]*\).*/\1/p;s/^domain[[:space:]]*\.*\([^[:space:]]*\).*/\1/p' /etc/resolv.conf | tail -1) | myhostname="$myhostname${mydom:+.${mydom%.}}" | else | myhostname="$myhostname.UNKNOWN" | fi | fi | fi | echo $myhostname | } regards -mika-
signature.asc
Description: PGP signature