Added Curl_gss_init_sec_context.

This function wraps our calls to gss_init_sec_context so that we
have a unified way to talk to GSSAPI.
This commit is contained in:
Julien Chaffraix
2011-06-10 08:16:06 -07:00
parent 6488e03f44
commit 20485a4885
6 changed files with 151 additions and 53 deletions

View File

@@ -36,6 +36,7 @@
#include "urldata.h"
#include "sendf.h"
#include "gssapi.h"
#include "rawstr.h"
#include "curl_base64.h"
#include "http_negotiate.h"
@@ -238,19 +239,20 @@ int Curl_input_negotiate(struct connectdata *conn, bool proxy,
#endif
}
major_status = gss_init_sec_context(&minor_status,
GSS_C_NO_CREDENTIAL,
&neg_ctx->context,
neg_ctx->server_name,
GSS_C_NO_OID,
GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG,
0,
GSS_C_NO_CHANNEL_BINDINGS,
&input_token,
NULL,
&output_token,
NULL,
NULL);
major_status = Curl_gss_init_sec_context(&minor_status,
GSS_C_NO_CREDENTIAL,
&neg_ctx->context,
neg_ctx->server_name,
GSS_C_NO_OID,
GSS_C_MUTUAL_FLAG
| GSS_C_REPLAY_FLAG,
0,
GSS_C_NO_CHANNEL_BINDINGS,
&input_token,
NULL,
&output_token,
NULL,
NULL);
if(input_token.length > 0)
gss_release_buffer(&minor_status2, &input_token);
neg_ctx->status = major_status;