]> granicus.if.org Git - libtirpc/commitdiff
Symbol versioning patch libtirpc-0-2-6-rc5
authorThorsten Kukuk <kukuk@suse.de>
Wed, 6 May 2015 13:53:28 +0000 (09:53 -0400)
committerSteve Dickson <steved@redhat.com>
Wed, 6 May 2015 14:03:35 +0000 (10:03 -0400)
Added the functions, which are not marked
static and for which we provide a protoype
in the public installed header files.

Additional, there is the function __libc_clntudp_bufcreate
for glibc compatibility and the three functions:
__svc_clean_idle; svc_auth_none; libtirpc_set_debug
used by rpcbind.

I have added them as "TIRPC_PRIVATE". If we want to provide them
as official functions for everybody, we should add prototypes
to the header files and move them to the TIRPC_0.3.0 section.

Signed-off-by: Steve Dickson <steved@redhat.com>
configure.ac
src/Makefile.am
src/libtirpc.map [new file with mode: 0644]

index 7be0b91aa1731fa1a69b53bcd8ddb5df1e5bda4e..0216c21410b923c74a023b89814d829e9e5b3c00 100644 (file)
@@ -7,9 +7,9 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_ARG_ENABLE(gssapi,
        [AC_HELP_STRING([--disable-gssapi], [Disable GSSAPI support @<:@default=no@:>@])],
       [],[enable_gssapi=yes])
-AM_CONDITIONAL(GSS, test x$enable_gssapi = xyes)
+AM_CONDITIONAL(GSS, test "x$enable_gssapi" = xyes)
 
-if test x$enable_gssapi = xyes; then
+if test "x$enable_gssapi" = xyes; then
        GSSAPI_CFLAGS=`krb5-config --cflags gssapi`
        GSSAPI_LIBS=`krb5-config --libs gssapi`
        AC_SUBST([GSSAPI_CFLAGS])
@@ -19,8 +19,8 @@ fi
 AC_ARG_ENABLE(authdes,
        [AC_HELP_STRING([--enable-authdes], [Enable DES authentication @<:@default=no@:>@])],
       [],[enable_authdes=no])
-AM_CONDITIONAL(AUTHDES, test x$enable_authdes = xyes)
-if test x$enable_authdes = xyes; then
+AM_CONDITIONAL(AUTHDES, test "x$enable_authdes" = xyes)
+if test "x$enable_authdes" = xyes; then
        AC_DEFINE([HAVE_AUTHDES], [1],
                  [Define to 1 if DES authentication is enabled])
        CFLAG_AUTHDES="-DHAVE_AUTHDES=1"
@@ -35,6 +35,11 @@ if test "x$enable_ipv6" != xno; then
        AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])
 fi
 
+AC_ARG_ENABLE(symvers,
+       [AC_HELP_STRING([--disable-symvers], [Disable symbol versioning @<:@default=no@:>@])],
+      [],[enable_symvers=yes])
+AM_CONDITIONAL(SYMVERS, test "x$enable_symvers" = xyes)
+
 AC_PROG_CC
 AC_CONFIG_HEADERS([config.h])
 AC_PROG_LIBTOOL
index 0eb64b9c3acec2dbe5ff4c8d9c17a445785051c1..75bd4bf33e3214d83f9850f9fac1f7d4b72665ac 100644 (file)
@@ -57,6 +57,10 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
 ## XDR
 libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
 
+if SYMVERS
+    libtirpc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libtirpc.map
+endif
+
 ## Secure-RPC
 if GSS
     libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \
