On 15 Feb 2004, Jeff Rizzo <[EMAIL PROTECTED]> wrote: > On Mon, Feb 16, 2004 at 10:54:06AM +1100, Martin Pool wrote: > > On 15 Feb 2004, Jeff Rizzo <[EMAIL PROTECTED]> wrote: > > > > > distcc[25205] (dcc_run_piped_cmd) execute: ssh -l riz madmax distccd --inetd > > > distcc[25205] (dcc_collect_child) ssh child 2378 terminated with status 0x6400 > > > distcc[25205] (dcc_collect_child) ssh times: user 0.110708s, system 0.033086s, > > > 686 minflt, 0 majflt > > > > The SSH connection failed with exit code 0x64 == 100, which is > > EXIT_DISTCC_FAILED. So my guess would be that ssh did invoke distccd, > > but then something went wrong. > > > > Can you look in the daemon and auth logs on madmax and see if there is > > any indication of what went wrong? > > > > This is the only thing I can find: > > Feb 15 16:35:22 madmax distccd[12795]: (dcc_inetd_server) Warning: failed to get > peer name: Socket operation on non-socket > Feb 15 16:35:22 madmax distccd[12795]: (dcc_sockaddr_to_string) ERROR: getnameinfo > failed: ai_family not supported
Thanks for that.
Could you try this patch and report the results, please?
Index: head/src/netutil.c
===================================================================
--- head.orig/src/netutil.c 2003-11-28 10:55:12.000000000 +1100
+++ head/src/netutil.c 2004-02-19 12:37:10.000000000 +1100
@@ -140,18 +140,26 @@
char host[1024];
char port[32];
- err = getnameinfo(sa, salen,
- host, sizeof host,
- port, sizeof port,
- NI_NUMERICHOST | NI_NUMERICSERV);
- if (err) {
- rs_log_error("getnameinfo failed: %s", gai_strerror(err));
- *p_buf = strdup("(UNKNOWN)");
- return EXIT_DISTCC_FAILED; /* more specific? */
+ if (sa->sa_family == AF_INET || sa->sa_family == AF_INET6) {
+ err = getnameinfo(sa, salen,
+ host, sizeof host,
+ port, sizeof port,
+ NI_NUMERICHOST | NI_NUMERICSERV);
+ if (err) {
+ rs_log_warning("getnameinfo failed: %s", gai_strerror(err));
+ *p_buf = strdup("(UNKNOWN)");
+ return 0; /* it's still a valid string */
+ }
+
+ asprintf(p_buf, "%s:%s", host, port);
+ } else if (sa->sa_family == AF_UNIX) {
+ /* NB: The word 'sun' is predefined on Solaris */
+ struct sockaddr_un *sa_un = (struct sockaddr_un *) sa;
+ asprintf(p_buf, "UNIX-DOMAIN %s", sa_un->sun_path);
+ } else {
+ asprintf(p_buf, "UNKNOWN-FAMILY %d", sa->sa_family);
}
- asprintf(p_buf, "%s:%s", host, port);
-
return 0;
}
#else /* ndef ENABLE_RFC2553 */
Index: head/ChangeLog
===================================================================
--- head.orig/ChangeLog 2004-02-19 12:37:56.000000000 +1100
+++ head/ChangeLog 2004-02-19 13:52:23.000000000 +1100
@@ -1,3 +1,11 @@
+2004-02-19 Martin Pool <[EMAIL PROTECTED]>
+
+ * src/netutil.c (dcc_sockaddr_to_string): [ENABLE_RFC2553]:
+ Failure to convert the address to a string should be just a
+ warning, not an error. Add special cases for unix-domain sockets
+ and unknown address families. Possibly fixes SSH connections with
+ ENABLE_RFC2553.
+
2004-01-11 Martin Pool <[EMAIL PROTECTED]>
* src/srvnet.c (dcc_check_client): Take list of allowed addresses
--
Martin
signature.asc
Description: Digital signature
__ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/distcc
