ports/70889: network-access to mysql40-server exits with ERROR 2013

Andreas Haakh Andreas.Haakh at Haakh.de
Tue Aug 24 09:03:04 UTC 2004


As I assumed -- changing tcpd.h to provide standard
function-declarations did the job. I believe the author of
tcp_wrapper should have no objections...

Patchfile patch-sql::mysqld.cc is (again) no longer necessary.
The macro-definitions for the nonstd case remove the required
arguments. I wonder how it worked before...

Here is the patch:

--- src/contrib/tcp_wrappers/tcpd.h	Thu Feb  3 11:26:59 2000
+++ include/tcpd.h	Tue Aug 24 09:38:11 2004
@@ -72,6 +72,20 @@
  #define fromhost sock_host		/* no TLI support needed */
  #endif

+#ifdef __STDC__
+extern int hosts_access(struct request_info *);	/* access control */
+extern void shell_cmd(char *);		/* execute shell command */
+extern char *percent_x(char *, int, char *, struct result_info *);/* do %<char> expansion */
+#ifdef INET6
+extern void rfc931(struct sockaddr *,struct sockaddr *));/* client name from RFC 931 daemon */
+#else
+extern void rfc931(struct sockaddr_in *,struct sockaddr_in *));/* client name from RFC 931 daemon */
+#endif
+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 */
+#else
  extern int hosts_access();		/* access control */
  extern void shell_cmd();		/* execute shell command */
  extern char *percent_x();		/* do %<char> expansion */
@@ -80,6 +94,7 @@
  extern void refuse();			/* clean up and exit */
  extern char *xgets();			/* fgets() on steroids */
  extern char *split_at();		/* strchr() and split */
+#endif
  extern unsigned long dot_quad_addr();	/* restricted inet_addr() */

  /* Global variables. */
@@ -123,12 +138,21 @@
    * 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 */

End of patch




More information about the freebsd-ports-bugs mailing list