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

719 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 3c6cadf768)
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 4f6646f069)
2008-07-24 14:21:52 +10:00
Andrew Tridgell
1d12c64066 fixed spelling error
(This used to be commit 341f64834e)
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 370bb39cd7)
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 502739ff90)
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 89e90556ec)
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 c904e28bef)
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 9d74201e46)
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 61bad69e2d)
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 7f033ce4fb)
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 58c118ab4d)
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 418e2592b4)
2008-06-03 14:03:51 +02:00
Stefan Metzmacher
ad19d5455e pvfs: trigger a write time update 2 seconds after the first write
metze
(This used to be commit c8e15d4c18)
2008-06-03 14:03:50 +02:00
Stefan Metzmacher
47b54c7680 pvfs: add posix:writetimeupdatedelay option
metze
(This used to be commit c3ba19ca62)
2008-06-03 14:03:50 +02:00
Stefan Metzmacher
c43591c216 pvfs: add PVFS_RESOLVE_NO_OPENDB flag and get the write time from the opendb
By default get the current write time from the opendb,
but allow callers to pass PVFS_RESOLVE_NO_OPENDB
for performance reasons, if they don't need to the write time.

metze
(This used to be commit def52cc098)
2008-06-03 14:03:50 +02:00
Stefan Metzmacher
0827b08a43 opendb: add write time handling
metze
(This used to be commit 3868d8ce63)
2008-06-03 14:03:49 +02:00
Andrew Tridgell
405e64c437 more updates for new info levels
(This used to be commit 85d1873ee9)
2008-06-02 11:05:06 +10:00
Andrew Tridgell
8da3217d1b smbpid is 32 bit, and update SMB2 locking per MS-SMB2
The UNLOCK bit is only used from the first lock structure
(This used to be commit 9483b7c137)
2008-06-02 11:04:13 +10:00
Andrew Tridgell
b33dba845e don't emulate broken SMB2 locking behaviour from windows
(This used to be commit c50e7a15f9)
2008-05-30 07:28:29 +10:00
Andrew Tridgell
f0bc7c07fe don't mask out SEC_FILE_READ_ATTRIBUTE on SMB2
(This used to be commit 1dfa50a480)
2008-05-29 22:22:42 +10:00
Andrew Tridgell
383d10577c fixed the error code for bad SMB2 ioctls
(This used to be commit b1d2d388ec)
2008-05-29 20:46:18 +10:00
Andrew Tridgell
c86dc11be6 added support for returning the maximal access MXAC tag in SMB2 create
(This used to be commit 4eb49335d5)
2008-05-29 19:16:26 +10:00
Andrew Tridgell
21d770a02c querying the ACCESS_INFORMATION is always allowed
(This used to be commit 25d5b94d6a)
2008-05-29 18:23:33 +10:00
Andrew Tridgell
e42ded24a0 SEC_FILE_READ_ATTRIBUTE is only automatically granted on SMB, not SMB2
(This used to be commit 7bff069142)
2008-05-29 18:23:20 +10:00
Andrew Tridgell
67226f054b fixed create_action for truncated files
(This used to be commit 884c32fcef)
2008-05-28 22:44:20 +10:00
Andrew Tridgell
86d69fd4b6 SMB2 doesn't have NAME_INFORMATION level
(This used to be commit a431d51b11)
2008-05-28 21:48:40 +10:00
Andrew Tridgell
fa0bc441e3 don't allow a file to be changed to a directory with setfileinfo
(This used to be commit ad7acbf8bf)
2008-05-28 20:06:04 +10:00
Andrew Tridgell
6b70726305 implement the documented SMB2 create blobs in the server
Not all of them are honoured yet, but they are all parsed and the ones
that have SMB equivalents are honoured
(This used to be commit 9fc70e2ed6)
2008-05-28 16:28:37 +10:00
Andrew Tridgell
fd67526bd3 answer SMB2_ALL_EAS qfileinfo
(This used to be commit f5cf47eef1)
2008-05-28 11:49:43 +10:00
Andrew Tridgell
6222b8e7e2 fixed error code for write on a directory
(This used to be commit 68eb5b050e)
2008-05-28 11:48:21 +10:00
Andrew Tridgell
b5f39fbda0 fix error code for read on a directory
(This used to be commit afd4f47971)
2008-05-28 11:48:11 +10:00
Andrew Tridgell
8daeee5c5d ensure that we honor SMB2 read min_count properly
(This used to be commit 318038d6f6)
2008-05-27 18:20:23 +10:00
Andrew Tridgell
cb36437db2 added support for the output fields of SMB2 close
(This used to be commit 2633bc7497)
2008-05-27 16:43:36 +10:00
Andrew Tridgell
46e64417a3 another attempt at the damn SEC_STD_SYNCHRONIZE flag
(This used to be commit 2ac27bfffa)
2008-05-27 16:02:27 +10:00
Andrew Tridgell
cf274201b4 disable the SEC_STD_SYNCHRONIZE test until we know what it means
(This used to be commit 897f4582be)
2008-05-27 15:27:25 +10:00
Andrew Tridgell
65e31a965e make the SEC_STD_SYNCHRONIZE test more specific
(This used to be commit 8c263f91bd)
2008-05-27 14:59:55 +10:00
Andrew Tridgell
6e265867ff SEC_STD_SYNCHRONIZE is only invalid on SMB2
(This used to be commit 067f1271ad)
2008-05-27 14:30:42 +10:00
Andrew Tridgell
f0b4b15f64 check for some more invalid bits in smb2 create
(This used to be commit dcdaa9f5fd)
2008-05-27 14:07:11 +10:00
Andrew Tridgell
9a37e7ed93 Vista returns ACCESS_DENIED here
(This used to be commit f5068c6e50)
2008-05-27 14:06:51 +10:00
Andrew Tridgell
2ad2bdda89 stricter checks for valid inputs in SMB2 open and lock
(This used to be commit a7b5689a73)
2008-05-26 15:02:43 +10:00
Andrew Tridgell
bf8d9e180e fill in reserved field on SMB2 flush
(This used to be commit 400a3b39d5)
2008-05-26 15:00:27 +10:00
Andrew Tridgell
c5c1b3706a allow larger streams using the TDB backend
(This used to be commit 8c0d756eb8)
2008-05-26 14:59:58 +10:00
Stefan Metzmacher
5d648b4aa5 pvfs_open: return FILE_IS_A_DIRECTORY when opening a stream on a directory
metze
(This used to be commit 1421b1cc0c)
2008-05-23 09:55:15 +02:00
Stefan Metzmacher
391b746430 pvfs_resolve: stream_name = "" is only the same as NULL for files
metze
(This used to be commit 47756129fd)
2008-05-23 09:55:15 +02:00
Stefan Metzmacher
c78bf3c2c9 pvfs_streams: directories don't have streams
metze
(This used to be commit 9ed7bb5afe)
2008-05-23 09:55:03 +02:00
Andrew Tridgell
ec7a6ee8ab fix make test for EAs again
- go back to 4 byte alignment until I work out the rules that Vista
  wants more exactly
