View | Details | Raw Unified | Return to bug 201686 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (+7 lines)
Lines 105-110 Link Here
105
PLIST_SUB+=	NDB="@comment "
105
PLIST_SUB+=	NDB="@comment "
106
.endif
106
.endif
107
107
108
# MFC tcp_wrappers (PR 42336,32808)
109
.if (${OSVERSION} > 903507 && ${OSVERSION} < 1000000) || (${OSVERSION} > 1001506 && ${OSVERSION} < 1100000) || ${OSVERSION} > 1100038
110
EXTRA_PATCHES+=	{FILESDIR}/extrapatch-mfc-tcp_wrappers-include_my_tcpd.h
111
.else
112
EXTRA_PATCHES+=	{FILESDIR}/extrapatch-include_my_tcpd.h
113
.endif
114
108
MAN1=		innochecksum.1 myisamchk.1 myisamlog.1 myisampack.1 \
115
MAN1=		innochecksum.1 myisamchk.1 myisamlog.1 myisampack.1 \
109
		my_print_defaults.1 myisam_ftdump.1 mysql_client_test_embedded.1 \
116
		my_print_defaults.1 myisam_ftdump.1 mysql_client_test_embedded.1 \
110
		mysql_install_db.1 mysql_tzinfo_to_sql.1 \
117
		mysql_install_db.1 mysql_tzinfo_to_sql.1 \
(-)files/extrapatch-include_my_tcpd.h (+147 lines)
Line 0 Link Here
1
--- include/my_tcpd.h.orig	Sun Jan  9 13:33:51 2005
2
+++ include/my_tcpd.h	Sun Jan  9 13:41:42 2005
3
@@ -6,6 +6,25 @@
4
   * $FreeBSD: releng/10.1/contrib/tcp_wrappers/tcpd.h 56977 2000-02-03 10:27:03Z shin $
5
   */
6
 
7
+#ifndef _TCPWRAPPERS_TCPD_H
8
+#define _TCPWRAPPERS_TCPD_H
9
+
10
+/* someone else may have defined this */
11
+#undef  __P
12
+
13
+/* use prototypes if we have an ANSI C compiler or are using C++ */
14
+#if defined(__STDC__) || defined(__cplusplus)
15
+#define __P(args)       args
16
+#else
17
+#define __P(args)       ()
18
+#endif
19
+
20
+/* Need definitions of struct sockaddr_in and FILE. */
21
+#include <netinet/in.h>
22
+#include <stdio.h>
23
+
24
+__BEGIN_DECLS
25
+
26
 /* Structure to describe one communications endpoint. */
27
 
28
 #define STRING_LENGTH	128		/* hosts, users, processes */
29
@@ -31,10 +50,10 @@
30
     char    pid[10];			/* access via eval_pid(request) */
31
     struct host_info client[1];		/* client endpoint info */
32
     struct host_info server[1];		/* server endpoint info */
33
-    void  (*sink) ();			/* datagram sink function or 0 */
34
-    void  (*hostname) ();		/* address to printable hostname */
35
-    void  (*hostaddr) ();		/* address to printable address */
36
-    void  (*cleanup) ();		/* cleanup function or 0 */
37
+    void  (*sink) __P((int));		/* datagram sink function or 0 */
38
+    void  (*hostname) __P((struct host_info *)); /* address to printable hostname */
39
+    void  (*hostaddr) __P((struct host_info *)); /* address to printable address */
40
+    void  (*cleanup) __P((struct request_info *)); /* cleanup function or 0 */
41
     struct netconfig *config;		/* netdir handle */
42
 };
43
 
44
@@ -67,20 +86,23 @@
45
 /* Global functions. */
46
 
47
 #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
48
-extern void fromhost();			/* get/validate client host info */
49
+extern void fromhost __P((struct request_info *));	/* get/validate client host info */
50
 #else
51
 #define fromhost sock_host		/* no TLI support needed */
