From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Jan 27 12:50:02 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B76116A46B for ; Sun, 27 Jan 2008 12:50:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 7632113C4CE for ; Sun, 27 Jan 2008 12:50:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m0RCo2iN000310 for ; Sun, 27 Jan 2008 12:50:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m0RCo2nU000309; Sun, 27 Jan 2008 12:50:02 GMT (envelope-from gnats) Resent-Date: Sun, 27 Jan 2008 12:50:02 GMT Resent-Message-Id: <200801271250.m0RCo2nU000309@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Pawel Pekala" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0DC316A419 for ; Sun, 27 Jan 2008 12:48:22 +0000 (UTC) (envelope-from c0rn@o2.pl) Received: from tur.go2.pl (tur.go2.pl [193.17.41.50]) by mx1.freebsd.org (Postfix) with ESMTP id 3135413C447 for ; Sun, 27 Jan 2008 12:48:22 +0000 (UTC) (envelope-from c0rn@o2.pl) Received: from poczta.o2.pl (mx10.go2.pl [193.17.41.74]) by tur.go2.pl (o2.pl Mailer 2.0.1) with ESMTP id 3AB732322DF for ; Sun, 27 Jan 2008 13:24:47 +0100 (CET) Received: from poczta.o2.pl (mx10.go2.pl [127.0.0.1]) by poczta.o2.pl (Postfix) with ESMTP id 0F1A85803E for ; Sun, 27 Jan 2008 13:24:45 +0100 (CET) Received: from caprica.slowicza.org (aboi162.neoplus.adsl.tpnet.pl [83.8.24.162]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by poczta.o2.pl (Postfix) with ESMTP for ; Sun, 27 Jan 2008 13:24:45 +0100 (CET) Message-Id: <1201436675.22754@caprica.slowicza.org> Date: Sun, 27 Jan 2008 13:24:35 +0100 From: "Pawel Pekala" To: "FreeBSD gnats submit" X-Send-Pr-Version: gtk-send-pr 0.4.9 Cc: Subject: ports/120041: [maintainer] mail/libetpan add IPv6 fallback patch from etpan`s CVS X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jan 2008 12:50:02 -0000 >Number: 120041 >Category: ports >Synopsis: [maintainer] mail/libetpan add IPv6 fallback patch from etpan`s CVS >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jan 27 12:50:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Pawel Pekala >Release: FreeBSD 6.2-RELEASE-p9 i386 >Organization: >Environment: System: FreeBSD 6.2-RELEASE-p9 #0: Thu Nov 29 04:07:33 UTC 2007 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC >Description: Add patch from libetpan`s CVS fixing connect errors in some cases: 2008-01-25 - libetpan-0.52cvs35 - colin * src/data-types/connect.c Fix connection failures when client and server are ipv4 and ipv6 capable, but no ip6 route exists to the server. >How-To-Repeat: >Fix: --- libetpan.diff begins here --- diff -urN /usr/ports/mail/libetpan/files/patch-ipv6-fallback libetpan/files/patch-ipv6-fallback --- /usr/ports/mail/libetpan/files/patch-ipv6-fallback Thu Jan 1 01:00:00 1970 +++ libetpan/files/patch-ipv6-fallback Sun Jan 27 13:01:48 2008 @@ -0,0 +1,69 @@ +Index: src/data-types/connect.c +=================================================================== +RCS file: /cvsroot/libetpan/libetpan/src/data-types/connect.c,v +retrieving revision 1.25 +diff -u -p -u -r1.25 connect.c +--- src/data-types/connect.c 27 Oct 2007 10:08:24 -0000 1.25 ++++ src/data-types/connect.c 25 Jan 2008 08:29:58 -0000 +@@ -88,6 +88,21 @@ static int prepare_fd(int fd) + return 0; + } + ++#ifdef HAVE_IPV6 ++static int verify_sock_errors(int s) ++{ ++ uint len; ++ int val; ++ len = sizeof(val); ++ if (getsockopt(s, SOL_SOCKET, SO_ERROR, &val, &len) < 0) { ++ return -1; ++ } else if (val != 0) { ++ return -1; ++ } ++ return 0; ++} ++#endif ++ + static int wait_connect(int s, int r) + { + fd_set fds; +@@ -206,6 +221,7 @@ int mail_tcp_connect_with_local_address( + + for (ai = res; ai != NULL; ai = ai->ai_next) { + s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); ++ + if (s == -1) + continue; + +@@ -239,8 +255,22 @@ int mail_tcp_connect_with_local_address( + + r = connect(s, ai->ai_addr, ai->ai_addrlen); + r = wait_connect(s, r); ++ ++ if (r != -1) { ++ r = verify_sock_errors(s); ++ } ++ + if (r == -1) { +- goto close_socket; ++ if (ai->ai_next) { ++#ifdef WIN32 ++ closesocket(s); ++#else ++ close(s); ++#endif ++ continue; ++ } else { ++ goto close_socket; ++ } + } + /* if we're here, we're good */ + break; +@@ -252,7 +282,6 @@ int mail_tcp_connect_with_local_address( + if (ai == NULL) + goto err; + #endif +- + return s; + + close_socket: --- libetpan.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: