summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2013-04-17smbd: Convert open_np_file to synthetic_smb_fnameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smb_file_rename_information to synthetic_smb_fnameVolker Lendecke1-5/+4
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smb_file_rename_information to synthetic_smb_fnameVolker Lendecke1-4/+5
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smb2_file_rename_information to synthetic_smb_fnameVolker Lendecke1-4/+5
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smb_set_file_dosmode to synthetic_smb_fnameVolker Lendecke1-6/+5
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert call_trans2qfilepathinfo to synthetic_smb_fnameVolker Lendecke1-8/+6
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert posix_sys_acl_blob_get_file to synthetic_smb_fnameVolker Lendecke1-6/+5
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17pysmbd: Convert py_smbd_unlink to synthetic_smb_fnameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17pysmbd: Convert set_nt_acl_conn to synthetic_smb_fnameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert filename_convert_internal to synthetic_smb_fnameVolker Lendecke1-4/+6
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert vfs_lstat_smb_fname to synthetic_smb_fnameVolker Lendecke1-6/+4
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert vfs_stat_smb_fname to synthetic_smb_fnameVolker Lendecke1-6/+4
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert check_reduced_name_with_privilege to synthetic_smb_fnameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert vfs_GetWd to synthetic_smb_fnameVolker Lendecke1-9/+7
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert vfs_default_durable_reconnect to synthetic_smb_fnameVolker Lendecke1-6/+4
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert call_trans2setfilepathinfo to cp_smb_filenameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smb_set_file_unix_basic to cp_smb_filenameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smb_set_file_size to cp_smb_filenameVolker Lendecke1-3/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert call_trans2qfilepathinfo to cp_smb_filenameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert fsp_set_smb_fname to cp_smb_filenameVolker Lendecke1-4/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert copy_file to cp_smb_filenameVolker Lendecke1-3/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert rename_internals_fsp to cp_smb_filenameVolker Lendecke1-2/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smbd_dirptr_get_entry to cp_smb_filenameVolker Lendecke1-3/+2
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17smbd: Convert smbd_smb2_close to cp_smb_filenameVolker Lendecke1-5/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-16Cleanup. Remove unused function dptr_DirCacheAdd(). Make DirCacheAdd() static.Jeremy Allison2-12/+3
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Tue Apr 16 12:05:13 CEST 2013 on sn-devel-104
2013-04-15smbd: Fix an error return in change_dir_owner_to_parentVolker Lendecke1-1/+1
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com> Autobuild-User(master): Richard Sharpe <sharpe@samba.org> Autobuild-Date(master): Mon Apr 15 18:05:06 CEST 2013 on sn-devel-104
2013-04-12Remove the "Ugly hack" that was the second use of dirfd().Jeremy Allison1-13/+5
The destructor does all the resource deallocation needed. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2013-04-12In the struct smb_Dir destructor, use the fsp back pointer to release resources.Jeremy Allison1-10/+13
Removes one use of dirfd(). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2013-04-12Maintain a back-pointer to the fsp in struct smb_Dir when opening with ↵Jeremy Allison1-1/+5
FDOPENDIR. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2013-04-10s3:smbd: do not access data behind req->buf+req->buflen in ↵Ralph Wuerthner1-1/+7
srvstr_pull_req_talloc() Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Wed Apr 10 02:03:13 CEST 2013 on sn-devel-104
2013-04-10s3:smbd: convert srvstr_pull_req_talloc() into a functionRalph Wuerthner2-0/+14
Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2013-04-10s3:smbd: do not access data behind req->buf+req->buflen in ↵Ralph Wuerthner1-3/+10
srvstr_get_path_req_wcard() Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2013-04-02Ensure EA value is allocated on the right context.Jeremy Allison1-1/+2
Ensure we free on error condition (tidyup, not a leak). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Tue Apr 2 21:54:33 CEST 2013 on sn-devel-104
2013-04-02Final fix for bug #9130 - Certain xattrs cause Windows error 0x800700FFJeremy Allison1-1/+1
The spec lies when it says that NextEntryOffset is the only value considered when finding the next EA. We were adding 4 more extra pad bytes than needed (i.e. if the next entry already was on a 4 byte boundary, then we were adding 4 additional pad bytes). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Ensure we don't return uninitialized memory in the pad bytes.Jeremy Allison1-1/+7
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Fix bug #9130 - Certain xattrs cause Windows error 0x800700FFJeremy Allison1-0/+9
Ensure we never return any zero-length EA's. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Change estimate_ea_size() to correctly estimate the EA size over SMB2.Jeremy Allison1-0/+20
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Modify fill_ea_chained_buffer() to be able to do size calculation only, no ↵Jeremy Allison1-12/+15
marshalling. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Ensure we can never return an uninitialized EA list.Jeremy Allison1-1/+2
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Fix bad SMB2 opcode reading in server.Jeremy Allison1-5/+5
SMB2 opcodes are 16-bit values. We should *never* be reading them with IVAL(inhdr, SMB2_HDR_OPCODE), it should always be SVAL(inhdr, SMB2_HDR_OPCODE). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com> Autobuild-User(master): Richard Sharpe <sharpe@samba.org> Autobuild-Date(master): Tue Apr 2 07:28:48 CEST 2013 on sn-devel-104
2013-03-28Optimization suggested by Volker. Don't do a stat system call on normal read ↵Jeremy Allison1-15/+15
path. Only do it if we need it in the sendfile() path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Thu Mar 28 17:51:22 CET 2013 on sn-devel-104
2013-03-27Call smb_panic when we try to exit the server uncleanly. This gives us the ↵Richard Sharpe1-7/+1
normal traceback and memory dump, but also runs the normal panic action. Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Mar 27 22:58:37 CET 2013 on sn-devel-104
2013-03-26smbd: Remove an optimization that became unnecessaryVolker Lendecke1-7/+6
After we only collect nonlocal vnns in idx_state.vnns now, at this point we *know* we have something to send to a remote node. The previous code avoided the call to notify_push_remote_blob with an if-statement that has now become unnecessary. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Mar 26 13:16:39 CET 2013 on sn-devel-104
2013-03-26smbd: We don't collect our own vnn anymoreVolker Lendecke1-3/+0
notify_trigger_index_parser will not anymore add ourselves into the vnn list that it collects. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Slightly simplify notify_triggerVolker Lendecke1-0/+4
We have a good chance that we did not collect any remote vnns. This avoids trying to walk the remote vnns altogether. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Slightly simplify notify_triggerVolker Lendecke1-6/+5
This straightens the for-loop walking the path components slightly Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Avoid some talloc_realloc in notify_internalVolker Lendecke1-6/+16
For the nonclustered case we will only ever have one vnn in notify_index.tdb. For this case, without this patch we did talloc_realloc when collecting vnns to be able to do the memcpy instead of explicit copy with a for-loop. This new code will partition the new vnns we see when parsing a notify_index.tdb record into ourselves and all foreign vnns, only really collecting the foreign ones in an array. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Avoid sending 0-sized keys to dbwrapVolker Lendecke1-1/+8
Start the notification one level below /. Sharing and notifying / for changes is broken at this moment anyway. When sharing / and someone wants to get notified for changes under /usr, we store "//usr" as the notify_index key. So this patch does not break anything that is not broken today, and it avoids a bogus call to dbwrap_parse_records. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-22smbd: Tune "dir" a bit.Volker Lendecke1-6/+19
for i in $(seq 1 20000) ; do echo dir ; done | smbclient //127.0.0.1/tmp -U% without and with this patch: $ time bin/smbd -d0 -i smbd version 4.1.0pre1-GIT-1f139ae started. Copyright Andrew Tridgell and the Samba Team 1992-2013 Beendet real 0m28.342s user 0m10.249s sys 0m10.513s $ time bin/smbd -d0 -i smbd version 4.1.0pre1-GIT-1f139ae started. Copyright Andrew Tridgell and the Samba Team 1992-2013 Beendet real 0m27.348s user 0m9.089s sys 0m10.853s The "real" timestamp is irrelevant, this also contains the time between starting smbd and the smbclient job. It's the "user" time. The result that this patch improves the time spent in user space by 10% is consistent. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Mar 22 22:10:57 CET 2013 on sn-devel-104
2013-03-22Fix bug #9733 - smbcontrol close-share is not working.Jeremy Allison1-0/+3
As part of forcibly disconnecting a client from a share, smbd must atomically call reload_services() to ensure that the entry in the ServicePtrs[] array corresponding to that share is removed if the share was removed from the smb.conf or registry entries. Otherwise the ServicePtrs[] array entry for the share remains active and the client races to auto-reconnect to the share before a second message to reload the smb.conf file can be sent. This has to be done as part of the close-share message processing, as removing the share from the smb.conf file first, then telling the smbd to reload followed by the forcible disconnect message doesn't work as in this sequence of events when the reload message is received the client is still connected to the share, so the ServicePtrs[] entry is still left active. The forcible-disconnect + service reload has to be done together as an atomic operation in order for this to work. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Fri Mar 22 20:10:11 CET 2013 on sn-devel-104