summaryrefslogtreecommitdiffstats
path: root/source/smbd/vfs.c
Commit message (Collapse)AuthorAgeFilesLines
* Added vfs_unlink call to ensure vfs is used on unlink from client.Jeremy Allison2000-08-301-0/+9
| | | | Jeremy.
* Fixes for various compile warnings on Solaris 8.Tim Potter2000-07-101-1/+3
|
* Fix for dual unix_to_dos conversion in readdir from A.V.Shutko ↵Jeremy Allison2000-05-051-1/+0
| | | | | | <AVShutko@mail.khstu.ru> Jeremy.
* Moved uglyness needed in fcntl locking (64->32 bit mapping, NFSJeremy Allison2000-05-021-2/+7
| | | | | | | errors etc.) into locking/posix.c, where it is needed. fcntl_lock in lib/util.c is now very small and clean. Added (*lock) op to vfs layer. Jeremy.
* This is a *big* checkin that may break some things, but implements theJeremy Allison2000-04-221-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new open mechanism Andrew & I discussed. config.sub: configure: Included the QNX patch. include/vfs.h: smbd/vfs-wrap.c: smbd/vfs.c: Added ftruncate vfs call (needed). Note that we will also need locking calls in the vfs (to be added). lib/util_unistr.c: nmbd/nmbd_processlogon.c: Fix for NT domain logons causing nmbd to core dump. Also fix for sidsize DOS bug. locking/locking.c: Check value of ret before using it for memdup. printing/printing.c: Convert print_fsp_open to return an allocated fsp. rpc_server/srv_lsa.c: Fix for NT domain logons. I have removed all use of lp_share_modes() from the code (although I left the parameter in the table for backwards compatibility). It no longer makes sense for this to exist. smbd/close.c: Removed lp_share_modes(). smbd/fileio.c: Fixed parameters to unlock_share_entry call in panic code. smbd/files.c: Correctly set the unix_ERR_code to ERRnofids on fsp allocation fail. smbd/nttrans.c: smbd/reply.c: smbd/trans2.c: Changed all occurrences of open_file_shared/open_directory/ open_file_stat to return an fsp from the call. smbd/open.c: Changed all occurrences of open_file_shared/open_directory/ open_file_stat to return an fsp from the call. In addition I have fixed a long standing race condition in the deny mode processing w.r.t. two smbd's creating a file. Andrew, please note that your original idea of using open with O_EXCL in this case would not work (I went over the races very carefully) and so we must re-check deny modes *after* the open() call returns. This is because there is a race between the open with O_EXCL and the lock of the share mode entry. Imagine the case where the first smbd does the open with O_EXCL and a deny mode of DENY_ALL, but is pre-empted before it locks the share modes and creates the deny mode entry for DENY_ALL. A second smbd could then come in with O_RDONLY and a deny mode of DENY_NONE and the two opens would be allowed. The *only* way to fix this race is to lock the share modes after the open and then do the deny mode checks *after* this lock in the case where the file did not originally exist. This code will need extensive testing but seems to initially work. Jeremy.
* the bulk of the changes to get rid of fd_ptr and move print openAndrew Tridgell2000-04-101-4/+3
| | | | | | | | | handling to printing/printing.c most of this was just replacing things like fsp->fd_ptr->fd with fsp->fd the changes in open.c are quite dramatic. Most of it is removing all the functions that handled the fd multiplexing
* Fix some compile warnings.Tim Potter2000-02-041-0/+7
|
* Put back lots of missing calls to dos_to_unix(). Thanks toTim Potter2000-02-031-2/+2
| | | | aono@cc.osaka-kyoiku.ac.jp (Tomoki AONO)
* Comments to use vfs_* functions instead of dos_* unless reallyTim Potter2000-02-031-0/+450
| | | | accessing files on local disk.
* 2nd phase of head branch sync with SAMBA_2_0 - this delets all the files ↵Andrew Tridgell1999-12-131-379/+0
| | | | that were in the head branch but weren't in SAMBA_2_0
* Pass VFS options defined in smb.conf to vfs_init() function.Tim Potter1999-07-221-4/+7
|
* Rewrite of VFS initialisation routines.Tim Potter1999-04-201-101/+114
|
* Removed unused vfs_read_data() function at the request of tridge.Tim Potter1999-04-141-49/+0
| | | | Removed unnecessary SSL stuff from vfs_write_data().
* Forgot about closedir() function for VFS. Hoo embarassing.Tim Potter1999-04-081-0/+2
|
* Disable VFS routines if no libdl available.Tim Potter1999-04-051-3/+6
|
* Wrote VFS initialisation routines.Tim Potter1999-04-041-0/+407
Converted some useful routines from doscalls.c and changed them to use VFS I/O functions: dos_file_exist dos_read_data dos_write_data dos_transfer_file dos_readdirname Some of these functions have been #ifdef'ed out of doscalls.c as they are not used anywhere else. Not sure whether they should be deleted or not. The remaining dos_* calls seem to be used by clients and for locking stuff. This should be cleaned up sometime.