From: Michal Voců Date: Thu, 23 Aug 2012 13:28:14 +0000 (+0000) Subject: added parameter to indicate type of credentials to require X-Git-Tag: glite-jobid-api-c_R_2_2_2_1~16 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=0db9f0933e53c8b739f3a8a2bb845241370bb68e;p=jra1mw.git added parameter to indicate type of credentials to require --- diff --git a/org.glite.lbjp-common.gss/interface/glite_gss.h b/org.glite.lbjp-common.gss/interface/glite_gss.h index 6fffffb..87b8e0e 100644 --- a/org.glite.lbjp-common.gss/interface/glite_gss.h +++ b/org.glite.lbjp-common.gss/interface/glite_gss.h @@ -83,10 +83,15 @@ edg_wll_gss_finalize(void); int edg_wll_gss_acquire_cred(const char *cert_file, const char *key_file, + const gss_cred_usage_t cred_usage, edg_wll_GssCred *cred, edg_wll_GssStatus* gss_code); -#define edg_wll_gss_acquire_cred_gsi edg_wll_gss_acquire_cred +int +edg_wll_gss_acquire_cred_gsi(const char *cert_file, + const char *key_file, + edg_wll_GssCred *cred, + edg_wll_GssStatus* gss_code); int edg_wll_gss_release_cred(edg_wll_GssCred *cred, diff --git a/org.glite.lbjp-common.gss/src/glite_gss.c b/org.glite.lbjp-common.gss/src/glite_gss.c index eae4691..7f61b4a 100644 --- a/org.glite.lbjp-common.gss/src/glite_gss.c +++ b/org.glite.lbjp-common.gss/src/glite_gss.c @@ -694,14 +694,15 @@ int edg_wll_gss_acquire_cred_gsi(const char *cert_file, const char *key_file, edg_wll_GssCred *cred, edg_wll_GssStatus* gss_code) { - return edg_wll_gss_acquire_cred(cert_file, key_file, cred, gss_code); + return edg_wll_gss_acquire_cred(cert_file, key_file, GSS_C_BOTH, cred, gss_code); } /** Load or reload credentials. It should be called regularly (credential files can be changed). @see edg_wll_gss_watch_creds */ int -edg_wll_gss_acquire_cred(const char *cert_file, const char *key_file, edg_wll_GssCred *cred, +edg_wll_gss_acquire_cred(const char *cert_file, const char *key_file, const gss_cred_usage_t cred_usage, + edg_wll_GssCred *cred, edg_wll_GssStatus* gss_code) { OM_uint32 major_status = 0, minor_status, minor_status2; @@ -747,7 +748,7 @@ edg_wll_gss_acquire_cred(const char *cert_file, const char *key_file, edg_wll_Gs mechs.elements = get_oid(mech_name); major_status = gss_acquire_cred(&minor_status, GSS_C_NO_NAME, 0, - &mechs, GSS_C_BOTH, + &mechs, cred_usage, &gss_cred, NULL, NULL); if (GSS_ERROR(major_status)) { ret = EDG_WLL_GSS_ERROR_GSS;