The branch, v4-2-test has been updated
       via  aec25b0 libads: record session expiry for spnego sasl binds
      from  9729bdc build: mark explicit dependencies on pytalloc-util

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-2-test


- Log -----------------------------------------------------------------
commit aec25b0cc232286c3e4d85de7f00483c09f7c66e
Author: Uri Simchoni <u...@samba.org>
Date:   Mon Apr 18 23:08:38 2016 +0300

    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 <u...@samba.org>
    Reviewed-by: Andrew Bartlett <abart...@samba.org>
    
    Autobuild-User(master): Uri Simchoni <u...@samba.org>
    Autobuild-Date(master): Tue Apr 19 16:53:57 CEST 2016 on sn-devel-144
    
    (cherry picked from commit 34482eb7cc3d74c8de510309332e8ab176d0f3c0)
    
    Autobuild-User(v4-2-test): Karolin Seeger <ksee...@samba.org>
    Autobuild-Date(v4-2-test): Tue Apr 26 12:00:48 CEST 2016 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 source3/libads/sasl.c | 9 +++++++++
 1 file changed, 9 insertions(+)


Changeset truncated at 500 lines:

diff --git a/source3/libads/sasl.c b/source3/libads/sasl.c
index 22aa9cf..b8d4527 100644
--- a/source3/libads/sasl.c
+++ b/source3/libads/sasl.c
@@ -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);


-- 
Samba Shared Repository

Reply via email to