- add the zero sized EA handling for SMB2 more generically
(This used to be commit 326b69bc80)
2008-05-23 00:07:12 +10:00
Andrew Tridgell
ac185ae0c5 fixes for EAs and filename in gentest_smb2 results
- SMB2 returns 0 for a null EA
- return the share qualified name for the filename in SMB2 ALL_INFO
  level
(This used to be commit f9708184a2)
2008-05-22 23:00:08 +10:00
Andrew Tridgell
7a9ffeca21 check for invalid file attribute values in create
(This used to be commit dd21e3d9d7)
2008-05-22 17:53:50 +10:00
Andrew Tridgell
2352602a57 check the creation options where the client can require a path to be a
file or a directory
(This used to be commit c05b58940f)
2008-05-20 11:58:47 +10:00
Jelmer Vernooij
4c70cda986 Fix a couple (well, little more than that..) of typos.
(This used to be commit a6b5211994)
2008-05-18 23:02:47 +02:00
Jelmer Vernooij
4c8756f147 Create prototype headers from Makefile directory, without smb_build in the middle.
(This used to be commit f4a77b96f9)
2008-05-18 22:30:08 +02:00
Jelmer Vernooij
03643aec88 Use variables for source directory in a couple more places.
(This used to be commit c41bd3005f)
2008-05-18 19:54:27 +02:00
Stefan Metzmacher
3e80085fb0 pvfs: remove XATTR_ATTRIB_FLAG_STICKY_WRITE_TIME code
I'll fix this more correctly very soon,
so that we'll pass the BASE-DELAYWRITE test.

