mirror of
https://github.com/samba-team/samba.git
synced 2025-01-24 02:04:21 +03:00
libads: record session expiry for spnego sasl binds
With the move to gensec-based spnego, record the session expiry in tgs_expire, so that libads users such as winbindd can use this info to determine how long to keep the connection. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11852 Signed-off-by: Uri Simchoni <uri@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Uri Simchoni <uri@samba.org> Autobuild-Date(master): Tue Apr 19 16:53:57 CEST 2016 on sn-devel-144
This commit is contained in:
parent
90737fb2e2
commit
34482eb7cc
@ -134,6 +134,7 @@ static ADS_STATUS ads_sasl_spnego_gensec_bind(ADS_STRUCT *ads,
|
||||
struct auth_generic_state *auth_generic_state;
|
||||
bool use_spnego_principal = lp_client_use_spnego_principal();
|
||||
const char *sasl_list[] = { sasl, NULL };
|
||||
NTTIME end_nt_time;
|
||||
|
||||
nt_status = auth_generic_client_prepare(NULL, &auth_generic_state);
|
||||
if (!NT_STATUS_IS_OK(nt_status)) {
|
||||
@ -307,6 +308,14 @@ static ADS_STATUS ads_sasl_spnego_gensec_bind(ADS_STRUCT *ads,
|
||||
}
|
||||
}
|
||||
|
||||
ads->auth.tgs_expire = LONG_MAX;
|
||||
end_nt_time = gensec_expire_time(auth_generic_state->gensec_security);
|
||||
if (end_nt_time != GENSEC_EXPIRE_TIME_INFINITY) {
|
||||
struct timeval tv;
|
||||
nttime_to_timeval(&tv, end_nt_time);
|
||||
ads->auth.tgs_expire = tv.tv_sec;
|
||||
}
|
||||
|
||||
if (ads->ldap.wrap_type > ADS_SASLWRAP_TYPE_PLAIN) {
|
||||
size_t max_wrapped = gensec_max_wrapped_size(auth_generic_state->gensec_security);
|
||||
ads->ldap.out.max_unwrapped = gensec_max_input_size(auth_generic_state->gensec_security);
|
||||
|
Loading…
x
Reference in New Issue
Block a user