From 2e82cb281b4a457ac19d9f3dee543a72cba07813 Mon Sep 17 00:00:00 2001 From: tron Date: Sun, 7 Aug 2005 12:51:32 +0000 Subject: Make this work (and build) under NetBSD 3.99.3 and newer. Mark package as operating system version specific and bump package version. --- net/oidentd/Makefile | 5 +-- net/oidentd/distinfo | 4 +-- net/oidentd/patches/patch-ac | 84 +++++++++++++++++++++++++++++++++++++++----- 3 files changed, 80 insertions(+), 13 deletions(-) (limited to 'net') diff --git a/net/oidentd/Makefile b/net/oidentd/Makefile index 0620ecb35bc..38f5c767303 100644 --- a/net/oidentd/Makefile +++ b/net/oidentd/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.5 2005/02/24 15:49:26 tron Exp $ +# $NetBSD: Makefile,v 1.6 2005/08/07 12:51:32 tron Exp $ DISTNAME= oidentd-2.0.7 -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= net MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=ojnk/} @@ -13,6 +13,7 @@ GNU_CONFIGURE= YES CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} USE_PKGINSTALL= YES RCD_SCRIPTS= oidentd +OSVERSION_SPECIFIC= YES .include "../../mk/bsd.prefs.mk" diff --git a/net/oidentd/distinfo b/net/oidentd/distinfo index 0abdeb94f54..8217dab133c 100644 --- a/net/oidentd/distinfo +++ b/net/oidentd/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.6 2005/02/24 15:49:26 tron Exp $ +$NetBSD: distinfo,v 1.7 2005/08/07 12:51:32 tron Exp $ SHA1 (oidentd-2.0.7.tar.gz) = c973b436e6f8cab87b5e2f557e901722e27f1e79 RMD160 (oidentd-2.0.7.tar.gz) = 91c2d24f8a1b37bd6feffd4243b0311f76e7aff3 Size (oidentd-2.0.7.tar.gz) = 196027 bytes SHA1 (patch-aa) = b5c82f425fc9f5174dd4efb4c4d13bdf78486beb SHA1 (patch-ab) = 264178c5cc79c744354ab228678cb41bdc27b198 -SHA1 (patch-ac) = 6c7cfa9eadc3f6b84ce8dc39edf67d665b8d0dc7 +SHA1 (patch-ac) = 0928afdbd73a26adb2b3591fa4f2ccfe816bcfd3 diff --git a/net/oidentd/patches/patch-ac b/net/oidentd/patches/patch-ac index ba93e08de43..84b7f7c34f5 100644 --- a/net/oidentd/patches/patch-ac +++ b/net/oidentd/patches/patch-ac @@ -1,7 +1,7 @@ -$NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ +$NetBSD: patch-ac,v 1.5 2005/08/07 12:51:32 tron Exp $ --- src/kernel/netbsd.c.orig 2003-02-12 02:15:59.000000000 +0000 -+++ src/kernel/netbsd.c 2005-02-24 15:40:54.000000000 +0000 ++++ src/kernel/netbsd.c 2005-08-07 13:48:57.000000000 +0100 @@ -29,6 +29,7 @@ #include #include @@ -10,7 +10,24 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ #include #include #include -@@ -99,7 +100,11 @@ +@@ -41,6 +42,16 @@ + #include + #include + ++#if __NetBSD_Version__ >= 399000300 /* 3.99.3 */ ++#define SO_UIDINFO /* "struct socket" contains so_uidinfo" */ ++ ++#include ++#include ++#define _KERNEL 42 ++#include ++#undef _KERNEL ++#endif ++ + #ifdef WANT_IPV6 + # include + # include +@@ -99,7 +110,11 @@ kinfo->nl[N_TCB].n_name = "_tcbtable"; #ifdef WANT_IPV6 @@ -22,7 +39,7 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ #else kinfo->nl[N_TCB6].n_name = "_oidentd_nonexistent"; #endif -@@ -162,7 +167,7 @@ +@@ -162,7 +177,7 @@ if (tcbtablep == NULL) return (NULL); @@ -31,7 +48,7 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ while (kpcbp != (struct inpcb *) ktcbtablep) { if (getbuf((u_long) kpcbp, &pcb, sizeof(struct inpcb)) == -1) break; -@@ -185,7 +190,7 @@ +@@ -185,7 +200,7 @@ return (pcb.inp_socket); } @@ -40,7 +57,35 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ } return (NULL); -@@ -327,12 +332,38 @@ +@@ -203,6 +218,9 @@ + struct socket *sockp, sock; + struct inpcbtable tcbtable; + int ret; ++#ifdef SO_UIDINFO ++ struct uidinfo uidinfo; ++#endif + + ret = getbuf(kinfo->nl[N_TCB].n_value, &tcbtable, sizeof(tcbtable)); + if (ret == -1) +@@ -218,7 +236,17 @@ + if (getbuf((u_long) sockp, &sock, sizeof(sock)) == -1) + return (-1); + ++#ifdef SO_UIDINFO ++ if (sock.so_uidinfo == NULL) ++ return (-1); ++ ++ if (getbuf((u_long) sock.so_uidinfo, &uidinfo, sizeof(uidinfo)) == -1) ++ return (-1); ++ ++ return (uidinfo.ui_uid); ++#else + return (sock.so_uid); ++#endif + } + + #ifdef MASQ_SUPPORT +@@ -327,12 +355,38 @@ ** Returns NULL if no match. */ @@ -79,7 +124,7 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ struct in6pcb *tcb6_cur, tcb6_temp; if (tcb6 == NULL) -@@ -355,7 +386,7 @@ +@@ -355,7 +409,7 @@ if (getbuf((u_long) tcb6_cur, &tcb6_temp, sizeof(tcb6_temp)) == -1) break; } while ((u_long) tcb6_cur != kinfo->nl[N_TCB6].n_value); @@ -88,7 +133,7 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ return (NULL); } -@@ -368,6 +399,19 @@ +@@ -368,6 +422,22 @@ struct sockaddr_storage *laddr, struct sockaddr_storage *faddr) { @@ -96,6 +141,9 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ + struct socket *sockp, sock; + struct inpcbtable tcbtable; + int ret; ++#ifdef SO_UIDINFO ++ struct uidinfo uidinfo; ++#endif + + ret = getbuf(kinfo->nl[N_TCB6].n_value, &tcbtable, sizeof(tcbtable)); + if (ret == -1) @@ -108,7 +156,7 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ struct socket *sockp, sock; struct in6pcb tcb6; int ret; -@@ -378,6 +422,7 @@ +@@ -378,6 +448,7 @@ sockp = getlist6(&tcb6, lport, fport, &SIN6(laddr)->sin6_addr, &SIN6(faddr)->sin6_addr); @@ -116,3 +164,21 @@ $NetBSD: patch-ac,v 1.4 2005/02/24 15:49:26 tron Exp $ if (sockp == NULL) return (-1); +@@ -385,7 +456,17 @@ + if (getbuf((u_long) sockp, &sock, sizeof(sock)) == -1) + return (-1); + ++#ifdef SO_UIDINFO ++ if (sock.so_uidinfo == NULL) ++ return (-1); ++ ++ if (getbuf((u_long) sock.so_uidinfo, &uidinfo, sizeof(uidinfo)) == -1) ++ return (-1); ++ ++ return (uidinfo.ui_uid); ++#else + return (sock.so_uid); ++#endif + } + + #endif -- cgit v1.2.3