head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.170 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.168 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.166 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.164 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.162 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.160 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.158 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.156 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.154 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.152 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.150 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.148 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.146 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.144 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.142 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.140 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.138 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.136 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.134 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.132 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.130 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.128 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.126 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.122 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.102 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.124 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.120 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.118 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.116 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.114 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.112 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.110 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.108 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.106 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.104 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.100 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.98 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.96 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.94 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.92 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.90 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.88 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.86 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.84 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.82 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.80 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.78 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.76 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.74 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.72 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.70 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.68 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.66 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.64 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.62 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.60 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.58 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.56 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.54 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.52 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.50 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.5.0.48 pkgsrc-2010Q4-base:1.5 pkgsrc-2010Q3:1.5.0.46 pkgsrc-2010Q3-base:1.5 pkgsrc-2010Q2:1.5.0.44 pkgsrc-2010Q2-base:1.5 pkgsrc-2010Q1:1.5.0.42 pkgsrc-2010Q1-base:1.5 pkgsrc-2009Q4:1.5.0.40 pkgsrc-2009Q4-base:1.5 pkgsrc-2009Q3:1.5.0.38 pkgsrc-2009Q3-base:1.5 pkgsrc-2009Q2:1.5.0.36 pkgsrc-2009Q2-base:1.5 pkgsrc-2009Q1:1.5.0.34 pkgsrc-2009Q1-base:1.5 pkgsrc-2008Q4:1.5.0.32 pkgsrc-2008Q4-base:1.5 pkgsrc-2008Q3:1.5.0.30 pkgsrc-2008Q3-base:1.5 cube-native-xorg:1.5.0.28 cube-native-xorg-base:1.5 pkgsrc-2008Q2:1.5.0.26 pkgsrc-2008Q2-base:1.5 cwrapper:1.5.0.24 pkgsrc-2008Q1:1.5.0.22 pkgsrc-2008Q1-base:1.5 pkgsrc-2007Q4:1.5.0.20 pkgsrc-2007Q4-base:1.5 pkgsrc-2007Q3:1.5.0.18 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.5.0.16 pkgsrc-2007Q2-base:1.5 pkgsrc-2007Q1:1.5.0.14 pkgsrc-2007Q1-base:1.5 pkgsrc-2006Q4:1.5.0.12 pkgsrc-2006Q4-base:1.5 pkgsrc-2006Q3:1.5.0.10 pkgsrc-2006Q3-base:1.5 pkgsrc-2006Q2:1.5.0.8 pkgsrc-2006Q2-base:1.5 pkgsrc-2006Q1:1.5.0.6 pkgsrc-2006Q1-base:1.5 pkgsrc-2005Q4:1.5.0.4 pkgsrc-2005Q4-base:1.5 pkgsrc-2005Q3:1.5.0.2 pkgsrc-2005Q3-base:1.5 pkgsrc-2005Q2:1.4.0.4 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.4.0.2 pkgsrc-2005Q1-base:1.4 pkgsrc-2004Q4:1.3.0.8 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.6 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.3.0.4 pkgsrc-2004Q2-base:1.3 pkgsrc-2004Q1:1.3.0.2 pkgsrc-2004Q1-base:1.3; locks; strict; comment @# @; 1.5 date 2005.08.07.12.51.32; author tron; state Exp; branches; next 1.4; 1.4 date 2005.02.24.15.49.26; author tron; state Exp; branches; next 1.3; 1.3 date 2004.01.04.12.59.40; author tron; state Exp; branches; next 1.2; 1.2 date 2004.01.04.11.53.20; author tron; state Exp; branches; next 1.1; 1.1 date 2004.01.04.11.48.44; author tron; state Exp; branches; next ; desc @@ 1.5 log @Make this work (and build) under NetBSD 3.99.3 and newer. Mark package as operating system version specific and bump package version. @ text @$NetBSD$ --- src/kernel/netbsd.c.orig 2003-02-12 02:15:59.000000000 +0000 +++ src/kernel/netbsd.c 2005-08-07 13:48:57.000000000 +0100 @@@@ -29,6 +29,7 @@@@ #include #include #include +#include #include #include #include @@@@ -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 +#if __NetBSD_Version__ >= 106250000 /* 1.6Y */ + kinfo->nl[N_TCB6].n_name = "_tcbtable"; +#else kinfo->nl[N_TCB6].n_name = "_tcb6"; +#endif #else kinfo->nl[N_TCB6].n_name = "_oidentd_nonexistent"; #endif @@@@ -162,7 +177,7 @@@@ if (tcbtablep == NULL) return (NULL); - kpcbp = tcbtablep->inpt_queue.cqh_first; + kpcbp = (struct inpcb *) tcbtablep->inpt_queue.cqh_first; while (kpcbp != (struct inpcb *) ktcbtablep) { if (getbuf((u_long) kpcbp, &pcb, sizeof(struct inpcb)) == -1) break; @@@@ -185,7 +200,7 @@@@ return (pcb.inp_socket); } - kpcbp = pcb.inp_queue.cqe_next; + kpcbp = (struct inpcb *) pcb.inp_queue.cqe_next; } return (NULL); @@@@ -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. */ +#if __NetBSD_Version__ >= 106250000 +static struct socket *getlist6( struct inpcbtable *tcbtablep, + struct inpcbtable *ktcbtablep, +#else static struct socket *getlist6( struct in6pcb *tcb6, +#endif in_port_t lport, in_port_t fport, const struct in6_addr *laddr, const struct in6_addr *faddr) { +#if __NetBSD_Version__ >= 106250000 + struct in6pcb *kpcbp, pcb; + + if (tcbtablep == NULL) + return (NULL); + + kpcbp = (struct in6pcb *) tcbtablep->inpt_queue.cqh_first; + while (kpcbp != (struct in6pcb *) ktcbtablep) { + if (getbuf((u_long) kpcbp, &pcb, sizeof(struct in6pcb)) == -1) + break; + if (pcb.in6p_fport == fport && + pcb.in6p_lport == lport && + IN6_ARE_ADDR_EQUAL(&pcb.in6p_laddr, laddr) && + IN6_ARE_ADDR_EQUAL(&pcb.in6p_faddr, faddr)) + { + return (pcb.in6p_socket); + } + + kpcbp = (struct in6pcb *) pcb.in6p_queue.cqe_next; + } +#else struct in6pcb *tcb6_cur, tcb6_temp; if (tcb6 == NULL) @@@@ -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); - +#endif return (NULL); } @@@@ -368,6 +422,22 @@@@ struct sockaddr_storage *laddr, struct sockaddr_storage *faddr) { +#if __NetBSD_Version__ >= 106250000 /* 1.6Y */ + 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) + return (-1); + + sockp = getlist6(&tcbtable, + (struct inpcbtable *) kinfo->nl[N_TCB6].n_value, + lport, fport, &SIN6(laddr)->sin6_addr, &SIN6(faddr)->sin6_addr); +#else struct socket *sockp, sock; struct in6pcb tcb6; int ret; @@@@ -378,6 +448,7 @@@@ sockp = getlist6(&tcb6, lport, fport, &SIN6(laddr)->sin6_addr, &SIN6(faddr)->sin6_addr); +#endif 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 @ 1.4 log @Fix lookup of TCP IPv6 connections on NetBSD 1.6Y and newer. Based on a patch supplied by Hans Rosenfeld in PR pkg/29517. Bump package revision. @ text @d4 1 a4 1 +++ src/kernel/netbsd.c 2005-02-24 15:40:54.000000000 +0000 d13 18 a30 1 @@@@ -99,7 +100,11 @@@@ d42 1 a42 1 @@@@ -162,7 +167,7 @@@@ d51 1 a51 1 @@@@ -185,7 +190,7 @@@@ d60 29 a88 1 @@@@ -327,12 +332,38 @@@@ d127 1 a127 1 @@@@ -355,7 +386,7 @@@@ d136 1 a136 1 @@@@ -368,6 +399,19 @@@@ d144 3 d159 1 a159 1 @@@@ -378,6 +422,7 @@@@ d167 18 @ 1.3 log @Include "sys/param.h" explicitly because the modified code checks "__NetBSD_Version__" which is only accidently availabe because "sys/sysctl.h" got included. @ text @d3 2 a4 2 --- src/kernel/netbsd.c.orig 2003-02-12 03:15:59.000000000 +0100 +++ src/kernel/netbsd.c 2004-01-04 13:57:58.000000000 +0100 d13 13 a25 1 @@@@ -162,7 +163,7 @@@@ d34 1 a34 1 @@@@ -185,7 +186,7 @@@@ d43 3 a45 3 @@@@ -351,7 +352,11 @@@@ return (tcb6_temp.in6p_socket); } d47 3 a49 2 +#if defined(__NetBSD__) && __NetBSD_Version__ >= 106250000 /* 1.6Y */ + tcb6_cur = (struct in6pcb *) tcb6_temp.in6p_queue.cqe_next; d51 1 a51 1 tcb6_cur = tcb6_temp.in6p_next; d53 30 d86 33 @ 1.2 log @Fix one more compiler warning under NetBSD 1.6Y and above. @ text @d4 10 a13 2 +++ src/kernel/netbsd.c 2004-01-04 12:52:29.000000000 +0100 @@@@ -162,7 +162,7 @@@@ d22 1 a22 1 @@@@ -185,7 +185,7 @@@@ d31 1 a31 1 @@@@ -351,7 +351,11 @@@@ @ 1.1 log @Fix build problem under NetBSD 1.6Y and above. @ text @d3 2 a4 2 --- src/kernel/netbsd.c.orig 2004-01-04 12:27:05.000000000 +0100 +++ src/kernel/netbsd.c 2004-01-04 12:46:17.000000000 +0100 d28 1 a28 1 + tcb6_cur = tcb6_temp.in6p_queue.cqe_next; @