summaryrefslogtreecommitdiffstats
path: root/source3/smbd/dir.c
Commit message (Collapse)AuthorAgeFilesLines
* param: rename lp function and variable from "hideunwriteable_files" to ↵Garming Sam2014-02-071-1/+1
| | | | | | | | "hide_unwriteable_files" Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* param: rename lp function and variable from "hideunreadable" to ↵Garming Sam2014-02-071-1/+1
| | | | | | | | "hide_unreadable" Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:dir - Introduce a 64-bit directory offset <-> 32 bit wire offset map ↵Jeremy Allison2014-01-151-2/+87
| | | | | | | | | | | using memcache. Should fix the DOS clients against 64-bit smbd's bug. https://bugzilla.samba.org/show_bug.cgi?id=2662 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3:dir - Map wire offsets to native directory cookies.Jeremy Allison2014-01-151-5/+17
| | | | | | | | | Take care of the special offsets. https://bugzilla.samba.org/show_bug.cgi?id=2662 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3:dir - Cope with fixed mapping of 'special' values.Jeremy Allison2014-01-151-0/+7
| | | | | | | https://bugzilla.samba.org/show_bug.cgi?id=2662 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3: dir - Introduce 32-bit wire versions of the 'special' values.Jeremy Allison2014-01-151-0/+5
| | | | | | | https://bugzilla.samba.org/show_bug.cgi?id=2662 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3:dir - Introduce a function to map a directory cookie to a 32-bit wire cookie.Jeremy Allison2014-01-151-1/+10
| | | | | | | | | Make this an identity for now. https://bugzilla.samba.org/show_bug.cgi?id=2662 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3:dir - In the old SMB1 search code, rename offset to wire_offset to ↵Jeremy Allison2014-01-151-8/+8
| | | | | | | | | | | distinguish between wire and native offsets. Rename uint32 type to correct uint32_t. https://bugzilla.samba.org/show_bug.cgi?id=2662 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3-lib: smbclient shows no error if deleting a directory with del failedJeremy Allison2013-11-141-26/+0
| | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=10260 Move dir_check_ftype() to util.c Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* s3-smbd: smbclient shows no error if deleting a directory with del failedJeremy Allison2013-11-141-3/+3
| | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=10260 Remove unneeded conn argument to dir_check_ftype(). Move to correct uint32_t types. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* smbd: Remove an unused variableVolker Lendecke2013-06-121-2/+0
| | | | | | | | 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): Wed Jun 12 01:00:44 CEST 2013 on sn-devel-104
* Fix bug #9822 - Samba crashing during Win8 sync.Jeremy Allison2013-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | When refactoring the dptr desctructor in the fix for bug: 9778 (Samba directory code uses dirfd() without vectoring through a VFS call) I removed the code to NULL out the struct smb_Dir * pointer inside the fsp struct by mistake. Re-add the NULLing out of that pointer when closing a directory pointer associated with an open file. Reporter confirms it fixes the crash. 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): Sat Apr 27 20:44:55 CEST 2013 on sn-devel-104
* smbd: Convert is_visible_file to synthetic_smb_fnameVolker Lendecke2013-04-171-4/+3
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: Convert dptr_create to synthetic_smb_fnameVolker Lendecke2013-04-171-8/+7
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: Convert open_dir_with_privilege to synthetic_smb_fnameVolker Lendecke2013-04-171-5/+4
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: Convert smbd_dirptr_get_entry to cp_smb_filenameVolker Lendecke2013-04-171-3/+2
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* Cleanup. Remove unused function dptr_DirCacheAdd(). Make DirCacheAdd() static.Jeremy Allison2013-04-161-10/+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
* Remove the "Ugly hack" that was the second use of dirfd().Jeremy Allison2013-04-121-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>
* In the struct smb_Dir destructor, use the fsp back pointer to release resources.Jeremy Allison2013-04-121-10/+13
| | | | | | | Removes one use of dirfd(). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* Maintain a back-pointer to the fsp in struct smb_Dir when opening with ↵Jeremy Allison2013-04-121-1/+5
| | | | | | | FDOPENDIR. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* smbd: Tune "dir" a bit.Volker Lendecke2013-03-221-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
* More for #9374 - Allow smb2.acls torture test to pass against smbd with a ↵Jeremy Allison2012-11-201-5/+9
| | | | | | | | | | | | | | | | | | | | POSIX ACLs backend. Change can_delete_directory() to can_delete_directory_fsp(), as we only ever call this from an open directory file handle. This allows us to use OpenDir_fsp() instead of OpenDir(). OpenDir() re-checks the ACL on the directory, which may refuse DIR_LIST permissions. OpenDir_fsp() does not. As this is a file-server internal check to see if the directory actually contains any files before setting delete on close, we can ignore the ACL here (Windows does). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Tue Nov 20 01:46:28 CET 2012 on sn-devel-104
* Add bool use_privs parameter to smbd_check_access_rights()Jeremy Allison2012-09-141-0/+2
| | | | | If this is set we should use it in preference to blindly assuming root can do anything. Currently set to 'false' in (most) callers.
* Add "backup_intent" bool.Jeremy Allison2012-09-141-1/+2
|
* build: Remove SMB_OFF_T, replace with off_tAndrew Bartlett2012-04-061-2/+2
| | | | | | | | | Now that we always require a 64 bit off_t, we no longer need SMB_OFF_T. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 6 01:47:43 CEST 2012 on sn-devel-104
* build: Remove SMB_STRUCT_DIR defineAndrew Bartlett2012-04-051-1/+1
|
* Add open_dir_with_privilege() to ensure we're opening the correct directory ↵Jeremy Allison2012-03-011-2/+66
| | | | | | | when doing backup requests. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Mar 1 03:50:40 CET 2012 on sn-devel-104
* Add accessor functions to set a bool "priv" on a directory handle. Not yet ↵Jeremy Allison2012-02-291-0/+11
| | | | used, but will be part of FLAG_TRANS2_FIND_BACKUP_INTENT code.
* Move dptr code over to TALLOC.Jeremy Allison2012-02-251-18/+9
| | | | | Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Feb 25 03:50:24 CET 2012 on sn-devel-104
* Make dptr_path() and dptr_wcard() const.Jeremy Allison2012-02-241-2/+2
|
* s3: Fix some False/NULL hickupsVolker Lendecke2011-12-201-1/+1
| | | | | Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Dec 20 13:13:17 CET 2011 on sn-devel-104
* s3: Move can_delete_directory to smbd/, remove shimVolker Lendecke2011-12-131-2/+2
| | | | | Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Dec 13 19:00:37 CET 2011 on sn-devel-104
* s3:smbd: don't limit the number of open dptrs for smb2 (bug #8592)Stefan Metzmacher2011-11-101-3/+12
| | | | | | | | | | This fixes a crash bug that is triggered, when a client has more than 256 directory handles with searches. metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Thu Nov 10 14:08:14 CET 2011 on sn-devel-104
* s3:smbd: fully construct the dptr before allocating a dnum in the bitmapStefan Metzmacher2011-11-101-27/+29
| | | | metze
* s3:smbd: avoid string_set() in dir.cStefan Metzmacher2011-11-101-2/+9
| | | | | | And do some more error checks. metze
* Add the SEC_DIR_LIST check to dptr_create().Jeremy Allison2011-11-071-0/+27
| | | | | Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Nov 7 21:11:03 CET 2011 on sn-devel-104
* Move the SEC_DIR_LIST check into dptr_create for SMB2 and now for SMB1.Jeremy Allison2011-11-051-0/+6
| | | | | | | The pathname check still needs fixing. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Nov 5 01:38:00 CET 2011 on sn-devel-104
* Remove can_access_file_acl(). We no longer need this duplicate code (hurrah!).Jeremy Allison2011-11-041-1/+3
|
* Revert "Call check_parent_access() on readdir."Jeremy Allison2011-11-041-13/+0
| | | | | | This reverts commit a763edaf9c76afe2546c035fc090370301dd347b. Checking the wrong thing..
* Call check_parent_access() on readdir.Jeremy Allison2011-11-011-0/+13
|
* s3:smbd: remove an unused variable in dptr_create()Michael Adam2011-08-251-1/+0
|
* We don't need check_name() here. All possible paths to dptr_create()Jeremy Allison2011-08-031-4/+0
| | | | | | | have already called check_name. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Aug 3 03:00:55 CEST 2011 on sn-devel-104
* lib/util Move bitmap.c to lib/utilAndrew Bartlett2011-07-081-0/+1
|
* s3-build: Provide a run-time shim to work around duplicate symbolsAndrew Bartlett2011-06-211-2/+2
| | | | | | | | | | | | | | | | The become_root() and similar 'smbd' functions that are used widely in Samba libraries had 'dummy' copies in dummysmbd.c and dummyroot.c. These have been replaced by a runtime plugin mechanim, which ensures that standlone binaries still do nothing, while in smbd the correct function is used. This avoids having these as duplicate symbols in the smbd binary, which can cause unpredictable behaviour. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s3-talloc Change TALLOC_ZERO_ARRAY() to talloc_zero_array()Andrew Bartlett2011-06-091-1/+1
| | | | | Using the standard macro makes it easier to move code into common, as TALLOC_ZERO_ARRAY isn't standard talloc.
* s3-talloc Change TALLOC_ZERO_P() to talloc_zero()Andrew Bartlett2011-06-091-2/+2
| | | | | Using the standard macro makes it easier to move code into common, as TALLOC_ZERO_P isn't standard talloc.
* s3-smb Use FILE_ATTRIBUTE_ARCHIVE intead of aARCHAndrew Bartlett2011-04-291-2/+2
| | | | | | This means we use just one constant for this file attribute. Andrew Bartlett
* s3-smb Use FILE_ATTRIBUTE_DIRECTORY intead of aDIRAndrew Bartlett2011-04-291-4/+4
| | | | | | This means we use just one constant for this file attribute. Andrew Bartlett
* s3-smb Use FILE_ATTRIBUTE_SYSTEM intead of aSYSTEMAndrew Bartlett2011-04-291-3/+3
| | | | | | This means we use just one constant for this file attribute. Andrew Bartlett
* s3-smb Use FILE_ATTRIBUTE_HIDDEN intead of aHIDDENAndrew Bartlett2011-04-291-3/+3
| | | | | | This means we use just one constant for this file attribute. Andrew Bartlett