head 1.7; access; symbols pkgsrc-2026Q1:1.7.0.8 pkgsrc-2026Q1-base:1.7 pkgsrc-2025Q4:1.7.0.6 pkgsrc-2025Q4-base:1.7 pkgsrc-2025Q3:1.7.0.4 pkgsrc-2025Q3-base:1.7 pkgsrc-2025Q2:1.7.0.2 pkgsrc-2025Q2-base:1.7 pkgsrc-2025Q1:1.5.0.6 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.4 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.2 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.3.0.96 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.94 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.92 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.90 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.88 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.86 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.84 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.82 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.80 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.78 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.76 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.74 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.72 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.70 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.68 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.66 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.62 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.42 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.64 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.60 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.58 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.56 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.54 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.52 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.50 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.48 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.46 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.44 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.40 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.38 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.36 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.34 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.32 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.30 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.28 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.26 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.24 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.22 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.20 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.18 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.16 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.14 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.12 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.10 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.8 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.6 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.4 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.2 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.2.0.62 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.60 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.58 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.56 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.54 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.52 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.50 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.48 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.46 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.44 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.42 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.40 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.38 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.36 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.34 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.32 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.30 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.28 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.26 pkgsrc-2008Q1:1.2.0.24 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.22 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.20 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.18 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.16 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.14 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.12 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.10 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.8 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.6 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.4 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.2 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.1.0.10 pkgsrc-2005Q1-base:1.1 pkgsrc-2004Q4:1.1.0.8 pkgsrc-2004Q4-base:1.1 pkgsrc-2004Q3:1.1.0.6 pkgsrc-2004Q3-base:1.1 pkgsrc-2004Q2:1.1.0.4 pkgsrc-2004Q2-base:1.1 pkgsrc-2004Q1:1.1.0.2 pkgsrc-2004Q1-base:1.1; locks; strict; comment @# @; 1.7 date 2025.04.30.11.58.04; author tnn; state Exp; branches; next 1.6; commitid uE0vhrYx79Mdp4TF; 1.6 date 2025.04.29.14.18.00; author tnn; state Exp; branches; next 1.5; commitid ZOqEPnCXGihMdXSF; 1.5 date 2024.08.05.14.15.10; author tnn; state Exp; branches; next 1.4; commitid 16zIKZkuyC1SMDkF; 1.4 date 2024.08.05.12.48.18; author tnn; state Exp; branches; next 1.3; commitid 1BeZyzs9wfT2jDkF; 1.3 date 2012.07.20.09.58.36; author adam; state Exp; branches; next 1.2; 1.2 date 2005.05.26.02.25.22; author markd; state Exp; branches; next 1.1; 1.1 date 2004.02.10.09.17.22; author grant; state Exp; branches; next ; desc @@ 1.7 log @tcp_wrappers: include in tcpd.h for FILE Fixes net-snmp on macOS that became broken by the previous change. Bump. @ text @$NetBSD: patch-ab,v 1.6 2025/04/29 14:18:00 tnn Exp $ --- tcpd.h.orig 2003-04-16 14:27:11.000000000 +0000 +++ tcpd.h @@@@ -11,6 +11,8 @@@@ #include #include #include +#include +#include typedef struct sockaddr_gen { union { @@@@ -29,7 +31,7 @@@@ typedef union gen_addr { #endif } gen_addr; -extern void sockgen_simplify(); +extern void sockgen_simplify(sockaddr_gen *); #define sg_sa sg_addr._sg_sa #define sg_sin sg_addr._sg_sin @@@@ -92,9 +94,9 @@@@ struct request_info { char pid[10]; /* access via eval_pid(request) */ struct host_info client[1]; /* client endpoint info */ struct host_info server[1]; /* server endpoint info */ - void (*sink) (); /* datagram sink function or 0 */ - void (*hostname) (); /* address to printable hostname */ - void (*hostaddr) (); /* address to printable address */ + void (*sink) (int); /* datagram sink function or 0 */ + void (*hostname) (struct host_info *); /* address to printable hostname */ + void (*hostaddr) (struct host_info *); /* address to printable address */ void (*cleanup) (); /* cleanup function or 0 */ struct netconfig *config; /* netdir handle */ }; @@@@ -137,17 +139,23 @@@@ extern void fromhost(); /* get/validat #define fromhost sock_host /* no TLI support needed */ #endif +#ifdef __STDC__ +extern int hosts_access(struct request_info *); /* access control */ +extern int hosts_ctl(char *daemon, char *name, char *addr, char *user); +#else extern int hosts_access(); /* access control */ -extern void shell_cmd(); /* execute shell command */ -extern char *percent_x(); /* do % expansion */ -extern void rfc931(); /* client name from RFC 931 daemon */ -extern void clean_exit(); /* clean up and exit */ -extern void refuse(); /* clean up and exit */ -extern char *xgets(); /* fgets() on steroids */ -extern char *split_at(); /* strchr() and split */ -extern unsigned long dot_quad_addr(); /* restricted inet_addr() */ -extern int numeric_addr(); /* IP4/IP6 inet_addr (restricted) */ -extern struct hostent *tcpd_gethostbyname(); +extern int hosts_ctl(); +#endif +extern void shell_cmd(char *); /* execute shell command */ +extern char *percent_x(char *, int, char *, struct request_info *); /* do % expansion */ +extern void rfc931(struct sockaddr_gen *, struct sockaddr_gen *, char *); /* client name from RFC 931 daemon */ +extern void clean_exit(struct request_info *); /* clean up and exit */ +extern void refuse(struct request_info *); /* clean up and exit */ +extern char *xgets(char *, int, FILE *); /* fgets() on steroids */ +extern char *split_at(char *, int); /* strchr() and split */ +extern unsigned long dot_quad_addr(char *); /* restricted inet_addr() */ +extern int numeric_addr(char *, union gen_addr *, int *, int *); /* IP4/IP6 inet_addr (restricted) */ +extern struct hostent *tcpd_gethostbyname(char *, int); /* IP4/IP6 gethostbyname */ #ifdef HAVE_IPV6 extern char *skip_ipv6_addrs(); /* skip over colons in IPv6 addrs */ @@@@ -196,20 +204,35 @@@@ extern struct request_info *request_set( * host_info structures serve as caches for the lookup results. */ +#ifdef __STDC__ +extern char *eval_user(struct request_info *); /* client user */ +extern char *eval_hostname(struct host_info *); /* printable hostname */ +extern char *eval_hostaddr(struct host_info *); /* printable host address */ +extern char *eval_hostinfo(struct host_info *); /* host name or address */ +extern char *eval_client(struct request_info *); /* whatever is available */ +extern char *eval_server(struct request_info *); /* whatever is available */ +#else extern char *eval_user(); /* client user */ extern char *eval_hostname(); /* printable hostname */ extern char *eval_hostaddr(); /* printable host address */ extern char *eval_hostinfo(); /* host name or address */ extern char *eval_client(); /* whatever is available */ extern char *eval_server(); /* whatever is available */ +#endif #define eval_daemon(r) ((r)->daemon) /* daemon process name */ #define eval_pid(r) ((r)->pid) /* process id */ /* Socket-specific methods, including DNS hostname lookups. */ +#ifdef __STDC__ +extern void sock_host(struct request_info *); /* look up endpoint addresses */ +extern void sock_hostname(struct host_info *); /* translate address to hostname */ +extern void sock_hostaddr(struct host_info *); /* address to printable address */ +#else extern void sock_host(); /* look up endpoint addresses */ extern void sock_hostname(); /* translate address to hostname */ extern void sock_hostaddr(); /* address to printable address */ +#endif #define sock_methods(r) \ { (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; } @@@@ -257,7 +280,7 @@@@ extern struct tcpd_context tcpd_context; * behavior. */ -extern void process_options(); /* execute options */ +extern void process_options(char *, struct request_info *); /* execute options */ extern int dry_run; /* verification flag */ /* Bug workarounds. */ @@@@ -269,7 +292,7 @@@@ extern long fix_inet_addr(); #ifdef BROKEN_FGETS /* partial reads from sockets */ #define fgets fix_fgets -extern char *fix_fgets(); +extern char *fix_fgets(char *, int, FILE *); #endif #ifdef RECVFROM_BUG /* no address family info */ @@@@ -279,7 +302,7 @@@@ extern int fix_recvfrom(); #ifdef GETPEERNAME_BUG /* claims success with UDP */ #define getpeername fix_getpeername -extern int fix_getpeername(); +extern int fix_getpeername(int, struct sockaddr *sa, int *); #endif #ifdef SOLARIS_24_GETHOSTBYNAME_BUG /* lists addresses as aliases */ @@@@ -294,5 +317,5 @@@@ extern char *fix_strtok(); #ifdef LIBC_CALLS_STRTOK /* libc calls strtok() */ #define strtok my_strtok -extern char *my_strtok(); +extern char *my_strtok(char *, char *); #endif @ 1.6 log @tcp_wrappers: replace K&R prototypes @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.5 2024/08/05 14:15:10 tnn Exp $ d5 1 a5 1 @@@@ -11,6 +11,7 @@@@ d10 1 d14 1 a14 1 @@@@ -29,7 +30,7 @@@@ typedef union gen_addr { d23 1 a23 1 @@@@ -92,9 +93,9 @@@@ struct request_info { d36 1 a36 1 @@@@ -137,17 +138,23 @@@@ extern void fromhost(); /* get/validat d70 1 a70 1 @@@@ -196,20 +203,35 @@@@ extern struct request_info *request_set( d106 1 a106 1 @@@@ -257,7 +279,7 @@@@ extern struct tcpd_context tcpd_context; d115 1 a115 1 @@@@ -269,7 +291,7 @@@@ extern long fix_inet_addr(); d124 1 a124 1 @@@@ -279,7 +301,7 @@@@ extern int fix_recvfrom(); d133 1 a133 1 @@@@ -294,5 +316,5 @@@@ extern char *fix_strtok(); @ 1.5 log @tcp_wrappers: define hosts_ctl() in tcpd.h. Bump PKGREVISION. Needed by net/net-snmp. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.4 2024/08/05 12:48:18 tnn Exp $ d13 23 a35 1 @@@@ -137,7 +138,13 @@@@ extern void fromhost(); /* get/validat d44 10 d56 13 a68 3 extern void shell_cmd(); /* execute shell command */ extern char *percent_x(); /* do % expansion */ extern void rfc931(); /* client name from RFC 931 daemon */ d105 34 @ 1.4 log @tcp_wrappers: add various missing include and protos to fix build @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.3 2012/07/20 09:58:36 adam Exp $ d13 1 a13 1 @@@@ -137,7 +138,11 @@@@ extern void fromhost(); /* get/validat d19 1 d22 1 d27 1 a27 1 @@@@ -196,20 +201,35 @@@@ extern struct request_info *request_set( @ 1.3 log @Changes 7.6.4: Bug fixes @ text @d1 1 a1 1 $NetBSD$ d5 9 a13 1 @@@@ -137,7 +137,11 @@@@ extern void fromhost(); /* get/validat d25 1 a25 1 @@@@ -196,20 +200,35 @@@@ extern struct request_info *request_set( @ 1.2 log @Add enough ANSI C prototypes to tcpd.h to keep mysql4-server happy. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.1 2004/02/10 09:17:22 grant Exp $ d3 1 a3 1 --- tcpd.h.orig 2000-08-22 05:59:52.000000000 +1200 d5 1 a5 9 @@@@ -8,6 +8,7 @@@@ #define STRING_LENGTH 128 /* hosts, users, processes */ +#include #include #include @@@@ -136,7 +137,11 @@@@ extern void fromhost(); /* get/validat d17 1 a17 1 @@@@ -195,20 +200,35 @@@@ extern struct request_info *request_set( @ 1.1 log @include before , allowing this to build on IRIX 5.3. fixes second part of PR pkg/24375 from Georg Schwarz. @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- tcpd.h.orig 2000-08-22 03:59:52.000000000 +1000 d13 48 @