summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-06-27 11:31:49 +0200
committerStefan Metzmacher <metze@samba.org>2008-06-27 12:43:04 +0200
commit31cf1a781efce932d0574d7840979fcd0a07ec08 (patch)
tree9db1edfe906a4e9a561b9ebe2da7dff9f23238d3
parent7b6927832a1118b142d0d8a3a5548761f5a04f1a (diff)
downloadsamba-31cf1a781efce932d0574d7840979fcd0a07ec08.tar.gz
credentials: gss_set_cred_option() doesn't like GSS_C_NO_BUFFER
metze
-rw-r--r--source/auth/credentials/credentials_krb5.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/auth/credentials/credentials_krb5.c b/source/auth/credentials/credentials_krb5.c
index 583469edae1..a880486f0fc 100644
--- a/source/auth/credentials/credentials_krb5.c
+++ b/source/auth/credentials/credentials_krb5.c
@@ -359,11 +359,14 @@ _PUBLIC_ int cli_credentials_get_client_gss_creds(struct cli_credentials *cred,
OM_uint32 maj_stat, min_stat;
struct gssapi_creds_container *gcc;
struct ccache_container *ccache;
+ gss_buffer_desc empty_buffer = GSS_C_EMPTY_BUFFER;
+
if (cred->client_gss_creds_obtained >= cred->client_gss_creds_threshold &&
cred->client_gss_creds_obtained > CRED_UNINITIALISED) {
*_gcc = cred->client_gss_creds;
return 0;
}
+
ret = cli_credentials_get_ccache(cred, event_ctx, lp_ctx,
&ccache);
if (ret) {
@@ -391,7 +394,7 @@ _PUBLIC_ int cli_credentials_get_client_gss_creds(struct cli_credentials *cred,
/* don't force GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG */
maj_stat = gss_set_cred_option(&min_stat, &gcc->creds,
GSS_KRB5_CRED_NO_CI_FLAGS_X,
- GSS_C_NO_BUFFER);
+ &empty_buffer);
if (maj_stat) {
talloc_free(gcc);
if (min_stat) {