[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Sat Jun 12 07:44:42 MDT 2010


The branch, master has been updated
       via  14974ba... s3: Remove smbd_server_conn from cancel_pending_lock_requests_by_fid_smb2
       via  5dc2fe5... s3: Explicitly pass sconn to process_blocking_lock_queue_smb2
       via  2592928... s3: Remove smbd_server_conn from push_blocking_lock_request_smb2
       via  375ce3c... s3: Explicitly pass sconn to [remove|schedule]_deferred_open_message_smb2
       via  9747eb4... s3: Explicitly pass sconn to open_was_deferred_smb2
       via  c0240db... s3: Explicitly pass sconn to find_open_smb2req
       via  330a64c... s3: Explicitly pass sconn to process_blocking_lock_queue
       via  cb03710... s3: Remove smbd_server_conn from blocking_lock_cancel_smb1
       via  cc82523... s3: Explicitly pass sconn to recalc_brl_timeout
       via  ec2079f... s3: Explicitly pass sconn to blocking_lock_was_deferred_smb1
       via  f856fb0... s3: Explicitly pass sconn to remove_pending_lock_requests_by_mid_smb1
       via  91bd52d... s3: Remove smbd_server_conn from cancel_pending_lock_requests_by_fid
       via  034e616... s3: Remove smbd_server_conn from push_blocking_lock_request
       via  bfd5f24... s3: Remove smbd_server_conn from brl_timeout_fn
       via  6b8db9b... s3: Remove smbd_server_conn from switch_message
       via  a529fbb... s3: Remove smbd_server_conn from break_level2_to_none_async
       via  5d43180... s3: Explicitly pass sconn to the remove_pending_change_notify_request_by_mid
       via  f589909... s3: change_notify_reply() does not need its "conn" argument
       via  4a9b3e5... s3: Explicitly pass sconn to the change_notify_remove_request
       via  9386e2d... s3: Remove smbd_server_conn from change_notify_add_request
       via  2509eb4... s3: Remove smbd_server_conn from reply_sesssetup_and_X
       via  c03012e... s3: Fix a typo
       via  8de7bf1... s3: Remove smbd_server_conn from reply_sesssetup_and_X_spnego
       via  853b290... s3: Remove smbd_server_conn from reply_spnego_auth
       via  32900fd... s3: Remove smbd_server_conn from reply_spnego_negotiate
       via  0f852ab... s3: Remove smbd_server_conn from reply_spnego_ntlmssp
       via  2260dbe... s3: Remove smbd_server_conn from reply_spnego_kerberos
       via  89c5023... s3: Explicitly pass sconn to the api_ functions
       via  f437f12... s3: Remove smbd_server_conn from send_trans_reply
       via  391cb41... s3: Remove smbd_server_conn from reply_findclose
       via  93867d5... s3: Remove smbd_server_conn from call_trans2setfsinfo
       via  b250232... s3: Remove smbd_server_conn from smbd_do_qfsinfo
       via  b340953... s3: Remove smbd_server_conn from call_trans2findnext
       via  6608400... s3: Remove smbd_server_conn from call_trans2findfirst
       via  72b4afc... s3: Remove smbd_server_conn from send_trans2_replies
       via  29f7169... s3: Remove smbd_server_conn from register_existing_vuid
       via  dd192bb... s3: Explicitly pass sconn to is_valid_writeX_buffer
       via  73955a2... s3: Explicitly pass sconn to reply_readbraw_error
       via  d5f20ae... s3: Pass sconn explicitly to reply_special
       via  7223799... s3: Remove smbd_server_conn from smbd_do_locking
       via  5005ad2... s3: Remove smbd_server_conn from reply_rmdir
       via  0d6f3d6... s3: Remove smbd_server_conn from reply_writebraw
       via  8f8aac9... s3: Remove smbd_server_conn from reply_read_and_X
       via  e16476a... s3: Remove smbd_server_conn from send_file_readX
       via  993738d... s3: Remove smbd_server_conn from reply_read
       via  96acccf... s3: Remove smbd_server_conn from reply_lockread
       via  fd18918... s3: Remove smbd_server_conn from reply_readbraw
       via  2826471... s3: Remove smbd_server_conn from reply_send_file_readbraw
       via  f26b738... s3: Remove smbd_server_conn from reply_ulogoffX
       via  557aebc... s3: Remove smbd_server_conn from reply_fclose
       via  96854ec... s3: Remove smbd_server_conn from reply_search
       via  bf2f2f4... s3: Remove smbd_server_conn from reply_tcon_and_X
       via  0275502... s3: Remove smbd_server_conn from reply_tcon
       via  d724ac3... s3: Remove smbd_server_conn from make_connection_snum
       via  d04a896... s3: Remove smbd_server_conn from change_to_user
       via  5a2277c... s3: Remove smbd_server_conn from reply_ntcancel
       via  e01ee1c... s3: Remove smbd_server_conn from send_nt_replies
       via  b55a8e8... s3: Remove smbd_server_conn from reply_smb2002
       via  a45ea20... s3: Explicitly pass sconn to negprot_spnego()
       via  b82fc13... s3: Remove some global references to smbd_server_conn
       via  3087986... s3: Remove sconn arg from smbd_notify_cancel_by_smbreq
      from  546a264... s3: Initialize smb_request->sconn in smbd_smb2_fake_smb_request

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 14974ba1f1e23c3f960cc1c0dd4a1dcf0e5c5601
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:52:54 2010 +0200

    s3: Remove smbd_server_conn from cancel_pending_lock_requests_by_fid_smb2

commit 5dc2fe5fdccfcae24819f533371d8aea4280bce7
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:52:09 2010 +0200

    s3: Explicitly pass sconn to process_blocking_lock_queue_smb2

commit 2592928f00b0d53da1b5df328f454b9c9415754a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:50:08 2010 +0200

    s3: Remove smbd_server_conn from push_blocking_lock_request_smb2

commit 375ce3c96a695f447a09a8414735249e16cc7916
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:48:42 2010 +0200

    s3: Explicitly pass sconn to [remove|schedule]_deferred_open_message_smb2

commit 9747eb45d606222b8a8361a9e0a3d878b063551a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:44:53 2010 +0200

    s3: Explicitly pass sconn to open_was_deferred_smb2

commit c0240dbeecf74b5c3a681d919de8fb2cf3c7038e
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:43:12 2010 +0200

    s3: Explicitly pass sconn to find_open_smb2req

commit 330a64c72b1eb9f2fd87a74df82d54249c5f2b36
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:31:04 2010 +0200

    s3: Explicitly pass sconn to process_blocking_lock_queue

commit cb03710c76b120c5aa3e8a5df2001ffca015b80b
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:27:56 2010 +0200

    s3: Remove smbd_server_conn from blocking_lock_cancel_smb1

commit cc825231cd50c5214dc6167a441432a7751413bc
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:26:32 2010 +0200

    s3: Explicitly pass sconn to recalc_brl_timeout

commit ec2079f5d0d41aa580008efc43c9019764a68ec3
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:25:08 2010 +0200

    s3: Explicitly pass sconn to blocking_lock_was_deferred_smb1

commit f856fb0b359a21a786a62ea9f70043afcd6f8373
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:23:12 2010 +0200

    s3: Explicitly pass sconn to remove_pending_lock_requests_by_mid_smb1

commit 91bd52da1a96f7be60df93dfb1a629424b517f0c
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:18:55 2010 +0200

    s3: Remove smbd_server_conn from cancel_pending_lock_requests_by_fid

commit 034e616448d54a515ffd8a0b87baed09977854e2
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:18:15 2010 +0200

    s3: Remove smbd_server_conn from push_blocking_lock_request

commit bfd5f24fa1a9b8914ac81161b4612bdcfd408174
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 14:16:39 2010 +0200

    s3: Remove smbd_server_conn from brl_timeout_fn

commit 6b8db9b215395c41aa5cd18a3a6109f6aaca242a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 13:23:10 2010 +0200

    s3: Remove smbd_server_conn from switch_message

commit a529fbb713d99b73a20f54302ebd3faaf667458d
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 13:21:46 2010 +0200

    s3: Remove smbd_server_conn from break_level2_to_none_async

commit 5d43180a550b7b4ad4613e99437cb92a1ef7ebd9
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 13:20:17 2010 +0200

    s3: Explicitly pass sconn to the remove_pending_change_notify_request_by_mid

commit f589909eb1ef6117007948f54c291775141be645
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 13:17:51 2010 +0200

    s3: change_notify_reply() does not need its "conn" argument

commit 4a9b3e557f0a3b4049b301574461a39ef0e4ba09
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 13:13:20 2010 +0200

    s3: Explicitly pass sconn to the change_notify_remove_request

commit 9386e2d9d8c908a5424e244b0c049fbcfab07aa9
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:43:11 2010 +0200

    s3: Remove smbd_server_conn from change_notify_add_request

commit 2509eb4209a5568c4c96e34d3ccfd98bc94e60bd
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:39:47 2010 +0200

    s3: Remove smbd_server_conn from reply_sesssetup_and_X

commit c03012ea1c2111647f60d3d7cd79c1489b3d92eb
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:39:21 2010 +0200

    s3: Fix a typo

commit 8de7bf19b8138e6fd1d138d3594d129ed06aa011
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:39:00 2010 +0200

    s3: Remove smbd_server_conn from reply_sesssetup_and_X_spnego

commit 853b29066c54079974fd130ba52de96f070d6bb4
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:38:29 2010 +0200

    s3: Remove smbd_server_conn from reply_spnego_auth

commit 32900fdc97c2da365349506a0822a1b1b9b81ec6
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:38:09 2010 +0200

    s3: Remove smbd_server_conn from reply_spnego_negotiate

commit 0f852ab070881c9227c29c40777aa1836af73783
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:37:49 2010 +0200

    s3: Remove smbd_server_conn from reply_spnego_ntlmssp

commit 2260dbecc2a54f618f6407c111d33308469d193b
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:37:31 2010 +0200

    s3: Remove smbd_server_conn from reply_spnego_kerberos

commit 89c5023b2519cf4e189b9cdcc00bd551e577f16f
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:30:04 2010 +0200

    s3: Explicitly pass sconn to the api_ functions

commit f437f12d3eb67d148bde19f66005039c2a979e92
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:21:20 2010 +0200

    s3: Remove smbd_server_conn from send_trans_reply

commit 391cb416f610029d77cc72a628af8abdd7213206
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:10:37 2010 +0200

    s3: Remove smbd_server_conn from reply_findclose

commit 93867d5f3410c2c582aaa5eb2ac5eff42f27025a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:10:07 2010 +0200

    s3: Remove smbd_server_conn from call_trans2setfsinfo

commit b250232b8b86bb705c216460730e2db472d426e3
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:08:12 2010 +0200

    s3: Remove smbd_server_conn from smbd_do_qfsinfo

commit b340953881b8325a98afd3dc96ccf57c26a32f8c
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:06:14 2010 +0200

    s3: Remove smbd_server_conn from call_trans2findnext

commit 6608400e2d21f47a33872f9e365308b88309ac4f
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:05:37 2010 +0200

    s3: Remove smbd_server_conn from call_trans2findfirst

commit 72b4afc6998a6340c85c44c8da15beb02d268e32
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:05:12 2010 +0200

    s3: Remove smbd_server_conn from send_trans2_replies

commit 29f716971abd846425792203fc6289d6137d5167
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 12:02:47 2010 +0200

    s3: Remove smbd_server_conn from register_existing_vuid

commit dd192bb649341d0f2bd91350c7efe98dbdb47172
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:55:42 2010 +0200

    s3: Explicitly pass sconn to is_valid_writeX_buffer

commit 73955a2d92bff0dd78b42f9ec34835fb6a78583a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:53:25 2010 +0200

    s3: Explicitly pass sconn to reply_readbraw_error

commit d5f20aea73de38d0536b7ec3fa6b425bf3fdde34
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:50:56 2010 +0200

    s3: Pass sconn explicitly to reply_special

commit 7223799b6eb37d7d9e686ec75454ece7f02a9e17
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:49:02 2010 +0200

    s3: Remove smbd_server_conn from smbd_do_locking

commit 5005ad2e78ccd5f28d943f84016d4787e3bd61c2
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:48:06 2010 +0200

    s3: Remove smbd_server_conn from reply_rmdir

commit 0d6f3d64fa076c9d5185062c04139c36d28ee14d
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:47:33 2010 +0200

    s3: Remove smbd_server_conn from reply_writebraw

commit 8f8aac9c2fae57351785e28afc7096f9dc7be028
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:46:29 2010 +0200

    s3: Remove smbd_server_conn from reply_read_and_X

commit e16476ac4839199f71db2c1687388cc7e84ce2bc
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:45:24 2010 +0200

    s3: Remove smbd_server_conn from send_file_readX

commit 993738d3688d0d37e65661638b09c9d823db16c5
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:44:41 2010 +0200

    s3: Remove smbd_server_conn from reply_read

commit 96acccf26173d5e33362929330d4aae19d09fe92
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:44:14 2010 +0200

    s3: Remove smbd_server_conn from reply_lockread

commit fd1891829a60967114353e42dc3ee73b84e1ac33
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:43:53 2010 +0200

    s3: Remove smbd_server_conn from reply_readbraw

commit 2826471123857c3304763fee25c639f41cbd1d84
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:42:40 2010 +0200

    s3: Remove smbd_server_conn from reply_send_file_readbraw

commit f26b7384124df20f2bfefbed44586179ab3a563e
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:42:06 2010 +0200

    s3: Remove smbd_server_conn from reply_ulogoffX

commit 557aebc327d6b8db190debac5ccab53799182835
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:41:40 2010 +0200

    s3: Remove smbd_server_conn from reply_fclose

commit 96854ec994c15bb14fea6e540019001833c8db1a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:41:22 2010 +0200

    s3: Remove smbd_server_conn from reply_search

commit bf2f2f468c9bca7c4fbbfa778a25b366508b5048
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:41:00 2010 +0200

    s3: Remove smbd_server_conn from reply_tcon_and_X

commit 0275502b9ce870656e033791196c2c33330ca4b0
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:40:37 2010 +0200

    s3: Remove smbd_server_conn from reply_tcon

commit d724ac3e8c861b0fa59fd3fb9529af9c8aa0642e
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:39:03 2010 +0200

    s3: Remove smbd_server_conn from make_connection_snum

commit d04a89682a062e48dfd01f5b56899b84eb9220b6
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:34:38 2010 +0200

    s3: Remove smbd_server_conn from change_to_user

commit 5a2277ca2f2457b32eaf68f4539b037733022e4c
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:29:26 2010 +0200

    s3: Remove smbd_server_conn from reply_ntcancel

commit e01ee1c77d4c120f29dd636e40d9e71835f149f5
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:29:12 2010 +0200

    s3: Remove smbd_server_conn from send_nt_replies

commit b55a8e8ccf060be0e8aee92719ec1dab5d9736c1
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:26:51 2010 +0200

    s3: Remove smbd_server_conn from reply_smb2002

commit a45ea200c67ea1be4accc17d05513653c454556e
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:25:41 2010 +0200

    s3: Explicitly pass sconn to negprot_spnego()

commit b82fc135a760fc9d153e0fe5e86b28a08c98f92c
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 11:19:21 2010 +0200

    s3: Remove some global references to smbd_server_conn

commit 3087986e768e4d79d321dcb2062f883237b0794a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 12 13:08:31 2010 +0200

    s3: Remove sconn arg from smbd_notify_cancel_by_smbreq

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

Summary of changes:
 source3/include/proto.h      |   23 +++++----
 source3/modules/onefs_cbrl.c |    4 +-
 source3/smbd/blocking.c      |   40 +++++++-------
 source3/smbd/globals.h       |   17 ++++---
 source3/smbd/ipc.c           |    2 +-
 source3/smbd/lanman.c        |  118 +++++++++++++++++++++++++++---------------
 source3/smbd/negprot.c       |   24 ++++-----
 source3/smbd/notify.c        |   45 ++++++++--------
 source3/smbd/nttrans.c       |   10 ++--
 source3/smbd/oplock.c        |    2 +-
 source3/smbd/password.c      |    4 +-
 source3/smbd/process.c       |   13 +++--
 source3/smbd/reply.c         |   65 ++++++++++++-----------
 source3/smbd/service.c       |    2 +-
 source3/smbd/sesssetup.c     |   14 +++---
 source3/smbd/smb2_create.c   |   24 ++++++---
 source3/smbd/smb2_lock.c     |   10 ++--
 source3/smbd/smb2_negprot.c  |    4 +-
 source3/smbd/smb2_notify.c   |    5 +-
 source3/smbd/trans2.c        |   16 +++---
 source3/smbd/uid.c           |    3 +-
 21 files changed, 246 insertions(+), 199 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 7c1ca8c..2b2754c 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5355,7 +5355,7 @@ void brl_timeout_fn(struct event_context *event_ctx,
 		void *private_data);
 struct timeval timeval_brl_min(const struct timeval *tv1,
 			const struct timeval *tv2);
-void process_blocking_lock_queue(void);
+void process_blocking_lock_queue(struct smbd_server_connection *sconn);
 bool push_blocking_lock_request( struct byte_range_lock *br_lck,
 		struct smb_request *req,
 		files_struct *fsp,
@@ -5370,8 +5370,10 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck,
 void cancel_pending_lock_requests_by_fid(files_struct *fsp,
 			struct byte_range_lock *br_lck,
 			enum file_close_type close_type);
-void remove_pending_lock_requests_by_mid_smb1(uint64_t mid);
-bool blocking_lock_was_deferred_smb1(uint64_t mid);
+void remove_pending_lock_requests_by_mid_smb1(
+	struct smbd_server_connection *sconn, uint64_t mid);
+bool blocking_lock_was_deferred_smb1(
+	struct smbd_server_connection *sconn, uint64_t mid);
 struct blocking_lock_record *blocking_lock_cancel_smb1(files_struct *fsp,
 			uint64_t smblctx,
 			uint64_t offset,
@@ -5770,14 +5772,13 @@ void reply_negprot(struct smb_request *req);
 
 /* The following definitions come from smbd/notify.c  */
 
-void change_notify_reply(connection_struct *conn,
-			 struct smb_request *req,
+void change_notify_reply(struct smb_request *req,
 			 NTSTATUS error_code,
 			 uint32_t max_param,
 			 struct notify_change_buf *notify_buf,
 			 void (*reply_fn)(struct smb_request *req,
-				NTSTATUS error_code,
-				uint8_t *buf, size_t len));
+					  NTSTATUS error_code,
+					  uint8_t *buf, size_t len));
 NTSTATUS change_notify_create(struct files_struct *fsp, uint32 filter,
 			      bool recursive);
 NTSTATUS change_notify_add_request(struct smb_request *req,
@@ -5787,7 +5788,8 @@ NTSTATUS change_notify_add_request(struct smb_request *req,
 				void (*reply_fn)(struct smb_request *req,
 					NTSTATUS error_code,
 					uint8_t *buf, size_t len));
-void remove_pending_change_notify_requests_by_mid(uint64_t mid);
+void remove_pending_change_notify_requests_by_mid(
+	struct smbd_server_connection *sconn, uint64_t mid);
 void remove_pending_change_notify_requests_by_fid(files_struct *fsp,
 						  NTSTATUS status);
 void notify_fname(connection_struct *conn, uint32 action, uint32 filter,
@@ -6139,7 +6141,7 @@ bool check_fsp_ntquota_handle(connection_struct *conn, struct smb_request *req,
 			      files_struct *fsp);
 bool fsp_belongs_conn(connection_struct *conn, struct smb_request *req,
 		      files_struct *fsp);
-void reply_special(char *inbuf);
+void reply_special(struct smbd_server_connection *sconn, char *inbuf);
 void reply_tcon(struct smb_request *req);
 void reply_tcon_and_X(struct smb_request *req);
 void reply_unknown_new(struct smb_request *req, uint8 type);
@@ -6167,7 +6169,8 @@ void error_to_writebrawerr(struct smb_request *req);
 void reply_writebraw(struct smb_request *req);
 void reply_writeunlock(struct smb_request *req);
 void reply_write(struct smb_request *req);
-bool is_valid_writeX_buffer(const uint8_t *inbuf);
+bool is_valid_writeX_buffer(struct smbd_server_connection *sconn,
+			    const uint8_t *inbuf);
 void reply_write_and_X(struct smb_request *req);
 void reply_lseek(struct smb_request *req);
 void reply_flush(struct smb_request *req);
diff --git a/source3/modules/onefs_cbrl.c b/source3/modules/onefs_cbrl.c
index 4b0600b..33f35a7 100644
--- a/source3/modules/onefs_cbrl.c
+++ b/source3/modules/onefs_cbrl.c
@@ -184,7 +184,7 @@ static void onefs_cbrl_async_success(uint64_t id)
 	    LEVEL2_CONTEND_WINDOWS_BRL);
 
 	/* Process the queue, to try the next lock or finish up. */
-	process_blocking_lock_queue();
+	process_blocking_lock_queue(smbd_server_conn);
 }
 
 static void onefs_cbrl_async_failure(uint64_t id)
@@ -207,7 +207,7 @@ static void onefs_cbrl_async_failure(uint64_t id)
 
 	/* Process the queue. It will end up trying to retake the same lock,
 	 * see the error in onefs_cbrl_lock_windows() and fail. */
-	process_blocking_lock_queue();
+	process_blocking_lock_queue(smbd_server_conn);
 }
 
 static struct cbrl_event_ops cbrl_ops =
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c
index f2ef4b2..5ee8a97 100644
--- a/source3/smbd/blocking.c
+++ b/source3/smbd/blocking.c
@@ -39,7 +39,8 @@ void brl_timeout_fn(struct event_context *event_ctx,
 			   struct timeval now,
 			   void *private_data)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
+	struct smbd_server_connection *sconn = talloc_get_type_abort(
+		private_data, struct smbd_server_connection);
 
 	if (sconn->using_smb2) {
 		SMB_ASSERT(sconn->smb2.locks.brl_timeout == te);
@@ -52,7 +53,7 @@ void brl_timeout_fn(struct event_context *event_ctx,
 	change_to_root_user();	/* TODO: Possibly run all timed events as
 				 * root */
 
-	process_blocking_lock_queue();
+	process_blocking_lock_queue(sconn);
 }
 
 /****************************************************************************
@@ -76,9 +77,8 @@ struct timeval timeval_brl_min(const struct timeval *tv1,
  next processing.
 ****************************************************************************/
 
-static bool recalc_brl_timeout(void)
+static bool recalc_brl_timeout(struct smbd_server_connection *sconn)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
 	struct blocking_lock_record *blr;
 	struct timeval next_timeout;
 	int max_brl_timeout = lp_parm_int(-1, "brl", "recalctime", 5);
@@ -138,9 +138,10 @@ static bool recalc_brl_timeout(void)
 		    (int)from_now.tv_sec, (int)from_now.tv_usec));
 	}
 