metze
(This used to be commit b09dd6b65d)
2008-05-07 15:46:22 +02:00
Jelmer Vernooij
dd0da89e84 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
(This used to be commit ece878c1f9)
2008-04-17 13:05:25 +02:00
Jelmer Vernooij
a195cd9d8f Use readily available event context.
(This used to be commit 2823fca23a)
2008-04-16 22:52:07 +02:00
Andrew Tridgell
b967afca64 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
(This used to be commit e891157b4e)
2008-04-15 09:54:41 +02:00
Andrew Tridgell
79af7ff2f7 fixed a valgrind error in id mapping
the status field is sent on both call and reply, but was only being
initialised on reply
(This used to be commit 2ebd7b8099)
2008-04-14 18:59:40 +02:00
Jelmer Vernooij
e9017ba418 Use _OBJ_FILES variables in a couple more places.
(This used to be commit 92856d5054)
2008-04-14 17:22:58 +02:00
Kai Blin
4133bd85e9 ntvfs: Use wbclient for pvfs_acl and pvfs_acl_nfs4
(This used to be commit ac5e5fee1d)
2008-04-02 23:07:27 +02:00
Jelmer Vernooij
afe3e8172d Install public header files again and include required prototypes.
(This used to be commit 47ffbbf674)
2008-04-02 04:53:27 +02:00
Stefan Metzmacher
e76c8aa097 pvfs_open: set h->have_opendb_entry directly after odb_open_file()
Otherwise we may not clean up in the destructor.

metze
(This used to be commit 218ec98a16)
2008-03-15 12:36:20 +01:00
Stefan Metzmacher
74d940ca57 pvfs_open: the pvfs_odb_retry structs need to be children of the request
Otherwise they're not cleaned up when the request is finished.

metze
(This used to be commit 055760f0f4)
2008-03-15 12:35:04 +01:00
Stefan Metzmacher
1f65ddb336 pvfs_unlink: disable async retries for wildcard deletes
We would setup multiple retries per client request.

metze
(This used to be commit 951764e284)
2008-03-15 12:22:36 +01:00
Stefan Metzmacher
50243cdbbd pvfs_open: retry pvfs_open() after an EGAIN or EWOULDBLOCK from open()
In case a unix application as an oplock or share mode on
a file we need to retry periodicly as there's no way
to get a notification from the kernel when the oplock
is released.

metze
(This used to be commit 4d40f3a026)
2008-03-12 17:35:07 +01:00
Stefan Metzmacher
454e9bed04 pvfs_open: pass O_NONBLOCK to open() so that we'll not block with kernel oplocks
metze
(This used to be commit eeb0b8c349)
2008-03-12 17:35:06 +01:00
Stefan Metzmacher
7ba236d78e pvfs_open: pass down &f->handle->fd to odb_open_file()
metze
(This used to be commit 80f5f93621)
2008-03-12 17:35:04 +01:00
Stefan Metzmacher
f533d6d8a2 pvfs_rename: implement RAW_RENAME_NTTRANS as noop as w2k3
metze
(This used to be commit 40563583f7)
2008-03-12 17:14:44 +01:00
Stefan Metzmacher
8e70dc7e9a pvfs: return NT_STATUS_NOT_IMPLEMENTED on RAW_RENAME_NTTRANS
metze
(This used to be commit 6dc280731d)
2008-03-11 20:16:52 +01:00
Stefan Metzmacher
db669e1eb1 pvfs_open: fix the odb_open_file() callers
metze
(This used to be commit 5fdca988c6)
2008-03-07 19:35:17 +01:00
Stefan Metzmacher
75a412a469 pvfs_open: always call odb_can_open() before odb_open_file()
odb_open_file() will later change to not redo the logic of
odb_can_open().

