[SCM] Samba Shared Repository - branch v3-6-test updated

Karolin Seeger kseeger at samba.org
Thu Aug 23 12:14:36 MDT 2012


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 <hlewis at panasas.com>
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 <jra at samba.org>

commit c4dadb5867111029c90fd395b64217a23d53f722
Author: Jeremy Allison <jra at samba.org>
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


More information about the samba-cvs mailing list