From patchwork Tue Mar 12 18:04:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 31829 Received: (qmail 92220 invoked by alias); 12 Mar 2019 18:04:22 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 92118 invoked by uid 89); 12 Mar 2019 18:04:18 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=noop X-HELO: mx1.redhat.com From: Florian Weimer To: Joseph Myers Cc: , Subject: Re: [PATCH] resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047] References: <87mumi6075.fsf@oldenburg2.str.redhat.com> Date: Tue, 12 Mar 2019 19:04:09 +0100 In-Reply-To: (Joseph Myers's message of "Tue, 12 Mar 2019 17:33:19 +0000") Message-ID: <87d0mwm0km.fsf@oldenburg2.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 * Joseph Myers: > This has broken the build for Hurd: > > res_enable_icmp.c: In function '__res_enable_icmp': > res_enable_icmp.c:30:38: error: 'IP_RECVERR' undeclared (first use in this function); did you mean 'IPV6_RECVERR'? > > No idea why the generic bits/in.h as used for Hurd defines IPV6_RECVERR > but not IP_RECVERR, or what Hurd actually implements in this regard. Sorry about that. Thanks for pointing out the IPV6_RECVERR definition, I would have missed that. XNU does not support IP_RECVERR either, so I think the safest way to deal with this is the attached patch. Alternatively, I could add the stub to the generic code, but I think doing it this way is clearer for those who read just the resolv code. Thanks, Florian hurd: Add no-op version of __res_enable_icmp [BZ #24047] Mach does not support IP_RECVERR, so replace this function with a stub in a sysdeps override for Hurd. This fixes commit 08504de71813ddbd447bfbca4a325cbe8ce8bcda ("resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047]"). 2019-03-12 Florian Weimer [BZ #24047] * sysdeps/mach/hurd/res_enable_icmp.c: New file. Reviewed-by: Carlos O'Donell diff --git a/sysdeps/mach/hurd/res_enable_icmp.c b/sysdeps/mach/hurd/res_enable_icmp.c new file mode 100644 index 0000000000..4b0456340c --- /dev/null +++ b/sysdeps/mach/hurd/res_enable_icmp.c @@ -0,0 +1,27 @@ +/* Enable full ICMP errors on a socket. No-op version for Hurd. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Mach does not support the IP_RECVERR extension. */ + +#include + +int +__res_enable_icmp (int family, int fd) +{ + return 0; +}