metze
(This used to be commit b09a1461ac)
2008-03-07 19:15:27 +01:00
Stefan Metzmacher
ef4ae2597d pvfs_open: pass down allow_level_II_oplock to odb_open_file()
metze
(This used to be commit 7c9b269b07)
2008-03-06 17:19:26 +01:00
Stefan Metzmacher
0339ae5ad8 pvfs_open: fix crash/leak in case pvfs_setup_oplock() fails
metze
(This used to be commit 5563238782)
2008-03-06 16:31:26 +01:00
Stefan Metzmacher
eb26c896a2 pvfs_oplock: auto release oplocks after a timeout
Remember that we sent an oplock break to
a client and don't resend. If the filesystem
layer tries to send a new break and the client
has not released after a former oplock break
after the timeout interval, we need to auto release
the oplock.

metze
(This used to be commit bfb0888578)
2008-03-04 14:40:50 +01:00
Stefan Metzmacher
1f5301c1d2 pvfs_oplock: only a break level2 oplocks...
It seems that I've tested this in the wrong way before.

metze
(This used to be commit 21772fa33d)
2008-03-04 14:40:50 +01:00
Stefan Metzmacher
af0d863ce7 pvfs_oplock: move pvfs_oplock_release() parts into a helper function
metze
(This used to be commit 2b8934e4ab)
2008-03-04 14:40:49 +01:00
Stefan Metzmacher
0de1a63c18 pvfs_rename: move odb_rename() onto pvfs_do_rename()
metze
(This used to be commit 5a1f0c0ce9)
2008-03-01 10:29:56 +01:00
Stefan Metzmacher
a0235410ae pvfs_setfileinfo: support renaming of directories
metze
(This used to be commit 2ecc7ec8b3)
2008-02-29 15:17:53 +01:00
Stefan Metzmacher
176e20bf26 pvfs_setfileinfo: tell the opendb about renames
metze
(This used to be commit 9360eda2c5)
2008-02-29 15:17:53 +01:00
Stefan Metzmacher
daa4dec695 pvfs: use pvfs_resolve_name_handle() in qfileinfo and setfileinfo
metze
(This used to be commit 4b1a266f6f)
2008-02-29 15:17:53 +01:00
Stefan Metzmacher
f9b2d29d32 pvfs_resolve: add pvfs_resolve_name_handle()
metze
(This used to be commit 714717253c)
2008-02-29 15:17:52 +01:00
Stefan Metzmacher
5734a10c89 pvfs_resolve: "\\" and a trailing "\" need to be reduced
metze
(This used to be commit 356338b99a)
2008-02-29 15:17:52 +01:00
Stefan Metzmacher
c5d961586e pvfs_resolve: fix endless loop with trailing ".."
We also need to move the NULL termination.

metze
(This used to be commit 4fc41065a3)
2008-02-29 15:17:52 +01:00
Stefan Metzmacher
48270181ba pvfs_open: make pvfs_locking_key() non static
metze
(This used to be commit 587373b97b)
2008-02-29 15:17:51 +01:00
Jelmer Vernooij
fc6bc92e11 Merge branch 'v4-0-trivial' into v4-0-test
(This used to be commit 6cbb241c05)
2008-02-28 18:27:29 +01:00
Stefan Metzmacher
c3ce0a0b95 pvfs_open: fix callers of odb_get_delete_on_close()
metze
(This used to be commit 608e5cd881)
2008-02-28 08:11:04 +01:00
Stefan Metzmacher
9028ecca22 pvfs: remove unused args from pvfs_delete_on_close_set()
metze
(This used to be commit 73f12be7c6)
2008-02-28 08:11:04 +01:00
Stefan Metzmacher
03660b240c pvfs_open: use the delete_path of odb_close_file()
metze
(This used to be commit c78451ce06)
2008-02-28 08:10:57 +01:00
Stefan Metzmacher
8efcd871ce pvfs_rename: we need a do a odb_rename() after pvfs_do_rename()
metze
(This used to be commit f4f593a1ac)
2008-02-27 16:33:15 +01:00
Stefan Metzmacher
eefaf470bf pvfs_rename: add retry logic after sharing violation or non granted oplock
metze
(This used to be commit 79e42a5dfb)
2008-02-27 16:33:14 +01:00
Jelmer Vernooij
48e9b4cea1 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-trivial
(This used to be commit d96fcc52a7)
2008-02-27 16:03:00 +01:00
Stefan Metzmacher
55377f0352 pvfs_open: pass down an access mask to pvfs_can_update_file_size()
You just need SEC_FILE_WRITE_ATTRIBUTE to change
the filesize...

