| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 | --- tcp_wrappers_7.6.orig/tcpd.h	1996-03-19 16:22:25.000000000 +0100+++ tcp_wrappers_7.6/tcpd.h	2009-06-05 18:45:03.000000000 +0200@@ -4,6 +4,25 @@   * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.   */ +#ifndef _TCPWRAPPERS_TCPD_H+#define _TCPWRAPPERS_TCPD_H++/* someone else may have defined this */+#undef  __P++/* use prototypes if we have an ANSI C compiler or are using C++ */+#if defined(__STDC__) || defined(__cplusplus)+#define __P(args)       args+#else+#define __P(args)       ()+#endif++/* Need definitions of struct sockaddr_in and FILE. */+#include <netinet/in.h>+#include <stdio.h>++__BEGIN_DECLS+ /* Structure to describe one communications endpoint. */  #define STRING_LENGTH	128		/* hosts, users, processes */@@ -25,10 +44,10 @@ 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  (*cleanup) ();		/* cleanup function or 0 */+    void  (*sink) __P((int));		/* datagram sink function or 0 */+    void  (*hostname) __P((struct host_info *)); /* address to printable hostname */+    void  (*hostaddr) __P((struct host_info *)); /* address to printable address */+    void  (*cleanup) __P((struct request_info *)); /* cleanup function or 0 */     struct netconfig *config;		/* netdir handle */ }; @@ -61,25 +80,30 @@ extern char paranoid[]; /* Global functions. */  #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)-extern void fromhost();			/* get/validate client host info */+extern void fromhost __P((struct request_info *));	/* get/validate client host info */ #else #define fromhost sock_host		/* no TLI support needed */ #endif -extern int hosts_access();		/* access control */-extern void shell_cmd();		/* execute shell command */-extern char *percent_x();		/* do %<char> 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 void shell_cmd __P((char *));	/* execute shell command */+extern char *percent_x __P((char *, int, char *, struct request_info *)); /* do %<char> expansion */+extern void rfc931 __P((struct sockaddr_in *, struct sockaddr_in *, char *)); /* client name from RFC 931 daemon */+extern void clean_exit __P((struct request_info *)); /* clean up and exit */+extern void refuse __P((struct request_info *));	/* clean up and exit */+extern char *xgets __P((char *, int, FILE *));	/* fgets() on steroids */+extern char *split_at __P((char *, int));	/* strchr() and split */+extern unsigned long dot_quad_addr __P((char *)); /* restricted inet_addr() */  /* Global variables. */ +#ifdef HAVE_WEAKSYMS+extern int allow_severity __attribute__ ((weak)); /* for connection logging */+extern int deny_severity __attribute__ ((weak)); /* for connection logging */+#else extern int allow_severity;		/* for connection logging */ extern int deny_severity;		/* for connection logging */+#endif+ extern char *hosts_allow_table;		/* for verification mode redirection */ extern char *hosts_deny_table;		/* for verification mode redirection */ extern int hosts_access_verbose;	/* for verbose matching mode */@@ -92,9 +116,14 @@ extern int resident;			/* > 0 if residen   */  #ifdef __STDC__+extern int hosts_access(struct request_info *request);+extern int hosts_ctl(char *daemon, char *client_name, char *client_addr, +                     char *client_user); extern struct request_info *request_init(struct request_info *,...); extern struct request_info *request_set(struct request_info *,...); #else+extern int hosts_access();+extern int hosts_ctl(); extern struct request_info *request_init();	/* initialize request */ extern struct request_info *request_set();	/* update request structure */ #endif@@ -117,27 +146,31 @@ extern struct request_info *request_set(   * host_info structures serve as caches for the lookup results.   */ -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 */+extern char *eval_user __P((struct request_info *));	/* client user */+extern char *eval_hostname __P((struct host_info *));	/* printable hostname */+extern char *eval_hostaddr __P((struct host_info *));	/* printable host address */+extern char *eval_hostinfo __P((struct host_info *));	/* host name or address */+extern char *eval_client __P((struct request_info *));	/* whatever is available */+extern char *eval_server __P((struct request_info *));	/* whatever is available */ #define eval_daemon(r)	((r)->daemon)	/* daemon process name */ #define eval_pid(r)	((r)->pid)	/* process id */  /* Socket-specific methods, including DNS hostname lookups. */ -extern void sock_host();		/* look up endpoint addresses */-extern void sock_hostname();		/* translate address to hostname */-extern void sock_hostaddr();		/* address to printable address */+/* look up endpoint addresses */+extern void sock_host __P((struct request_info *));+/* translate address to hostname */+extern void sock_hostname __P((struct host_info *));+/* address to printable address */+extern void sock_hostaddr __P((struct host_info *));+ #define sock_methods(r) \ 	{ (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }  /* The System V Transport-Level Interface (TLI) interface. */  #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)-extern void tli_host();			/* look up endpoint addresses etc. */+extern void tli_host __P((struct request_info *));	/* look up endpoint addresses etc. */ #endif   /*@@ -178,7 +211,7 @@ extern struct tcpd_context tcpd_context;   * behavior.   */ -extern void process_options();		/* execute options */+extern void process_options __P((char *, struct request_info *)); /* execute options */ extern int dry_run;			/* verification flag */  /* Bug workarounds. */@@ -217,3 +250,7 @@ extern char *fix_strtok(); #define strtok	my_strtok extern char *my_strtok(); #endif++__END_DECLS++#endif /* tcpd.h */
 |