summaryrefslogtreecommitdiffstats
path: root/source3/smbd/globals.h
Commit message (Collapse)AuthorAgeFilesLines
* s3:smb2_server: avoid calling set_current_user_info() for each requestStefan Metzmacher2013-11-271-1/+1
| | | | | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Nov 27 16:31:44 CET 2013 on sn-devel-104
* s3:smb2_server: generate a header blob for the sendfile pathStefan Metzmacher2013-11-271-0/+1
| | | | | | | | | | We need to pass the NBT header, SMB2 header and SMB2 Read header as header blob to SMB_VFS_SENDFILE(). This allows the usage of MSG_SEND or other tricks to avoid multiple TCP packets on the wire. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* s3:smb2_server: for performance reasons we use tevent_fd and readv/writev ↵Stefan Metzmacher2013-11-271-3/+25
| | | | | | | | | | | | | | | | | | | | | directly Going via tevent_req_create/talloc_free at multiple layer costs too much cpu cycles per request. I tested downloading a 16GB (sparse) file with smbclient -b1 -mNT1, and -mSMB2_02. Using smb2 max read = 64512, which means smb1 and smb2 will use the same read size. I build with -O3 -g and compared the results with valgrind --tool=callgrind. With -mNT1 the server uses about 2.000.000.000 cpu cycles. This patch reduces the userspace cpu cycles for -mSMB2_02 from about ~ 8.000.000.000 down to ~ 4.000.000.000. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* smbd:smb2: successfully answer a DHnC request when the initial create was DH2QMichael Adam2013-10-051-1/+1
| | | | | | | | | | | | I.e. the durable reconnect attempt is v1 while the original create was durable v2 including the create guid. Implement this by skipping the create_guid verification when the reconnect request is v1. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* smbd: qfsinfo has fixed/variable buffersVolker Lendecke2013-08-281-0/+1
| | | | | | | | | The error message will have to change depending whether the buffer is too small for the fixed or variable buffers Bug: https://bugzilla.samba.org/show_bug.cgi?id=10106 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: qfilepathinfo has fixed/variable buffersVolker Lendecke2013-08-281-0/+1
| | | | | | | | | The error message will have to change depending whether the buffer is too small for the fixed or variable buffers Bug: https://bugzilla.samba.org/show_bug.cgi?id=10106 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* Remove the compound_related_in_progress state from the smb2 global state.Jeremy Allison2013-05-071-1/+0
| | | | | | | | And also remove the restriction that we can't read a new request whilst we're in this state. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@samba.org>
* Add macro SMBD_SMB2_SHORT_RECEIVEFILE_WRITE_LEN.Jeremy Allison2013-04-191-0/+2
| | | | | | | | This is the 'short' length we'll read in the SMB2_WRITE receivefile code path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
* Add function smbd_smb2_unread_bytes().Jeremy Allison2013-04-191-0/+1
| | | | | | | | Returns number of bytes left to read for recvfile. Will be used in SMB_2_WRITE_FILE code path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
* s3:smbXsrv_open: add function smbXsrv_open_cleanup()Gregor Beck2013-04-181-0/+3
| | | | | | Signed-off-by: Gregor Beck <gbeck@sernet.de> Reviewed-by: Michael Adam <obnox@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* s3:smbd: s/struct fd_event/struct tevent_fdStefan Metzmacher2013-02-191-2/+2
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* s3:smbd: s/struct timed_event/struct tevent_timerStefan Metzmacher2013-02-191-2/+2
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* s3:smbXsrv_open: add smbXsrv_open_global_traverse()Gregor Beck2013-02-191-0/+4
| | | | | | Signed-off-by: Gregor Beck <gbeck@sernet.de> Reviewed-by: Michael Adam <obnox@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* s3: Make SMB2_GETINFO multi-volume aware.Ira Cooper2013-02-081-0/+1
| | | | | | | | | | | | Not all shares are a single volume. Some actually expose multiple volumes under a single share. In these cases showing the amount of space free as the space free at the base of the directory heirarchy is wrong. Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Feb 8 21:44:37 CET 2013 on sn-devel-104
* s3:smbXsrv_tcon: add smbXsrv_tcon_global_traverse()Gregor Beck2012-10-191-0/+4
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Michael Adam <obnox@samba.org>
* s3:smbXsrv_session: add smbXsrv_session_global_traverse()Gregor Beck2012-10-191-0/+4
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Michael Adam <obnox@samba.org>
* s3:smbd: remove struct member smbd_smb2_request.cancelled - it was only writtenMichael Adam2012-09-221-1/+0
|
* s3:smbd:smb2: simplify smbd_smb2_request_validate() and ↵Michael Adam2012-09-221-2/+0
| | | | | | | | | | | smbd_smb2_request_dispatch() removes unnneccary checks/assignments for compound_related and next_status and duplicate setting of error status. And remove (now) unused next_status from struct smbd_smb2_request. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
* Add 'bool use_privs' to smbd_calculate_access_mask().Jeremy Allison2012-09-151-0/+1
| | | | | | | | Replaces blanket root allow if set. Set to 'false' for all current callers. Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Sep 15 00:37:49 CEST 2012 on sn-devel-104
* Sigh :-(. Removing optimization prematurely is the root of all evil :-(.Jeremy Allison2012-09-131-0/+1
| | | | | | | | | | | | | | | | | Sorry for the mistake, but the LastDir singleton cache in vfs_ChDir() actually plays an important role. When we're processing a stream of SMB1/SMB2/SMB3 requests we don't want to add a chdir()/getcwd() system call pair on every request if they're all on the same connection and dealing with the same base path. I did some testing with a program that times 1,000,000 chdir() requests vs. 1,000,000 strcmp requests and it's a penalty of 10x doing the system calls. Just because it's old code, doesn't mean it's bad :-(. Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Sep 13 21:31:42 CEST 2012 on sn-devel-104
* Remove ancient "optimization" global LastDir.Jeremy Allison2012-09-121-1/+0
|
* s3:smbXsrv_open: add smb2srv_open_recreate() to support durable handlesStefan Metzmacher2012-09-081-0/+6
| | | | metze
* s3:smb2_break: encrypt OPLOCK BREAK notificationsStefan Metzmacher2012-08-231-2/+3
| | | | | | | metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Thu Aug 23 10:01:14 CEST 2012 on sn-devel-104
* s3:smb2_server: add SMB3 encryption supportStefan Metzmacher2012-08-171-18/+34
| | | | metze
* s3:smb2_server: add smbd_smb2_request->do_encryptionStefan Metzmacher2012-08-091-0/+1
| | | | | | For now it's always false... metze
* s3:smb2_server: fix SMB2 signing of compound responsesStefan Metzmacher2012-08-071-0/+6
| | | | | | | | | | We need to defer the signing until we know the response doesn't change anymore before it goes over the wire. metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Aug 7 20:29:30 CEST 2012 on sn-devel-104
* s3:smb2_server: add some more SMBD_SMB2_* defines/macrosStefan Metzmacher2012-08-071-6/+22
| | | | metze
* s3:smb2_server: make use of smbd_smb2_inbuf_parse_compound() in ↵Stefan Metzmacher2012-08-061-4/+2
| | | | | | | | | | | | | smbd_smb2_request_read*() This changes the way we read SMB2 traffic from the socket, now as create just one large buffer for the whole NBT payload and then split it into iovec elements in smbd_smb2_inbuf_parse_compound() metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Mon Aug 6 21:54:35 CEST 2012 on sn-devel-104
* s3:smb2_server: remove const from smbd_smb2_first_negprot()Stefan Metzmacher2012-08-061-1/+1
| | | | metze
* s3:smbd: add helper macros to access smb2req->{in,out}.vector[]Stefan Metzmacher2012-08-051-0/+18
| | | | | | | For SMB3 encryption we need to change the vector layout and we better hide this behind some central macros. metze
* s3:smb2_server: simplify the talloc_pool handling for smbd_smb2_requestStefan Metzmacher2012-07-251-3/+0
| | | | metze
* s3: Add a _nosync version of smb2_write_completeVolker Lendecke2012-07-181-0/+2
| | | | | | This will be used in aio.c to avoid a second fsync after write Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Move the aio_pthread read/write functionality to vfs_defaultVolker Lendecke2012-07-181-0/+6
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Add vfs_aio_posixVolker Lendecke2012-07-181-3/+0
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Remove the unused completion handling from aio.cVolker Lendecke2012-07-181-1/+0
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Properly handle shutdown with the _send/_recv based aioVolker Lendecke2012-07-181-1/+0
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3:smbd:smb2: change smbXsrv_session0 to smbXsrv_session in struct user_struct.Michael Adam2012-07-031-1/+1
| | | | | smbXsrv_session0 is the internal name of (current) version 0 of the structure. Externally, only smbXsrv_session should be used.
* Make schedule_deferred_open_message_smb2() return an indication of success.Jeremy Allison2012-06-301-1/+1
|
* s3:smbd: make use of smbXsrv_open for smb1/2/3Stefan Metzmacher2012-06-291-3/+11
| | | | | | | | | | | | This makes sure we generate unique persistent file ids, which are stored in smbXsrv_open_global.tdb. Pair-Programmed-With: Michael Adam <obnox@samba.org> metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Jun 29 21:01:11 CEST 2012 on sn-devel-104
* s3:smbd: add smbXsrv_open* infrastructureStefan Metzmacher2012-06-291-0/+20
| | | | | | Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
* s3:smb2_server: implement credit granting similar to windowsStefan Metzmacher2012-06-291-0/+3
| | | | | | This makes it much easier to compare traces. metze
* s3:smb2_server: make sure we don't grant more credits than we allowStefan Metzmacher2012-06-291-4/+39
| | | | | | | | | If the client hasn't consumed the lowest seqnum, but the distance between lowest and highest seqnum has reached max credits. In that case we should stop granting credits. metze
* s3:smbXsrv_session: add smb2srv_session_close_previous_send/recvStefan Metzmacher2012-06-251-0/+7
| | | | metze
* s3:smbd: make use of smbXsrv_session for smb1Stefan Metzmacher2012-06-251-8/+0
| | | | | | Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
* s3:smbd: make use of smbXsrv_tcon for smb1Stefan Metzmacher2012-06-251-4/+0
| | | | | | Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
* s3:smbd: make use of smbXsrv_tcon and smbXsrv_session for smb2Stefan Metzmacher2012-06-251-38/+2
| | | | | | | | | The removes the protocol specific smbd_smb2_session and smbd_smb2_tcon. Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
* s3:smb2_sesssetup: make use of the smbXsrv_session infrastructureStefan Metzmacher2012-06-251-10/+4
| | | | | | | We still have smbd_smb2_session as primary structure, but that will went away once we got rid of smbd_smb2_tcon. metze
* s3:smbd: add smbXsrv_tcon infrastructureStefan Metzmacher2012-06-251-0/+21
| | | | | | Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
* s3:smbd: add smbXsrv_session infrastructureStefan Metzmacher2012-06-251-0/+19
| | | | | | Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
* s3:smbd: add smbXsrv_version_* infrastructureStefan Metzmacher2012-06-251-0/+3
| | | | metze