This problem is still present in Dapper. Among other things it affects the ability of Postfix to operate as configured in Ubuntu:
>From Postconf 5: http://www.postfix.org/postconf.5.html#myhostname "The default is to use the fully-qualified domain name from gethostname." So, Postfix is expecting the standard C function gethostname to produce a FQDN. I decided to test this. First by removing myhostname from main.cf and then by accessing the C function as directly as I could. Fortunately, Python gives almost direct access to this function in its socket module: http://www.python.org/doc/2.4.3/lib/module-socket.html So, through Python, I call the same function (this is on an Ubuntu server): mailout00:~$ python Python 2.4.3 (#2, Apr 27 2006, 14:43:58) [GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import socket >>> print socket.gethostname() mailout00 Just the machine name, not a FQDN. Here is the same thing on a FreeBSD 4.8-STABLE machine: raung% python Python 2.4.1 (#1, Jun 10 2005, 16:38:07) [GCC 2.95.4 20020320 [FreeBSD]] on freebsd4 Type "help", "copyright", "credits" or "license" for more information. >>> import socket >>> print socket.gethostname() raung.pair.com Just to make sure, Python also has another function called getfqdn. Ubuntu: mailout00:~$ python Python 2.4.3 (#2, Apr 27 2006, 14:43:58) [GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import socket >>> print socket.getfqdn() mailout00 FreeBSD: raung% python Python 2.4.1 (#1, Jun 10 2005, 16:38:07) [GCC 2.95.4 20020320 [FreeBSD]] on freebsd4 Type "help", "copyright", "credits" or "license" for more information. >>> import socket >>> print socket.getfqdn() raung.pair.com -- hostname -f does not return a proper FQDN https://launchpad.net/bugs/8980 -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
