From: Zdeněk Salvet Date: Tue, 28 Aug 2007 09:35:28 +0000 (+0000) Subject: edg_wll_gss_equal_subj() certificate subject comparison routine added. X-Git-Tag: glite-security-gsoap-plugin_R_1_5_0_1~1 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=ee392542a66ec015ae4de1755862f0f5e77de8d4;p=jra1mw.git edg_wll_gss_equal_subj() certificate subject comparison routine added. --- diff --git a/org.glite.security.gsoap-plugin/interface/glite_gss.h b/org.glite.security.gsoap-plugin/interface/glite_gss.h index fd1739a..9434787 100644 --- a/org.glite.security.gsoap-plugin/interface/glite_gss.h +++ b/org.glite.security.gsoap-plugin/interface/glite_gss.h @@ -106,6 +106,12 @@ int edg_wll_gss_oid_equal(const gss_OID a, const gss_OID b); +char * +edg_wll_gss_normalize_subj(char *, int ); + +int +edg_wll_gss_equal_subj(const char *, const char *); + /* int edg_wll_gss_get_name(gss_cred_id_t cred, char **name); diff --git a/org.glite.security.gsoap-plugin/src/glite_gss.c b/org.glite.security.gsoap-plugin/src/glite_gss.c index c2c34f9..1fe14f3 100644 --- a/org.glite.security.gsoap-plugin/src/glite_gss.c +++ b/org.glite.security.gsoap-plugin/src/glite_gss.c @@ -1077,3 +1077,21 @@ edg_wll_gss_normalize_subj(char *in, int replace_in) return new; } + +int +edg_wll_gss_equal_subj(const char *a, const char *b) +{ + char *an,*bn; + int res; + + an = edg_wll_gss_normalize_subj((char*)a, 0); + bn = edg_wll_gss_normalize_subj((char*)b, 0); + + if (!an || !bn) + res = 0; + else + res = !strcmp(an,bn); + + free(an); free(bn); + return res; +}