metze
(This used to be commit 27e39063a0)
2008-02-26 13:53:15 +01:00
Stefan Metzmacher
c62faaa75e pvfs_qfileinfo: down discard the return value of pvfs_can_stat()
The odb_can_open() code returns DELETE_PENDING if
a delete is really pending.

metze
(This used to be commit 066ba3c7cf)
2008-02-26 13:52:34 +01:00
Stefan Metzmacher
b40be554e7 pvfs_open: pass down an access mask in pvfs_can_stat()
metze
(This used to be commit 6c34c7bc68)
2008-02-26 13:52:34 +01:00
Stefan Metzmacher
9f8fc29ea4 pvfs_open: pass NTCREATEX_DISP_OPEN to odb_can_open()
As 0 is NTCREATEX_DISP_SUPERSEDE and that's not what we want here.

metze
(This used to be commit 10c42e3d4a)
2008-02-26 13:52:33 +01:00
Stefan Metzmacher
fa2e4ba03c pvfs_setpathinfo: retry setpathinfo after oplock not granted on on setpathinfo ALLOCATION_INFO and END_OF_FILE_INFO
metze
(This used to be commit 4e27ac8c52)
2008-02-26 09:33:00 +01:00
Stefan Metzmacher
4eb0fcc517 pvfs_open: add pvfs_can_update_file_size()
TODO: this is not complete, we need more tests to trigger this

metze
(This used to be commit 66ad1081f2)
2008-02-26 09:33:00 +01:00
Stefan Metzmacher
61e17794c3 pvfs_unlink: retry unlink after oplock not granted
metze
(This used to be commit 746e89ce2e)
2008-02-26 09:32:59 +01:00
Stefan Metzmacher
c0d1543a6a pvfs: add posix:oplocktimeout=30 option
metze
(This used to be commit 5abc57ddab)
2008-02-26 09:32:59 +01:00
Stefan Metzmacher
ee81b7a85e pvfs_setfileinfo: break level2 oplocks on setfileinfo() ALLOCATION_INFO and END_OF_FILE_INFO
metze
(This used to be commit b258f9d8d4)
2008-02-26 09:32:59 +01:00
Stefan Metzmacher
4344ac6209 pvfs: send oplock breaks to none to level2 holders on write/lock requests
metze
(This used to be commit b8c42a1ff8)
2008-02-26 09:32:58 +01:00
Stefan Metzmacher
348439e930 pvfs_oplocks: add pvfs_break_level2_oplocks()
metze
(This used to be commit e0837238b6)
2008-02-26 09:32:58 +01:00
Stefan Metzmacher
4ee328d7d2 pvfs: handle oplock releases in its own function pvfs_oplock_release()
metze
(This used to be commit 27ec7bfc8b)
2008-02-26 09:32:57 +01:00
Stefan Metzmacher
be1ba5b631 pvfs_open: call pvfs_setup_oplock() if an oplock was granted
This is needed to receive oplock breaks from other "processes"

metze
(This used to be commit dd56f55afd)
2008-02-26 09:32:57 +01:00
Stefan Metzmacher
95fafa694c pvfs: add pvfs_setup_oplock() to receive oplock breaks and pass them to the client
metze
(This used to be commit b09a2b1267)
2008-02-26 09:32:57 +01:00
Stefan Metzmacher
d7ea52e9a3 pvfs_open: make the retry logic indepdendent from open and sharing violations
metze
(This used to be commit 56bd63a423)
2008-02-26 09:32:56 +01:00
Stefan Metzmacher
c93cf42d9f pvfs_open: fix odb_can_open() callers after prototype change
metze
(This used to be commit 904159327b)
2008-02-26 09:32:56 +01:00
Stefan Metzmacher
9852e0d315 pvfs_open: pass down open_disposition and break_to_none to odb_open_file()
metze
(This used to be commit 46500983fe)
2008-02-26 09:32:55 +01:00
Stefan Metzmacher
69631a215b pvfs_setfileinfo_rename: map DELETE_PENDING to ACCESS_DENIED
This is needed as odb_can_open/pvfs_can_delete changed the return value.

