On Mon, 2004-10-04 at 15:51 -0400, Jeffrey Stedfast wrote: > It seems that gentoo systems are broken (hold surprise) in that they > don't list "imap" in /etc/services and so gentoo suers have been getting > silent host lookup failures when using at least imap. > > the attached patch will at least make it so that an exception dialog > pops up, tho we may also want to change the use of the > camel_getaddrinfo() code to use hard coded port numebrs rather than > service names? Dunno. > > (Note: an earlier camel-services.c patch is included in this diff, but > since it was only a 1-line change figured it wouldn't be any trouble to > ignore) > > Jeff > > Plain text document attachment (getaddrinfo-ex.patch) > ? 67028.patch > ? camel-tls.patch > ? getaddrinfo-ex.patch > Index: ChangeLog > =================================================================== > RCS file: /cvs/gnome/evolution/camel/ChangeLog,v > retrieving revision 1.2251.2.12 > diff -u -r1.2251.2.12 ChangeLog > --- ChangeLog 29 Sep 2004 01:57:11 -0000 1.2251.2.12 > +++ ChangeLog 4 Oct 2004 19:44:00 -0000 > @@ -1,3 +1,12 @@ > +2004-10-04 Jeffrey Stedfast <fejj novell com> > + > + * camel-service.c (camel_getaddrinfo): Add a non-const cast for > + hints when changing the ai_family member in the IPv6-disabled > + case. Fixes bug #67028. > + (cs_waitinfo): Set an exception if reply->result != 0. Also fixed > + the "cannot create thread" case (was missing a printf-style > + argument to setv). > + > 2004-09-28 Not Zed <NotZed Ximian com> > > ** See bug #66509. > Index: camel-service.c > =================================================================== > RCS file: /cvs/gnome/evolution/camel/camel-service.c,v > retrieving revision 1.90.14.1 > diff -u -r1.90.14.1 camel-service.c > --- camel-service.c 23 Sep 2004 04:12:29 -0000 1.90.14.1 > +++ camel-service.c 4 Oct 2004 19:44:01 -0000 > @@ -31,7 +31,11 @@ > #include <ctype.h> > #include <stdlib.h> > #include <string.h> > +#include <sys/types.h> > +#include <sys/socket.h> > +#include <arpa/inet.h> > #include <pthread.h> > +#include <netdb.h> > #include <errno.h> > > #include <sys/poll.h> > @@ -737,9 +741,31 @@ > d(printf("waiting for child to exit\n")); > pthread_join(id, NULL); > d(printf("child done\n")); > + > + if (reply->result != 0) { > + const char *hostaddr; > + char ntopbuf[50]; > + > + if (reply->name) { > + hostaddr = reply->name; > + } else if (reply->addr->sa_family == AF_INET) { > + hostaddr = inet_ntop (AF_INET, &((struct sockaddr_in *) reply->addr)->sin_addr, > + ntopbuf, sizeof (ntopbuf)); > +#ifdef ENABLE_IPv6 > + } else if (reply->addr->sa_family == AF_INET6) { > + hostaddr = inet_ntop (AF_INET6, &((struct sockaddr_in6 *) reply->addr)->sin6_addr, > + ntopbuf, sizeof (ntopbuf)); > +#endif /* ENABLE_Ipv6 */ > + } else { > + hostaddr = "unknown address"; > + } > + > + camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, "%s: %s: %s", error, > + hostaddr, gai_strerror (reply->result)); > + } > } > } else { > - camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM, "%s: %s: %s", _("cannot create thread"), g_strerror(err)); > + camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM, "%s: %s: %s", error, _("cannot create thread"), g_strerror(err)); > } > e_msgport_destroy(reply_port); > > @@ -897,7 +923,7 @@ > hints = &myhints; > } > > - hints->ai_family = AF_INET; > + ((struct addrinfo *) hints)->ai_family = AF_INET; > #endif > > msg = g_malloc0(sizeof(*msg)); -- Jeffrey Stedfast Evolution Hacker - Novell, Inc. fejj ximian com - www.novell.com
Attachment:
smime.p7s
Description: S/MIME cryptographic signature