From 1e4d83f6fe38613e6f209ff09dfad8e69a6e1629 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 21 Mar 2017 15:14:27 +0100 Subject: Deprecate libnsl by default (only shared library will be build for backward compatibility, no linking possible) and disable building of libnss_compat, libnss_nis and libnss_nisplus, except --enable-obsolete-nsl option is given to configure. * config.h.in: Add LINK_OBSOLETE_NSL. * config.make.in: Add build-obsolete-nsl. * configure.ac: Add obsolete-nsl option. * include/libc-symbols.h: Define libnsl_hidden_nolink_def. * include/rpcsvc/yp.h: Add missing functions as libnsl_hidden_proto. * include/rpcsvc/nislib.h: Likewise. * include/rpcsvc/ypclnt.h: Likewise. * manual/install.texi: Document --enable-obsolete-nsl. * nis/Makefile: Build only libnsl by default (add build-obsolete-nsl). * nis/nis_add.c: Replace libnsl_hidden_def with libnsl_hidden_nolink_def. * nis/nis_addmember.c: Likewise. * nis/nis_call.c: Likewise. * nis/nis_clone_obj.c: Likewise. * nis/nis_defaults.c: Likeise. * nis/nis_domain_of_r.c: Likewise. * nis/nis_error.c: Likewise. * nis/nis_file.c: Likewise. * nis/nis_free.c: Likewise. * nis_local_names.c: Likewise. * nis/nis_lookup.c: Likewise. * nis/nis_modify.c: Likewise. * nis/nis_print.c: Likewise. * nis/nis_remove.c: Likewise. * nis/nis_table.c: Likewise. * nis/nis_util.c: Likewise. * nis/nis_xdr.c: Likewise. * nis/yp_xdr.c: Likewise. * nis/ypclnt.c: Likewise. * nis/ypupdate_xdr.c: Likewise. * nis/nis_checkpoint.c: Add libnsl_hidden_nolink_def to all functions. * nis/nis_clone_dir.c: Likewise. * nis/nis_clone_res.c: Likewise. * nis/nis_creategroup.c: Likewise. * nis/nis_destroygroup.c: Likewise. * nis/nis_domain_of.c: Likewise. * nis/nis_getservlist.c: Likewise. * nis/nis_ismember.c: Likewise. * nis/nis_mkdir.c: Likewise. * nis/nis_ping.c: Likewise. * nis/nis_print_group_entry.c: Likewise. * nis/nis_removemember.c: Likewise. * nis/nis_rmdir.c: Likewise. * nis/nis_server.c: Likewise. * nis/nis_subr.c: Likewise. * nis/nis_verifygroup.c: Likewise. Signed-off-by: Thorsten Kukuk --- include/libc-symbols.h | 6 ++++++ include/rpcsvc/nislib.h | 33 +++++++++++++++++++++++++++++++++ include/rpcsvc/yp.h | 4 ++++ include/rpcsvc/ypclnt.h | 9 +++++++++ 4 files changed, 52 insertions(+) (limited to 'include') diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 775d8af84e..0783ade0b3 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -663,6 +663,12 @@ for linking") # define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libnsl_hidden_tls_proto(name, attrs...) \ hidden_tls_proto (name, ##attrs) +# ifdef LINK_OBSOLETE_NSL + /* libnsl_hidden_nolink should only get used in libnsl code. */ +# define libnsl_hidden_nolink_def(name, version) libnsl_hidden_def (name) +# else +# define libnsl_hidden_nolink_def(name, version) hidden_nolink (name, libnsl, version) +# endif # define libnsl_hidden_def(name) hidden_def (name) # define libnsl_hidden_weak(name) hidden_weak (name) # define libnsl_hidden_ver(local, name) hidden_ver (local, name) diff --git a/include/rpcsvc/nislib.h b/include/rpcsvc/nislib.h index 05b19877e7..91dab1d171 100644 --- a/include/rpcsvc/nislib.h +++ b/include/rpcsvc/nislib.h @@ -19,6 +19,7 @@ libnsl_hidden_proto (nis_free_directory) libnsl_hidden_proto (nis_free_object) libnsl_hidden_proto (nis_freeresult) libnsl_hidden_proto (readColdStartFile) +libnsl_hidden_proto (writeColdStartFile) libnsl_hidden_proto (nis_print_rights) libnsl_hidden_proto (nis_print_directory) libnsl_hidden_proto (nis_print_group) @@ -43,6 +44,38 @@ libnsl_hidden_proto (__nis_default_owner) libnsl_hidden_proto (__nis_default_group) libnsl_hidden_proto (__nis_default_access) libnsl_hidden_proto (nis_clone_object) +libnsl_hidden_proto (nis_clone_result) +libnsl_hidden_proto (nis_print_group_entry) +libnsl_hidden_proto (nis_verifygroup) +libnsl_hidden_proto (nis_leaf_of) +libnsl_hidden_proto (nis_read_obj) +libnsl_hidden_proto (nis_print_result) +libnsl_hidden_proto (nis_sperror) +libnsl_hidden_proto (nis_add_entry) +libnsl_hidden_proto (nis_mkdir) +libnsl_hidden_proto (nis_getservlist) +libnsl_hidden_proto (nis_stats) +libnsl_hidden_proto (nis_write_obj) +libnsl_hidden_proto (nis_servstate) +libnsl_hidden_proto (nis_freetags) +libnsl_hidden_proto (nis_modify_entry) +libnsl_hidden_proto (nis_remove_entry) +libnsl_hidden_proto (nis_first_entry) +libnsl_hidden_proto (nis_next_entry) +libnsl_hidden_proto (nis_checkpoint) +libnsl_hidden_proto (nis_perror) +libnsl_hidden_proto (nis_lerror) +libnsl_hidden_proto (nis_freeservlist) +libnsl_hidden_proto (nis_ismember) +libnsl_hidden_proto (nis_creategroup) +libnsl_hidden_proto (nis_destroygroup) +libnsl_hidden_proto (nis_name_of) +libnsl_hidden_proto (nis_ping) +libnsl_hidden_proto (nis_rmdir) +libnsl_hidden_proto (nis_addmember) +libnsl_hidden_proto (nis_removemember) +libnsl_hidden_proto (nis_domain_of) +libnsl_hidden_proto (nis_clone_directory) extern const_nis_name __nis_domain_of (const_nis_name) __THROW; diff --git a/include/rpcsvc/yp.h b/include/rpcsvc/yp.h index b6d7c15f62..9078854d40 100644 --- a/include/rpcsvc/yp.h +++ b/include/rpcsvc/yp.h @@ -24,6 +24,10 @@ libnsl_hidden_proto (xdr_ypresp_maplist) libnsl_hidden_proto (xdr_ypresp_order) libnsl_hidden_proto (xdr_ypbind_resp) libnsl_hidden_proto (xdr_ypresp_master) +libnsl_hidden_proto (xdr_ypreq_xfr) +libnsl_hidden_proto (xdr_ypresp_xfr) +libnsl_hidden_proto (xdr_yppushresp_xfr) +libnsl_hidden_proto (xdr_ypbind_setdom) # endif /* !_ISOMAC */ #endif diff --git a/include/rpcsvc/ypclnt.h b/include/rpcsvc/ypclnt.h index 1b4e2f215c..df2a03d9c5 100644 --- a/include/rpcsvc/ypclnt.h +++ b/include/rpcsvc/ypclnt.h @@ -8,6 +8,15 @@ libnsl_hidden_proto (yp_bind) libnsl_hidden_proto (yp_get_default_domain) libnsl_hidden_proto (ypprot_err) libnsl_hidden_proto (yp_master) +libnsl_hidden_proto (yp_update) +libnsl_hidden_proto (yperr_string) +libnsl_hidden_proto (yp_unbind) +libnsl_hidden_proto (yp_order) +libnsl_hidden_proto (yp_first) +libnsl_hidden_proto (yp_next) +libnsl_hidden_proto (yp_match) +libnsl_hidden_proto (yp_all) +libnsl_hidden_proto (__yp_check) # endif /* !_ISOMAC */ #endif -- cgit 1.4.1