1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
Commit Graph

1028 Commits

Author SHA1 Message Date
Andrew Tridgell
70b020ca76 s4-pvfs: fixed mask handling for SEC_FLAG_MAXIMUM_ALLOWED
This matches the sec_access_check() code
2009-10-16 10:12:18 +11:00
Andrew Tridgell
c5cfda9e8a s4-pvfs: implement root_fid support in posix backend
Construct the filename from the old handle and the new name.
2009-10-15 20:03:00 +11:00
Andrew Tridgell
3c028ff88b s4-smb: declare root_fid as a file handle
In order to implement root_fid in the s4 SMB server we need to declare
it as a handle type, just as for other fnum values in SMB. This
required some extensive (but simple) changes in many bits of code.
2009-10-15 20:03:00 +11:00
Andrew Tridgell
c73ba89112 s4-pvfs: fixed handling of SEC_FLAG_MAXIMUM_ALLOWED
The CREATEX_ACCESS test shows that this is used as a bit test, not a
equality test
2009-10-15 20:02:59 +11:00
Matthias Dieter Wallnöfer
44df2488e3 s4: fix various warnings (not "const" related ones) 2009-10-02 15:33:48 +02:00
Andrew Bartlett
ba0eba9e09 s4:ntvfs Don't attempt to follow NULL in unixuid_setup_security()
This segfault occoured in cases where we rejected (or never attempted)
the tree connect, so had an invalid private pointer for the logoff
codepath.

Andrew Bartlett
2009-10-02 12:44:58 +02:00
Andrew Tridgell
7c542406b1 s4-pipes: convert pipe names to lowercase and validate
clients may provide arbitrary names, but we only want lowercase alnum
names
2009-09-18 22:58:03 -07:00
Stefan Metzmacher
cda0849ebc s4:ntvfs_ipc: add real named pipe support
We now open a named via the named_pipe_auth
code and process IO via the tstream interface.

This means we support byte mode and message mode
named pipes.

We also correctly issue NT_STATUS_PIPE_BUSY
when a smb_trans request comes in and a read or smb_trans
is already pending.

We also have support for async dcerpc over ncacn_np now,
and we now can remove the ncacn_np specific hacks from the
rpc_server/ code.

metze
2009-09-18 20:34:43 +02:00
Andrew Tridgell
50b16891c4 s4: fixed some shadowed variable warnings 2009-09-08 11:52:44 +10:00
Andrew Tridgell
3b5c6bc971 no need to shout about getting an oplock 2009-08-12 15:20:02 +10:00
Andrew Tridgell
00a8ff5fe9 fixed a problem with group policy writes causing policy corruption
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-05 17:51:58 +10:00
Andrew Tridgell
15a6a93d35 fixed the sense of the pvfs_acl uwrap check 2009-08-05 12:08:30 +10:00
Andrew Tridgell
58e5e1ea8d make the UID_WRAPPER skip checks at runtime
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-05 11:21:06 +10:00
Andrew Tridgell
fd43e0ee09 added a uid_wrapper library
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-05 10:51:00 +10:00
Andrew Tridgell
ff388611f4 fixed support for readx greater than 64k
This fixes bug 6547, where smbclient in S3 reads more than 64k at a
time with readx.
2009-08-04 16:01:11 +10:00
Matthias Dieter Wallnöfer
5b4cb31ef1 Cosmetic correction
Changes the order of two commands. First set up the "priv" structure, then
assign it to the "ntvfs" structure.
2009-07-19 15:58:45 +02:00
Stefan Metzmacher
64ee4458cf s4:ntvfs/ipc: replace unnesessary talloc_reference() by a simple talloc_strdup()
metze
2009-07-15 19:58:34 +02:00
Stefan Metzmacher
5240b10eaa s3:ntvfs/posix: avoid unnesessary talloc_reference()
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-07-15 19:24:35 +02:00
Sam Liddicott
131c95edda Upgrade ntvfs_map_*info to ntvfs_map_async_setup/ntvfs_map_async_finish
ntvfs_map_fsinfo, ntvfs_map_qpathinfo, ntvfs_map_qfileinfo used an
old synchronous mapping technique, acceptable on the grounds that
they were only used by the simple vfs which was synchronous.

Other vfs may/do use these functions, and by upgrading them to use the
ntvfs_map_async_setup/ntvfs_map_async_finish framework, they can now be
used asynchronously.

