glibc/sunrpc
Florian Weimer c88ffc239e NSS: Replace exported NSS lookup functions with stubs [BZ #21962]
Commit 384ca55174 from 2007 added this to
nss/XXX-lookup.c:

+#ifndef NO_COMPAT
+int
+internal_function attribute_compat_text_section
+DB_COMPAT_FCT (service_user **ni, const char *fct_name, void **fctp)
+{
+  return DB_LOOKUP_FCT (ni, fct_name, NULL, fctp);
+}
+#endif

That is, it adds a pseudo-compat function with an internal_function
attribute.  The function it was supposed to replace did not have the
attribute:

 extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name,
-			  void **fctp) internal_function;
+			  const char *fct2_name, void **fctp)
+  internal_function;

This changed the calling convention on i386 for the following
functions in the public ABI:

  __nss_passwd_lookup
  __nss_group_lookup
  __nss_hosts_lookup

This commit replaces the functions with always-failing stubs,
with true compat symbols.  Due to a happy accident, the calling
convention of the stub is identical for the internal_function
and non-internal_function case on i386.

In addition, this commit auto-generates the __nss_*_lookup2
function declarations as part of <nsswitch.h>.
2017-08-14 18:13:42 +02:00
..
rpc Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
rpcsvc Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
auth_des.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
auth_none.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
auth_unix.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
authdes_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
authuxprot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
bindrsvprt.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
bug20790.x Fix rpcgen buffer overrun (bug 20790). 2016-11-08 23:44:51 +00:00
clnt_gen.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
clnt_perr.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
clnt_raw.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
clnt_simp.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
clnt_tcp.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
clnt_udp.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
clnt_unix.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
create_xid.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
des_crypt.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
des_impl.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
des_soft.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
etc.rpc * sunrpc/etc.rpc (fedfs_admin): Add entry. 2012-12-05 19:45:23 -07:00
get_myaddr.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
getrpcbyname_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrpcbyname.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrpcbynumber_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrpcbynumber.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrpcent_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrpcent.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrpcport.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
key_call.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
key_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
Makefile Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
netname.c NSS: Replace exported NSS lookup functions with stubs [BZ #21962] 2017-08-14 18:13:42 +02:00
openchild.c
pm_getmaps.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pm_getport.c __libc_rpc_getport: Remove internal_function attribute 2017-08-13 21:11:06 +02:00
pmap_clnt.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pmap_prot2.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pmap_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pmap_rmt.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
proto.h Support --with-pkgversion and --with-bugurl. 2012-11-09 22:13:45 +00:00
publickey.c NSS: Replace exported NSS lookup functions with stubs [BZ #21962] 2017-08-14 18:13:42 +02:00
rpc_clntout.c
rpc_cmsg.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_common.c
rpc_cout.c
rpc_dtable.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_gethostbyname.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rpc_hout.c
rpc_main.c As a minor cleanup remove the (r)index defines from include/string.h as 2017-02-06 18:15:18 +00:00
rpc_parse.c Fix rpcgen buffer overrun (bug 20790). 2016-11-08 23:44:51 +00:00
rpc_parse.h
rpc_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_sample.c
rpc_scan.c
rpc_scan.h
rpc_svcout.c
rpc_tblout.c
rpc_thread.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_util.c
rpc_util.h
rpcgen.c
rtime.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_auth.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_authux.c
svc_raw.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_run.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_simple.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
svc_tcp.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
svc_udp.c Replace all internal uses of __bzero with memset. This removes the need 2017-06-12 14:56:53 +01:00
svc_unix.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svcauth_des.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
test-rpcent.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
thrsvc.c
tst-getmyaddr.c
tst-svc_register.c sunrpc: Do not unregister services if not registered [BZ #5010] 2017-02-28 15:36:16 +01:00
tst-udp-error.c sunrpc: Avoid use-after-free read access in clntudp_call [BZ #21115] 2017-02-27 19:05:13 +01:00
tst-udp-garbage.c sunrpc: Improvements for UDP client timeout handling [BZ #20257] 2017-02-28 15:36:17 +01:00
tst-udp-nonblocking.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
tst-udp-timeout.c sunrpc: Improvements for UDP client timeout handling [BZ #20257] 2017-02-28 15:36:17 +01:00
tst-xdrmem2.c sunrpc/tst-xdrmem2.c: Include stdint.h. 2017-05-09 07:50:56 -04:00
tst-xdrmem.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Versions Exclude rpcent functions and NSS backends for rpc, key when excluding sunrpc. 2015-02-06 10:43:19 -08:00
xcrypt.c
xdr_array.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_float.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_intXX_t.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_mem.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_rec.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
xdr_ref.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_sizeof.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_stdio.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
xdr.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00