[PATCH 2/4] sunrpc: Do not export key handling hooks by default

Florian Weimer fweimer@redhat.com
Mon Jul 6 19:03:17 GMT 2020


__key_encryptsession_pk_LOCAL, __key_decryptsession_pk_LOCAL,
__key_gendes_LOCAL had a default version symbol even without
--enable-obsolete-rpc.
---
 sunrpc/key_call.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c
index 9b8f9819c9..f13b0a7e4c 100644
--- a/sunrpc/key_call.c
+++ b/sunrpc/key_call.c
@@ -290,9 +290,20 @@ libc_hidden_nolink_sunrpc (key_get_conv, GLIBC_2_1)
  * implementations of these functions, and to call those in key_call().
  */
 
-cryptkeyres *(*__key_encryptsession_pk_LOCAL) (uid_t, char *);
-cryptkeyres *(*__key_decryptsession_pk_LOCAL) (uid_t, char *);
-des_block *(*__key_gendes_LOCAL) (uid_t, char *);
+cryptkeyres *(*__key_encryptsession_pk_LOCAL) (uid_t, char *)
+  __attribute__ ((nocommon));
+cryptkeyres *(*__key_decryptsession_pk_LOCAL) (uid_t, char *)
+  __attribute__ ((nocommon));
+des_block *(*__key_gendes_LOCAL) (uid_t, char *) __attribute__ ((nocommon));
+#ifdef SHARED
+# ifndef EXPORT_RPC_SYMBOLS
+compat_symbol (libc, __key_encryptsession_pk_LOCAL,
+	       __key_encryptsession_pk_LOCAL, GLIBC_2_1);
+compat_symbol (libc, __key_decryptsession_pk_LOCAL,
+	       __key_decryptsession_pk_LOCAL, GLIBC_2_1);
+compat_symbol (libc, __key_gendes_LOCAL, __key_gendes_LOCAL, GLIBC_2_1);
+# endif
+#endif
 
 #ifndef SO_PASSCRED
 static int
-- 
2.25.4




More information about the Libc-alpha mailing list