summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix
AgeCommit message (Collapse)AuthorFilesLines
2010-03-05s4-pvfs: use pvfs_sys_*() functions to wrap posix callsAndrew Tridgell5-20/+20
This allows for root override, which fixes many problems with mismatches between NT ACL permissions and unix permissions. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-03-05s4-pvfs: new pvfs_sys module Andrew Tridgell2-0/+301
The pvfs_sys_*() calls provide wrapper functions for posix file functions which use root privileges to override EACCES failures if PVFS_FLAG_PERM_OVERRIDE is set Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-03-05s4-pvfs: added new pvfs flag PVFS_FLAG_PERM_OVERRIDEAndrew Tridgell2-0/+4
This flag indicates that we should use root privileges to override unix permissions when the NT ACLs indicate that access should be granted Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-03-05s4-pvfs: log more error conditions in NTVFS backendAndrew Tridgell3-0/+31
This should make is easier to track down some bug reports Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-03-05s4-pvfs: move the private ntcreatex flags to private_flagsAndrew Tridgell2-4/+8
Re-using two of the create_options bits was bound to eventually cause problems, and indeed, Windows7 now uses one of those bits when opening text files. Fixes bug 7189
2010-03-03s4-posix: allow change ownership of files if the user has the right privilegesAndrew Tridgell1-2/+21
When a user has SEC_PRIV_TAKE_OWNERSHIP or SEC_PRIV_RESTORE they have permission to change the ownership of a file. This should fix bug 6987 Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-02-11s4: Switch to S3-style id mapping data types.Kai Blin2-17/+17
2010-02-09s4:Remove "Py_RETURN_NONE" compatibility codeMatthias Dieter Wallnöfer2-8/+0
This was needed only by Python 2.3 which we no longer support.
2010-02-05s4:UID wrapper - Fix includesMatthias Dieter Wallnöfer1-0/+8
The includes of the UID wrapper headers werent't really efficient according to metze's post on the technical mailing list (http://lists.samba.org/archive/samba-technical/2010-February/069165.html). To achieve this move the "uid_wrapper.h" includes into "lib/util/unix_privs.c", "lib/util/util.c", "ntvfs/posix/pvfs_acl.c" and "ntvfs/unixuid/vfs_unixuid.c".
2010-02-02Change uint_t to unsigned int in source4Matt Kraai6-23/+23
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-01-25pyxattr: Move to the same directory as the xattr code.Jelmer Vernooij3-0/+259
2010-01-21s4: ntvfs, create push_xattr_blob_tdb_raw and pull_xattr_blob_tdb_raw that ↵Matthieu Patou1-27/+49
do not depend on pvfs objects Following a talk with tridge on IRC, this patch allow (pull|push)_xattr_blob to be called without having a pvfs object. It's handy for programs that wants to manipulate xattr directly.
2009-12-17s4-ntvfs: check if pvfs is NULL in pvfs_logoffbrendan powers1-0/+5
pvfs can be NULL if the directory a share points to does not exist. In this case, there would be no open files, so it is safe to just return from the function. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-16s4-ntvfs: try to fix bug 6989Andrew Tridgell1-2/+2
bug 6989 is a rare crash that has occurred in production. My best guess as to the cause is the talloc_free() not being specific enough as to which parent needs to be freed.
2009-12-08s4/smbstreams: Fix memory use after free.Kamen Mazdrashki1-4/+8
The bug is that sometimes 'streams' is parent for 'new_name'. With this said, 'new_name' must be dupped before 'streams' pointer is freed. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-03s4:ntvfs/posix/pvfs_streams - Fix "discard const" warningMatthias Dieter Wallnöfer1-1/+1
I removed one "const" in front of a string declaration to achieve this. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-03s4:ntvfs/posix/pvfs_resolve - Fix "discard const" warningMatthias Dieter Wallnöfer2-4/+4
I removed two "const"s in front of string declarations to achieve this. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-11-27s4-pvfs: fixed access check failure in SFILEINFO testAndrew Tridgell1-8/+5
matching windows behaviour is not always the right thing to do!
2009-11-27s4-smb2: SMB2 uses NT_STATUS_CANCELLED for cancelled locksAndrew Tridgell1-1/+5
2009-11-20s4:ntvfs/posix/pvfs_acl - Remove unused variable "token"Matthias Dieter Wallnöfer1-1/+0
2009-10-19s4-pvfs: fill in alignment_requirement (valgrind error)Andrew Tridgell1-0/+1
2009-10-19s4-pvfs: another uninitialised variableAndrew Tridgell1-1/+1
thanks to valgrind for this one
2009-10-19s4-pvfs: fixed uninitialised variableAndrew Tridgell1-1/+1
This caused havoc on the build farm. Interestingly, it only affected gcc 4.3.3, not gcc 4.4.1
2009-10-18s4-streams: fixed handling of stream rename and overwriteAndrew Tridgell3-9/+21
2009-10-18s4-pvfs: rename with full name gives SHARING_VIOLATIONAndrew Tridgell1-1/+3
2009-10-18s4-pvfs: when reporting the file name, don't include the :$DATA suffixAndrew Tridgell1-0/+10
2009-10-18s4-pvfs: the STREAM_INFORMATION calls don't need any access flagsAndrew Tridgell1-0/+5
2009-10-18s4-pvfs: fixed update of stream sizesAndrew Tridgell1-1/+1
The data_blob_free() was changing the size we set the stream to
2009-10-18s4-pvfs: more fixes for ACLs on file creationAndrew Tridgell1-11/+12
The passed in SD is not used to limit the access mask allowed on file create.
2009-10-18s4-smb2: fixed SMB2 find commandsAndrew Tridgell1-2/+2
The change to check for invalid \ prefix on SMB2 paths broke the internal SMB2 code.
2009-10-18s4-pvfs: change the handling of access checking on createAndrew Tridgell4-60/+124
Previously when a file was created, we produces the resulting access mask based on an ACL check against the parent. This change means we now calculate the inherited ACL much earlier, and produce the resulting access mask from that ACL, or the user supplied ACL.
2009-10-17s4-pvfs: when uwrap is enabled, ignore chown errorsAndrew Tridgell1-0/+3
chown is expected to fail under uwrap
2009-10-17s4-pvfs: don't auto-apply privilege bits in unix acl handling eitherAndrew Tridgell1-7/+11
2009-10-17s4-pvfs: use privileges rather than "uid == 0" in unix access checkAndrew Tridgell1-6/+12
This makes the unix access check much closer to the full ACL check
2009-10-16s4-pvfs: fixed mask handling for SEC_FLAG_MAXIMUM_ALLOWEDAndrew Tridgell1-2/+2
This matches the sec_access_check() code
2009-10-15s4-pvfs: implement root_fid support in posix backendAndrew Tridgell1-0/+15
Construct the filename from the old handle and the new name.
2009-10-15s4-pvfs: fixed handling of SEC_FLAG_MAXIMUM_ALLOWEDAndrew Tridgell1-1/+1
The CREATEX_ACCESS test shows that this is used as a bit test, not a equality test
2009-08-12no need to shout about getting an oplockAndrew Tridgell1-1/+1
2009-08-05fixed a problem with group policy writes causing policy corruptionAndrew Tridgell3-4/+48
This bug was caused by two things: 1) in the unix ACL mapping, we were not taking into account group write permssions for the SEC_STD_DELETE flag 2) when a file is created using OVERWRITE mode, a fchmod() would fail if the user is not the file owner. We resolve that by only doing the fchmod() if the mapped file attribute does not match the desired file attribute
2009-08-05fixed the sense of the pvfs_acl uwrap checkAndrew Tridgell1-1/+1
2009-08-05make the UID_WRAPPER skip checks at runtimeAndrew Tridgell1-7/+7
This fixes two issues pointed out by Andrew. It adds a runtime uwrap_enabled() call that wraps the skips needed for uid emulation. It also makes the skip in the directory_create_or_exist() function only change the uid checking code, not the permissions code
2009-08-05added a uid_wrapper libraryAndrew Tridgell1-0/+8
This library intercepts seteuid and related calls, and simulates them in a manner similar to the nss_wrapper and socket_wrapper libraries. This allows us to enable the vfs_unixuid NTVFS module in the build farm, which means we are more likely to catch errors in the token manipulation. The simulation is not complete, but it is enough for Samba4 for now. The major areas of incompleteness are: - no emulation of setreuid, setresuid or saved uids. These would be needed for use in Samba3 - no emulation of ruid changing. That would also be needed for Samba3 - no attempt to emulate file ownership changing, so code that (for example) tests whether st.st_uid matches geteuid() needs special handling
2009-08-04fixed support for readx greater than 64kAndrew Tridgell1-2/+2
This fixes bug 6547, where smbclient in S3 reads more than 64k at a time with readx.
2009-07-15s3:ntvfs/posix: avoid unnesessary talloc_reference()Stefan Metzmacher1-1/+4
This caused the panics on the RAW-SETFILEINFO.RENAME test, because we returned an empty strings. The problem was: ERROR: talloc_steal with references at ntvfs/posix/pvfs_setfileinfo.c:215 reference at ntvfs/posix/pvfs_resolve.c:799 metze
2009-06-05fixed handling of change notify buffer overrunsAndrew Tridgell1-2/+9
When the notify buffer overruns and there are no pending notify requests, the notify buffer doesn't actually get destroyed, it just gets put in a state where new notifies are discarded and the next notify change request will return 0 changes.
2009-05-30libwbclient: Add async call framework.Kai Blin1-1/+1
2009-05-20Have ntvfs_connect() accept union smb_tcon *tcon instead of char* sharenameSam Liddicott1-1/+29
This change brings ntvfs_connect into compliance with other ntvfs functions which take an ntvfs module, an ntvfs request and an smb io union. It now becomes the responsibility of ntvfs modules to examine tcon->generic.level themselves and derive the share name and any other options directly; e.g. const char *sharename; switch (tcon->generic.level) { case RAW_TCON_TCON: sharename = tcon->tcon.in.service; break; case RAW_TCON_TCONX: sharename = tcon->tconx.in.path; break; case RAW_TCON_SMB2: default: return NT_STATUS_INVALID_LEVEL; } if (strncmp(sharename, "\\\\", 2) == 0) { char *p = strchr(sharename+2, '\\'); if (p) { sharename = p + 1; } } service.c smbsrv_tcon_backend() is called before ntvfs_connect and fills in some of the tcon->..out values. For the case of RAW_TCON_TCONX, it filles out tcon->tconx.out.tid and tcon->tconx.out.options For the case of RAW_TCON_TCON it fills out tcon->tcon.out.tid and tcon->tcon.out.max_xmit Thus the ntvfs_connect function for vfs modules may override these values if desired, but are not required to. ntvfs_connect functions are required to fill in the tcon->tconx.out.*_type fields, for RAW_TCON_TCONX, perhaps something like: if (tcon->generic.level == RAW_TCON_TCONX) { tcon->tconx.out.fs_type = ntvfs->ctx->fs_type; tcon->tconx.out.dev_type = ntvfs->ctx->dev_type; } Signed-off-by: Sam Liddicott <sam@liddicott.com> (I fixed the ntvfs_connect() in the smb_server/smb2/ and the RAW_TCON_SMB2 switch case in the modules) Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-04-23Add a new non-convenience version of push_codepoint.Jelmer Vernooij1-2/+2
2009-02-05s4:pvfs_aio: fix compiler warningStefan Metzmacher1-1/+1
metze
2009-02-05s4:pvfs: remove compiler warningStefan Metzmacher1-2/+1
metze