glibc/nss
Siddhesh Poyarekar 228cdb00a0 Simplify allocations and fix merge and continue actions [BZ #28931]
Allocations for address tuples is currently a bit confusing because of
the pointer chasing through PAT, making it hard to observe the sequence
in which allocations have been made.  Narrow scope of the pointer
chasing through PAT so that it is only used where necessary.

This also tightens actions behaviour with the hosts database in
getaddrinfo to comply with the manual text.  The "continue" action
discards previous results and the "merge" action results in an immedate
lookup failure.  Consequently, chaining of allocations across modules is
no longer necessary, thus opening up cleanup opportunities.

A test has been added that checks some combinations to ensure that they
work correctly.

Resolves: BZ #28931

Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Reviewed-by: DJ Delorie <dj@redhat.com>
(cherry picked from commit 1c37b8022e)
2023-09-14 22:46:01 -04:00
..
nss_compat nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
nss_db Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_files Fix linknamespace errors and local-plt-usages in nss_files. 2021-07-14 16:59:12 +02:00
tst-nss-compat1.root nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
tst-nss-db-endgrent.root/etc nss_db: fix endent wrt NULL mappings [BZ #24695] [BZ #24696] 2019-07-10 14:51:18 -04:00
tst-nss-db-endpwent.root nss_db: fix endent wrt NULL mappings [BZ #24695] [BZ #24696] 2019-07-10 14:51:18 -04:00
tst-nss-files-hosts-long.root/etc Fix failing nss/tst-nss-files-hosts-long with local resolver 2021-09-14 21:02:14 +02:00
tst-nss-gai-actions.root/etc Simplify allocations and fix merge and continue actions [BZ #28931] 2023-09-14 22:46:01 -04:00
tst-nss-test3.root Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
tst-reload1.root Fix failing nss/tst-nss-files-hosts-long. 2021-07-12 11:59:04 +02:00
tst-reload2.root nss: Re-enable NSS module loading after chroot [BZ #27389] 2021-03-02 16:14:18 -05:00
alias-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug17079.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-erange.c
compat-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
databases.def nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
db-Makefile Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Depend
digits_dots.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ethers-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
function.def Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getent.c nss: Implement --no-addrconfig option for getent 2022-10-13 15:45:25 +02:00
getnssent_r.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getnssent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getXXbyYY_r.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getXXbyYY.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getXXent_r.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getXXent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
grp-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
hosts-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
key-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
makedb.c Use a #pragma to suppress a bogus GCC 10 warning instead of an assert [BZ 27832]. 2021-05-10 14:30:09 -06:00
Makefile Simplify allocations and fix merge and continue actions [BZ #28931] 2023-09-14 22:46:01 -04:00
netgrp-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
network-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
nss_action_parse.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_action.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_action.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_database.c nss: handle stat failure in check_reload_and_get (BZ #28752) 2022-06-13 18:15:36 -04:00
nss_database.h nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
nss_fgetent_r.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_files_data.c nss_files: Add generic code for set*ent, end*ent and file open 2021-07-07 18:33:52 +02:00
nss_files_fopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_files_functions.c nss: Directly load nss_dns, without going through dlsym/dlopen 2021-07-19 07:56:57 +02:00
nss_hash.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_module.c nss: Protect against errno changes in function lookup (bug 28953) 2022-03-11 11:14:24 +01:00
nss_module.h nss: Directly load nss_dns, without going through dlsym/dlopen 2021-07-19 07:56:57 +02:00
nss_parse_line_result.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_readline.c Fix linknamespace errors and local-plt-usages in nss_files. 2021-07-14 16:59:12 +02:00
nss_test1.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
nss_test2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nss_test_errno.c hurd: Fix arbitrary error code 2022-04-18 17:54:13 +02:00
nss_test.h nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
nss_test.ver Extend NSS test suite 2017-07-17 15:52:44 -04:00
nss.h nss: Fix NSS_DECLARE_MODULE_FUNCTIONS handling of _nss_*_endnetgrent 2021-06-29 12:06:40 +02:00
nsswitch.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
nsswitch.conf Remove --enable-obsolete-nsl configure flag 2020-07-08 17:25:57 +02:00
nsswitch.h nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
proto-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
pwd-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
rewrite_field.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
rpc-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
service-lookup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sgrp-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
spwd-lookup.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
test-digits-dots.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-netdb.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel-getpwuid_r.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-field.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-compat1.c nss: fix nss_database_lookup2's alternate handling [BZ #27416] 2021-03-09 14:34:50 -05:00
tst-nss-db-endgrent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-db-endpwent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-files-alias-leak.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-files-alias-truncated.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-files-hosts-erange.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-files-hosts-getent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-files-hosts-long.c nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816) 2022-10-13 15:45:58 +02:00
tst-nss-files-hosts-multi.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-gai-actions.c Simplify allocations and fix merge and continue actions [BZ #28931] 2023-09-14 22:46:01 -04:00
tst-nss-getpwent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-static.c Update nss tests to new skeleton 2017-08-17 18:00:51 -04:00
tst-nss-test1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-test2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-test3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-test4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-test5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-nss-test_errno.c nss: Protect against errno changes in function lookup (bug 28953) 2022-03-11 11:14:24 +01:00
tst-reload1.c nss: Use shared prefix in IPv4 address in tst-reload1 2022-10-13 15:46:01 +02:00
tst-reload2.c Allow for unpriviledged nested containers 2022-11-25 14:17:56 +01:00
valid_field.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
valid_list_field.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Versions nss_files: Move into libc 2021-07-07 18:33:52 +02:00
XXX-lookup.c nss: add assert to DB_LOOKUP_FCT (BZ #28752) 2022-06-13 18:15:25 -04:00