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
rpcsvc
auth_des.c
auth_none.c
auth_unix.c
authdes_prot.c
authuxprot.c
bindrsvprt.c
bug20790.x
clnt_gen.c
clnt_perr.c
clnt_raw.c
clnt_simp.c
clnt_tcp.c
clnt_udp.c
clnt_unix.c
create_xid.c
des_crypt.c
des_impl.c
des_soft.c
etc.rpc
get_myaddr.c
getrpcbyname_r.c
getrpcbyname.c
getrpcbynumber_r.c
getrpcbynumber.c
getrpcent_r.c
getrpcent.c
getrpcport.c
key_call.c
key_prot.c
Makefile
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
pm_getport.c
pmap_clnt.c
pmap_prot2.c
pmap_prot.c
pmap_rmt.c
proto.h
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
rpc_common.c
rpc_cout.c
rpc_dtable.c
rpc_gethostbyname.c
rpc_hout.c
rpc_main.c
rpc_parse.c
rpc_parse.h
rpc_prot.c
rpc_sample.c
rpc_scan.c
rpc_scan.h
rpc_svcout.c
rpc_tblout.c
rpc_thread.c
rpc_util.c
rpc_util.h
rpcgen.c
rtime.c
svc_auth.c
svc_authux.c
svc_raw.c
svc_run.c
svc_simple.c
svc_tcp.c
svc_udp.c
svc_unix.c
svc.c
svcauth_des.c
test-rpcent.c
thrsvc.c
tst-getmyaddr.c
tst-svc_register.c
tst-udp-error.c
tst-udp-garbage.c
tst-udp-nonblocking.c
tst-udp-timeout.c
tst-xdrmem2.c
tst-xdrmem.c
Versions
xcrypt.c
xdr_array.c
xdr_float.c
xdr_intXX_t.c
xdr_mem.c
xdr_rec.c
xdr_ref.c
xdr_sizeof.c
xdr_stdio.c
xdr.c