(ftp_do_gss_delegate): delegate creds (default on)
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13231 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -42,6 +42,7 @@
|
|||||||
RCSID("$Id$");
|
RCSID("$Id$");
|
||||||
|
|
||||||
int ftp_do_gss_bindings = 0;
|
int ftp_do_gss_bindings = 0;
|
||||||
|
int ftp_do_gss_delegate = 1;
|
||||||
|
|
||||||
struct gss_data {
|
struct gss_data {
|
||||||
gss_ctx_id_t context_hdl;
|
gss_ctx_id_t context_hdl;
|
||||||
@@ -344,6 +345,7 @@ gss_auth(void *app_data, char *host)
|
|||||||
int n;
|
int n;
|
||||||
gss_channel_bindings_t bindings;
|
gss_channel_bindings_t bindings;
|
||||||
struct gss_data *d = app_data;
|
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;
|
const char *knames[] = { "ftp", "host", NULL }, **kname = knames;
|
||||||
|
|
||||||
@@ -371,14 +373,16 @@ gss_auth(void *app_data, char *host)
|
|||||||
} else
|
} else
|
||||||
bindings = GSS_C_NO_CHANNEL_BINDINGS;
|
bindings = GSS_C_NO_CHANNEL_BINDINGS;
|
||||||
|
|
||||||
|
if (ftp_do_gss_delegate)
|
||||||
|
mech_flags |= GSS_C_DELEG_FLAG;
|
||||||
|
|
||||||
while(!context_established) {
|
while(!context_established) {
|
||||||
maj_stat = gss_init_sec_context(&min_stat,
|
maj_stat = gss_init_sec_context(&min_stat,
|
||||||
GSS_C_NO_CREDENTIAL,
|
GSS_C_NO_CREDENTIAL,
|
||||||
&d->context_hdl,
|
&d->context_hdl,
|
||||||
target_name,
|
target_name,
|
||||||
GSS_C_NO_OID,
|
GSS_C_NO_OID,
|
||||||
GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG
|
mech_flags,
|
||||||
| GSS_C_DELEG_FLAG,
|
|
||||||
0,
|
0,
|
||||||
bindings,
|
bindings,
|
||||||
&input,
|
&input,
|
||||||
|
Reference in New Issue
Block a user