summaryrefslogtreecommitdiff
path: root/net/gnu-finger/files/patch-ab
diff options
context:
space:
mode:
authorMasafumi Max NAKANE <max@FreeBSD.org>1997-01-06 08:51:05 +0000
committerMasafumi Max NAKANE <max@FreeBSD.org>1997-01-06 08:51:05 +0000
commit1a587725f19bfcc37052b18232128f400e61cc77 (patch)
tree61de949f9a895e2e2f812d7258130c090ee130aa /net/gnu-finger/files/patch-ab
parentUpdate. By the way, since the distfile doesn't include the version number, (diff)
Merge patch-ag, patch-ah into patch-ab as they all change the same file.
Notes
Notes: svn path=/head/; revision=5225
Diffstat (limited to 'net/gnu-finger/files/patch-ab')
-rw-r--r--net/gnu-finger/files/patch-ab56
1 files changed, 52 insertions, 4 deletions
diff --git a/net/gnu-finger/files/patch-ab b/net/gnu-finger/files/patch-ab
index 6d2ea29ca424..0fb89a315769 100644
--- a/net/gnu-finger/files/patch-ab
+++ b/net/gnu-finger/files/patch-ab
@@ -1,6 +1,15 @@
---- lib/os.c.org Sat Jul 6 14:18:18 1996
-+++ lib/os.c Sat Aug 26 23:38:18 1995
-@@ -70,7 +70,11 @@
+--- lib/os.c.orig Fri Oct 23 06:01:10 1992
++++ lib/os.c Mon Jan 6 17:47:01 1997
+@@ -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,8 +72,12 @@
/* Where the utmp file is located. */
#ifndef HAVE_GETUTENT
@@ -8,7 +17,46 @@
+#define UTMP_FILE "/var/run/utmp"
+#else
#define UTMP_FILE "/etc/utmp"
-+#endif
#endif
++#endif
/* A non-null value is the address of the utmp entry which contains the
+ information for the user using the console. */
+@@ -485,6 +491,7 @@
+
+ UTMP **result;
+ int result_size = 0;
++ struct hostent *hp; u_long l;
+
+ #ifndef HAVE_GETUTENT
+ file = open (UTMP_FILE, O_RDONLY);
+@@ -529,6 +536,19 @@
+ continue;
+ #endif /* sun */
+
++#ifdef __FreeBSD__
++ 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++)
+ {
+ /* If the same person is logged in more than once, we are
+@@ -552,6 +572,9 @@
+ finding the tty location. `v0' is what X window terminals
+ use for the console login window. */
+ if ((strcmp (result[i]->ut_line, "console") == 0) ||
++#ifdef __FreeBSD__
++ (strstr (result[i]->ut_line, "ttyv") != NULL) ||
++#endif
+ (strcmp (result[i]->ut_line, "v0") == 0))
+ {
+ console_user = result[i];