metze
(This used to be commit 1ba0b9a8f1)
2008-02-26 09:31:20 +01:00
Stefan Metzmacher
599901c139 pvfs_unlink: move stream logic into pvfs_unlink_one()
metze
(This used to be commit 438032e12f)
2008-02-25 08:03:44 +01:00
Stefan Metzmacher
58745900d3 pvfs_unlink: splitup the logic into generic and file specific functions
metze
(This used to be commit 7572afdc26)
2008-02-25 08:03:43 +01:00
Stefan Metzmacher
0634c12abb pvfs_unlink: add a fast path for the non wildcard case
metze
(This used to be commit 83e6c99f78)
2008-02-25 08:03:42 +01:00
Stefan Metzmacher
d5414cdc63 pvfs_unlink: move !name->stream_exists into the caller
metze
(This used to be commit e01554e161)
2008-02-25 08:03:41 +01:00
Stefan Metzmacher
a56bd4fa82 pvfs_unlink: pass down union smb_unlink completely to sub functions
metze
(This used to be commit 8301189e94)
2008-02-25 08:03:40 +01:00
Stefan Metzmacher
63b15441f4 pvfs_unlink: pass down a struct pvfs_filename to pvfs_unlink_one()
metze
(This used to be commit 43ec7fa2d8)
2008-02-25 08:03:39 +01:00
Stefan Metzmacher
6f077d4017 pvfs_open: unify talloc behavior in pvfs_can_delete/rename/stat()
And also handle NULL for lckp in the error path
without crashing.

metze
(This used to be commit 04eb1be0c6)
2008-02-25 08:03:04 +01:00
Stefan Metzmacher
f56ff422a5 pvfs: handle SHARING_VIOLATION and OPLOCK_NOT_GRANTED in pvfs_can_delete/rename()
If the caller asks for the odb_lock return it
also if we return NT_STATUS_SHARING_VIOLATION
or NT_STATUS_OPLOCK_NOT_GRANTED so that the caller
can add the pending notification.

metze
(This used to be commit daab9cb11e)
2008-02-25 07:56:18 +01:00
Stefan Metzmacher
1cd2008aa4 pvfs: pass NULL to pvfs_can_*() when no odb_lock is needed by the caller
metze
(This used to be commit e585e23063)
2008-02-25 07:56:06 +01:00
Stefan Metzmacher
a0a0d4a5d0 pvfs_wait: use struct pvfs_wait * instead of void *
metze
(This used to be commit 3b70331536)
2008-02-25 07:55:09 +01:00
Stefan Metzmacher
fb6f52261a pvfs_wait: 'private' -> 'private_data' and use talloc_get_type()
metze
(This used to be commit 16a7d0cc37)
2008-02-25 07:55:08 +01:00
Jelmer Vernooij
10169a2030 Remove more global_loadparm instance.s
(This used to be commit a1280252ce)
2008-02-21 17:54:24 +01:00
Jelmer Vernooij
c38c2765d1 Remove yet more uses of global_loadparm.
(This used to be commit e01c1e87c0)
2008-02-21 17:17:37 +01:00
Jelmer Vernooij
ede79ae482 Remove more uses of global_loadparm.
(This used to be commit 58a5b1de2b)
2008-02-21 15:38:35 +01:00
Jelmer Vernooij
d9f8232c34 Remove more uses of global_loadparm.
(This used to be commit 230355d2e6)
2008-02-21 15:21:45 +01:00
Jelmer Vernooij
602f4635da Get rid of 'INTEGRATED' build of modules - now replaced by 'MERGED_OBJ'
(This used to be commit 269cbf84d8)
2008-02-18 19:06:17 +01:00
Andrew Tridgell
4a04a5e620 A better way to handle the different format of RenameInformation in SMB2
We now define a separate info level RAW_SFILEINFO_RENAME_INFORMATION_SMB2
and set that level when handling SMB2 packets. This makes the parsers clearer.
(This used to be commit f6cdf3f117)
2008-02-14 14:54:21 +11:00
Andrew Tridgell
039f85835d we need to refuse a root_fid in rename on SMB but not SMB2
(This used to be commit 9a139c35b7)
2008-02-14 12:50:11 +11:00
Andrew Tridgell
839ab724dc Fixed SMB2 rename operations from Vista clients
We needed a flag in bufinfo to mark packets as SMB2, as it seems that
SMB2 uses a different format for the RenameInformation buffer than SMB
does

