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

Karolin Seeger kseeger at samba.org
Thu Aug 23 12:15:03 MDT 2012


The branch, v3-5-test has been updated
       via  36dc8a0 Fix bug #9104 - winbindd can mis-identify idle clients - can cause crashes and NDR parsing errors.
       via  e01df21 Ensure we keep last_access up to date when processing a request.
      from  b27caac s3: Fix a crash in reply_lockingX_error

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


- Log -----------------------------------------------------------------
commit 36dc8a0f40a38d9c03570856cb4c843b74c1c7bd
Author: Herb Lewis <hlewis at panasas.com>
Date:   Mon Aug 20 16:03: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).

commit e01df21a5dbe8f3d401d58de6cffa4d4ba340a24
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 ca5a53b..4442c73 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -566,6 +566,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 */
 
@@ -871,7 +872,8 @@ static bool remove_idle_client(void)
 	int nidle = 0;
 
 	for (state = winbindd_client_list(); state; state = state->next) {
-		if (state->response == NULL &&
+		if (state->request == NULL &&
+		    state->response == NULL &&
 		    !state->pwent_state && !state->grent_state) {
 			nidle++;
 			if (!last_access || state->last_access < last_access) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list