summaryrefslogtreecommitdiffstats
path: root/proxy/tests
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-01-30 19:27:18 -0500
committerSimo Sorce <simo@redhat.com>2012-02-01 17:56:34 -0500
commit6c126d395d1a42d31a568d1ba53a772421a3d955 (patch)
treeb658807b9ba370e8aa07974c7eae1c44244b2bbb /proxy/tests
parentf21b071ad6825da008cafe9ac2cad4a68788b8c5 (diff)
downloadgss-proxy-6c126d395d1a42d31a568d1ba53a772421a3d955.tar.gz
gss-proxy-6c126d395d1a42d31a568d1ba53a772421a3d955.tar.xz
gss-proxy-6c126d395d1a42d31a568d1ba53a772421a3d955.zip
Modify accept_context test to use acquire_cred
Diffstat (limited to 'proxy/tests')
-rw-r--r--proxy/tests/accept_context.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/proxy/tests/accept_context.c b/proxy/tests/accept_context.c
index c12de0a..2f42cdf 100644
--- a/proxy/tests/accept_context.c
+++ b/proxy/tests/accept_context.c
@@ -298,7 +298,7 @@ done:
gss_release_name(&ret_min, &name);
gss_release_buffer(&ret_min, &out_token);
close(data->cli_pipe[0]);
- close(data->cli_pipe[1]);
+ close(data->srv_pipe[1]);
pthread_exit(NULL);
}
@@ -311,6 +311,7 @@ void *server_thread(void *pvt)
uint32_t ret_maj;
uint32_t ret_min;
gss_ctx_id_t context_handle = GSS_C_NO_CONTEXT;
+ gss_cred_id_t cred_handle = GSS_C_NO_CREDENTIAL;
gss_name_t src_name;
gss_buffer_desc out_token = GSS_C_EMPTY_BUFFER;
gss_cred_id_t deleg_cred = GSS_C_NO_CREDENTIAL;
@@ -331,12 +332,25 @@ void *server_thread(void *pvt)
goto done;
}
+ ret_maj = gpm_acquire_cred(&ret_min,
+ GSS_C_NO_NAME,
+ GSS_C_INDEFINITE,
+ GSS_C_NO_OID_SET,
+ GSS_C_ACCEPT,
+ &cred_handle,
+ NULL,
+ NULL);
+ if (ret_maj) {
+ fprintf(stdout, "gssproxy returned an error: %d\n", ret_maj);
+ goto done;
+ }
+
in_token.value = buffer;
in_token.length = buflen;
ret_maj = gpm_accept_sec_context(&ret_min,
&context_handle,
- GSS_C_NO_CREDENTIAL,
+ cred_handle,
&in_token,
GSS_C_NO_CHANNEL_BINDINGS,
&src_name,
@@ -365,7 +379,7 @@ done:
gpm_release_cred(&ret_min, &deleg_cred);
gpm_delete_sec_context(&ret_min, &context_handle, GSS_C_NO_BUFFER);
close(data->srv_pipe[0]);
- close(data->srv_pipe[1]);
+ close(data->cli_pipe[1]);
pthread_exit(NULL);
}