aboutsummaryrefslogtreecommitdiffstats
path: root/security/identify/files
diff options
context:
space:
mode:
authornsayer <nsayer@FreeBSD.org>1999-04-03 03:07:30 +0800
committernsayer <nsayer@FreeBSD.org>1999-04-03 03:07:30 +0800
commit0583beba066100b8b3a68959ff72646e87878968 (patch)
treebfe68f5fc560ea38d3353d578f8106b1295384fa /security/identify/files
parent7866bfbd7e5412d9748cf99ca9c3b25d5ee8fea7 (diff)
downloadfreebsd-ports-gnome-0583beba066100b8b3a68959ff72646e87878968.tar.gz
freebsd-ports-gnome-0583beba066100b8b3a68959ff72646e87878968.tar.zst
freebsd-ports-gnome-0583beba066100b8b3a68959ff72646e87878968.zip
Add "identify" daemon wrapper. Allows one to add ident lookup and logging
to arbitrary daemons (like telnetd or fingerd).
Diffstat (limited to 'security/identify/files')
-rw-r--r--security/identify/files/patch-aa16
-rw-r--r--security/identify/files/patch-ab132
2 files changed, 148 insertions, 0 deletions
diff --git a/security/identify/files/patch-aa b/security/identify/files/patch-aa
new file mode 100644
index 000000000000..7338d0a1fa8d
--- /dev/null
+++ b/security/identify/files/patch-aa
@@ -0,0 +1,16 @@
+--- Makefile.orig Mon Jul 20 09:01:27 1992
++++ Makefile Fri Apr 2 10:50:40 1999
+@@ -1,2 +1,11 @@
+-identify: identify.c
+- $(CC) -o identify identify.c -lauthuser
++
++CFLAGS+= -I/usr/local/include -L/usr/local/lib
++
++all: identify
++
++install: identify
++ install identify ${PREFIX}/libexec
++ install README ${PREFIX}/share/doc/identify
++
++identify: identify.o
++ $(CC) $(CFLAGS) -o identify identify.o -lident
diff --git a/security/identify/files/patch-ab b/security/identify/files/patch-ab
new file mode 100644
index 000000000000..bd6878e20238
--- /dev/null
+++ b/security/identify/files/patch-ab
@@ -0,0 +1,132 @@
+--- identify.c.orig Tue Feb 2 01:51:57 1993
++++ identify.c Fri Apr 2 10:57:28 1999
+@@ -11,7 +11,7 @@
+ #include <stdio.h>
+ #include <signal.h>
+ #include <syslog.h>
+-#include <authuser.h>
++#include <ident.h>
+ #include <netdb.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
+@@ -33,57 +33,43 @@
+ int noidentify = 0;
+ int bits = 0;
+ int reject_flag = 0;
+-unsigned long inlocal;
+-unsigned long inremote;
++struct in_addr inlocal;
++struct in_addr inremote;
+ int timeout = 120;
+-int rtimeout = 30;
+-
+-static char *host_address(ad)
+- unsigned long ad;
+-{
+- int a, b, c, d;
+- static char addr[20];
+-
+- d = ad % 256;
+- ad /= 256;
+- c = ad % 256;
+- ad /= 256;
+- b = ad % 256;
+- a = ad / 256;
+- sprintf(addr, "%d.%d.%d.%d", a, b, c, d);
+-
+- return addr;
+-}
+-
+
+ char *ident_get_identifier(fd, host, len)
+ int fd;
+ char *host;
+ int len;
+ {
+- unsigned short local;
+- unsigned short remote;
+-
++ struct sockaddr_in sa;
++ int l;
+
+- if (auth_fd2(fd, &inlocal, &inremote,
+- &local, &remote) == -1)
++ l=sizeof(sa);
++ if (getsockname(fd,(struct sockaddr *)&sa,&l)<0)
+ {
+ if (debug)
+- perror("auth_fd2");
+-
++ perror("getsockname()");
+ return NULL;
+ }
++ inlocal=sa.sin_addr;
++ if (getpeername(fd,(struct sockaddr *)&sa,&l)<0)
++ {
++ if (debug)
++ perror("getpeername()");
++ return NULL;
++ }
++ inremote=sa.sin_addr;
+
+ if (host)
+ {
+ struct hostent *hp;
+
+-
+- hp = gethostbyaddr(&inremote,sizeof(struct in_addr),AF_INET);
++ hp = gethostbyaddr((const char *)&inremote,sizeof(struct in_addr),AF_INET);
+ if (hp)
+ strncpy(host, hp->h_name, len);
+ else
+- strncpy(host, host_address(inremote), len);
++ strncpy(host, inet_ntoa(inremote), len);
+
+ host[len] = '\0';
+ }
+@@ -91,16 +77,7 @@
+ if (noidentify)
+ return NULL;
+ else
+- if (timeout)
+- {
+- if (rtimeout)
+- return auth_tcpuser4(inlocal, inremote, local, remote, timeout,
+- rtimeout);
+- else
+- return auth_tcpuser3(inlocal, inremote, local, remote, timeout);
+- }
+- else
+- return auth_tcpuser2(inlocal, inremote, local, remote);
++ return ident_id(fd,timeout);
+ }
+
+
+@@ -128,10 +105,6 @@
+ timeout = atoi(argv[i]+2);
+ break;
+
+- case 'T':
+- rtimeout = atoi(argv[i]+2);
+- break;
+-
+ case 'R':
+ if (!argv[i][2])
+ reject_flag = 1;
+@@ -241,13 +214,13 @@
+ }
+ }
+
+- if ((bits && (inremote >> bits != inlocal >> bits)) ||
++ if ((bits && (htonl(inremote.s_addr) >> bits != htonl(inlocal.s_addr) >> bits)) ||
+ (reject_flag && !id))
+ {
+ if (id)
+- syslog(priority, "Rejecting from %s@%s", id, host_address(inremote));
++ syslog(priority, "Rejecting from %s@%s", id, inet_ntoa(inremote));
+ else
+- syslog(priority, "Rejecting from %s", host_address(inremote));
++ syslog(priority, "Rejecting from %s", inet_ntoa(inremote));
+ exit(1);
+ }
+