52
 #endif
53
 
54
-extern int hosts_access();		/* access control */
55
-extern void shell_cmd();		/* execute shell command */
56
-extern char *percent_x();		/* do %<char> expansion */
57
-extern void rfc931();			/* client name from RFC 931 daemon */
58
-extern void clean_exit();		/* clean up and exit */
59
-extern void refuse();			/* clean up and exit */
60
-extern char *xgets();			/* fgets() on steroids */
61
-extern char *split_at();		/* strchr() and split */
62
-extern unsigned long dot_quad_addr();	/* restricted inet_addr() */
63
+extern void shell_cmd __P((char *));	/* execute shell command */
64
+extern char *percent_x __P((char *, int, char *, struct request_info *)); /* do %<char> expansion */
65
+#ifdef INET6
66
+extern void rfc931 __P((struct sockaddr *, struct sockaddr *, char *)); /* client name from RFC 931 daemon */
67
+#else
68
+extern void rfc931 __P((struct sockaddr_in *, struct sockaddr_in *, char *)); /* client name from RFC 931 daemon */
69
+#endif
70
+extern void clean_exit __P((struct request_info *)); /* clean up and exit */
71
+extern void refuse __P((struct request_info *));	/* clean up and exit */
72
+extern char *xgets __P((char *, int, FILE *));	/* fgets() on steroids */
73
+extern char *split_at __P((char *, int));	/* strchr() and split */
74
+extern unsigned long dot_quad_addr __P((char *)); /* restricted inet_addr() */
75
 
76
 /* Global variables. */
77
 
78
@@ -98,9 +120,14 @@
79
   */
80
 
81
 #ifdef __STDC__
82
+extern int hosts_access(struct request_info *request);
83
+extern int hosts_ctl(char *daemon, char *client_name, char *client_addr, 
84
+                     char *client_user);
85
 extern struct request_info *request_init(struct request_info *,...);
86
 extern struct request_info *request_set(struct request_info *,...);
87
 #else
88
+extern int hosts_access();
89
+extern int hosts_ctl();
90
 extern struct request_info *request_init();	/* initialize request */
91
 extern struct request_info *request_set();	/* update request structure */
92
 #endif
93
@@ -123,27 +150,27 @@
94
   * host_info structures serve as caches for the lookup results.
95
   */
96
 
97
-extern char *eval_user();		/* client user */
98
-extern char *eval_hostname();		/* printable hostname */
99
-extern char *eval_hostaddr();		/* printable host address */
100
-extern char *eval_hostinfo();		/* host name or address */
101
-extern char *eval_client();		/* whatever is available */
102
-extern char *eval_server();		/* whatever is available */
103
+extern char *eval_user __P((struct request_info *));	/* client user */
104
+extern char *eval_hostname __P((struct host_info *));	/* printable hostname */
105
+extern char *eval_hostaddr __P((struct host_info *));	/* printable host address */
106
+extern char *eval_hostinfo __P((struct host_info *));	/* host name or address */
107
+extern char *eval_client __P((struct request_info *));	/* whatever is available */
108
+extern char *eval_server __P((struct request_info *));	/* whatever is available */
109
 #define eval_daemon(r)	((r)->daemon)	/* daemon process name */
110
 #define eval_pid(r)	((r)->pid)	/* process id */
111
 
112
 /* Socket-specific methods, including DNS hostname lookups. */
113
 
114
-extern void sock_host();		/* look up endpoint addresses */
115
-extern void sock_hostname();		/* translate address to hostname */
116
-extern void sock_hostaddr();		/* address to printable address */
117
+extern void sock_host __P((struct request_info *));
118
+extern void sock_hostname __P((struct host_info *));
119
+extern void sock_hostaddr __P((struct host_info *));
120
 #define sock_methods(r) \
