Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F152814019
D9052.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D9052.id.diff
View Options
Index: head/contrib/tcp_wrappers/scaffold.c
===================================================================
--- head/contrib/tcp_wrappers/scaffold.c
+++ head/contrib/tcp_wrappers/scaffold.c
@@ -235,16 +235,6 @@
exit(0);
}
-/* dummy function to intercept the real rfc931() */
-
-/* ARGSUSED */
-
-void rfc931(request)
-struct request_info *request;
-{
- strcpy(request->user, unknown);
-}
-
/* check_path - examine accessibility */
int check_path(path, st)
Index: head/contrib/tcp_wrappers/tcpd.h
===================================================================
--- head/contrib/tcp_wrappers/tcpd.h
+++ head/contrib/tcp_wrappers/tcpd.h
@@ -6,6 +6,12 @@
* $FreeBSD$
*/
+#ifdef INET6
+#define TCPD_SOCKADDR struct sockaddr
+#else
+#define TCPD_SOCKADDR struct sockaddr_in
+#endif
+
/* Structure to describe one communications endpoint. */
#define STRING_LENGTH 128 /* hosts, users, processes */
@@ -13,11 +19,7 @@
struct host_info {
char name[STRING_LENGTH]; /* access via eval_hostname(host) */
char addr[STRING_LENGTH]; /* access via eval_hostaddr(host) */
-#ifdef INET6
- struct sockaddr *sin; /* socket address or 0 */
-#else
- struct sockaddr_in *sin; /* socket address or 0 */
-#endif
+ TCPD_SOCKADDR *sin; /* socket address or 0 */
struct t_unitdata *unit; /* TLI transport address or 0 */
struct request_info *request; /* for shared information */
};
@@ -67,21 +69,22 @@
/* Global functions. */
#if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
-extern void fromhost(); /* get/validate client host info */
+extern void fromhost(struct request_info *); /* get/validate client host info */
#else
-#define fromhost sock_host /* no TLI support needed */
+#define fromhost sock_host /* no TLI support needed */
#endif
-extern int hosts_access(); /* access control */
-extern int hosts_ctl(); /* wrapper around request_init() */
-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 int hosts_access(struct request_info *); /* access control */
+extern int hosts_ctl(char *, char *, char *, char *); /* wrapper around request_init() */
+extern void shell_cmd(char *); /* execute shell command */
+extern char *percent_x(char *, int, char *, struct request_info *); /* do %<char> expansion */
+extern void rfc931(TCPD_SOCKADDR *, TCPD_SOCKADDR *, 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() */
/* Global variables. */
@@ -98,13 +101,8 @@
* attributes. Each attribute has its own key.
*/
-#ifdef __STDC__
-extern struct request_info *request_init(struct request_info *,...);
-extern struct request_info *request_set(struct request_info *,...);
-#else
-extern struct request_info *request_init(); /* initialize request */
-extern struct request_info *request_set(); /* update request structure */
-#endif
+extern struct request_info *request_init(struct request_info *,...); /* initialize request */
+extern struct request_info *request_set(struct request_info *,...); /* update request structure */
#define RQ_FILE 1 /* file descriptor */
#define RQ_DAEMON 2 /* server process (argv[0]) */
@@ -124,27 +122,27 @@
* 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(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 */
#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 */
+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 */
#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(struct request_info *); /* look up endpoint addresses etc. */
#endif
/*
@@ -153,13 +151,8 @@
* everyone would have to include <setjmp.h>.
*/
-#ifdef __STDC__
extern void tcpd_warn(char *, ...); /* report problem and proceed */
extern void tcpd_jump(char *, ...); /* report problem and jump */
-#else
-extern void tcpd_warn();
-extern void tcpd_jump();
-#endif
struct tcpd_context {
char *file; /* current file */
@@ -185,42 +178,42 @@
* behavior.
*/
-extern void process_options(); /* execute options */
-extern int dry_run; /* verification flag */
+extern void process_options(char *, struct request_info *); /* execute options */
+extern int dry_run; /* verification flag */
/* Bug workarounds. */
#ifdef INET_ADDR_BUG /* inet_addr() returns struct */
#define inet_addr fix_inet_addr
-extern long fix_inet_addr();
+extern long fix_inet_addr(char *);
#endif
#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 */
#define recvfrom fix_recvfrom
-extern int fix_recvfrom();
+extern int fix_recvfrom(int, char *, int, int, struct sockaddr *, int *);
#endif
#ifdef GETPEERNAME_BUG /* claims success with UDP */
#define getpeername fix_getpeername
-extern int fix_getpeername();
+extern int fix_getpeername(int, struct sockaddr *, int *);
#endif
#ifdef SOLARIS_24_GETHOSTBYNAME_BUG /* lists addresses as aliases */
#define gethostbyname fix_gethostbyname
-extern struct hostent *fix_gethostbyname();
+extern struct hostent *fix_gethostbyname(char *);
#endif
#ifdef USE_STRSEP /* libc calls strtok() */
#define strtok fix_strtok
-extern char *fix_strtok();
+extern char *fix_strtok(char *, char *);
#endif
#ifdef LIBC_CALLS_STRTOK /* libc calls strtok() */
#define strtok my_strtok
-extern char *my_strtok();
+extern char *my_strtok(char *, char *);
#endif
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 18, 7:11 AM (17 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31705140
Default Alt Text
D9052.id.diff (7 KB)
Attached To
Mode
D9052: Put proper prototypes in tcpd.h
Attached
Detach File
Event Timeline
Log In to Comment