-	if (!(sconn->smb1.locks.brl_timeout = event_add_timed(smbd_event_context(), NULL,
-					    next_timeout,
-					    brl_timeout_fn, NULL))) {
+	sconn->smb1.locks.brl_timeout = event_add_timed(smbd_event_context(),
+							NULL, next_timeout,
+							brl_timeout_fn, sconn);
+	if (sconn->smb1.locks.brl_timeout == NULL) {
 		return False;
 	}
 
@@ -164,7 +165,7 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck,
 		uint64_t count,
 		uint64_t blocking_smblctx)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
+	struct smbd_server_connection *sconn = req->sconn;
 	struct blocking_lock_record *blr;
 	NTSTATUS status;
 
@@ -243,7 +244,7 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck,
 	blr->req = talloc_move(blr, &req);
 
 	DLIST_ADD_END(sconn->smb1.locks.blocking_lock_queue, blr, struct blocking_lock_record *);
-	recalc_brl_timeout();
+	recalc_brl_timeout(sconn);
 
 	/* Ensure we'll receive messages when this is unlocked. */
 	if (!sconn->smb1.locks.blocking_lock_unlock_state) {
@@ -575,7 +576,7 @@ void cancel_pending_lock_requests_by_fid(files_struct *fsp,
 			struct byte_range_lock *br_lck,
 			enum file_close_type close_type)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
+	struct smbd_server_connection *sconn = fsp->conn->sconn;
 	struct blocking_lock_record *blr, *blr_cancelled, *next = NULL;
 
 	if (sconn->using_smb2) {
@@ -630,9 +631,9 @@ void cancel_pending_lock_requests_by_fid(files_struct *fsp,
  Only called from the SMB1 cancel code.
 *****************************************************************************/
 
-void remove_pending_lock_requests_by_mid_smb1(uint64_t mid)
+void remove_pending_lock_requests_by_mid_smb1(
+	struct smbd_server_connection *sconn, uint64_t mid)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
 	struct blocking_lock_record *blr, *next = NULL;
 
 	for(blr = sconn->smb1.locks.blocking_lock_queue; blr; blr = next) {
@@ -675,9 +676,9 @@ void remove_pending_lock_requests_by_mid_smb1(uint64_t mid)
  Currently only called from the SMB1 unix extensions POSIX lock code.
 *****************************************************************************/
 
-bool blocking_lock_was_deferred_smb1(uint64_t mid)
+bool blocking_lock_was_deferred_smb1(
+	struct smbd_server_connection *sconn, uint64_t mid)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
 	struct blocking_lock_record *blr, *next = NULL;
 
 	for(blr = sconn->smb1.locks.blocking_lock_queue; blr; blr = next) {
@@ -700,21 +701,20 @@ static void received_unlock_msg(struct messaging_context *msg,
 				DATA_BLOB *data)
 {
 	DEBUG(10,("received_unlock_msg\n"));
-	process_blocking_lock_queue();
+	process_blocking_lock_queue(smbd_server_conn);
 }
 
 /****************************************************************************
  Process the blocking lock queue. Note that this is only called as root.
 *****************************************************************************/
 
-void process_blocking_lock_queue(void)
+void process_blocking_lock_queue(struct smbd_server_connection *sconn)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
 	struct timeval tv_curr = timeval_current();
 	struct blocking_lock_record *blr, *next = NULL;
 
 	if (sconn->using_smb2) {
-		process_blocking_lock_queue_smb2(tv_curr);
+		process_blocking_lock_queue_smb2(sconn, tv_curr);
 		return;
 	}
 
@@ -803,7 +803,7 @@ void process_blocking_lock_queue(void)
 		}
 	}
 
-	recalc_brl_timeout();
+	recalc_brl_timeout(sconn);
 }
 
 /****************************************************************************
@@ -858,7 +858,7 @@ struct blocking_lock_record *blocking_lock_cancel_smb1(files_struct *fsp,
 			unsigned char locktype,
                         NTSTATUS err)
 {
-	struct smbd_server_connection *sconn = smbd_server_conn;
+	struct smbd_server_connection *sconn = fsp->conn->sconn;
 	char msg[MSG_BLOCKING_LOCK_CANCEL_SIZE];
 	struct blocking_lock_record *blr;
 
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 8e1babf..799cf17 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -136,7 +136,7 @@ struct smbd_smb2_request;
 struct smbd_smb2_session;
 struct smbd_smb2_tcon;
 
-DATA_BLOB negprot_spnego(void);
+DATA_BLOB negprot_spnego(struct smbd_server_connection *sconn);
 
 void smbd_lock_socket(struct smbd_server_connection *sconn);
 void smbd_unlock_socket(struct smbd_server_connection *sconn);
@@ -237,8 +237,7 @@ NTSTATUS smbd_check_open_rights(struct connection_struct *conn,
 				uint32_t access_mask,
 				uint32_t *access_granted);
 
-void smbd_notify_cancel_by_smbreq(struct smbd_server_connection *sconn,
-				  const struct smb_request *smbreq);
+void smbd_notify_cancel_by_smbreq(const struct smb_request *smbreq);
 
 void smbd_server_connection_terminate_ex(struct smbd_server_connection *sconn,
 					 const char *reason,
@@ -318,7 +317,8 @@ bool push_blocking_lock_request_smb2( struct byte_range_lock *br_lck,
 				uint64_t offset,
 				uint64_t count,
 				uint64_t blocking_smblctx);
-void process_blocking_lock_queue_smb2(struct timeval tv_curr);
+void process_blocking_lock_queue_smb2(
+	struct smbd_server_connection *sconn, struct timeval tv_curr);
 void cancel_pending_lock_requests_by_fid_smb2(files_struct *fsp,
 			struct byte_range_lock *br_lck,
 			enum file_close_type close_type);
@@ -327,9 +327,12 @@ int map_smb2_oplock_levels_to_samba(uint8_t in_oplock_level);
 bool get_deferred_open_message_state_smb2(struct smbd_smb2_request *smb2req,
 			struct timeval *p_request_time,
 			void **pp_state);
-bool open_was_deferred_smb2(uint64_t mid);
-void remove_deferred_open_message_smb2(uint64_t mid);
-void schedule_deferred_open_message_smb2(uint64_t mid);
+bool open_was_deferred_smb2(struct smbd_server_connection *sconn,
+			    uint64_t mid);
+void remove_deferred_open_message_smb2(
+	struct smbd_server_connection *sconn, uint64_t mid);
+void schedule_deferred_open_message_smb2(
+	struct smbd_server_connection *sconn, uint64_t mid);
 bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req,
 			struct timeval request_time,
 			struct timeval timeout,
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index 08494b4..beb8028 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -93,7 +93,7 @@ void send_trans_reply(connection_struct *conn,
 
 	int ldata  = rdata  ? rdata_len : 0;
 	int lparam = rparam ? rparam_len : 0;
-	struct smbd_server_connection *sconn = smbd_server_conn;
+	struct smbd_server_connection *sconn = req->sconn;
 	int max_send = sconn->smb1.sessions.max_send;
 
 	if (buffer_too_large)
diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c
index 6c94a88..8c26262 100644
--- a/source3/smbd/lanman.c
+++ b/source3/smbd/lanman.c
@@ -72,14 +72,16 @@ static char *smb_realloc_limit(void *ptr, size_t size)
 	return val;
 }
 
-static bool api_Unsupported(connection_struct *conn, uint16 vuid,
+static bool api_Unsupported(struct smbd_server_connection *sconn,
+			    connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt, int mprcnt,
 				char **rdata, char **rparam,
 				int *rdata_len, int *rparam_len);
 
-static bool api_TooSmall(connection_struct *conn, uint16 vuid, char *param, char *data,
+static bool api_TooSmall(struct smbd_server_connection *sconn,
+			 connection_struct *conn, uint16 vuid, char *param, char *data,
 			 int mdrcnt, int mprcnt,
 			 char **rdata, char **rparam,
 			 int *rdata_len, int *rparam_len);
@@ -747,7 +749,8 @@ static int get_printerdrivernumber(const struct spoolss_DriverInfo3 *driver)
 	return result;
 }
 
-static bool api_DosPrintQGetInfo(connection_struct *conn, uint16 vuid,
+static bool api_DosPrintQGetInfo(struct smbd_server_connection *sconn,
+				 connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -949,7 +952,8 @@ static bool api_DosPrintQGetInfo(connection_struct *conn, uint16 vuid,
  View list of all print jobs on all queues.
 ****************************************************************************/
 
-static bool api_DosPrintQEnum(connection_struct *conn, uint16 vuid,
+static bool api_DosPrintQEnum(struct smbd_server_connection *sconn,
+			      connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt, int mprcnt,
@@ -1408,7 +1412,8 @@ static int srv_comp(struct srv_info_struct *s1,struct srv_info_struct *s2)
  extracted from lists saved by nmbd on the local host.
 ****************************************************************************/
 
-static bool api_RNetServerEnum2(connection_struct *conn, uint16 vuid,
+static bool api_RNetServerEnum2(struct smbd_server_connection *sconn,
+				connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt, int mprcnt, char **rdata, 
@@ -1577,7 +1582,8 @@ static int srv_name_match(const char *n1, const char *n2)
 	return ret;
 }
 
-static bool api_RNetServerEnum3(connection_struct *conn, uint16 vuid,
+static bool api_RNetServerEnum3(struct smbd_server_connection *sconn,
+				connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt, int mprcnt, char **rdata,
@@ -1769,7 +1775,8 @@ static bool api_RNetServerEnum3(connection_struct *conn, uint16 vuid,
   command 0x34 - suspected of being a "Lookup Names" stub api
   ****************************************************************************/
 
-static bool api_RNetGroupGetUsers(connection_struct *conn, uint16 vuid,
+static bool api_RNetGroupGetUsers(struct smbd_server_connection *sconn,
+				  connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt, int mprcnt, char **rdata, 
@@ -1959,7 +1966,8 @@ static int fill_share_info(connection_struct *conn, int snum, int uLevel,
 	return len;
 }
 
-static bool api_RNetShareGetInfo(connection_struct *conn,uint16 vuid,
+static bool api_RNetShareGetInfo(struct smbd_server_connection *sconn,
+				 connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -2022,7 +2030,8 @@ static bool api_RNetShareGetInfo(connection_struct *conn,uint16 vuid,
   Share names longer than 12 bytes must be skipped.
  ****************************************************************************/
 
-static bool api_RNetShareEnum( connection_struct *conn, uint16 vuid,
+static bool api_RNetShareEnum(struct smbd_server_connection *sconn,
+			      connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int                mdrcnt,
@@ -2129,7 +2138,8 @@ static bool api_RNetShareEnum( connection_struct *conn, uint16 vuid,
   Add a share
   ****************************************************************************/
 
-static bool api_RNetShareAdd(connection_struct *conn,uint16 vuid,
+static bool api_RNetShareAdd(struct smbd_server_connection *sconn,
+			     connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -2284,7 +2294,8 @@ static bool api_RNetShareAdd(connection_struct *conn,uint16 vuid,
   view list of groups available
   ****************************************************************************/
 
-static bool api_RNetGroupEnum(connection_struct *conn,uint16 vuid,
+static bool api_RNetGroupEnum(struct smbd_server_connection *sconn,
+			      connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -2441,7 +2452,8 @@ static bool api_RNetGroupEnum(connection_struct *conn,uint16 vuid,
  Get groups that a user is a member of.
 ******************************************************************/
 
-static bool api_NetUserGetGroups(connection_struct *conn,uint16 vuid,
+static bool api_NetUserGetGroups(struct smbd_server_connection *sconn,
+				 connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -2600,7 +2612,8 @@ static bool api_NetUserGetGroups(connection_struct *conn,uint16 vuid,
  Get all users.
 ******************************************************************/
 
-static bool api_RNetUserEnum(connection_struct *conn, uint16 vuid,
+static bool api_RNetUserEnum(struct smbd_server_connection *sconn,
+			     connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -2758,7 +2771,8 @@ static bool api_RNetUserEnum(connection_struct *conn, uint16 vuid,
  Get the time of day info.
 ****************************************************************************/
 
-static bool api_NetRemoteTOD(connection_struct *conn,uint16 vuid,
+static bool api_NetRemoteTOD(struct smbd_server_connection *sconn,
+			     connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -2816,7 +2830,8 @@ static bool api_NetRemoteTOD(connection_struct *conn,uint16 vuid,
  Set the user password.
 *****************************************************************************/
 
-static bool api_SetUserPassword(connection_struct *conn,uint16 vuid,
+static bool api_SetUserPassword(struct smbd_server_connection *sconn,
+				connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -3033,7 +3048,8 @@ static bool api_SetUserPassword(connection_struct *conn,uint16 vuid,
   Set the user password (SamOEM version - gets plaintext).
 ****************************************************************************/
 
-static bool api_SamOEMChangePassword(connection_struct *conn,uint16 vuid,
+static bool api_SamOEMChangePassword(struct smbd_server_connection *sconn,
+				     connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -3152,7 +3168,8 @@ static bool api_SamOEMChangePassword(connection_struct *conn,uint16 vuid,
   Form: <W> <> 
   ****************************************************************************/
 
-static bool api_RDosPrintJobDel(connection_struct *conn,uint16 vuid,
+static bool api_RDosPrintJobDel(struct smbd_server_connection *sconn,
+				connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -3277,7 +3294,8 @@ static bool api_RDosPrintJobDel(connection_struct *conn,uint16 vuid,
   Purge a print queue - or pause or resume it.
   ****************************************************************************/
 
-static bool api_WPrintQueueCtrl(connection_struct *conn,uint16 vuid,
+static bool api_WPrintQueueCtrl(struct smbd_server_connection *sconn,
+				connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -3431,7 +3449,8 @@ static int check_printjob_info(struct pack_desc* desc,
 	return True;
 }
 
-static bool api_PrintJobInfo(connection_struct *conn, uint16 vuid,
+static bool api_PrintJobInfo(struct smbd_server_connection *sconn,
+			     connection_struct *conn, uint16 vuid,
 				char *param, int tpscnt,
 				char *data, int tdscnt,
 				int mdrcnt,int mprcnt,
@@ -3583,7 +3602,8 @@ static bool api_PrintJobInfo(connection_struct *conn, uint16 vuid,
  Get info about the server.
 ****************************************************************************/
 
-static bool api_RNetServerGetInfo(connection_struct *conn,uint16 vuid,
+static bool api_RNetServerGetInfo(struct smbd_server_connection *sconn,
+				  connection_struct *conn,uint16 vuid,
 				char *param, int tpscnt,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list