The branch, master has been updated via bb8e6d4 s3:smbd: pass smbXsrv_connection to smbd_[un]lock_socket() via 3805249 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_send_break() via 245e395 s3:smbd: pass smbXsrv_connection to smb1 encryption functions via d9716cb s3:smb2_server: propagate NTSTATUS from smb2_sendfile_send_data() to smbd_smb2_flush_send_queue() via 2f47729 smbd: Use %s/__func__ via cac1591 s3:smbd: pass smbXsrv_connection explicitly to sendfile_short_send() via c18a62e s3:smbd: pass smbXsrv_connection explicitly to fake_sendfile() via bd19fd1 s3:smbd: remember the time of the session setup auth_time via d47c006 s3:smb2_sesssetup: make use of smb2req->xconn via f261dd9 s3:smb2_sesssetup: split out smbd_smb2_session_setup_auth_return() via 4dbe105 s3:smbXsrv_tcon: don't pass smbXsrv_connection to smbXsrv_tcon_create() via 6905bb6 s3:smbd: pass smbXsrv_connection to smbd_[un]lock_socket_internal() via 6ea5171 s3:smbd: use req->xconn in smb_request_done() via 5361b12 s3:smbd: use req->xconn in message.c via 3eacd0c s3:smbd: use req->xconn in reply.c via 5ee5de8 s3:smbd: use req->xconn in sesssetup.c via 4b20680 s3:smbd: pass smbXsrv_connection to reply_readbraw_error() via 8c457da s3:smbd: pass smbXsrv_connection to is_valid_writeX_buffer() via 45de625 s3:smbd: remove unused 'sconn' from valid_smb_header() via 0760555 s3:smbd: remove unused 'sconn' from is_encrypted_packet() via bd97eee s3:smbd: use req->xconn in nttrans.c via b32b5fe s3:smbd: use req->xconn in send_trans_reply() via d799fb3 s3:smbd: use req->xconn in files.c via 967ff18 s3:smbd: use req->xconn to send_trans2_replies() via 3437da2 s3:smbd: remove unused 'sconn' in call_trans2setfsinfo() via fb2630b s3:smbd: use req->xconn in vfs_[p]write_data() via 5159038 s3:smbd: pass smbXsrv_connection to smbd_do_qfsinfo() via 6e514e6 s3:smbd: pass smbXsrv_connection to netbios_session_retarget() via 628af0e s3:smbd: pass smbXsrv_connection to reply_special() via 05779e3 s3:smbd: pass smbXsrv_connection to get_challenge() via e9fb54c s3:smbd: pass smbXsrv_connection to negprot_spnego() via 888ddd1 s3:smb2_negprot: remove NBT_HDR_SIZE from smbd_smb2_first_negprot() via 4a07b14 s3:smb2_server: pass smbXsrv_connection to smbd_server_connection_terminate*() via c9e171f s3:smb2_*: make use of smb2req->xconn where possible via b7eeb65 s3:smb2_server: use req->xconn in is_smb2_recvfile_write() via b76cd04 s3:smb2_server: remove unused 'sconn' from smbd_smb2_send_break_state via 4faec1e s3:smb2_server: use req->xconn in smbd_smb2_request_error_ex() via 7ee78c7 s3:smb2_server: use req->xconn in smbd_smb2_request_dispatch() via 0e2cf47 s3:smb2_server: use req->xconn in smbd_smb2_request_verify_creditcharge() via 323fe07 s3:smb2_server: use req->xconn in smbd_smb2_request_check_session() via 65ad96a s3:smb2_server: use req->xconn in smbd_smb2_request_process_cancel() via cedf403 s3:smb2_server: remove unused 'sconn' from smbd_smb2_request_pending_state via a319b89 s3:smb2_server: talloc smbd_smb2_request_pending_state on smbXsrv_connection via c02afe6 s3:smb2_server: use req->xconn in smbd_smb2_request_setup_out() via 1ac9e52 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_request_next_incoming() via 90b27f1 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_request_create() via 694c048 s3:smb2_server: pass smbXsrv_connection to smbd_initialize_smb2() via 3a622c7 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_first_negprot() via bfc702b s3:smb2_server: pass smbXsrv_connection to smb2_set_operation_credit() via f3b2416 s3:smb2_server: pass smbXsrv_connection to smb2_validate_message_id() via aaa072a s3:smb2_server: pass smbXsrv_connection to smb2_validate_sequence_number() via 330febb s3:smb2_server: pass smbXsrv_connection to smbd_smb2_flush_send_queue() via d1d3294 s3:smb2_server: rename 'conn' variables to 'xconn' via 59a25a6 s3:smb2_server: pass smbXsrv_connection to fd handlers via 96ef921 s3:smbd: pass smbXsrv_connection to fd handlers via b87ec64 s3:smbd: pass smbXsrv_connection to process_smb() via 95bd792 s3:smbd: let construct_reply() also use smb_request_done() via 4c9c53f s3:smbd: use smbXsrv_connection in switch_message() via 77b40fd s3:smbd: pass smbXsrv_connection to smbd_register_ips() via c5ab955 s3:smbd: rename 'conn' to 'xconn' in exit_server_common() via a8e5590 s3:smbd: rename 'conn' to 'xconn' in smbd_process() via 6669a84 s3:smbd: remember smbXsrv_connection for each smb_request via 39f5566 s3:smb2_server: remember smbXsrv_connection for each smbd_smb2_request via b38cb03 s3:smb2_server: talloc smbd_smb2_request as child of smbXsrv_connection via 92e96be s3:smb2_server: move sconn->smb2.requests to xconn->smb2.requests via 36e3484 s3:smb2_server: move sconn->smb2.*credits* to xconn->smb2.credits.* via 4f3f889 s3:smb2_negprot: remove unused variable 'conn' we already have 'xconn'... via e79b011 s3:smb2_server: use xconn->smb2.server.max_* instead of sconn->smb2.max_* via ce76a40 s3:smb2_server: move sconn->smb2.negprot_2ff to xconn->smb2.allow_2ff via e644406 s3:smb2_server: move sconn->smb2.send_queue* to xconn->smb2.send_queue* via f9ef2a5 s3:smb2_server: move sconn->smb2.request_read_state to xconn->smb2.request_read_state via 3e23698 s3:smb2_server: use xconn->transport.fde also for smb2 via 3afdd77 s3:smbd: move libasys state from smbXsrv_connection to smbd_server_connection via 1d8e7a5 s3:smbd: move xconn->msg_state to xconn->smb1.msg_state via c6c7532 s3:smbd: move sconn->smb1.unix_info.* to xconn->smb1.unix_info.* via b0fe6c5 s3:smbd: move sconn->smb1.echo_handler.* to xconn->smb1.echo_handler.* via 314ef69 s3:smbd: move sconn->smb1.signing_state to xconn->smb1.signing_state via 7cf7fd7 s3:smbd: move sconn->smb1.sessions.* to xconn->smb1.sessions.* via cd810548 s3:smbd: move sconn->smb1.negprot.* to xconn->smb1.negprot.* via b05b4ca s3:smbd: move sconn->status to xconn->transport.status via 9557ac4 s3:smbd: move sconn->smb1.fde to xconn->transport.fde via 0ccffff s3:smbd: move sconn->sock to xconn->transport.sock via 25952d3 s3:smbd: move sconn->nbt.* to xconn->transport.nbt.* via 2fd5322 s3:smbd: avoid get_peer_addr() and use smbXsrv_connection_dbg() via 318eb4b s3:smbd: add smbXsrv_connection_dbg() from 40386ee locking: posix_lock_list does not use "fsp"
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit bb8e6d458a55510605da8768a302a81d2c2ce457 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:43:26 2014 +0200 s3:smbd: pass smbXsrv_connection to smbd_[un]lock_socket() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> Autobuild-User(master): Michael Adam <ob...@samba.org> Autobuild-Date(master): Wed Aug 6 12:15:57 CEST 2014 on sn-devel-104 commit 3805249deb82aaeeec7708069f14250f7bd10836 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:43:26 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_send_break() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 245e3959de269110b837ff2ed2742b090a1566ae Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:43:26 2014 +0200 s3:smbd: pass smbXsrv_connection to smb1 encryption functions These parameters are not really used currently, but may be in future. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit d9716cb0dba788ffd1ef36167038c71405df28c4 Author: Stefan Metzmacher <me...@samba.org> Date: Fri Jul 11 02:25:00 2014 +0200 s3:smb2_server: propagate NTSTATUS from smb2_sendfile_send_data() to smbd_smb2_flush_send_queue() Calling exit_server() from within a destructor is a bit ugly... This will result in smbd_server_connection_terminate() instead of directly calling exit_server(), which will be useful for multi-channel in future. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 2f47729bebfaaa92b5c4eac97e9707329e4e5a4a Author: Volker Lendecke <v...@samba.org> Date: Wed Jul 23 13:26:19 2014 +0000 smbd: Use %s/__func__ Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit cac1591fb3a38ddef86b26b87c042d1a9eaf7800 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:42:16 2014 +0200 s3:smbd: pass smbXsrv_connection explicitly to sendfile_short_send() We now let the caller terminate the connection. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit c18a62ee9d0a7c77e375b5dff3e144e53557ceaa Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:40:25 2014 +0200 s3:smbd: pass smbXsrv_connection explicitly to fake_sendfile() In future (with multi-channel) a fsp can be used from multiple connections, we need to make it explicit on which we want to reply. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit bd19fd1286821433fc9080e91316b831ef501a1d Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 09:49:28 2014 +0200 s3:smbd: remember the time of the session setup auth_time This is the time of the last reauth. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit d47c006d9d45eb65691b87f07d90e63785bc2f4e Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 10:47:51 2014 +0200 s3:smb2_sesssetup: make use of smb2req->xconn We should use stuff relative to the current request. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit f261dd9c7d742e818c483cce1debf1407fae6430 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 09:19:29 2014 +0200 s3:smb2_sesssetup: split out smbd_smb2_session_setup_auth_return() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4dbe105d51a6ee230d75fb799f2f7fe3e4d5e6d0 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 10:40:12 2014 +0200 s3:smbXsrv_tcon: don't pass smbXsrv_connection to smbXsrv_tcon_create() A tcon can be used on multiple connections in future, so better pass the few needed parameters explicitly and let the caller figure out where to get them. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 6905bb6c868e33ef399a7b9a0a87b0497dbde43b Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:48:16 2014 +0200 s3:smbd: pass smbXsrv_connection to smbd_[un]lock_socket_internal() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 6ea517191569b347efa31c53c9198908cf552b9a Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:51:44 2014 +0200 s3:smbd: use req->xconn in smb_request_done() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 5361b123af29a69490d8145558fc7057fd736c46 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:36:14 2014 +0200 s3:smbd: use req->xconn in message.c Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 3eacd0c72e76441bf1aa326bb6e6a570cb735fd8 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 15:12:32 2014 +0200 s3:smbd: use req->xconn in reply.c Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 5ee5de89a4808dc0f42255104524d3002d0ec4c4 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 15:11:05 2014 +0200 s3:smbd: use req->xconn in sesssetup.c Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4b20680a00a51aba60a1183a4bd2c03ade756571 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:51:05 2014 +0200 s3:smbd: pass smbXsrv_connection to reply_readbraw_error() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 8c457da273dd755a213b55550f47f71ef40a6164 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:35:55 2014 +0200 s3:smbd: pass smbXsrv_connection to is_valid_writeX_buffer() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 45de62514a0785c6d22ccc01f02699447fa8070c Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:29:52 2014 +0200 s3:smbd: remove unused 'sconn' from valid_smb_header() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 076055594df808006d66e527ae45d27e86fb13f4 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:28:13 2014 +0200 s3:smbd: remove unused 'sconn' from is_encrypted_packet() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit bd97eee2427139606bf6caedd8a407c4b9c3fa06 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:26:57 2014 +0200 s3:smbd: use req->xconn in nttrans.c Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b32b5fe66ebe14686d113199b95e095720d023fd Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:26:08 2014 +0200 s3:smbd: use req->xconn in send_trans_reply() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit d799fb360ac5c466eb5ae00ce0687e0bb6ebba56 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:25:07 2014 +0200 s3:smbd: use req->xconn in files.c Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 967ff180f7b784d62282cd8f4c9987d5b8ae8956 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 14:22:13 2014 +0200 s3:smbd: use req->xconn to send_trans2_replies() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 3437da2154ad20e2714995b5effbfb4851f99aef Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 13:57:30 2014 +0200 s3:smbd: remove unused 'sconn' in call_trans2setfsinfo() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit fb2630b2cba41b864e5214ac5277371245cfec39 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 13:54:43 2014 +0200 s3:smbd: use req->xconn in vfs_[p]write_data() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 51590389052bb46a8f4dd015ba5ab7fdfcb0cd09 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 13:36:34 2014 +0200 s3:smbd: pass smbXsrv_connection to smbd_do_qfsinfo() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 6e514e695a69fff10942893d2e85b7601ec2c9b0 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:55:24 2014 +0200 s3:smbd: pass smbXsrv_connection to netbios_session_retarget() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 628af0e0ad8cfb9b34e80f7c9c59ffdd8685d31f Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:54:47 2014 +0200 s3:smbd: pass smbXsrv_connection to reply_special() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 05779e318a0afbd6e2949167fe6e766c6bbe7932 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:42:56 2014 +0200 s3:smbd: pass smbXsrv_connection to get_challenge() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit e9fb54c1ec977e5e16733b8ccc0d9de5e4d4d83f Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:41:26 2014 +0200 s3:smbd: pass smbXsrv_connection to negprot_spnego() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 888ddd171ab0a750cc30e335ed82867338356efa Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 24 19:28:51 2014 +0200 s3:smb2_negprot: remove NBT_HDR_SIZE from smbd_smb2_first_negprot() This will simplify future features like multi-channel and rdma. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4a07b14ceaa5fbdc62f51039d794d4f3121ea6c8 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:15:48 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_server_connection_terminate*() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit c9e171ff72920c4d422045acbccf853cf1c27224 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:38:48 2014 +0200 s3:smb2_*: make use of smb2req->xconn where possible We need to use the connection that is used by the current request. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b7eeb658e7a961e6ffd56b94a7bf2712330a0b2b Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:41:27 2014 +0200 s3:smb2_server: use req->xconn in is_smb2_recvfile_write() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b76cd04469eb6038deb5c41ebda9c9e8b0723ab3 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:40:36 2014 +0200 s3:smb2_server: remove unused 'sconn' from smbd_smb2_send_break_state Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4faec1ea91239e70952b71ad9ec2930cbd4d3c84 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:40:04 2014 +0200 s3:smb2_server: use req->xconn in smbd_smb2_request_error_ex() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 7ee78c78e094f11c338ae39f4af2515709e32f57 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:31:37 2014 +0200 s3:smb2_server: use req->xconn in smbd_smb2_request_dispatch() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 0e2cf47a99ca87c19067709a71d0585950d4dcb5 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:31:04 2014 +0200 s3:smb2_server: use req->xconn in smbd_smb2_request_verify_creditcharge() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 323fe07f72637c6492232423600a76e5161f84b5 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:30:23 2014 +0200 s3:smb2_server: use req->xconn in smbd_smb2_request_check_session() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 65ad96a8410bf29a49d0260b7fa6edb41436c334 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:29:01 2014 +0200 s3:smb2_server: use req->xconn in smbd_smb2_request_process_cancel() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit cedf403bcfb018be1a3d8e05bd8c41ffe3e663fc Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:22:16 2014 +0200 s3:smb2_server: remove unused 'sconn' from smbd_smb2_request_pending_state Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit a319b896870a55a504afe399c9a9f22fe51580bc Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:22:16 2014 +0200 s3:smb2_server: talloc smbd_smb2_request_pending_state on smbXsrv_connection Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit c02afe66eb4152f6693a4585903dfb3d7ad88a5e Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 11:19:24 2014 +0200 s3:smb2_server: use req->xconn in smbd_smb2_request_setup_out() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 1ac9e52aae10be9b6a711998b867e01f146ef3b5 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:59:00 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_request_next_incoming() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 90b27f155930a9feb6281b291a61bcf5111d3898 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:51:04 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_request_create() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 694c048bbda5678f34c4096bb528c0860d06c3fb Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:45:56 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_initialize_smb2() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 3a622c785c49999a1905b401f223bc9f938aa565 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:42:01 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_first_negprot() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit bfc702b9a032b216d0c53812553d7c1a64916f82 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:08:26 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smb2_set_operation_credit() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit f3b24168f91d95a483b63277c605af90c9a0407a Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:05:43 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smb2_validate_message_id() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit aaa072a1f3758a630047de7a12f7f475a595be21 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:03:27 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smb2_validate_sequence_number() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 330febb7df3767cc1d1a381d95fa9e007fecff74 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:00:09 2014 +0200 s3:smb2_server: pass smbXsrv_connection to smbd_smb2_flush_send_queue() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit d1d3294ceabfb70bde69c22375f15dce32a4de48 Author: Stefan Metzmacher <me...@samba.org> Date: Mon Jul 7 12:25:48 2014 +0200 s3:smb2_server: rename 'conn' variables to 'xconn' This makes the code more consistent with other functions using 'struct smbXsrv_connection *xconn' as local variables. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 59a25a60670830b4f04f53a76b7d0a13415b3335 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 20:20:58 2014 +0200 s3:smb2_server: pass smbXsrv_connection to fd handlers Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 96ef921b2fe354076dd34f29c922c4b0018d13e8 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 20:20:58 2014 +0200 s3:smbd: pass smbXsrv_connection to fd handlers Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b87ec64cf6c0c43456c4f1092cbbedb90ecaa490 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 10:40:42 2014 +0200 s3:smbd: pass smbXsrv_connection to process_smb() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 95bd792860a581faf2d1f32e70726cae8c82d492 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 08:34:05 2014 +0200 s3:smbd: let construct_reply() also use smb_request_done() This way it matches the code path in construct_reply_chain(). Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4c9c53f5e4edfcadaba386cd6ac565d64d23f4fa Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 03:22:53 2014 +0200 s3:smbd: use smbXsrv_connection in switch_message() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 77b40fd72e38af675744ba8e36aba612bcdd9ea4 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 03:06:00 2014 +0200 s3:smbd: pass smbXsrv_connection to smbd_register_ips() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit c5ab9557a9b30234b4ebb5aac3d591b402cffc97 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 15:05:41 2014 +0200 s3:smbd: rename 'conn' to 'xconn' in exit_server_common() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit a8e559051d85c3fe517318a0d95d83654f45f34b Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 15:05:41 2014 +0200 s3:smbd: rename 'conn' to 'xconn' in smbd_process() Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 6669a84ad09deab30cde3dcf8b0c0b658e58b797 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 13:34:55 2014 +0200 s3:smbd: remember smbXsrv_connection for each smb_request This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 39f55660929410ae4eaeba8e55b9d97a97d5e54a Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 13:34:55 2014 +0200 s3:smb2_server: remember smbXsrv_connection for each smbd_smb2_request This prepares the structures for multi-channel support. Each request needs to respond on the same connection, where it arrived. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b38cb03ab6e6c550cc7d1f525a8b56a62974b0fd Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 13:34:55 2014 +0200 s3:smb2_server: talloc smbd_smb2_request as child of smbXsrv_connection As the list of pending requests moved from sconn->smb2.requests to xconn->smb2.requests, it is more logical to use smbXsrv_connection as talloc parent. This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 92e96bedfb29101c1b0df6aed174b5ecf2b6001d Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 13:24:50 2014 +0200 s3:smb2_server: move sconn->smb2.requests to xconn->smb2.requests This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 36e34842606b312a0ca338667797b6c00df50de7 Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 12:10:23 2014 +0200 s3:smb2_server: move sconn->smb2.*credits* to xconn->smb2.credits.* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 4f3f889dcd64afe69eccf759ea0481180c5383c1 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:36:08 2014 +0200 s3:smb2_negprot: remove unused variable 'conn' we already have 'xconn'... We don't need two helper variables for the same thing. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit e79b011434445078621204ebe33fde7eb7f21faf Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 10:22:34 2014 +0200 s3:smb2_server: use xconn->smb2.server.max_* instead of sconn->smb2.max_* We don't need this twice... Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit ce76a4095686334b8f97ae1378e92f869f4351c1 Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 10:07:21 2014 +0200 s3:smb2_server: move sconn->smb2.negprot_2ff to xconn->smb2.allow_2ff This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit e644406bcd2e4e6b8fe65b9ee2f6c85aec020ce4 Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 09:53:21 2014 +0200 s3:smb2_server: move sconn->smb2.send_queue* to xconn->smb2.send_queue* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit f9ef2a58509672265a67f44515178c4a4a21e59b Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 09:41:57 2014 +0200 s3:smb2_server: move sconn->smb2.request_read_state to xconn->smb2.request_read_state This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 3e236983dfb507993291bc4298b018af9b3be729 Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 09:36:24 2014 +0200 s3:smb2_server: use xconn->transport.fde also for smb2 This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 3afdd77bea8457e74fcc1ff75b18dec564f10caa Author: Stefan Metzmacher <me...@samba.org> Date: Thu Jun 12 08:32:47 2014 +0200 s3:smbd: move libasys state from smbXsrv_connection to smbd_server_connection This doesn't belong to a connection, it's state used within the VFS stack. And smbd_server_connection is the legacy structure we're using for global VFS state. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 1d8e7a520f0a8b8cf8ce56729b4d0b11a3aa6122 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jun 11 12:36:14 2014 +0200 s3:smbd: move xconn->msg_state to xconn->smb1.msg_state Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit c6c753271860d9bd0bcd8067a56d8aee08c1f423 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jun 10 12:57:38 2014 +0200 s3:smbd: move sconn->smb1.unix_info.* to xconn->smb1.unix_info.* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b0fe6c5c9d20df248c732d36ec212a2d6d6ea660 Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 09:26:26 2014 +0200 s3:smbd: move sconn->smb1.echo_handler.* to xconn->smb1.echo_handler.* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 314ef691bab711bf48857a8d1ed84ab3323120bd Author: Stefan Metzmacher <me...@samba.org> Date: Wed May 21 14:44:01 2014 +0200 s3:smbd: move sconn->smb1.signing_state to xconn->smb1.signing_state This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 7cf7fd77f746ca3c8225c8cadfff61f9314f919c Author: Stefan Metzmacher <me...@samba.org> Date: Wed May 21 10:56:26 2014 +0200 s3:smbd: move sconn->smb1.sessions.* to xconn->smb1.sessions.* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit cd8105484c55341972ae7ef980446f99313d3cd2 Author: Stefan Metzmacher <me...@samba.org> Date: Wed May 21 10:27:50 2014 +0200 s3:smbd: move sconn->smb1.negprot.* to xconn->smb1.negprot.* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit b05b4cab25d249efa260bca61970f5210f210e1c Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 09:07:47 2014 +0200 s3:smbd: move sconn->status to xconn->transport.status This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 9557ac4b465b3ea25eeefc2e0515c173d55acc89 Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 08:45:01 2014 +0200 s3:smbd: move sconn->smb1.fde to xconn->transport.fde This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 0ccffffe0725e3a7dca2e723cdb5c10ce04da696 Author: Stefan Metzmacher <me...@samba.org> Date: Wed May 21 23:23:34 2014 +0200 s3:smbd: move sconn->sock to xconn->transport.sock This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 25952d3ff114e06781c50eed244be60d9a9266f4 Author: Stefan Metzmacher <me...@samba.org> Date: Tue May 20 19:59:12 2014 +0200 s3:smbd: move sconn->nbt.* to xconn->transport.nbt.* This prepares the structures for multi-channel support. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 2fd53228b59cc80135ae7038aee3f914546adaee Author: Stefan Metzmacher <me...@samba.org> Date: Fri May 23 12:59:43 2014 +0200 s3:smbd: avoid get_peer_addr() and use smbXsrv_connection_dbg() There's no need to do syscalls, if we already have the information in userspace. Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> commit 318eb4b62d4ba6af48f8d12199302ec46eb98508 Author: Stefan Metzmacher <me...@samba.org> Date: Mon Jul 21 18:58:52 2014 +0200 s3:smbd: add smbXsrv_connection_dbg() This is similar to fsp_fnum_dbg() and fsp_str_dbg(). Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> ----------------------------------------------------------------------- Summary of changes: source3/include/vfs.h | 1 + source3/librpc/idl/smbXsrv.idl | 1 + source3/modules/vfs_default.c | 14 +- source3/smbd/files.c | 9 +- source3/smbd/globals.h | 312 ++++++++++++++------------- source3/smbd/ipc.c | 5 +- source3/smbd/message.c | 37 ++-- source3/smbd/msdfs.c | 2 - source3/smbd/negprot.c | 79 ++++---- source3/smbd/nttrans.c | 14 +- source3/smbd/process.c | 390 ++++++++++++++++++--------------- source3/smbd/proto.h | 45 ++-- source3/smbd/reply.c | 268 +++++++++++++---------- source3/smbd/seal.c | 11 +- source3/smbd/server_exit.c | 20 +- source3/smbd/server_reload.c | 11 +- source3/smbd/service.c | 3 +- source3/smbd/sesssetup.c | 53 +++-- source3/smbd/signing.c | 16 +- source3/smbd/smb2_break.c | 14 +- source3/smbd/smb2_close.c | 6 +- source3/smbd/smb2_create.c | 19 +- source3/smbd/smb2_find.c | 11 +- source3/smbd/smb2_flush.c | 6 +- source3/smbd/smb2_getinfo.c | 19 +- source3/smbd/smb2_glue.c | 4 +- source3/smbd/smb2_ioctl.c | 8 +- source3/smbd/smb2_ioctl_network_fs.c | 2 +- source3/smbd/smb2_lock.c | 15 +- source3/smbd/smb2_negprot.c | 64 +++--- source3/smbd/smb2_notify.c | 9 +- source3/smbd/smb2_read.c | 99 +++++---- source3/smbd/smb2_server.c | 401 +++++++++++++++++---------------- source3/smbd/smb2_sesssetup.c | 95 ++++----- source3/smbd/smb2_setinfo.c | 11 +- source3/smbd/smb2_tcon.c | 17 +- source3/smbd/smb2_write.c | 11 +- source3/smbd/smbXsrv_session.c | 2 +- source3/smbd/smbXsrv_tcon.c | 23 ++- source3/smbd/trans2.c | 40 ++-- source3/smbd/vfs.c | 4 +- 41 files changed, 1154 insertions(+), 1017 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/include/vfs.h b/source3/include/vfs.h index 474b1e3..6c0bf70 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -403,6 +403,7 @@ struct smb_request { bool encrypted; connection_struct *conn; struct smbd_server_connection *sconn; + struct smbXsrv_connection *xconn; struct smb_perfcount_data pcd; /* diff --git a/source3/librpc/idl/smbXsrv.idl b/source3/librpc/idl/smbXsrv.idl index 36710dd..ca5c3f3 100644 --- a/source3/librpc/idl/smbXsrv.idl +++ b/source3/librpc/idl/smbXsrv.idl @@ -98,6 +98,7 @@ interface smbXsrv * auth_session is NULL until the * session is valid for the first time. */ + NTTIME auth_time; uint32 auth_session_info_seqnum; auth_session_info *auth_session_info; uint16 connection_dialect; diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 78c249d..b8f4117 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -650,7 +650,7 @@ static void vfswrap_asys_finished(struct tevent_context *ev, struct tevent_fd *fde, uint16_t flags, void *p); -static bool vfswrap_init_asys_ctx(struct smbXsrv_connection *conn) +static bool vfswrap_init_asys_ctx(struct smbd_server_connection *conn) { int ret; int fd; @@ -709,11 +709,11 @@ static struct tevent_req *vfswrap_pread_send(struct vfs_handle_struct *handle, if (req == NULL) { return NULL; } - if (!vfswrap_init_asys_ctx(handle->conn->sconn->conn)) { + if (!vfswrap_init_asys_ctx(handle->conn->sconn)) { tevent_req_oom(req); return tevent_req_post(req, ev); } - state->asys_ctx = handle->conn->sconn->conn->asys_ctx; + state->asys_ctx = handle->conn->sconn->asys_ctx; state->req = req; ret = asys_pread(state->asys_ctx, fsp->fh->fd, data, n, offset, req); @@ -741,11 +741,11 @@ static struct tevent_req *vfswrap_pwrite_send(struct vfs_handle_struct *handle, if (req == NULL) { return NULL; } - if (!vfswrap_init_asys_ctx(handle->conn->sconn->conn)) { + if (!vfswrap_init_asys_ctx(handle->conn->sconn)) { tevent_req_oom(req); return tevent_req_post(req, ev); } - state->asys_ctx = handle->conn->sconn->conn->asys_ctx; + state->asys_ctx = handle->conn->sconn->asys_ctx; state->req = req; ret = asys_pwrite(state->asys_ctx, fsp->fh->fd, data, n, offset, req); @@ -771,11 +771,11 @@ static struct tevent_req *vfswrap_fsync_send(struct vfs_handle_struct *handle, if (req == NULL) { return NULL; } - if (!vfswrap_init_asys_ctx(handle->conn->sconn->conn)) { + if (!vfswrap_init_asys_ctx(handle->conn->sconn)) { tevent_req_oom(req); return tevent_req_post(req, ev); } - state->asys_ctx = handle->conn->sconn->conn->asys_ctx; + state->asys_ctx = handle->conn->sconn->asys_ctx; state->req = req; ret = asys_fsync(state->asys_ctx, fsp->fh->fd, req); diff --git a/source3/smbd/files.c b/source3/smbd/files.c index 2a0f6ce..a9e8357 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -94,10 +94,11 @@ NTSTATUS file_new(struct smb_request *req, connection_struct *conn, GetTimeOfDay(&fsp->open_time); if (req) { + struct smbXsrv_connection *xconn = req->xconn; struct smbXsrv_open *op = NULL; NTTIME now = timeval_to_nttime(&fsp->open_time); - status = smbXsrv_open_create(sconn->conn, + status = smbXsrv_open_create(xconn, conn->session_info, now, &op); if (!NT_STATUS_IS_OK(status)) { @@ -558,13 +559,13 @@ files_struct *file_fsp(struct smb_request *req, uint16 fid) return req->chain_fsp; } - if (req->sconn->conn == NULL) { + if (req->xconn == NULL) { return NULL; } now = timeval_to_nttime(&req->request_time); - status = smb1srv_open_lookup(req->sconn->conn, + status = smb1srv_open_lookup(req->xconn, fid, now, &op); if (!NT_STATUS_IS_OK(status)) { return NULL; @@ -594,7 +595,7 @@ struct files_struct *file_fsp_get(struct smbd_smb2_request *smb2req, now = timeval_to_nttime(&smb2req->request_time); - status = smb2srv_open_lookup(smb2req->sconn->conn, + status = smb2srv_open_lookup(smb2req->xconn, persistent_id, volatile_id, now, &op); if (!NT_STATUS_IS_OK(status)) { diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index 70148fb..f78ce45 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -111,11 +111,10 @@ extern bool exit_firsttime; struct tstream_context; struct smbd_smb2_request; -DATA_BLOB negprot_spnego(TALLOC_CTX *ctx, struct smbd_server_connection *sconn); +DATA_BLOB negprot_spnego(TALLOC_CTX *ctx, struct smbXsrv_connection *xconn); -void smbd_lock_socket(struct smbd_server_connection *sconn); -void smbd_unlock_socket(struct smbd_server_connection *sconn); -void smbd_echo_init(struct smbd_server_connection *sconn); +void smbd_lock_socket(struct smbXsrv_connection *xconn); +void smbd_unlock_socket(struct smbXsrv_connection *xconn); NTSTATUS smbd_do_locking(struct smb_request *req, files_struct *fsp, @@ -154,7 +153,8 @@ NTSTATUS smbd_do_setfilepathinfo(connection_struct *conn, char **ppdata, int total_data, int *ret_data_size); -NTSTATUS smbd_do_qfsinfo(connection_struct *conn, +NTSTATUS smbd_do_qfsinfo(struct smbXsrv_connection *xconn, + connection_struct *conn, TALLOC_CTX *mem_ctx, uint16_t info_level, uint16_t flags2, @@ -214,19 +214,19 @@ NTSTATUS smbd_calculate_access_mask(connection_struct *conn, void smbd_notify_cancel_by_smbreq(const struct smb_request *smbreq); -void smbd_server_connection_terminate_ex(struct smbd_server_connection *sconn, +void smbd_server_connection_terminate_ex(struct smbXsrv_connection *xconn, const char *reason, const char *location); -#define smbd_server_connection_terminate(sconn, reason) \ - smbd_server_connection_terminate_ex(sconn, reason, __location__) +#define smbd_server_connection_terminate(xconn, reason) \ + smbd_server_connection_terminate_ex(xconn, reason, __location__) const char *smb2_opcode_name(uint16_t opcode); bool smbd_is_smb2_header(const uint8_t *inbuf, size_t size); void reply_smb2002(struct smb_request *req, uint16_t choice); void reply_smb20ff(struct smb_request *req, uint16_t choice); -void smbd_smb2_first_negprot(struct smbd_server_connection *sconn, - uint8_t *inbuf, size_t size); +void smbd_smb2_first_negprot(struct smbXsrv_connection *xconn, + const uint8_t *inpdu, size_t size); DATA_BLOB smbd_smb2_generate_outbody(struct smbd_smb2_request *req, size_t size); @@ -344,6 +344,144 @@ struct smbXsrv_connection { enum protocol_types protocol; struct { + NTSTATUS status; + int sock; + struct tevent_fd *fde; + + struct { + bool got_session; + } nbt; + } transport; + + struct { + struct { + /* + * fd for the fcntl lock and process shared + * robust mutex to coordinate access to the + * client socket. When the system supports + * process shared robust mutexes, those are + * used. If not, then the fcntl lock will be + * used. + */ + int socket_lock_fd; +#ifdef HAVE_ROBUST_MUTEXES + pthread_mutex_t *socket_mutex; +#endif + + /* + * fd for the trusted pipe from + * echo handler child + */ + int trusted_fd; + + /* + * fde for the trusted_fd + */ + struct tevent_fd *trusted_fde; + + /* + * Reference count for the fcntl lock to + * allow recursive locks. + */ + int ref_count; + } echo_handler; + + struct { + bool encrypted_passwords; + bool spnego; + struct auth4_context *auth_context; + bool done; + /* + * Size of the data we can receive. Set by us. + * Can be modified by the max xmit parameter. + */ + int max_recv; + } negprot; + + struct { + bool done_sesssetup; + /* + * Size of data we can send to client. Set + * by the client for all protocols above CORE. + * Set by us for CORE protocol. + */ + int max_send; + } sessions; + struct smb_signing_state *signing_state; + + struct { + uint16_t client_major; + uint16_t client_minor; + uint32_t client_cap_low; + uint32_t client_cap_high; + } unix_info; + + struct msg_state *msg_state; + } smb1; + struct { + struct smbd_smb2_request_read_state { + struct smbd_smb2_request *req; + struct { + uint8_t nbt[NBT_HDR_SIZE]; + bool done; + } hdr; + struct iovec vector; + bool doing_receivefile; + size_t min_recv_size; + size_t pktfull; + size_t pktlen; + uint8_t *pktbuf; + } request_read_state; + struct smbd_smb2_send_queue *send_queue; + size_t send_queue_len; + + struct { + /* + * seq_low is the lowest sequence number + * we will accept. + */ + uint64_t seq_low; + /* + * seq_range is the range of credits we have + * granted from the sequence windows starting + * at seq_low. + * + * This gets incremented when new credits are + * granted and gets decremented when the + * lowest sequence number is consumed + * (when seq_low gets incremented). + */ + uint16_t seq_range; + /* + * The number of credits we have currently granted + * to the client. + * + * This gets incremented when new credits are + * granted and gets decremented when any credit + * is comsumed. + * + * Note: the decrementing is different compared + * to seq_range. + */ + uint16_t granted; + /* + * The maximum number of credits we will ever + * grant to the client. + * + * Typically we will only grant 1/16th of + * max_credits. + * + * This is the "server max credits" parameter. + */ + uint16_t max; + /* + * a bitmap of size max_credits + */ + struct bitmap *bitmap; + bool multicredit; + } credits; + + bool allow_2ff; struct { uint32_t capabilities; struct GUID guid; @@ -360,15 +498,9 @@ struct smbXsrv_connection { uint32_t max_read; uint32_t max_write; } server; - } smb2; - - struct msg_state *msg_state; - /* - * Link into libasys for asynchronous operations - */ - struct asys_context *asys_ctx; - struct tevent_fd *asys_fde; + struct smbd_smb2_request *requests; + } smb2; uint64_t smbd_idle_profstamp; @@ -389,6 +521,8 @@ struct smbXsrv_connection { struct smbXsrv_open_table *open_table; }; +const char *smbXsrv_connection_dbg(const struct smbXsrv_connection *xconn); + NTSTATUS smbXsrv_version_global_init(const struct server_id *server_id); uint32_t smbXsrv_version_global_current(void); @@ -481,6 +615,7 @@ struct smbd_smb2_send_queue { struct smbd_smb2_send_queue *prev, *next; DATA_BLOB *sendfile_header; + NTSTATUS *sendfile_status; struct iovec *vector; int count; @@ -491,6 +626,7 @@ struct smbd_smb2_request { struct smbd_smb2_request *prev, *next; struct smbd_server_connection *sconn; + struct smbXsrv_connection *xconn; struct smbd_smb2_send_queue queue_entry; @@ -647,8 +783,6 @@ struct user_struct { }; struct smbd_server_connection { - NTSTATUS status; - int sock; const struct tsocket_address *local_address; const struct tsocket_address *remote_address; const char *remote_hostname; @@ -656,9 +790,6 @@ struct smbd_server_connection { struct messaging_context *msg_ctx; struct sys_notify_context *sys_notify_ctx; struct notify_context *notify_ctx; - struct { - bool got_session; - } nbt; bool using_smb2; int trans_num; @@ -694,71 +825,6 @@ struct smbd_server_connection { } oplocks; struct { - struct tevent_fd *fde; - - struct { - - /* - * fd for the fcntl lock and process shared - * robust mutex to coordinate access to the - * client socket. When the system supports - * process shared robust mutexes, those are - * used. If not, then the fcntl lock will be - * used. - */ - int socket_lock_fd; -#ifdef HAVE_ROBUST_MUTEXES - pthread_mutex_t *socket_mutex; -#endif - - /* - * fd for the trusted pipe from - * echo handler child - */ - int trusted_fd; - - /* - * fde for the trusted_fd - */ - struct tevent_fd *trusted_fde; - - /* - * Reference count for the fcntl lock to - * allow recursive locks. - */ - int ref_count; - } echo_handler; - - struct { - bool encrypted_passwords; - bool spnego; - struct auth4_context *auth_context; - bool done; - /* - * Size of the data we can receive. Set by us. - * Can be modified by the max xmit parameter. - */ - int max_recv; - } negprot; - - struct { - uint16_t client_major; - uint16_t client_minor; - uint32_t client_cap_low; - uint32_t client_cap_high; - } unix_info; - - struct { - bool done_sesssetup; - /* - * Size of data we can send to client. Set - * by the client for all protocols above CORE. - * Set by us for CORE protocol. - */ - int max_send; - } sessions; - struct smb_signing_state *signing_state; - struct notify_mid_map *notify_mid_maps; struct { @@ -775,77 +841,19 @@ struct smbd_server_connection { } locks; } smb1; struct { - struct smbd_smb2_request_read_state { - struct smbd_smb2_request *req; - struct { - uint8_t nbt[NBT_HDR_SIZE]; - bool done; - } hdr; - struct iovec vector; - bool doing_receivefile; - size_t min_recv_size; - size_t pktfull; - size_t pktlen; - uint8_t *pktbuf; - } request_read_state; - struct smbd_smb2_send_queue *send_queue; - size_t send_queue_len; - struct tevent_fd *fde; - bool negprot_2ff; struct { /* The event that makes us process our blocking lock queue */ struct tevent_timer *brl_timeout; bool blocking_lock_unlock_state; } locks; - struct smbd_smb2_request *requests; - /* - * seqnum_low is the lowest sequence number - * we will accept. - */ - uint64_t seqnum_low; - /* - * seqnum_range is the range of credits we have - * granted from the sequence windows starting - * at seqnum_low. - * - * This gets incremented when new credits are - * granted and gets decremented when the - * lowest sequence number is consumed - * (when seqnum_low gets incremented). - */ - uint16_t seqnum_range; - /* - * credits_grantedThe number of credits we have currently granted - * to the client. -- Samba Shared Repository