1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/source4/ntvfs
Andrew Bartlett 9a9dcc7250 r2552: Character set conversion and string handling updates.
The intial motivation for this commit was to merge in some of the
bugfixes present in Samba3's chrcnv and string handling code into
Samba4.  However, along the way I found a lot of unused functions, and
decided to do a bit more...

The strlen_m code now does not use a fixed buffer, but more work is
needed to finish off other functions in str_util.c.  These fixed
length buffers hav caused very nasty, hard to chase down bugs at some
sites.

The strupper_m() function has a strupper_talloc() to replace it (we
need to go around and fix more uses, but it's a start).  Use of these
new functions will avoid bugs where the upper or lowercase version of
a string is a different length.

I have removed the push_*_allocate functions, which are replaced by
calls to push_*_talloc.  Likewise, pstring and other 'fixed length'
wrappers are removed, where possible.

I have removed the first ('base pointer') argument, used by push_ucs2,
as the Samba4 way of doing things ensures that this is always on an
even boundary anyway.  (It was used in only one place, in any case).
(This used to be commit dfecb01506)
2007-10-10 12:59:05 -05:00
..
cifs r2447: let the server code use the new lib/socket/ stuff 2007-10-10 12:58:54 -05:00
ipc r2249: got rid of some more mem_ctx elements in structures 2007-10-10 12:58:34 -05:00
nbench r2249: got rid of some more mem_ctx elements in structures 2007-10-10 12:58:34 -05:00
posix r2524: a simple pvfs rename implementation to make testing easier 2007-10-10 12:59:02 -05:00
print r2552: Character set conversion and string handling updates. 2007-10-10 12:59:05 -05:00
reference r1983: a completely new implementation of talloc 2007-10-10 12:58:14 -05:00
simple r2434: separate "attrib" and "ex_attrib" elements for DOS attributes is pointless 2007-10-10 12:58:52 -05:00
config.m4 r862: remove acl and sendfile stuff 2007-10-10 12:56:13 -05:00
config.mk r2524: a simple pvfs rename implementation to make testing easier 2007-10-10 12:59:02 -05:00
ntvfs_base.c r1355: Add const (I missed this when I changed the function prototype earlier) 2007-10-10 12:56:52 -05:00
ntvfs_dfs.c first public release of samba4 code 2003-08-13 01:53:07 +00:00
ntvfs_generic.c r2249: got rid of some more mem_ctx elements in structures 2007-10-10 12:58:34 -05:00
ntvfs_util.c first public release of samba4 code 2003-08-13 01:53:07 +00:00
ntvfs.h r1280: rename struct request_context to smbsrv_request 2007-10-10 12:56:48 -05: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