1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/source4/ntvfs
Andrew Tridgell d380c49791 use the tevent nesting code to avoid the uid problem in the VFS
backend

The vfs_unixuid module changes the uid of the process when executing
operations on behalf of the user. Within the VFS backend we may rely
on semi-async calls, such as winbind calls, which will call the event
loop again. To cope with this we need to ensure that while inside
those calls we revert the uid to root, then revert back to the
connected user when we have finished with the semi-async calls.
2009-03-19 11:23:49 +11:00
..
cifs s4:libcliraw: s/private/private_data 2009-02-02 13:08:51 +01:00
cifs_posix_cli s4:ntvfs/cifs_posix_cli: s/private/p 2009-02-02 13:08:31 +01:00
common s4:ntvfs/common: s/private/private_data 2009-02-02 13:08:32 +01:00
ipc s4:ntvfs/ipc: s/private/ipriv 2009-02-02 13:08:32 +01:00
nbench s4:ntvfs/nbench: s/private/nprivates 2009-02-02 13:08:33 +01:00
posix s4:pvfs_aio: fix compiler warning 2009-02-05 17:48:09 +01:00
print Remove iconv_convenience parameter from simple string push/pull 2008-10-24 03:40:09 +02:00
simple s4:ntvfs/simple: s/private/p 2009-02-02 13:08:33 +01:00
smb2 s4:ntvfs/smb2: s/private/p 2009-02-02 13:08:34 +01:00
sysdep s4:sysdep/inotify: use tevent_fd_set_auto_close() 2009-01-03 19:58:52 +01:00
unixuid use the tevent nesting code to avoid the uid problem in the VFS 2009-03-19 11:23:49 +11:00
config.mk Use variables for directories in ntvfs smb2 module. 2008-05-28 03:07:42 +02:00
ntvfs_base.c s4:lib/tevent: rename structs 2008-12-29 20:46:40 +01:00
ntvfs_generic.c s4:ntvfs_generic: use talloc_get_type() to remote compiler warnings 2009-02-13 13:44:36 +01:00
ntvfs_interface.c s4:ntvfs: s/private/private_data 2009-02-02 13:08:30 +01:00
ntvfs_util.c Fix include paths to new location of libutil. 2008-10-11 21:31:42 +02:00
ntvfs.h s4:ntvfs: s/private/private_data 2009-02-02 13:08:30 +01:00
README first public release of samba4 code 2003-08-13 01:53:07 +00:00

This is the base of the new NTVFS subsystem for Samba. The model for
NTVFS backends is quite different than for the older style VFS
backends, in particular:

- the NTVFS backends receive windows style file names, although they
  are in the unix charset (usually UTF8). This means the backend is
  responsible for mapping windows filename conventions to unix
  filename conventions if necessary

- the NTVFS backends are responsible for changing effective UID before
  calling any OS local filesystem operations (if needed). The
  become_*() functions are provided to make this easier.

- the NTVFS backends are responsible for resolving DFS paths

- each NTVFS backend handles either disk, printer or IPC$ shares,
  rather than one backend handling all types

- the entry points of the NTVFS backends correspond closely with basic
  SMB operations, wheres the old VFS was modelled directly on the
  POSIX filesystem interface.

- the NTVFS backends are responsible for all semantic mappings, such
  as mapping dos file attributes, ACLs, file ownership and file times