1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-01 05:47:28 +03:00

769 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
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
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
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
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
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
2110ef3c5d s4:ntvfs/posix: s/private/private_data
metze
2009-02-02 13:08:33 +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
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
Jelmer Vernooij
bd64688c6a Fix more compiler warnings in various places. 2008-12-23 22:57:11 +01:00
Stefan Metzmacher
081f8883ba s4: fix LIBEVENTS dependencies and use more forward declarations
We should only include events.h where we really need it
and prefer forward declarations of 'struct event_context'

metze
2008-12-17 11:04:45 +01:00
Stefan Metzmacher
84b2db8d51 s4:pvfs: correctly check stream names
metze
2008-12-01 14:41:29 -08:00
Stefan Metzmacher
7c07be9cab s4:pvfs: return the correct error code for invalid names
metze
2008-12-01 14:40:51 -08:00
Stefan Metzmacher
b99926ca5e s4: ntvfs/posix: to set a DACL at open time SEC_DESC_DACL_PRESENT must be set
metze
2008-10-28 17:13:21 +01:00
Jelmer Vernooij
23302413b3 Remove unused include param/param.h. 2008-10-24 16:37:56 +02:00
Jelmer Vernooij
c3415b3e57 Add version of next_codepoint without iconv_convenience. 2008-10-24 16:00:43 +02:00
Jelmer Vernooij
284f523ec7 Remove a few more usages of global_loadparm. 2008-10-24 13:22:12 +02:00
Jelmer Vernooij
7ec58471df Split up codepoints code, use consistent _m suffix. 2008-10-24 02:51:03 +02:00
Jelmer Vernooij
9565999755 Fix include paths to new location of libutil. 2008-10-11 21:31:42 +02:00
Andrew Tridgell
d2bdb8fb16 empty access mask is only denied on SMB2 2008-09-24 18:10:23 -07:00
Andrew Tridgell
d3c6c71ff2 zero access mask should give ACCESS_DENIED 2008-09-24 18:10:23 -07:00
Andrew Tridgell
f4e212323f added some debug code 2008-09-23 12:09:56 +10:00
Jelmer Vernooij
8ec93160d5 Fix last few includes to use new tdb location. 2008-09-16 16:09:50 +02:00
Stefan Metzmacher
cc60d5a032 pvfs: fix handling of create_option flags
metze
(This used to be commit 3c6cadf76861d6522c5ec41953df1ba2fac4910d)
2008-08-14 13:13:51 +02:00
Andrew Tridgell
2ecda9fde4 we can't query the ACL on a new file till it exists!
(This used to be commit 4f6646f06988b1fb8be9e0c8ae833bb9792184af)
2008-07-24 14:21:52 +10:00
Andrew Tridgell
1d12c64066 fixed spelling error
(This used to be commit 341f64834e13cdbc7d4742a4652ae39b70a4231f)
2008-07-24 14:19:49 +10:00
Andrew Bartlett
853194c308 More 'must be ignored' options from the MS-SMB doc.
Also in particular the 'sync' flags (which Samba has traditionally
ignored).

Thanks to Olivier Salamin <olivier.salamin@gmail.com> for pointing out
more flags that needed to be handled.

Andrew Bartlett
(This used to be commit 370bb39cd79fe49efd36a1ceb3e896d386e6d3ce)
2008-07-18 18:40:19 +10:00
Andrew Bartlett
e92125e631 Ignore and handle more NT Create & X options.
The MS-SMB document explains that some of these options should be
ignored.  The test proves it.

/* Must be ignored by the server, per MS-SMB 2.2.8 */
/* Must be ignored by the server, per MS-SMB 2.2.8 */

If we implement HSM in samba4 (likely) we should honour this bit.
/* Don't pull this file off tape in a HSM system */

Andrew Bartlett
(This used to be commit 502739ff90d56d2c9aabe8e224317f6ceb175c17)
2008-07-16 14:00:18 +10:00
Stefan Metzmacher
98014c5668 pvfs: create a pvfs_acl subsystem
That means that the pvfs_acl implementations no longer register
as ntvfs modules (which was wrong)

metze
(This used to be commit 89e90556ec57fce24faf0ed3d6fe262edd974b28)
2008-06-28 10:30:25 +02:00
Stefan Metzmacher
c9d2570ce3 pvfs: pvfs_aio should be a subsystem instead of an extra ntvfs module
metze
(This used to be commit c904e28bef95cb0d61bf86f2ba1cef2d4e018d5f)
2008-06-28 10:30:18 +02:00
Andrew Tridgell
70219bee13 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
(This used to be commit 9d74201e462f2f95ed5bd91200681db3bd2a9277)
2008-06-03 15:11:42 -07:00
Stefan Metzmacher
b800af662c pvfs: use utimes() instead of utime() to get better timestamp resolution
Note: that libreplace always provides utimes()

metze
(This used to be commit 61bad69e2d7f84e2c6d6fb82917cfa86b17f54b0)
2008-06-03 14:05:04 +02:00
Stefan Metzmacher
6e52c4feb8 pvfs_close: correctly handle the write time updates passed by close()
metze
(This used to be commit 7f033ce4fb6fc897f8159926d5a6d2e45dd447b6)
2008-06-03 14:03:52 +02:00
Stefan Metzmacher
60759b64a7 pvfs: correctly set the write time in the handle destructor
metze
(This used to be commit 58c118ab4d2b76c4ea68d79b711b81900634f767)
2008-06-03 14:03:51 +02:00
Stefan Metzmacher
d1bb49a2ab pvfs_setfileinfo: update the write time in the opendb
metze
(This used to be commit 418e2592b48d558ff1d32031d64263ae21cf1eb0)
2008-06-03 14:03:51 +02:00