summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gdeschner@redhat.com>2012-09-17 15:01:27 +0200
committerGünther Deschner <gdeschner@redhat.com>2012-10-18 17:45:59 +0200
commit8c8f7ea096d6b90d209702264313806e8cea8729 (patch)
tree37b275214016a0eb39d4517dfd7ac948a6b9616c
parentcb7653d1e663a6b3bfc564cda0c9ad4afc579d2a (diff)
downloadgss-proxy-master-interposetest.tar.gz
gss-proxy-master-interposetest.tar.xz
gss-proxy-master-interposetest.zip
-rw-r--r--proxy/src/mechglue/gss_plugin.c2
-rw-r--r--proxy/tests/interposetest.c42
2 files changed, 44 insertions, 0 deletions
diff --git a/proxy/src/mechglue/gss_plugin.c b/proxy/src/mechglue/gss_plugin.c
index fd5d82d..82fb205 100644
--- a/proxy/src/mechglue/gss_plugin.c
+++ b/proxy/src/mechglue/gss_plugin.c
@@ -105,6 +105,8 @@ gss_OID_set gss_mech_interposer(gss_OID mech_type)
return NULL;
}
+ /* check variable */
+
interposed_mechs = NULL;
maj = 0;
if (gss_oid_equal(&gssproxy_mech_interposer, mech_type)) {
diff --git a/proxy/tests/interposetest.c b/proxy/tests/interposetest.c
index 4878a40..8b25540 100644
--- a/proxy/tests/interposetest.c
+++ b/proxy/tests/interposetest.c
@@ -159,6 +159,7 @@ static int gptest_inq_context(gss_ctx_id_t ctx)
DEBUG("Context validity: %d sec.\n", time_rec);
}
+// XXX test export names here
done:
(void)gss_release_buffer(&min, &sname);
(void)gss_release_buffer(&min, &tname);
@@ -402,7 +403,48 @@ void run_client(struct aproc *data)
goto done;
}
#endif
+#if 0
+ gss_buffer_desc pac_buffer = GSS_C_EMPTY_BUFFER;
+ gss_buffer_desc pac_display_buffer = GSS_C_EMPTY_BUFFER;
+ gss_buffer_desc pac_name = GSS_C_EMPTY_BUFFER;
+ gss_buffer_desc username = GSS_C_EMPTY_BUFFER;
+ gss_name_t _username = GSS_C_NO_NAME;
+
+ int more = -1;
+ int authenticated = 0;
+ int complete = 0;
+
+ pac_name.value = "urn:mspac:";
+ pac_name.length = strlen(pac_name.value)-1;
+
+ username.value = "administrator@W2K8DOM.BER.REDHAT.COM";
+ username.length = strlen(username.value)-1;
+
+ ret_maj = gss_import_name(&ret_min,
+ &username,
+ GSS_C_NT_USER_NAME,
+ &_username);
+ if (ret_maj) {
+ DEBUG("gss_import_name failed: %d\n", ret_maj);
+ gp_log_failure(GSS_C_NO_OID, ret_maj, ret_min);
+ goto done;
+ }
+ ret_maj = gss_get_name_attribute(&ret_min,
+ _username,
+ &pac_name,
+ &authenticated,
+ &complete,
+ &pac_buffer,
+ &pac_display_buffer,
+ &more);
+ if (ret_maj) {
+ DEBUG("gss_get_name_attribute failed: %d\n", ret_maj);
+ gp_log_failure(GSS_C_NO_OID, ret_maj, ret_min);
+ goto done;
+ }
+
+#endif
ret_maj = gss_delete_sec_context(&ret_min, &ctx, &out_token);
if (ret_maj != GSS_S_COMPLETE) {
DEBUG("Failed to delete context!\n");