121
 	{ (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }
122
 
123
 /* The System V Transport-Level Interface (TLI) interface. */
124
 
125
 #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
126
-extern void tli_host();			/* look up endpoint addresses etc. */
127
+extern void tli_host __P((struct request_info *));	/* look up endpoint addresses etc. */
128
 #endif
129
 
130
  /*
131
@@ -184,7 +211,7 @@
132
   * behavior.
133
   */
134
 
135
-extern void process_options();		/* execute options */
136
+extern void process_options __P((char *, struct request_info *)); /* execute options */
137
 extern int dry_run;			/* verification flag */
138
 
139
 /* Bug workarounds. */
140
@@ -223,3 +250,7 @@
141
 #define strtok	my_strtok
142
 extern char *my_strtok();
143
 #endif
144
+
145
+__END_DECLS
146
+
147
+#endif /* tcpd.h */
(-)files/extrapatch-mfc-tcp_wrappers-include_my_tcpd.h (+148 lines)
Line 0 Link Here
1
--- include/my_tcpd.h.orig	2015-09-03 20:19:54 UTC
2
+++ include/my_tcpd.h
3
@@ -6,6 +6,25 @@
4
   * $FreeBSD: head/contrib/tcp_wrappers/tcpd.h 272950 2014-10-11 18:54:37Z pfg $
5
   */
6
 
7
+#ifndef _TCPWRAPPERS_TCPD_H
8
+#define _TCPWRAPPERS_TCPD_H
9
+
10
+/* someone else may have defined this */
11
+#undef  __P
12
+
13
+/* use prototypes if we have an ANSI C compiler or are using C++ */
14
+#if defined(__STDC__) || defined(__cplusplus)
15
+#define __P(args)       args
16
+#else
17
+#define __P(args)       ()
18
+#endif
19
+
20
+/* Need definitions of struct sockaddr_in and FILE. */
21
+#include <netinet/in.h>
22
+#include <stdio.h>
23
+
24
+__BEGIN_DECLS
25
+
26
 /* Structure to describe one communications endpoint. */
27
 
28
 #define	STRING_LENGTH	128		/* hosts, users, processes */
29
@@ -31,10 +50,10 @@ struct request_info {
30
     char    pid[10];			/* access via eval_pid(request) */
31
     struct host_info client[1];		/* client endpoint info */
32
     struct host_info server[1];		/* server endpoint info */
33
-    void  (*sink) (int);		/* datagram sink function or 0 */
34
-    void  (*hostname) (struct host_info *); /* address to printable hostname */
35
-    void  (*hostaddr) (struct host_info *); /* address to printable address */
36
-    void  (*cleanup) (struct request_info *); /* cleanup function or 0 */
37
+    void  (*sink) __P((int));		/* datagram sink function or 0 */
38
+    void  (*hostname) __P((struct host_info *)); /* address to printable hostname */
39
+    void  (*hostaddr) __P((struct host_info *)); /* address to printable address */
40
+    void  (*cleanup) __P((struct request_info *)); /* cleanup function or 0 */
41
     struct netconfig *config;		/* netdir handle */
42
 };
43
 
44
@@ -67,21 +86,24 @@ extern char paranoid[];
45
 /* Global functions. */
46
 
47
 #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
48
-extern void fromhost();			/* get/validate client host info */
49
+extern void fromhost __P((struct request_info *));			/* get/validate client host info */
50
 #else
51
 #define	fromhost sock_host		/* no TLI support needed */
52
 #endif
53
 
54
-extern int hosts_access();		/* access control */
55
-extern int hosts_ctl();			/* wrapper around request_init() */
56
-extern void shell_cmd();		/* execute shell command */
57
-extern char *percent_x();		/* do %<char> expansion */
58
-extern void rfc931();			/* client name from RFC 931 daemon */
59
-extern void clean_exit();		/* clean up and exit */
60
-extern void refuse();			/* clean up and exit */
61
-extern char *xgets();			/* fgets() on steroids */
62
-extern char *split_at();		/* strchr() and split */
63
-extern unsigned long dot_quad_addr();	/* restricted inet_addr() */
64
+extern void shell_cmd __P((char *));		/* execute shell command */
65
+extern char *percent_x __P((char *, int, char *, struct request_info *));;		/* do %<char> expansion */
66
+#ifdef INET6
67
+extern void rfc931 __P((struct sockaddr *, struct sockaddr *, char *));			/* client name from RFC 931 daemon */
68
+#else
69
+extern void rfc931 __P((struct sockaddr_in *, struct sockaddr_in *, char *));			/* client name from RFC 931 daemon */
70
+#endif
71
+extern void clean_exit __P((struct request_info *));		/* clean up and exit */
72
+extern void refuse __P((struct request_info *));			/* clean up and exit */
73
+extern char *xgets __P((char *, int, FILE *));			/* fgets() on steroids */
74
+extern char *split_at __P((char *, int));		/* strchr() and split */
75
+extern unsigned long dot_quad_addr __P((char *));	/* restricted inet_addr() */
76
+
77
 
78
 /* Global variables. */
79
 
80
@@ -99,9 +121,13 @@ extern int resident;			/* > 0 if residen
81
   */
82
 
83
 #ifdef __STDC__
84
+extern int hosts_access(struct request_info *request);
85
+extern int hosts_ctl(char *daemon, char *client_name, char *client_addr,char *client_user);
86
 extern struct request_info *request_init(struct request_info *,...);
87
 extern struct request_info *request_set(struct request_info *,...);
88
 #else
89
+extern int hosts_access();
90
+extern int hosts_ctl();
91
 extern struct request_info *request_init();	/* initialize request */
92
 extern struct request_info *request_set();	/* update request structure */
93
 #endif
94
@@ -124,27 +150,27 @@ extern struct request_info *request_set(
95
   * host_info structures serve as caches for the lookup results.
96
   */
97
 
98
-extern char *eval_user();		/* client user */
99
-extern char *eval_hostname();		/* printable hostname */
100
-extern char *eval_hostaddr();		/* printable host address */
101
-extern char *eval_hostinfo();		/* host name or address */
102
-extern char *eval_client();		/* whatever is available */
103
-extern char *eval_server();		/* whatever is available */
104
+extern char *eval_user __P((struct request_info *));		/* client user */
105
+extern char *eval_hostname __P((struct host_info *));		/* printable hostname */
106
+extern char *eval_hostaddr __P((struct host_info *));		/* printable host address */
107
+extern char *eval_hostinfo __P((struct host_info *));		/* host name or address */
108
+extern char *eval_client __P((struct request_info *));		/* whatever is available */
109
+extern char *eval_server __P((struct request_info *));		/* whatever is available */
110
 #define	eval_daemon(r)	((r)->daemon)	/* daemon process name */
111
 #define	eval_pid(r)	((r)->pid)	/* process id */
112
 
113
 /* Socket-specific methods, including DNS hostname lookups. */
114
 
115
-extern void sock_host();		/* look up endpoint addresses */
116
-extern void sock_hostname();		/* translate address to hostname */
117
-extern void sock_hostaddr();		/* address to printable address */
118
+extern void sock_host __P((struct request_info *));		/* look up endpoint addresses */
119
+extern void sock_hostname __P((struct host_info *));		/* translate address to hostname */
120
+extern void sock_hostaddr __P((struct host_info *));		/* address to printable address */
121
 #define	sock_methods(r) \
122
 	{ (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }
123
 
124
 /* The System V Transport-Level Interface (TLI) interface. */
125
 
126
 #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
127
-extern void tli_host();			/* look up endpoint addresses etc. */
128
+extern void tli_host __P((struct request_info *));			/* look up endpoint addresses etc. */
129
 #endif
130
 
131
  /*
132
@@ -185,7 +211,7 @@ extern struct tcpd_context tcpd_context;
133
   * behavior.
134
   */
135
 
136
-extern void process_options();		/* execute options */
137
+extern void process_options __P((char *, struct request_info *));		/* execute options */
138
 extern int dry_run;			/* verification flag */
139
 
140
 /* Bug workarounds. */
141
@@ -224,3 +250,7 @@ extern char *fix_strtok();
142
 #define	strtok	my_strtok
143
 extern char *my_strtok();
144
 #endif
145
+
146
+__END_DECLS
147
+
148
+#endif /* tcpd.h */
(-)files/patch-include_my_tcpd.h (-147 lines)
Lines 1-147 Link Here
1
--- include/my_tcpd.h.orig	Sun Jan  9 13:33:51 2005
2
+++ include/my_tcpd.h	Sun Jan  9 13:41:42 2005
3
@@ -6,6 +6,25 @@
4
   * $FreeBSD: releng/10.1/contrib/tcp_wrappers/tcpd.h 56977 2000-02-03 10:27:03Z shin $
5
   */
6
 
7
+#ifndef _TCPWRAPPERS_TCPD_H
8
+#define _TCPWRAPPERS_TCPD_H
9
+
10
+/* someone else may have defined this */
11
+#undef  __P
12
+
13
+/* use prototypes if we have an ANSI C compiler or are using C++ */
14
+#if defined(__STDC__) || defined(__cplusplus)
15
+#define __P(args)       args
16
+#else
17
+#define __P(args)       ()
18
+#endif
19
+
20
+/* Need definitions of struct sockaddr_in and FILE. */
21
+#include <netinet/in.h>
22
+#include <stdio.h>
23
+
24
+__BEGIN_DECLS
25
+
26
 /* Structure to describe one communications endpoint. */
27
 
28
 #define STRING_LENGTH	128		/* hosts, users, processes */
29
@@ -31,10 +50,10 @@
30
     char    pid[10];			/* access via eval_pid(request) */
31
     struct host_info client[1];		/* client endpoint info */
32
     struct host_info server[1];		/* server endpoint info */
33
-    void  (*sink) ();			/* datagram sink function or 0 */
34
-    void  (*hostname) ();		/* address to printable hostname */
35
-    void  (*hostaddr) ();		/* address to printable address */
36
-    void  (*cleanup) ();		/* cleanup function or 0 */
37
+    void  (*sink) __P((int));		/* datagram sink function or 0 */
38
+    void  (*hostname) __P((struct host_info *)); /* address to printable hostname */
39
+    void  (*hostaddr) __P((struct host_info *)); /* address to printable address */
40
+    void  (*cleanup) __P((struct request_info *)); /* cleanup function or 0 */
41
     struct netconfig *config;		/* netdir handle */
42
 };
43
 
44
@@ -67,20 +86,23 @@
45
 /* Global functions. */
46
 
47
 #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
48
-extern void fromhost();			/* get/validate client host info */
49
+extern void fromhost __P((struct request_info *));	/* get/validate client host info */
50
 #else
51
 #define fromhost sock_host		/* no TLI support needed */
52
 #endif
53
 
54
-extern int hosts_access();		/* access control */
55
-extern void shell_cmd();		/* execute shell command */
56
-extern char *percent_x();		/* do %<char> expansion */
57
-extern void rfc931();			/* client name from RFC 931 daemon */
58
-extern void clean_exit();		/* clean up and exit */
59
-extern void refuse();			/* clean up and exit */
60
-extern char *xgets();			/* fgets() on steroids */
61
-extern char *split_at();		/* strchr() and split */
62
-extern unsigned long dot_quad_addr();	/* restricted inet_addr() */
63
+extern void shell_cmd __P((char *));	/* execute shell command */
64
+extern char *percent_x __P((char *, int, char *, struct request_info *)); /* do %<char> expansion */
65
+#ifdef INET6
66
+extern void rfc931 __P((struct sockaddr *, struct sockaddr *, char *)); /* client name from RFC 931 daemon */
67
+#else
68
+extern void rfc931 __P((struct sockaddr_in *, struct sockaddr_in *, char *)); /* client name from RFC 931 daemon */
69
+#endif
70
+extern void clean_exit __P((struct request_info *)); /* clean up and exit */
71
+extern void refuse __P((struct request_info *));	/* clean up and exit */
72
+extern char *xgets __P((char *, int, FILE *));	/* fgets() on steroids */
73
+extern char *split_at __P((char *, int));	/* strchr() and split */
74
+extern unsigned long dot_quad_addr __P((char *)); /* restricted inet_addr() */
75
 
76
 /* Global variables. */
77
 
78
@@ -98,9 +120,14 @@
79
   */
80
 
81
 #ifdef __STDC__
82
+extern int hosts_access(struct request_info *request);
83
+extern int hosts_ctl(char *daemon, char *client_name, char *client_addr, 
84
+                     char *client_user);
85
 extern struct request_info *request_init(struct request_info *,...);
86
 extern struct request_info *request_set(struct request_info *,...);
87
 #else
88
+extern int hosts_access();
89
+extern int hosts_ctl();
90
 extern struct request_info *request_init();	/* initialize request */
91
 extern struct request_info *request_set();	/* update request structure */
92
 #endif
93
@@ -123,27 +150,27 @@
94
   * host_info structures serve as caches for the lookup results.
95
   */
96
 
97
-extern char *eval_user();		/* client user */
98
-extern char *eval_hostname();		/* printable hostname */
99
-extern char *eval_hostaddr();		/* printable host address */
100
-extern char *eval_hostinfo();		/* host name or address */
101
-extern char *eval_client();		/* whatever is available */
102
-extern char *eval_server();		/* whatever is available */
103
+extern char *eval_user __P((struct request_info *));	/* client user */
104
+extern char *eval_hostname __P((struct host_info *));	/* printable hostname */
105
+extern char *eval_hostaddr __P((struct host_info *));	/* printable host address */
106
+extern char *eval_hostinfo __P((struct host_info *));	/* host name or address */
107
+extern char *eval_client __P((struct request_info *));	/* whatever is available */
108
+extern char *eval_server __P((struct request_info *));	/* whatever is available */
109
 #define eval_daemon(r)	((r)->daemon)	/* daemon process name */
110
 #define eval_pid(r)	((r)->pid)	/* process id */
111
 
112
 /* Socket-specific methods, including DNS hostname lookups. */
113
 
114
-extern void sock_host();		/* look up endpoint addresses */
115
-extern void sock_hostname();		/* translate address to hostname */
116
-extern void sock_hostaddr();		/* address to printable address */
117
+extern void sock_host __P((struct request_info *));
118
+extern void sock_hostname __P((struct host_info *));
119
+extern void sock_hostaddr __P((struct host_info *));
120
 #define sock_methods(r) \
121
 	{ (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }
122
 
123
 /* The System V Transport-Level Interface (TLI) interface. */
124
 
125
 #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
126
-extern void tli_host();			/* look up endpoint addresses etc. */
127
+extern void tli_host __P((struct request_info *));	/* look up endpoint addresses etc. */
128
 #endif
129
 
130
  /*
131
@@ -184,7 +211,7 @@
132
   * behavior.
133
   */
134
 
135
-extern void process_options();		/* execute options */
136
+extern void process_options __P((char *, struct request_info *)); /* execute options */
137
 extern int dry_run;			/* verification flag */
138
 
139
 /* Bug workarounds. */
140
@@ -223,3 +250,7 @@
141
 #define strtok	my_strtok
142
 extern char *my_strtok();
143
 #endif
144
+
145
+__END_DECLS
146
+
147
+#endif /* tcpd.h */

Return to bug 201686