+++ /dev/null
---- netkit-telnet-0.17.orig/telnetd/telnetd.c.reallynodns 2009-03-12 14:32:29.000000000 -0700
-+++ netkit-telnet-0.17.orig/telnetd/telnetd.c 2009-03-12 14:51:59.000000000 -0700
-@@ -85,6 +85,7 @@
- int keepalive = 1;
- char *loginprg = _PATH_LOGIN;
- char *progname;
-+int lookupself = 1;
-
- extern void usage(void);
-
-@@ -111,7 +112,7 @@
-
- progname = *argv;
-
-- while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:")) != EOF) {
-+ while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:N")) != EOF) {
- switch(ch) {
-
- #ifdef AUTHENTICATE
-@@ -210,6 +211,10 @@
- keepalive = 0;
- break;
-
-+ case 'N':
-+ lookupself = 0;
-+ break;
-+
- #ifdef SecurID
- case 's':
- /* SecurID required */
-@@ -393,6 +398,7 @@
- #endif
- fprintf(stderr, " [-L login_program]");
- fprintf(stderr, " [-n]");
-+ fprintf(stderr, " [-N]");
- #ifdef SecurID
- fprintf(stderr, " [-s]");
- #endif
-@@ -691,15 +697,20 @@
-
- memset(&hints, '\0', sizeof(hints));
- hints.ai_socktype = SOCK_STREAM;
-- hints.ai_flags = AI_ADDRCONFIG;
-+ hints.ai_flags = AI_CANONNAME;
-
- gethostname(host_name, sizeof(host_name));
-- if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) {
-- if(e != EAI_AGAIN) {
-- fprintf(stderr, "getaddrinfo: localhost %s\n",
-- gai_strerror(e));
-- exit(1);
-- }
-+ /*
-+ * Optionally canonicalize the local host name, in case
-+ * gethostname() returns foo, we want foo.example.com
-+ */
-+ if (lookupself &&
-+ (e = getaddrinfo(host_name, NULL, &hints, &res)) == 0) {
-+ if (res->ai_canonname) {
-+ strncpy(host_name, res->ai_canonname,
-+ sizeof(host_name)-1);
-+ host_name[sizeof(host_name)-1] = 0;
-+ }
- }
- if(res)
- freeaddrinfo(res);
---- netkit-telnet-0.17.orig/telnetd/telnetd.8.reallynodns 2009-03-12 14:54:54.000000000 -0700
-+++ netkit-telnet-0.17.orig/telnetd/telnetd.8 2009-03-12 14:56:58.000000000 -0700
-@@ -42,7 +42,7 @@
- protocol server
- .Sh SYNOPSIS
- .Nm /usr/sbin/in.telnetd
--.Op Fl hns
-+.Op Fl hnNs
- .Op Fl a Ar authmode
- .Op Fl D Ar debugmode
- .Op Fl L Ar loginprg
-@@ -175,6 +175,10 @@
- if the client is still there, so that idle connections
- from machines that have crashed or can no longer
- be reached may be cleaned up.
-+.It Fl N
-+Do not use DNS to canonicalize the local hostname;
-+.Fn gethostname 2
-+returns a fully qualified name.
- .It Fl s
- This option is only enabled if
- .Nm telnetd