From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,NICE_REPLY_A, PDS_RDNS_DYNAMIC_FP,RCVD_IN_DNSWL_HI,RDNS_DYNAMIC,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 112EB1F8C6 for ; Thu, 15 Jul 2021 04:59:24 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DA0A4386103A for ; Thu, 15 Jul 2021 04:59:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DA0A4386103A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1626325162; bh=Ae6y71lafeBjMW8JL874KbB0WSduUEEk2V8d3DXFlRQ=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=m00d1cEbST8lOnv21rxUBUgDoD5b0g9jE9B/UKnSjNt+sHjcrJdCo34wonkLduplc hp/LxQSfyZMTPN7FTT9fUDuRZCheCk0iYixfA0O3O4N4d8zoPcZjU29PKBejcmtCUD T4+GXzRBkemBY1bzrEb6lBHmhARv4uJ1qjL2Vxcs= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 44F7B385DC22 for ; Thu, 15 Jul 2021 04:59:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 44F7B385DC22 Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-455-__ffwHxRM6OX3vWSVJvNqA-1; Thu, 15 Jul 2021 00:58:59 -0400 X-MC-Unique: __ffwHxRM6OX3vWSVJvNqA-1 Received: by mail-qt1-f197.google.com with SMTP id p20-20020a05622a0494b029024f09fe9ec9so3438807qtx.4 for ; Wed, 14 Jul 2021 21:58:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=Ae6y71lafeBjMW8JL874KbB0WSduUEEk2V8d3DXFlRQ=; b=GLxeOZclxxDg7bmwb0Pqt+mGzc/k2j501nXB5KCxBZ77u2//qbyuYqAUMVb2Xkm+tE 900WjMOk3y2tWceYlrFfFiYVf09UhRJX+iJoIb9W5I+2Tj7vtm/19XmTB3t4LZxt286+ LctZNX4AtbfhbjkvJA1QsKmKidaFgA8PwfYxwmzgh9VKz8au7/rx+rMCTNHnLOOfBy6w cZQiptldeXCUNaEl0oNGA6hB19dCu2W2YL4zZOk64vhdPo1aYahZX9105iDwqHb2XacF DA3dMQs027cwwfGHzWdCvw1Ad5kqQ3OzBWYRMoI8F7fYfO0RHjJ9W02lFV8edh4fLy3o dIew== X-Gm-Message-State: AOAM53368gZyZwUOQurduOvts1TFyzx5X6HkRCYMafbb7iIG7cHwJGkc b3S77ATJ8fNmMIslrSbU7hV+ivMHC2PMbBjF6PCV2yHTCDUy8KmHpYeW/jYpXUS5qTdmg05mad/ kiTF6dtwy0ddwI5stgvUL6+v6kQFymnDkLOZaWVJJ0frY+tMQMAMYYVYuyjR0g343HtDBIg== X-Received: by 2002:a05:620a:2e2:: with SMTP id a2mr1912155qko.59.1626325139280; Wed, 14 Jul 2021 21:58:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx+LjHpedtHZjzsjhCp/fWs7wz8oErOHwmnTqlGu0m13DUcaG+92ruvUptR5nr80SZM0ioaWw== X-Received: by 2002:a05:620a:2e2:: with SMTP id a2mr1912142qko.59.1626325139010; Wed, 14 Jul 2021 21:58:59 -0700 (PDT) Received: from [192.168.1.16] (198-84-214-74.cpe.teksavvy.com. [198.84.214.74]) by smtp.gmail.com with ESMTPSA id t20sm1662416qtx.48.2021.07.14.21.58.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Jul 2021 21:58:58 -0700 (PDT) Subject: Re: [PATCH v2 00/30] nss_dns move into libc To: Florian Weimer , libc-alpha@sourceware.org References: Organization: Red Hat Message-ID: <9471cf48-c51a-5658-4d86-081610e34fe2@redhat.com> Date: Thu, 15 Jul 2021 00:58:57 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Carlos O'Donell via Libc-alpha Reply-To: Carlos O'Donell Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On 7/8/21 10:59 AM, Florian Weimer via Libc-alpha wrote: > This is a rebase of the previous series. The final patch (direct > loading) has been integrated with the nss_files changes. OK for glibc 2.34 in general, with a few patches needing v3. Please repost the series and I'll ack the remaining patches quickly when I see which are left without Reviewed-by. Thank you for tackling this. I think having nss_files and nss_dns within libc allows for some straight forward use cases that allow a process to use 'files' and 'dns' entries in nss regardless of the current system state and that is often sufficient functionality in a container/chroot to do the required work. I've reviewed the entire series and I think we should include it immediately for glibc 2.34 to go with the other ABI changes. Reviewed-by: Carlos O'Donell > Re-tested on i686-linux-gnu, x86_64-linux-gnu. Built with > build-many-glibcs.py. > > Thanks, > Florian > > Florian Weimer (30): > socket: Add hidden prototype for setsockopt > resolv: Deprecate legacy interfaces in > resolv: Sort Makefile routines and Versions lexicographically > nss_dns: Do not use deprecated packet parsing functions > resolv: Move ns_name_ntop to its own file and into libc > resolv: Move ns_name_unpack to its own file and into libc > resolv: Move ns_name_skip to its own file and into libc > resolv: Move ns_name_uncompress into its own file and into libc > resolv: Move ns_name_pton into its own file and into libc > resolv: Move ns_name_pack into its own file and into libc > resolv: Move ns_name_compress into its own file and into libc > resolv: Move dn_expand to its own file and into libc > resolv: Move _getlong, _getshort, __putlong, __putshort to res-putget > resolv: Move dn_comp to its own file and into libc > resolv: Move dn_skipname to its own file and into libc > resolv: Rename res_comp.c to res-name-checking.c and move into libc > resolv: Remove unnecessary res_isourserver_p call from send_dg > resolv: Move __res_get_nsaddr to its own file and into libc > resolv: Move res_isourserver to its own file and reformat to GNU style > resolv: Move ns_makecanon into its own file, and into libc > resolv: Move ns_samename into its own file, and into libc > resolv: Move res_nameinquery to its own file and into libc > resolv: Move res_queriesmatch to its own file and into libc > resolv: Move __res_context_hostalias into its own file and into libc > resolv: Move res_hostalias into its own file, along with hostalias > resolv: Move res_send, res_nsend into libc > resolv: Move res_mkquery, res_nmkquery into libc > resolv: Move res_query functions into libc > resolv: Move nss_dns into libc > nss: Directly load nss_dns, without going through dlsym/dlopen > > NEWS | 4 + > include/arpa/nameser.h | 28 +- > include/nss_dns.h | 39 ++ > include/resolv.h | 22 +- > include/sys/socket.h | 3 +- > nss/nss_files_functions.c | 6 - > nss/nss_module.c | 55 +- > nss/nss_module.h | 10 +- > resolv/Makefile | 85 ++- > resolv/Versions | 256 ++++++-- > resolv/arpa/nameser.h | 33 +- > resolv/compat-gethnamaddr.c | 13 +- > resolv/dn_comp.c | 103 +++ > resolv/dn_expand.c | 112 ++++ > resolv/dn_skipname.c | 103 +++ > resolv/ns_makecanon.c | 50 ++ > resolv/ns_name.c | 614 ------------------ > resolv/ns_name_compress.c | 50 ++ > resolv/ns_name_ntop.c | 145 +++++ > resolv/ns_name_pack.c | 202 ++++++ > resolv/ns_name_pton.c | 157 +++++ > resolv/ns_name_skip.c | 62 ++ > resolv/ns_name_uncompress.c | 45 ++ > resolv/ns_name_unpack.c | 115 ++++ > resolv/ns_parse.c | 4 +- > resolv/ns_print.c | 8 +- > resolv/ns_samedomain.c | 62 +- > resolv/ns_samename.c | 38 ++ > resolv/nss_dns/dns-canon.c | 25 +- > resolv/nss_dns/dns-host.c | 78 +-- > resolv/nss_dns/dns-network.c | 15 +- > resolv/nss_dns_functions.c | 40 ++ > resolv/{res_comp.c => res-name-checking.c} | 116 +--- > resolv/res-putget.c | 112 ++++ > resolv/res_context_hostalias.c | 132 ++++ > resolv/res_debug.c | 4 +- > resolv/res_enable_icmp.c | 4 +- > resolv/res_get_nsaddr.c | 39 ++ > resolv/res_hostalias.c | 51 ++ > resolv/res_isourserver.c | 134 ++++ > resolv/res_mkquery.c | 48 +- > resolv/res_nameinquery.c | 115 ++++ > resolv/res_queriesmatch.c | 129 ++++ > resolv/res_query.c | 158 ++--- > resolv/res_send.c | 238 ++----- > resolv/resolv-deprecated.c | 56 ++ > resolv/resolv-internal.h | 21 +- > resolv/resolv.h | 101 +-- > sysdeps/mach/hurd/i386/libc.abilist | 48 ++ > sysdeps/mach/hurd/i386/libresolv.abilist | 24 - > sysdeps/mach/hurd/setsockopt.c | 2 +- > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 48 ++ > .../unix/sysv/linux/aarch64/libresolv.abilist | 24 - > sysdeps/unix/sysv/linux/alpha/libc.abilist | 53 ++ > .../unix/sysv/linux/alpha/libresolv.abilist | 29 - > sysdeps/unix/sysv/linux/arc/libc.abilist | 48 ++ > sysdeps/unix/sysv/linux/arc/libresolv.abilist | 24 - > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 48 ++ > .../unix/sysv/linux/arm/be/libresolv.abilist | 24 - > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 48 ++ > .../unix/sysv/linux/arm/le/libresolv.abilist | 24 - > sysdeps/unix/sysv/linux/csky/libc.abilist | 48 ++ > .../unix/sysv/linux/csky/libresolv.abilist | 24 - > sysdeps/unix/sysv/linux/hppa/libc.abilist | 53 ++ > .../unix/sysv/linux/hppa/libresolv.abilist | 29 - > sysdeps/unix/sysv/linux/i386/libc.abilist | 53 ++ > .../unix/sysv/linux/i386/libresolv.abilist | 29 - > sysdeps/unix/sysv/linux/ia64/libc.abilist | 53 ++ > .../unix/sysv/linux/ia64/libresolv.abilist | 29 - > .../sysv/linux/m68k/coldfire/libc.abilist | 48 ++ > .../linux/m68k/coldfire/libresolv.abilist | 24 - > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 53 ++ > .../sysv/linux/m68k/m680x0/libresolv.abilist | 29 - > .../sysv/linux/microblaze/be/libc.abilist | 48 ++ > .../linux/microblaze/be/libresolv.abilist | 24 - > .../sysv/linux/microblaze/le/libc.abilist | 48 ++ > .../linux/microblaze/le/libresolv.abilist | 24 - > .../sysv/linux/mips/mips32/fpu/libc.abilist | 53 ++ > .../sysv/linux/mips/mips32/libresolv.abilist | 29 - > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 53 ++ > .../sysv/linux/mips/mips64/n32/libc.abilist | 53 ++ > .../linux/mips/mips64/n32/libresolv.abilist | 29 - > .../sysv/linux/mips/mips64/n64/libc.abilist | 53 ++ > .../linux/mips/mips64/n64/libresolv.abilist | 29 - > sysdeps/unix/sysv/linux/nios2/libc.abilist | 48 ++ > .../unix/sysv/linux/nios2/libresolv.abilist | 24 - > .../linux/powerpc/powerpc32/fpu/libc.abilist | 53 ++ > .../linux/powerpc/powerpc32/libresolv.abilist | 29 - > .../powerpc/powerpc32/nofpu/libc.abilist | 53 ++ > .../linux/powerpc/powerpc64/be/libc.abilist | 48 ++ > .../powerpc/powerpc64/be/libresolv.abilist | 24 - > .../linux/powerpc/powerpc64/le/libc.abilist | 48 ++ > .../powerpc/powerpc64/le/libresolv.abilist | 24 - > .../unix/sysv/linux/riscv/rv32/libc.abilist | 48 ++ > .../sysv/linux/riscv/rv32/libresolv.abilist | 24 - > .../unix/sysv/linux/riscv/rv64/libc.abilist | 48 ++ > .../sysv/linux/riscv/rv64/libresolv.abilist | 24 - > .../unix/sysv/linux/s390/s390-32/libc.abilist | 53 ++ > .../sysv/linux/s390/s390-32/libresolv.abilist | 29 - > .../unix/sysv/linux/s390/s390-64/libc.abilist | 48 ++ > .../sysv/linux/s390/s390-64/libresolv.abilist | 24 - > sysdeps/unix/sysv/linux/setsockopt.c | 5 +- > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 53 ++ > .../unix/sysv/linux/sh/be/libresolv.abilist | 29 - > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 53 ++ > .../unix/sysv/linux/sh/le/libresolv.abilist | 29 - > .../sysv/linux/sparc/sparc32/libc.abilist | 53 ++ > .../linux/sparc/sparc32/libresolv.abilist | 29 - > .../sysv/linux/sparc/sparc64/libc.abilist | 53 ++ > .../linux/sparc/sparc64/libresolv.abilist | 29 - > .../unix/sysv/linux/x86_64/64/libc.abilist | 48 ++ > .../sysv/linux/x86_64/64/libresolv.abilist | 24 - > .../unix/sysv/linux/x86_64/x32/libc.abilist | 48 ++ > .../sysv/linux/x86_64/x32/libresolv.abilist | 24 - > 114 files changed, 4365 insertions(+), 2160 deletions(-) > create mode 100644 include/nss_dns.h > create mode 100644 resolv/dn_comp.c > create mode 100644 resolv/dn_expand.c > create mode 100644 resolv/dn_skipname.c > create mode 100644 resolv/ns_makecanon.c > create mode 100644 resolv/ns_name_compress.c > create mode 100644 resolv/ns_name_ntop.c > create mode 100644 resolv/ns_name_pack.c > create mode 100644 resolv/ns_name_pton.c > create mode 100644 resolv/ns_name_skip.c > create mode 100644 resolv/ns_name_uncompress.c > create mode 100644 resolv/ns_name_unpack.c > create mode 100644 resolv/ns_samename.c > create mode 100644 resolv/nss_dns_functions.c > rename resolv/{res_comp.c => res-name-checking.c} (73%) > create mode 100644 resolv/res-putget.c > create mode 100644 resolv/res_context_hostalias.c > create mode 100644 resolv/res_get_nsaddr.c > create mode 100644 resolv/res_hostalias.c > create mode 100644 resolv/res_isourserver.c > create mode 100644 resolv/res_nameinquery.c > create mode 100644 resolv/res_queriesmatch.c > create mode 100644 resolv/resolv-deprecated.c > -- Cheers, Carlos.