Signed-off-by: Sam Liddicott <sam@liddicott.com>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-06-26 14:39:44 +02:00
Andrew Tridgell
fcc7372975 fixed handling of change notify buffer overruns
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-06-05 16:25:44 +10:00
Kai Blin
57ea909b32 libwbclient: Add async call framework. 2009-05-30 09:17:37 +02:00
Sam Liddicott
4b21ad9db7 Have ntvfs_connect() accept union smb_tcon *tcon instead of char* sharename
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-05-20 13:32:27 +02:00
Jelmer Vernooij
80420745ff Add a new non-convenience version of push_codepoint. 2009-04-23 17:50:18 +02:00
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
Stefan Metzmacher
66b2604ef1 s4:ntvfs_generic: use talloc_get_type() to remote compiler warnings
metze
2009-02-13 13:44:36 +01:00
Stefan Metzmacher
d25a3c749f s4:pvfs_aio: fix compiler warning
metze
2009-02-05 17:48:09 +01:00
Stefan Metzmacher
fdd6c106cf s4:pvfs: remove compiler warning
metze
2009-02-05 17:48:08 +01:00
Stefan Metzmacher
3d6587c777 s4:pvfs: use talloc_get_type() to cast from void *
metze
2009-02-05 17:48:07 +01:00
Stefan Metzmacher
5fbbddec35 s4:pvfs: fix some talloc related compiler warnings
metze
2009-02-05 17:48:06 +01:00
Stefan Metzmacher
0ac7792e02 s4:libcliraw: s/private/private_data
metze
2009-02-02 13:08:51 +01:00
Stefan Metzmacher
5e9ee54060 s4:ntvfs/unixuid: s/private/priv
metze
2009-02-02 13:08:34 +01:00
Stefan Metzmacher
7bb4461644 s4:ntvfs/smb2: s/private/p
metze
2009-02-02 13:08:34 +01:00
Stefan Metzmacher
42f92109d2 s4:ntvfs/simple: s/private/p
metze
2009-02-02 13:08:33 +01:00
Stefan Metzmacher
2110ef3c5d s4:ntvfs/posix: s/private/private_data
metze
2009-02-02 13:08:33 +01:00
Stefan Metzmacher
7ee87c339b s4:ntvfs/nbench: s/private/nprivates
metze
2009-02-02 13:08:33 +01:00
Stefan Metzmacher
8a95f4d2d6 s4:ntvfs/ipc: s/private/ipriv
metze
2009-02-02 13:08:32 +01:00
Stefan Metzmacher
33e8f47725 s4:ntvfs/common: s/private/private_data
metze
2009-02-02 13:08:32 +01:00
Stefan Metzmacher
0c64c213e8 s4:ntvfs/cifs_posix_cli: s/private/p
metze
2009-02-02 13:08:31 +01:00
Stefan Metzmacher
24fb16f1f6 s4:ntvfs/cifs/: s/private/p
metze
2009-02-02 13:08:31 +01:00
Stefan Metzmacher
50ad5239fd s4:ntvfs: s/private/private_data
metze
2009-02-02 13:08:30 +01:00
Simo Sorce
380874ef86 Fix the mess with ldb includes.
Separate again the public from the private headers.

Add a new header specific for modules.
Also add service function for modules as now ldb_context and ldb_module are
opaque structures for them.
2009-01-30 01:02:03 -05:00
Andrew Tridgell
c81863e868 added support for stream renames in Samba4
This allows the RAW-STREAMS test to work again. We still have some
limitations though:

  - renames of a stream to the default stream doesn't work
  - delete on close handling between streams and the main file 
    is still broken
2009-01-07 16:46:34 +11:00
Stefan Metzmacher
033428d7da tevent: move samba4 stuff from libtevent.m4 to samba.m4
metze
2009-01-04 18:57:18 +01:00
Stefan Metzmacher
b1be241ca5 s4:sysdep/inotify: use tevent_fd_set_auto_close()
metze
2009-01-03 19:58:52 +01:00
Stefan Metzmacher
183c379fe5 s4:lib/tevent: rename structs
list=""
list="$list event_context:tevent_context"
list="$list fd_event:tevent_fd"
list="$list timed_event:tevent_timer"

for s in $list; do
	o=`echo $s | cut -d ':' -f1`
	n=`echo $s | cut -d ':' -f2`
	r=`git grep "struct $o" |cut -d ':' -f1 |sort -u`
	files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4`
	for f in $files; do
		cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp
		mv $f.tmp $f
	done
done

metze
2008-12-29 20:46:40 +01:00
Stefan Metzmacher
af29b82536 s4:pvfs_aio: use tevent
metze
2008-12-29 19:57:07 +01:00
Stefan Metzmacher
635a973be5 s4:sys_lease_linux: use tevent
metze
2008-12-29 19:57:00 +01:00
Stefan Metzmacher
e36d64728f s4:cluster: remove old/broken ctdb code
We don't need a full copy of ctdb...
If we want to readd cluster support,
we should just use a ctdb client library.

metze
2008-12-29 14:46:09 +01:00
Stefan Metzmacher
a7036d2bd0 s4: Revert "r24284: change brlock_tdb.c to use the dbwrap API. This actually makes the"
This reverts commit 4792285282.

Conflicts:

	source4/ntvfs/common/brlock_tdb.c
	source4/ntvfs/common/config.mk
2008-12-29 14:46:06 +01:00
Jelmer Vernooij
dcc4081f75 Fix more compiler warnings. 2008-12-23 23:22:57 +01:00