diff --git a/src/libtirpc.map b/src/libtirpc.map
new file mode 100644 (file)
index 0000000..d796508
--- /dev/null
@@ -0,0 +1,287 @@
+TIRPC_0.3.0 {
+  global:
+    # __*
+    __rpc_createerr;
+    __rpc_dtbsize;
+    __rpc_endconf;
+    __rpc_fd2sockinfo;
+    __rpc_fixup_addr;
+    __rpc_get_a_size;
+    __rpc_get_local_uid;
+    __rpc_get_t_size;
+    __rpc_getconf;
+    __rpc_getconfip;
+    __rpc_nconf2fd;
+    __rpc_nconf2fd_flags;
+    __rpc_nconf2sockinfo;
+    __rpc_rawcombuf;
+    __rpc_seman2socktype;
+    __rpc_setconf;
+    __rpc_sockinfo2netid;
+    __rpc_sockisbound;
+    __rpc_socktype2seman;
+    __rpc_taddr2uaddr_af;
+    __rpc_uaddr2taddr_af;
+    __rpcgettp;
+
+    # _*
+    _authenticate;
+    _get_next_token;
+    _gss_authenticate;
+    _svcauth_gss;
+    _null_auth;
+    _rpc_dtablesize;
+    _seterr_reply;
+    _svcauth_none;
+    _svcauth_short;
+    _svcauth_unix;
+
+    # a*
+    authdes_create;
+    authdes_seccreate;
+    authgss_create;
+    authgss_create_default;
+    authgss_free_private_data;
+    authgss_get_private_data;
+    authgss_service;
+    authnone_create;
+    authunix_create;
+    authunix_create_default;
+
+    # b*
+    bindresvport;
+    bindresvport_sa;
+
+    # c*
+    callrpc;
+    cbc_crypt;
+    clnt_broadcast;
+    clnt_create;
+    clnt_create_timed;
+    clnt_create_vers;
+    clnt_create_vers_timed;
+    clnt_dg_create;
+    clnt_pcreateerror;
+    clnt_perrno;
+    clnt_perror;
+    clnt_raw_create;
+    clnt_spcreateerror;
+    clnt_sperrno;
+    clnt_sperror;
+    clnt_tli_create;
+    clnt_tp_create;
+    clnt_tp_create_timed;
+    clnt_vc_create;
+    clntraw_create;
+    clnttcp_create;
+    clntudp_bufcreate;
+    clntudp_create;
+    clntunix_create;
+
+    # e*
+    ecb_crypt;
+    endnetconfig;
+    endnetpath;
+    endrpcent;
+
+    # f*
+    freenetconfigent;
+
+    # g*
+    get_myaddress;
+    getnetconfig;
+    getnetconfigent;
+    getnetpath;
+    getrpcent;
+    getrpcbynumber;
+    getrpcbyname;
+    getrpcport;
+    gss_log_debug;
+    gss_log_hexdump;
+    gss_log_status;
+
+    # n*
+    nc_perror;
+    nc_sperror;
+
+    # p*
+    pmap_getmaps;
+    pmap_getport;
+    pmap_rmtcall;
+    pmap_set;
+    pmap_unset;
+
+    # r*
+    registerrpc;
+    rpc_broadcast;
+    rpc_broadcast_exp;
+    rpc_call;
+    rpc_control;
+    rpc_createerr;
+    rpc_gss_get_error;
+    rpc_gss_get_mech_info;
+    rpc_gss_get_mechanisms;
+    rpc_gss_get_principal_name;
+    rpc_gss_get_versions;
+    rpc_gss_getcred;
+    rpc_gss_is_installed;
+    rpc_gss_max_data_length;
+    rpc_gss_mech_to_oid;
+    rpc_gss_qop_to_num;
+    rpc_gss_seccreate;
+    rpc_gss_set_callback;
+    rpc_gss_set_defaults;
+    rpc_gss_set_svc_name;
+    rpc_gss_svc_max_data_length;
+    rpc_nullproc;
+    rpc_reg;
+    rpcb_getaddr;
+    rpcb_getmaps;
+    rpcb_gettime;
+    rpcb_rmtcall;
+    rpcb_set;
+    rpcb_taddr2uaddr;
+    rpcb_uaddr2taddr;
+    rpcb_unset;
+
+    # s*
+    setnetconfig;
+    setnetpath;
+    setrpcent;
+    svc_auth_reg;
+    svc_create;
+    svc_dg_create;
+    svc_dg_enablecache;
+    svc_exit;
+    svc_fd_create;
+    svc_fdset;
+    svc_getreq;
+    svc_getreq_common;
+    svc_getreq_poll;
+    svc_getreqset;
+    svc_maxfd;
+    svc_raw_create;
+    svc_reg;
+    svc_register;
+    svc_run;
+    svc_sendreply;
+    svc_tli_create;
+    svc_tp_create;
+    svc_unreg;
+    svc_unregister;
+    svc_vc_create;
+    svcerr_auth;
+    svcerr_decode;
+    svcerr_noproc;
+    svcerr_noprog;
+    svcerr_progvers;
+    svcerr_systemerr;
+    svcerr_weakauth;
+    svcfd_create;
+    svcraw_create;
+    svctcp_create;
+    svcudp_bufcreate;
+    svcudp_create;
+    svcunix_create;
+    svcunixfd_create;
+
+    # t*
+    taddr2uaddr;
+
+    # u*
+    uaddr2taddr;
+
+    # x*
+    xdr_accepted_reply;
+    xdr_array;
+    xdr_authdes_cred;
+    xdr_authdes_verf;
+    xdr_authunix_parms;
+    xdr_bool;
+    xdr_bytes;
+    xdr_callhdr; xdr_callmsg;
+    xdr_char;
+    xdr_des_block;
+    xdr_double;
+    xdr_enum;
+    xdr_float;
+    xdr_free;
+    xdr_hyper;
+    xdr_int16_t;
+    xdr_int32_t;
+    xdr_int64_t;
+    xdr_int8_t;
+    xdr_int;
+    xdr_long;
+    xdr_longlong_t;
+    xdr_netbuf;
+    xdr_netobj;
+    xdr_opaque;
+    xdr_opaque_auth;
+    xdr_pmap;
+    xdr_pmaplist;
+    xdr_pmaplist_ptr;
+    xdr_pointer;
+    xdr_quad_t;
+    xdr_reference;
+    xdr_rejected_reply;
+    xdr_replymsg;
+    xdr_rmtcall_args;
+    xdr_rmtcallres;
+    xdr_rpc_gss_cred;
+    xdr_rpc_gss_data;
+    xdr_rpc_gss_init_args;
+    xdr_rpc_gss_init_res;
+    xdr_rpcb;
+    xdr_rpcb_entry;
+    xdr_rpcb_entry_list_ptr;
+    xdr_rpcb_rmtcallargs;
+    xdr_rpcb_rmtcallres;
+    xdr_rpcb_stat;
+    xdr_rpcb_stat_byvers;
+    xdr_rpcblist;
+    xdr_rpcblist_ptr;
+    xdr_rpcbs_addrlist;
+    xdr_rpcbs_addrlist_ptr;
+    xdr_rpcbs_proc;
+    xdr_rpcbs_rmtcalllist;
+    xdr_rpcbs_rmtcalllist_ptr;
+    xdr_short;
+    xdr_string;
+    xdr_u_char;
+    xdr_u_hyper;
+    xdr_u_int16_t;
+    xdr_u_int32_t;
+    xdr_u_int64_t;
+    xdr_u_int8_t;
+    xdr_u_int;
+    xdr_u_long;
+    xdr_u_longlong_t;
+    xdr_u_quad_t;
+    xdr_u_short;
+    xdr_uint16_t;
+    xdr_uint32_t;
+    xdr_uint64_t;
+    xdr_uint8_t;
+    xdr_union;
+    xdr_vector;
+    xdr_void;
+    xdr_wrapstring;
+    xdrmem_create;
+    xdrrec_create;
+    xdrrec_endofrecord;
+    xdrrec_eof;
+    xdrrec_skiprecord;
+    xdrstdio_create;
+    xprt_register;
+    xprt_unregister;
+
+  local:
+    *;
+};
+TIRPC_PRIVATE {
+  global:
+    __libc_clntudp_bufcreate;
+  # private, but used by rpcbind:
+    __svc_clean_idle; svc_auth_none; libtirpc_set_debug;
+};