Put proper prototypes in tcpd.h

Clang 4.0.0 complains about tcpd.h's not-really-prototypes, e.g.:

    /usr/include/tcpd.h:75:24: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
    extern int hosts_access();              /* access control */
                           ^

To fix this, turn these declarations into real prototypes.  While here,
garbage collect the incompatible rfc931() function from scaffold.c, as
it is never used.

Reviewed by:	emaste
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D9052
This commit is contained in:
Dimitry Andric 2017-01-05 20:44:45 +00:00
parent f20a27e327
commit fd3e9b3896
2 changed files with 41 additions and 58 deletions

View File

@ -235,16 +235,6 @@ struct request_info *request;
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)

View File

@ -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 @@ extern char paranoid[];
/* 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 @@ extern int resident; /* > 0 if resident process */
* 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 @@ extern struct request_info *request_set(); /* update request structure */
* 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 @@ extern void tli_host(); /* look up endpoint addresses etc. */
* 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 @@ extern struct tcpd_context tcpd_context;
* 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