diff options
author | Simo Sorce <simo@redhat.com> | 2012-01-30 19:27:18 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-02-01 17:56:34 -0500 |
commit | 6c126d395d1a42d31a568d1ba53a772421a3d955 (patch) | |
tree | b658807b9ba370e8aa07974c7eae1c44244b2bbb /proxy/tests | |
parent | f21b071ad6825da008cafe9ac2cad4a68788b8c5 (diff) | |
download | gss-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.c | 20 |
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); } |