Also handle the fact that SMB2 clients give the full path to the
target file in the rename, not a relative path
(This used to be commit 52d7972d95)
2008-02-14 12:30:31 +11:00
Jelmer Vernooij
7d5f0e0893 r26639: librpc: Pass iconv convenience on from RPC connection to NDR library, so it can be overridden by OpenChange.
(This used to be commit 2f29f80e07)
2008-01-01 16:12:15 -06:00
Jelmer Vernooij
86dc05e99f r26638: libndr: Require explicitly specifying iconv_convenience for ndr_struct_push_blob().
(This used to be commit 61ad78ac98)
2008-01-01 16:12:11 -06:00
Jelmer Vernooij
96a200511e r26443: Remove global_loadparm instances.
(This used to be commit 8242c69623)
2007-12-21 05:50:11 +01:00
Jelmer Vernooij
e31abef15f r26440: Remove more uses of global_loadparm.
(This used to be commit 8858cf3972)
2007-12-21 05:50:08 +01:00
Jelmer Vernooij
d891c0c74a r26429: Avoid use of global_smb_iconv_convenience.
(This used to be commit d37136b7ab)
2007-12-21 05:49:56 +01:00
Jelmer Vernooij
b65dba2245 r26355: Eliminate global_loadparm in more places.
(This used to be commit 5d589a0d94)
2007-12-21 05:49:01 +01:00
Jelmer Vernooij
a72c5053c5 r26353: Remove use of global_loadparm.
(This used to be commit 17637e4490)
2007-12-21 05:48:57 +01:00
Jelmer Vernooij
39ee38d9c1 r26316: Use contexts for conversion functions.
(This used to be commit f6420d933b)
2007-12-21 05:48:30 +01:00
Jelmer Vernooij
51db4c3f3d r26228: Store loadparm context in auth context, move more loadparm_contexts up the call stack.
(This used to be commit ba75f1613a)
2007-12-21 05:47:05 +01:00
Jelmer Vernooij
ca0b72a1fd r26003: Split up DB_WRAP, as first step in an attempt to sanitize dependencies.
(This used to be commit 56dfcb4f2f)
2007-12-21 05:45:40 +01:00
Stefan Metzmacher
529763a9aa r25920: ndr: change NTSTAUS into enum ndr_err_code (samba4 callers)
lib/messaging/
lib/registry/
lib/ldb-samba/
librpc/rpc/
auth/auth_winbind.c
auth/gensec/
auth/kerberos/
dsdb/repl/
dsdb/samdb/
dsdb/schema/
torture/
cluster/ctdb/
kdc/
ntvfs/ipc/
torture/rap/
ntvfs/
utils/getntacl.c
ntptr/
smb_server/
libcli/wrepl/
wrepl_server/
libcli/cldap/
libcli/dgram/
libcli/ldap/
libcli/raw/
libcli/nbt/
libnet/
winbind/
rpc_server/

