Package: liborbit2 Version: 1:2.14.3-0.1 Severity: normal Tags: patch
IPv4 communication is broken in this version of liborbit2, this is documented at for example: http://www.nabble.com/Non-local-IPv4-communication-disabled-in-2.14.3-t2243013.html and http://bugzilla.gnome.org/show_bug.cgi?id=354950 This surfaces as a problem when trying to build for example the example orbit programs (echo client and server) at: http://www.gnome.org/projects/ORBit2/orbit-docs/orbit/c264.html But in my case I was trying to get my NFS mounted homedirectory to work with gconfd, by setting environemt variable GCONF_GLOBAL_LOCKS=1 and setting ORBIIOPIPv4=1 in /etc/orbitrc. But gconfd would not communicate over the network. After a lot of debug I tracked it down to this liborbit2 issue. The following patch to liborbit2 solves this problem (grabbed from upstream and modified to apply on the debian package): --- orbit2-2.14.3.orig/linc2/src/linc-connection.c +++ orbit2-2.14.3/linc2/src/linc-connection.c @@ -495,27 +495,6 @@ CNX_UNLOCK (cnx); } -static unsigned long -get_inet_addr (const char *str) -{ - struct hostent *hp; - struct in_addr *addr_ptr; - unsigned long addr; - - if (isdigit (*str)) { - addr = inet_addr (str); - } else { - if ((hp = gethostbyname (str)) != NULL) { - - addr_ptr = (struct in_addr *) hp->h_addr; - - addr = inet_addr (inet_ntoa (*addr_ptr)); - } - } - - return addr; -} - static gboolean link_connection_do_initiate (LinkConnection *cnx, const char *proto_name, @@ -535,21 +514,6 @@ if (!proto) return FALSE; - if (host && (strcmp (proto_name, "IPv4") == 0)) { - - const char *local_host; - local_host = link_get_local_hostname (); - - if (strcmp (host, local_host)) { - unsigned long inet_addr_host, inet_addr_local_host; - inet_addr_host = get_inet_addr (host); - inet_addr_local_host = get_inet_addr (local_host); - - if (inet_addr_host != inet_addr_local_host) - return FALSE; - } - } - saddr = link_protocol_get_sockaddr ( proto, host, service, &saddr_len); Now I can run the echo-client and server programs across the network and finally gconfd works with global locks and communication acrosss IPv4. -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-smi-patch Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages liborbit2 depends on: ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries ii libglib2.0-0 2.12.4-2 The GLib library of C routines ii libidl0 0.8.6-1 library for parsing CORBA IDL file liborbit2 recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]