s4:auth/gensec: implement gensec_gssapi_expire_time()
authorStefan Metzmacher <metze@samba.org>
Sat, 3 Mar 2012 03:33:55 +0000 (04:33 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 16 May 2012 06:10:10 +0000 (08:10 +0200)
metze

source4/auth/gensec/gensec_gssapi.c

index fedd1c831c437fd4f20208af2767077886245ff8..787ef9c559a6a2f7c01ba1846a89a44a971f7018 100644 (file)
@@ -129,6 +129,7 @@ static NTSTATUS gensec_gssapi_start(struct gensec_security *gensec_security)
        gensec_gssapi_state->client_name = GSS_C_NO_NAME;
        
        gensec_gssapi_state->gss_want_flags = 0;
+       gensec_gssapi_state->expire_time = GENSEC_EXPIRE_TIME_INFINITY;
 
        if (gensec_setting_bool(gensec_security->settings, "gensec_gssapi", "delegation_by_kdc_policy", true)) {
                gensec_gssapi_state->gss_want_flags |= GSS_C_DELEG_POLICY_FLAG;
@@ -1260,6 +1261,15 @@ static bool gensec_gssapi_have_feature(struct gensec_security *gensec_security,
        return false;
 }
 
+static NTTIME gensec_gssapi_expire_time(struct gensec_security *gensec_security)
+{
+       struct gensec_gssapi_state *gensec_gssapi_state =
+               talloc_get_type_abort(gensec_security->private_data,
+               struct gensec_gssapi_state);
+
+       return gensec_gssapi_state->expire_time;
+}
+
 /*
  * Extract the 'sesssion key' needed by SMB signing and ncacn_np 
  * (for encrypting some passwords).
@@ -1470,6 +1480,7 @@ static const struct gensec_security_ops gensec_gssapi_spnego_security_ops = {
        .wrap           = gensec_gssapi_wrap,
        .unwrap         = gensec_gssapi_unwrap,
        .have_feature   = gensec_gssapi_have_feature,
+       .expire_time    = gensec_gssapi_expire_time,
        .enabled        = false,
        .kerberos       = true,
        .priority       = GENSEC_GSSAPI
@@ -1494,6 +1505,7 @@ static const struct gensec_security_ops gensec_gssapi_krb5_security_ops = {
        .wrap           = gensec_gssapi_wrap,
        .unwrap         = gensec_gssapi_unwrap,
        .have_feature   = gensec_gssapi_have_feature,
+       .expire_time    = gensec_gssapi_expire_time,
        .enabled        = true,
        .kerberos       = true,
        .priority       = GENSEC_GSSAPI
@@ -1513,6 +1525,7 @@ static const struct gensec_security_ops gensec_gssapi_sasl_krb5_security_ops = {
        .wrap             = gensec_gssapi_wrap,
        .unwrap           = gensec_gssapi_unwrap,
        .have_feature     = gensec_gssapi_have_feature,
+       .expire_time      = gensec_gssapi_expire_time,
        .enabled          = true,
        .kerberos         = true,
        .priority         = GENSEC_GSSAPI