[2/4] sunrpc: Do not export key handling hooks by default
Commit Message
__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(-)
Comments
On Mon, Jul 6, 2020 at 12:05 PM Florian Weimer via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> __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
>
>
LGTM.
Thanks.
@@ -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