From bcc0935fca5f97a720dda4ba7e929a1b4fb6b5ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Fri, 19 Dec 2003 00:49:08 +0000 Subject: [PATCH] (ftp_do_gss_delegate): delegate creds (default on) git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13231 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/ftp/ftp/gssapi.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/appl/ftp/ftp/gssapi.c b/appl/ftp/ftp/gssapi.c index 0dc514320..20a3b282b 100644 --- a/appl/ftp/ftp/gssapi.c +++ b/appl/ftp/ftp/gssapi.c @@ -42,6 +42,7 @@ RCSID("$Id$"); int ftp_do_gss_bindings = 0; +int ftp_do_gss_delegate = 1; struct gss_data { gss_ctx_id_t context_hdl; @@ -344,6 +345,7 @@ gss_auth(void *app_data, char *host) int n; gss_channel_bindings_t bindings; struct gss_data *d = app_data; + OM_uint32 mech_flags = GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG; const char *knames[] = { "ftp", "host", NULL }, **kname = knames; @@ -371,14 +373,16 @@ gss_auth(void *app_data, char *host) } else bindings = GSS_C_NO_CHANNEL_BINDINGS; + if (ftp_do_gss_delegate) + mech_flags |= GSS_C_DELEG_FLAG; + while(!context_established) { maj_stat = gss_init_sec_context(&min_stat, GSS_C_NO_CREDENTIAL, &d->context_hdl, target_name, GSS_C_NO_OID, - GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG - | GSS_C_DELEG_FLAG, + mech_flags, 0, bindings, &input,