The Samba-Bugzilla – Attachment 7947 Details for
Bug 9196
defer_open is triggered multiple times on the same request
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
backported patch for 3.6.next.
0001-s3-smb2_create-don-t-take-state-te-as-indication-for.patch (text/plain), 2.09 KB, created by
Jeremy Allison
on 2012-09-26 22:40:13 UTC
(
hide
)
Description:
backported patch for 3.6.next.
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2012-09-26 22:40:13 UTC
Size:
2.09 KB
patch
obsolete
>From 21f90c1a251e2bf281305377309bf8b809d441de Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Wed, 26 Sep 2012 15:39:01 -0700 >Subject: [PATCH] s3:smb2_create: don't take 'state->te' as indication for > "was_deferred" (bug #9196) > >We always set state->te = NULL of TALLOC_FREE(state->te), >before calling smbd_smb2_request_dispatch(), so >open_was_deferred_smb2() always returned false, while dispatching >it again. > >But it's remove_deferred_open_message_smb2_internal() which >should reset this state. > >In developer mode validate_my_share_entries() did call smb_panic() >before. > >metze > >Back-port of master commit 4604219ceba96955b3c4bf6ab31aa70c11442d61. > >Signed-off-by: Jeremy Allison <jra@samba.org> >--- > source3/smbd/smb2_create.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > >diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c >index c6e3fc3..5a9044d 100644 >--- a/source3/smbd/smb2_create.c >+++ b/source3/smbd/smb2_create.c >@@ -386,6 +386,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *tsubreq) > struct smbd_smb2_create_state { > struct smbd_smb2_request *smb2req; > struct smb_request *smb1req; >+ bool open_was_deferred; > struct timed_event *te; > struct tevent_immediate *im; > struct timeval request_time; >@@ -964,7 +965,7 @@ bool open_was_deferred_smb2(struct smbd_server_connection *sconn, uint64_t mid) > return false; > } > /* It's not in progress if there's no timeout event. */ >- if (!state->te) { >+ if (!state->open_was_deferred) { > return false; > } > >@@ -995,6 +996,7 @@ static void remove_deferred_open_message_smb2_internal(struct smbd_smb2_request > "mid %llu\n", > (unsigned long long)mid )); > >+ state->open_was_deferred = false; > /* Ensure we don't have any outstanding timer event. */ > TALLOC_FREE(state->te); > /* Ensure we don't have any outstanding immediate event. */ >@@ -1238,6 +1240,7 @@ bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req, > &end_time, > true) )); > >+ state->open_was_deferred = true; > state->te = event_add_timed(smb2req->sconn->smb2.event_ctx, > state, > end_time, >-- >1.7.7.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 9196
:
7925
|
7937
|
7938
|
7939
|
7946
|
7947
|
7958
|
7959
|
7990
|
7994
|
8348
|
8349
|
8350