]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Load import/export cred functions from GSS modules
authorSimo Sorce <simo@redhat.com>
Sat, 20 Jul 2013 17:20:43 +0000 (13:20 -0400)
committerGreg Hudson <ghudson@mit.edu>
Sun, 21 Jul 2013 06:24:11 +0000 (02:24 -0400)
When the import/export credential feature was implement the related
functions were added to struct gss_config, but the initialization
function that dynamically loads modules was not changed to see if
the plugin being loaded provided such functions.

This will allow non-builtin mechanism and interposer mechanism to
implement custom import/export credential extensions if they wish.

ticket: 7682

src/lib/gssapi/mechglue/g_initialize.c

index 70cc4eed7434a6fb0831915053087b52fb55667f..48a825e3bb70f5514dbbae4493f0c761aedb8bd0 100644 (file)
@@ -683,6 +683,8 @@ build_dynamicMech(void *dl, const gss_OID mech_type)
        GSS_ADD_DYNAMIC_METHOD(dl, mech, gss_acquire_cred_from);
        GSS_ADD_DYNAMIC_METHOD(dl, mech, gss_store_cred_into);
        GSS_ADD_DYNAMIC_METHOD(dl, mech, gssspi_acquire_cred_with_password);
+       GSS_ADD_DYNAMIC_METHOD(dl, mech, gss_export_cred);
+       GSS_ADD_DYNAMIC_METHOD(dl, mech, gss_import_cred);
        GSS_ADD_DYNAMIC_METHOD(dl, mech, gssspi_import_sec_context_by_mech);
        GSS_ADD_DYNAMIC_METHOD(dl, mech, gssspi_import_name_by_mech);
        GSS_ADD_DYNAMIC_METHOD(dl, mech, gssspi_import_cred_by_mech);
@@ -783,6 +785,8 @@ build_interMech(void *dl, const gss_OID mech_type)
        RESOLVE_GSSI_SYMBOL(dl, mech, gss, _acquire_cred_from);
        RESOLVE_GSSI_SYMBOL(dl, mech, gss, _store_cred_into);
        RESOLVE_GSSI_SYMBOL(dl, mech, gssspi, _acquire_cred_with_password);
+       RESOLVE_GSSI_SYMBOL(dl, mech, gss, _export_cred);
+       RESOLVE_GSSI_SYMBOL(dl, mech, gss, _import_cred);
        RESOLVE_GSSI_SYMBOL(dl, mech, gssspi, _import_sec_context_by_mech);
        RESOLVE_GSSI_SYMBOL(dl, mech, gssspi, _import_name_by_mech);
        RESOLVE_GSSI_SYMBOL(dl, mech, gssspi, _import_cred_by_mech);