Add symbol versioning for libkadm5clnt

In order to support plugins for kadmin that use libkadm5srv, the
libkadm5clnt library has to be versioned to avoid hijacking all
of the function calls that should go to the server library.  Omit
the _kadm5_ clients from the public interface, and version
everything else.

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
This commit is contained in:
Russ Allbery
2013-12-15 23:09:53 -08:00
committed by Love Hörnquist Åstrand
parent 27c3ada0f6
commit 22c7f07ed8
2 changed files with 58 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ libkadm5srv_la_LDFLAGS = -version-info 8:1:0
libkadm5clnt_la_LDFLAGS = -version-info 7:1:0 libkadm5clnt_la_LDFLAGS = -version-info 7:1:0
if versionscript if versionscript
libkadm5clnt_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script-client.map
libkadm5srv_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map libkadm5srv_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
endif endif

View File

@@ -0,0 +1,57 @@
HEIMDAL_KADM5_CLIENT_1.0 {
global:
et_kadm5_error_table;
initialize_kadm5_error_table;
initialize_kadm5_error_table_r;
kadm5_ad_init_with_password;
kadm5_ad_init_with_password_ctx;
kadm5_c_chpass_principal;
kadm5_c_chpass_principal_with_key;
kadm5_c_create_principal;
kadm5_c_delete_principal;
kadm5_c_destroy;
kadm5_c_flush;
kadm5_c_get_principal;
kadm5_c_get_principals;
kadm5_c_get_privs;
kadm5_c_init_with_creds;
kadm5_c_init_with_creds_ctx;
kadm5_c_init_with_password;
kadm5_c_init_with_password_ctx;
kadm5_c_init_with_skey;
kadm5_c_init_with_skey_ctx;
kadm5_c_modify_principal;
kadm5_c_randkey_principal;
kadm5_c_rename_principal;
kadm5_chpass_principal;
kadm5_chpass_principal_with_key;
kadm5_create_principal;
kadm5_delete_principal;
kadm5_destroy;
kadm5_flush;
kadm5_free_key_data;
kadm5_free_name_list;
kadm5_free_principal_ent;
kadm5_get_principal;
kadm5_get_principals;
kadm5_get_privs;
kadm5_init_with_creds;
kadm5_init_with_creds_ctx;
kadm5_init_with_password;
kadm5_init_with_password_ctx;
kadm5_init_with_skey;
kadm5_init_with_skey_ctx;
kadm5_modify_principal;
kadm5_randkey_principal;
kadm5_rename_principal;
kadm5_ret_key_data;
kadm5_ret_principal_ent;
kadm5_ret_principal_ent_mask;
kadm5_ret_tl_data;
kadm5_store_key_data;
kadm5_store_principal_ent;
kadm5_store_principal_ent_mask;
kadm5_store_tl_data;
local:
*;
};