head	1.5;
access;
symbols
	RELEASE_5_2_1:1.4
	RELEASE_5_2_0:1.4
	RELEASE_4_9_0:1.4
	RELEASE_5_1_0:1.4
	RELEASE_4_8_0:1.4
	RELEASE_5_0_0:1.4
	RELEASE_4_7_0:1.4
	RELEASE_4_6_2:1.3
	RELEASE_4_6_1:1.3
	RELEASE_4_6_0:1.3
	RELEASE_5_0_DP1:1.3
	RELEASE_4_5_0:1.3
	RELEASE_4_4_0:1.3
	RELEASE_4_3_0:1.3
	RELEASE_4_2_0:1.3
	RELEASE_4_1_1:1.3
	RELEASE_4_1_0:1.3
	RELEASE_3_5_0:1.3
	RELEASE_4_0_0:1.3
	RELEASE_3_4_0:1.2
	RELEASE_3_3_0:1.2;
locks; strict;
comment	@# @;


1.5
date	2004.03.06.09.33.13;	author dinoex;	state dead;
branches;
next	1.4;

1.4
date	2002.08.29.19.33.29;	author naddy;	state Exp;
branches;
next	1.3;

1.3
date	2000.02.14.15.12.37;	author sumikawa;	state Exp;
branches;
next	1.2;

1.2
date	99.08.29.13.14.16;	author green;	state Exp;
branches;
next	1.1;

1.1
date	99.07.14.19.37.23;	author green;	state Exp;
branches;
next	;


desc
@@


1.5
log
@- update to 3.0.16
- use PLIST_FILES
- add missing manpage idecrypt.8
@
text
@
$FreeBSD: ports/security/pidentd/files/patch-al,v 1.4 2002/08/29 19:33:29 naddy Exp $

--- src/freebsd-sysctl.c.orig	Thu Aug 29 21:20:05 2002
+++ src/freebsd-sysctl.c	Thu Aug 29 21:24:03 2002
@@@@ -0,0 +1,98 @@@@
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/sysctl.h>
+#include <sys/ucred.h>
+
+#include <netinet/in.h>
+
+int
+k_open(void) {
+
+	return 0;
+}
+
+#ifdef INET6
+int k_getuid(struct sockaddr *faddr, int fport, struct sockaddr *laddr,
+	     int lport, int *uid) {
+	struct sockaddr_in sin[2];
+	struct sockaddr_in6 sin6[2];
+	struct xucred uc;
+	size_t oldlen = sizeof(uc);
+	struct sockaddr *sa;
+	int salen;
+	char *ctlname;
+
+	if (faddr->sa_family != laddr->sa_family)
+		return -1;
+	if (faddr->sa_family == AF_INET) {
+		sin[0].sin_family = sin[1].sin_family = AF_INET;
+		sin[0].sin_len = sin[1].sin_len = sizeof(struct sockaddr_in);
+		memcpy(&sin[0].sin_addr,
+		       &((struct sockaddr_in *)laddr)->sin_addr,
+		       sizeof(struct in_addr));
+		memcpy(&sin[1].sin_addr,
+		       &((struct sockaddr_in *)faddr)->sin_addr,
+		       sizeof(struct in_addr));
+		sin[0].sin_port = (u_int16_t)lport;
+		sin[1].sin_port = (u_int16_t)fport;
+		sa = (struct sockaddr *)sin;
+		salen = sizeof(sin);
+		ctlname = "net.inet.tcp.getcred";
+	} else if (IN6_IS_ADDR_V4MAPPED(&((struct sockaddr_in6 *)faddr)->sin6_addr)) {
+		sin[0].sin_family = sin[1].sin_family = AF_INET;
+		sin[0].sin_len = sin[1].sin_len = sizeof(struct sockaddr_in);
+		memcpy(&sin[0].sin_addr,
+		       &((struct sockaddr_in6 *)laddr)->sin6_addr.s6_addr[12],
+		       sizeof(struct in_addr));
+		memcpy(&sin[1].sin_addr,
+		       &((struct sockaddr_in6 *)faddr)->sin6_addr.s6_addr[12],
+		       sizeof(struct in_addr));
+		sin[0].sin_port = (u_int16_t)lport;
+		sin[1].sin_port = (u_int16_t)fport;
+		sa = (struct sockaddr *)sin;
+		salen = sizeof(sin);
+		ctlname = "net.inet.tcp.getcred";
+	} else {
+		sin6[0].sin6_family = sin6[1].sin6_family = AF_INET6;
+		sin6[0].sin6_len = sin6[1].sin6_len
+				 = sizeof(struct sockaddr_in6);
+		memcpy(&sin6[0].sin6_addr,
+		       &((struct sockaddr_in6 *)laddr)->sin6_addr,
+		       sizeof(struct in6_addr));
+		memcpy(&sin6[1].sin6_addr,
+		       &((struct sockaddr_in6 *)faddr)->sin6_addr,
+		       sizeof(struct in6_addr));
+		sin6[0].sin6_port = (u_int16_t)lport;
+		sin6[1].sin6_port = (u_int16_t)fport;
+		sa = (struct sockaddr *)sin6;
+		salen = sizeof(sin6);
+		ctlname = "net.inet6.tcp6.getcred";
+	}
+
+	if (sysctlbyname(ctlname, &uc, &oldlen, sa, salen))
+		return -1;
+
+	*uid = uc.cr_uid;
+	return 0;
+}	
+#else
+int k_getuid(struct in_addr *faddr, int fport, struct in_addr *laddr,
+	     int lport, int *uid) {
+	struct sockaddr_in sin[2];
+	struct xucred uc;
+	size_t oldlen = sizeof(uc);
+
+	sin[0].sin_addr.s_addr = laddr->s_addr;
+	sin[1].sin_addr.s_addr = faddr->s_addr;
+	sin[0].sin_port = (u_short)lport;
+	sin[1].sin_port = (u_short)fport;
+
+	if (sysctlbyname("net.inet.tcp.getcred", &uc, &oldlen, sin,
+	    sizeof(sin)))
+		return -1;
+
+	*uid = uc.cr_uid;
+	return 0;
+}	
+#endif
@


1.4
log
@* Fix build on -CURRENT.

Submitted by:	Craig Rodrigues <rodrigc@@attbi.com>

* Remove obsolete configure script that has become a nop.
@
text
@d2 1
a2 1
$FreeBSD$
@


1.3
log
@Support IPv6.

Submitted by:	Hajimu UMEMOTO <ume@@mahoroba.org>
Approved by:	torstenb
@
text
@d1 5
a5 2
--- /dev/null	Thu Feb 10 20:03:15 2000
+++ src/freebsd-sysctl.c	Thu Feb 10 20:03:40 2000
d26 1
a26 1
+	struct ucred uc;
d89 1
a89 1
+	struct ucred uc;
@


1.2
log
@Update to allow 3.2 (320002) to use the new interface to the kernel.
@
text
@d1 3
a3 3
--- /dev/null	Wed Jul 14 15:27:00 1999
+++ src/freebsd-sysctl.c	Thu Jul  8 15:52:57 1999
@@@@ -0,0 +1,32 @@@@
d18 65
d101 1
@


1.1
log
@Switch pidentd to using sysctl()s instead of libkvm. It now doesn't need
to be linked with libkvm... this should fix a lot of strange problems
people report with pidentd.

This is for -CURRENT only, at the moment.
@
text
@d2 1
a2 1
+++ src/freebsd4.c	Thu Jul  8 15:52:57 1999
@

