diff options
Diffstat (limited to 'net/gnu-finger/files/patch-ab')
-rw-r--r-- | net/gnu-finger/files/patch-ab | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/net/gnu-finger/files/patch-ab b/net/gnu-finger/files/patch-ab deleted file mode 100644 index 9ed000dee5ae..000000000000 --- a/net/gnu-finger/files/patch-ab +++ /dev/null @@ -1,87 +0,0 @@ ---- lib/os.c.orig Thu Oct 22 22:01:10 1992 -+++ lib/os.c Thu Dec 14 13:02:56 2006 -@@ -26,6 +26,8 @@ - #include <sys/acct.h> - #include <time.h> - #include <packet.h> -+#include <sys/socket.h> -+#include <netdb.h> - - #ifdef HAVE_UTMPX_H - #include <utmpx.h> -@@ -70,13 +72,18 @@ - - /* Where the utmp file is located. */ - #ifndef HAVE_GETUTENT -+#ifdef __FreeBSD__ -+#define UTMP_FILE _PATH_UTMP -+#else - #define UTMP_FILE "/etc/utmp" - #endif -+#endif - - /* A non-null value is the address of the utmp entry which contains the - information for the user using the console. */ - UTMP *console_user; - -+long get_last_access(char *); - - /* **************************************************************** */ - /* */ -@@ -288,6 +295,21 @@ - { - idle = current_time - get_last_access (utmplist[i]->ut_line); - -+#ifdef __FreeBSD__ -+ /* -+ * GNU finger lists two information of one user for one machine, -+ * (1. about login console, 2. tty which has smallest idling time.) -+ * In listing algorithm, GNU finger server program [fingerd] uses -+ * `console' string in tty. -+ * -+ * But FreeBSD uses `ttyv[0-3]' as console name. -+ * -+ * So this patch is to translate `ttyv?' string to `console' -+ */ -+ if (strstr (utmplist[i]->ut_line, "ttyv") != NULL) { -+ strcpy (utmplist[i]->ut_line, "console"); -+ } -+#endif - if (idle < 0) - idle = 0; - -@@ -485,6 +507,7 @@ - - UTMP **result; - int result_size = 0; -+ struct hostent *hp; u_long l; - - #ifndef HAVE_GETUTENT - file = open (UTMP_FILE, O_RDONLY); -@@ -528,6 +551,26 @@ - if (!UT (entry, ut_name)[0]) - continue; - #endif /* sun */ -+ -+#ifdef __FreeBSD__ -+ /* -+ * From src/usr.bin/login/login.c CVS log, after 2.2 source tree, -+ * login.c write numerical address to ut_host. -+ * (1.12 comment of login.c) -+ * -+ * So this patch is to translate numerical address to hostname. -+ */ -+ if (UT(entry, ut_host)[0]) { -+ if (isdigit(UT(entry, ut_host)[0]) && -+ (long)(l = inet_addr(UT(entry, ut_host))) != -1 && -+ (hp = gethostbyaddr((char *)&l, sizeof(l), AF_INET))) { -+ if (hp->h_name) { -+ strncpy(UT(entry, ut_host), hp->h_name, UT_HOSTSIZE); -+ UT(entry, ut_host)[UT_HOSTSIZE - 1] = '\0'; -+ } /* valid hostname */ -+ } /* IP addr */ -+ } /* UTMP */ -+#endif - - for (i = 0; result[i]; i++) - { |