The branch, v3-6-test has been updated
       via  733dbbb Fix bug #9104 - winbindd can mis-identify idle clients - 
can cause crashes and NDR parsing errors.
       via  c4dadb5 Ensure we keep last_access up to date when processing a 
request.
      from  10d2193 Fix smbclient/tarmode panic on connecting to Windows 2000 
clients.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 733dbbb5e71fe24c46206d3497aa4067138f375d
Author: Herb Lewis <[email protected]>
Date:   Mon Aug 20 14:51:28 2012 -0700

    Fix bug #9104 - winbindd can mis-identify idle clients - can cause crashes 
and NDR parsing errors.
    
    A connection is idle when both struct winbindd_cli_state->request AND
    struct winbindd_cli_state->response are NULL. Otherwise we can flag
    as idle a connection in the state of having sent the request to
    the winbindd child (request != NULL) but not yet received a reply
    (response == NULL).
    (cherry picked from commit f6f27baa92a20d5beeee23b8e1e86f0c9ace85b8)
    
    Signed-off-by: Jeremy Allison <[email protected]>

commit c4dadb5867111029c90fd395b64217a23d53f722
Author: Jeremy Allison <[email protected]>
Date:   Mon Aug 20 15:21:26 2012 -0700

    Ensure we keep last_access up to date when processing a request.

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

Summary of changes:
 source3/winbindd/winbindd.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 15aafeb..30771eb 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -588,6 +588,7 @@ static void process_request(struct winbindd_cli_state 
*state)
 
        state->cmd_name = "unknown request";
        state->recv_fn = NULL;
+       state->last_access = time(NULL);
 
        /* Process command */
 
@@ -889,7 +890,8 @@ static void remove_client(struct winbindd_cli_state *state)
 /* Is a client idle? */
 
 static bool client_is_idle(struct winbindd_cli_state *state) {
-  return (state->response == NULL &&
+  return (state->request == NULL &&
+         state->response == NULL &&
          !state->pwent_state && !state->grent_state);
 }
 


-- 
Samba Shared Repository

Reply via email to