From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JqFaD-0006yi-6f for qemu-devel@nongnu.org; Sun, 27 Apr 2008 18:42:57 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JqFaA-0006yW-PI for qemu-devel@nongnu.org; Sun, 27 Apr 2008 18:42:55 -0400 Received: from [199.232.76.173] (port=35546 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JqFaA-0006yT-Jf for qemu-devel@nongnu.org; Sun, 27 Apr 2008 18:42:54 -0400 Received: from ug-out-1314.google.com ([66.249.92.175]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JqFaA-0001Fr-28 for qemu-devel@nongnu.org; Sun, 27 Apr 2008 18:42:54 -0400 Received: by ug-out-1314.google.com with SMTP id m2so656179uge.4 for ; Sun, 27 Apr 2008 15:42:53 -0700 (PDT) Message-ID: Date: Mon, 28 Apr 2008 00:42:52 +0200 From: "andrzej zaborowski" Subject: Re: [Qemu-devel] [PATCH] Fix regression against commit 4259 In-Reply-To: <48139F0A.6090706@windriver.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <48139F0A.6090706@windriver.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi, On 26/04/2008, Jason Wessel wrote: > Stuart Brady found a regression based on the 4259 commit where > DNS via slirp to the special address does not work properly. > > I verified that DNS to the default special address 10.0.2.3 does not > work. When using the "special address" for DNS it must be treated as > a special case. In the original 4259, I did not have a test case for > the loopback DNS. The translation logic should be used in this case > as well as for any loopback directed requests. Thanks for the fix, I committed it with a tiny change but I'm not sure if the special case shouldn't be CTL_ALIAS, i.e. the condition would be: else if (addr->sin_addr.s_addr == loopback_addr.s_addr || (ntohl(so->so_faddr.s_addr) & 0xff) != CTL_ALIAS) and perhaps this shouldn't be for udp only? Also, in ((so->so_faddr.s_addr & htonl(CTL_DNS)) == htonl(CTL_DNS)), masking with htonl(CTL_DNS) is probably not what we want. Regards