From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17929 invoked by alias); 25 Aug 2009 17:23:33 -0000 Received: (qmail 17871 invoked by uid 48); 25 Aug 2009 17:23:16 -0000 Date: Tue, 25 Aug 2009 17:23:00 -0000 From: "miika at iki dot fi" To: glibc-bugs@sources.redhat.com Message-ID: <20090825172315.10559.miika@iki.fi> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug libc/10559] New: getaddrinfo() calls unnecessarily connect() X-Bugzilla-Reason: CC Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2009-08/txt/msg00066.txt.bz2 Background: I am a developer in hipl.hiit.fi project which develops Linux-based IPsec key and mobility management daemon for Host Identity Protocol (HIP). The daemon stores its keys in DNS according to RFC5206 and uses a local DNS proxy to returns hashes of public keys to application from the DNS. The daemon calls also getaddrinfo() to resolve identifiers from the DNS when using registration extensions defined in RFC5204. The problem: it appears that calling getaddrinfo() also calls connect() with the given IP address, UDP protocol and port 0. This a problem in the IPsec key management daemon because it calls also getaddrinfo and this triggers a Diffie-Hellman based key exchange (which is a costly operation) Is it really necessary to call connect() in getaddrinfo() or is there some other way around this? Currently it's not possible to filter requests to trigger key exchange with UDP port zero in IPsec key managers because Linux XFRM does not support it. -- Summary: getaddrinfo() calls unnecessarily connect() Product: glibc Version: unspecified Status: NEW Severity: minor Priority: P2 Component: libc AssignedTo: drepper at redhat dot com ReportedBy: miika at iki dot fi CC: glibc-bugs at sources dot redhat dot com http://sourceware.org/bugzilla/show_bug.cgi?id=10559 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.