metze
(This used to be commit 6223c7fddc)
2007-12-21 05:45:02 +01:00
Jelmer Vernooij
2151cde580 r25554: Convert last instances of BOOL, True and False to the standard types.
(This used to be commit 566aa14139)
2007-10-10 15:07:55 -05:00
Jelmer Vernooij
60a1046c5c r25430: Add the loadparm context to all parametric options.
(This used to be commit fd697d77c9)
2007-10-10 15:07:31 -05:00
Jelmer Vernooij
98b57d5eb6 r25035: Fix some more warnings, use service pointer rather than service number in more places.
(This used to be commit df9cebcb97)
2007-10-10 15:05:43 -05:00
Jelmer Vernooij
ffeee68e4b r25026: Move param/param.h out of includes.h
(This used to be commit abe8349f9b)
2007-10-10 15:05:38 -05:00
Jelmer Vernooij
61ffa08f4c r24712: No longer expose the 'BOOL' data type in any interfaces.
(This used to be commit 1ce32673d9)
2007-10-10 15:02:54 -05:00
Andrew Tridgell
3b3bfed2c3 r24646: fixed the handling of case insensitive paths with wildcards
(This used to be commit 066bcd8420)
2007-10-10 15:02:31 -05:00
Andrew Tridgell
10d8f0086b r24641: fixed several memory leaks in the brlock code
(This used to be commit aa0a348964)
2007-10-10 15:02:28 -05:00
Andrew Tridgell
0479a2f1cb r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac)
2007-10-10 14:59:12 -05:00
Andrew Tridgell
879e1e0ec7 r23697: use the file perm options in the posix backend
(This used to be commit 701d06ac01)
2007-10-10 14:59:03 -05:00
Stefan Metzmacher
42c1ef4025 r23067: use 'const union smb_search_data *file' also in the server code to get rid
of compiler warnings in the cifs backend

metze
(This used to be commit 34ef07b1f5)
2007-10-10 14:52:47 -05:00
Andrew Tridgell
e3036006fe r23017: fixed the warning we have been getting for a long time:
pvfs_close: failed to delete XXX
during the BASE-DELETE test. It was a real bug, and could result in a
delete on close triggering for a handle that had never fully opened.
(This used to be commit 398c3724b4)
2007-10-10 14:52:39 -05:00
Stefan Metzmacher
283aeb2a37 r22913: try to work arround the unaligned memory access bug on Tru64
metze
(This used to be commit 3a7a30ab1c)
2007-10-10 14:52:30 -05:00
Stefan Metzmacher
5eb7420f11 r22864: in SMB2 mode we need to cancel an existing lock with a conflicting lock
if they're on the same handle and the same range

metze
(This used to be commit 36384bb4a0)
2007-10-10 14:52:25 -05:00
Stefan Metzmacher
a42f78cd50 r22842: fix directory listing of SMB2 and include directories and hidden files
metze
(This used to be commit e087772ec9)
2007-10-10 14:52:24 -05:00
Stefan Metzmacher
344cde462e r22406: this dependencies should also be private
metze
(This used to be commit 7f07895cac)
2007-10-10 14:51:15 -05:00
Stefan Metzmacher
cfb00400df r22399: fix major memory leak
metze
(This used to be commit cc71fa3496)
2007-10-10 14:51:14 -05:00
Andrew Tridgell
f00f7a34a9 r22021: use the pid specified in the individual locks, not the request pid, in
locking requests.

This fixes a bug noticed by Ronnie Sahlberg (thanks!)
(This used to be commit b4ac085816)
2007-10-10 14:49:41 -05:00
Andrew Tridgell
1cd412aa19 r21234: fixed a subtle bug with talloc reference counting and async ntvfs
requests.
(This used to be commit 6a2ba01f15)
2007-10-10 14:44:50 -05:00
Volker Lendecke
4c9efad4b8 r21042: Fix typo
(This used to be commit eb83537a3b)
2007-10-10 14:44:24 -05:00
Stefan Metzmacher
f40182cb12 r20897: fix compiler warnings
metze
(This used to be commit 5ac562e1e0)
2007-10-10 14:43:48 -05:00
Andrew Tridgell
20b406ce23 r20890: spelling fix
(This used to be commit 507266b951)
2007-10-10 14:43:46 -05:00
Andrew Tridgell
427fa23ca5 r20698: added AIO writing support
(This used to be commit dbf54c7b49)
2007-10-10 14:40:24 -05:00
Andrew Tridgell
1cd4339b9a r20646: first preparations for cluster enablement. This changes "
uint32_t server_id
to
  struct server_id server_id;

which allows a server ID to have an node number. The node number will
be zero in non-clustered case. This is the most basic hook needed for
clustering, and ctdb.
(This used to be commit 2365abaa99)
2007-10-10 14:37:23 -05:00
Andrew Tridgell
e0e96ae80d r20624: added AIO read to pvfs backend
(This used to be commit d6e20d6d8c)
2007-10-10 14:37:16 -05:00