1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-14 20:23:54 +03:00
Commit Graph

71 Commits

Author SHA1 Message Date
Jelmer Vernooij
566aa14139 r25554: Convert last instances of BOOL, True and False to the standard types. 2007-10-10 15:07:55 -05:00
Jelmer Vernooij
1ce32673d9 r24712: No longer expose the 'BOOL' data type in any interfaces. 2007-10-10 15:02:54 -05:00
Andrew Tridgell
fcf38a38ac 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.
2007-10-10 14:59:12 -05:00
Andrew Tridgell
701d06ac01 r23697: use the file perm options in the posix backend 2007-10-10 14:59:03 -05:00
Andrew Tridgell
398c3724b4 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.
2007-10-10 14:52:39 -05:00
Stefan Metzmacher
5ac562e1e0 r20897: fix compiler warnings
metze
2007-10-10 14:43:48 -05:00
Andrew Tridgell
dbf54c7b49 r20698: added AIO writing support 2007-10-10 14:40:24 -05:00
Andrew Tridgell
d6e20d6d8c r20624: added AIO read to pvfs backend 2007-10-10 14:37:16 -05:00
Andrew Tridgell
90f044e63b r19199: split out the xattr NTACL code into a separate part of the posix
backend, allowing other ACL backends to be added. The xattr backend is
still the default backend
2007-10-10 14:20:52 -05:00
Andrew Tridgell
8cce9740ed r18319: fixed the directory search resume code on IRIX
The problem was twofold:

  1) irix returns 64 bit numbers in telldir(). The protocol uses a 32
     bit resume key. We now cope with this properly using the code in
     pvfs_list_seek_ofs().

  2) irix returns 0xFFFFFFFF from telldir() for the last entry in the
     directory. When added to DIR_OFFSET_BASE this became
     DIR_OFFSET_DOTDOT which meant an infinite loop!
2007-10-10 14:18:08 -05:00
Stefan Metzmacher
c83501335f r17362: session_info and smbpid are available from the ntvfs_handle
so we don't need them on the pvfs_file struct.

also we don't need to check is the handle has the correct session
as this is job of the frontend server

metze
2007-10-10 14:15:19 -05:00
Simo Sorce
a89cc346b9 r17206: Add a modular API for share configuration.
Commit the classic backwards compatible module which is the default one
2007-10-10 14:10:18 -05:00
Stefan Metzmacher
4f1afda488 r16876: implement SMB2 Find in the posix ntvfs backend
metze
2007-10-10 14:09:56 -05:00
Stefan Metzmacher
287fc1c22d r15734: This is a major change to the NTVFS subsystem:
- to use a struct ntvfs_handle instead of a uint16_t fnum.
  (to make it independend from the frontend protocol)
- the allocation of handles now is provided by the frontend
  (smbsrv_*) via callbacks and not by each backend module
- this also makes sure that file handles are only passed
  to the ntvfs subsystem when the tcon and session matches,
  so modules can rely on this and need to check this.
- this allows multiple modules in the ntvfs module chain
  to allocate file handles. This can be used for virtual
  files like "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"...
- also this will make SMB2 with 128 bit file handles possible

metze
2007-10-10 14:08:10 -05:00
Stefan Metzmacher
5d825261c0 r15614: the byte range locking error handling caches the last failed lock
per file handle and not per tree connect

metze
2007-10-10 14:07:00 -05:00
Stefan Metzmacher
a3e1d56cf7 r14964: - move sidmap code from ntvfs_common to SAMDB
- make ntvfs_common a library
- create sys_notify library

metze
2007-10-10 14:00:47 -05:00
Andrew Tridgell
63ae3f21e3 r14838: fix the build. Looks like I still haven't quite got the hang of the
new dependency/proto system :-)
2007-10-10 13:59:25 -05:00
Stefan Metzmacher
bac95bb8f4 r14736: - the ntvfs subsystem should not know about smb_server.h
- the process module subsystem should not know about smb_server.h
- the smb_server module should not know about process models

metze
2007-10-10 13:59:17 -05:00
Andrew Tridgell
1624ea88e6 r14616: added notify change support to the posix backend
It doesn't fully work yet, and doesn't yet have all the efficiency
that is planned, but it doesn't break anything and I wanted to get the
code in the tree to minimise the chance of collisions with the work
metze is doing.
2007-10-10 13:59:02 -05:00
Stefan Metzmacher
aaa5d377b9 r14540: fix a talloc hierachie problem,
make sure file and search handles are cleaned up
before anything else in the pvfs_state struct,
as there destructors reply on a valid pvfs_state struct

metze
2007-10-10 13:58:41 -05:00
Stefan Metzmacher
10e627032d r14487: split smbsrv_request into two parts, one will be moved to ntvfs_request
but I don't to get the commit to large, to I'll do this tomorrow...

metze
2007-10-10 13:57:32 -05:00
Jelmer Vernooij
3dd477ca51 r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
try to include just the BASENAME.h files (containing only structs)
2007-10-10 13:57:27 -05:00
Stefan Metzmacher
5709c1c4e1 r14456: don't access the smbsrv_tcon inside the ntvfs modules
metze
2007-10-10 13:57:26 -05:00
Stefan Metzmacher
ed9ed1f48f r14157: - pass a struct ntvfs_request to the ntvfs layer
(for now we just do #define ntvfs_request smbsrv_request,
   but it's the first step...)
- rename ntvfs_openfile() -> ntvfs_open()
- fix the talloc hierachie in some places in the ntvfs_map_*() code

metze
2007-10-10 13:56:55 -05:00
Jelmer Vernooij
6391761601 r12696: Reduce the size of include/structs.h 2007-10-10 13:49:40 -05:00
Jelmer Vernooij
0aca5fd513 r12542: Move some more prototypes out to seperate headers 2007-10-10 13:47:55 -05:00
Jelmer Vernooij
87f665a1d5 r12528: Add seperate proto headers for ntvfs, tdr, smb_server and nbt_server. 2007-10-10 13:47:51 -05:00
Stefan Metzmacher
f4f0d626e0 r12019: - let us only reference libblkid stuff in one file
- and make it it bit simpler, by caching the GUID struct instead of the device name
- and this also removes all compiler warnings...

metze
2007-10-10 13:47:00 -05:00
Andrew Tridgell
2e8d154e7d r8535: no longer rely on seekdir working after a closedir. Instead, keep
directories open, but close search states based on an inactivity
timer, with a default of a 5 minute timeout
2007-10-10 13:29:36 -05:00
Andrew Tridgell
1f35642bed r7792: make the allocation size rounding in pvfs configurable 2007-10-10 13:18:36 -05:00
Alexander Bokovoy
c623cc6054 r6599: Fix formating using 'linux' C style
Fix memory handling for blkid caches which need to be cleared when session is
done.
2007-10-10 13:16:29 -05:00
Andrew Tridgell
9db6c79e90 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
2007-10-10 13:09:38 -05:00
Andrew Tridgell
4adbd01812 r4956: - moved the definition of the mangle context structure into a pvfs_shortname
- made the mangle cache size configurable
2007-10-10 13:09:09 -05:00
Andrew Tridgell
0a29fb45c3 r4464: added pvfs backend support for the special CREATOR_OWNER and CREATOR_GROUP inheritance rules 2007-10-10 13:07:53 -05:00
Andrew Tridgell
0c927d912c r4242: added support for storing xattrs in a tdb. This allows all advanced NT
attributes (streams, EAs, NT ACLs, timestamps etc) to be used on
filesystems that don't support xattrs. It also allows for large
streams, although they are very inefficient.

I won't enable this by default, as I really wrote it as a way of
testing large stream support while still using ext3, but perhaps with
a bit more work this could be generally usable.

To enable this use:

   posix:eadb = /home/test/myeas.tdb
2007-10-10 13:07:28 -05:00
Andrew Tridgell
9ff6ecbdb6 r3990: take advantage of the uid->sid and gid->sid code to create a much
better default NT ACL in pvfs
2007-10-10 13:06:11 -05:00
Andrew Tridgell
4a52fae82d r3939: - added "posix:fakeoplocks" option for testing with oplocks forced on
- added support for sticky write times after a setfileinfo, by using a
  write_time field in the DosAttrib xattr structure.
2007-10-10 13:06:06 -05:00
Andrew Tridgell
c1a48a7542 r3799: - added the bit for FS_ATTR_NAMED_STREAMS support into qfsinfo filesystem attribute reply
- pvfs passes the RAW-STREAMS test
2007-10-10 13:05:55 -05:00
Andrew Tridgell
b6452c4a20 r3798: added support for alternate data streams in xattrs into pvfs.
The trickiest part about this was getting the sharing and locking
rules right, as alternate streams are separate locking spaces from the
main file for the purposes of byte range locking, and separate for
most share violation rules.

I suspect there are still problems with delete on close with alternate
data streams. I'll look at that next.
2007-10-10 13:05:54 -05:00
Andrew Tridgell
e7afd4403c r3747: - added some of the infrastructure needed for streams support in pvfs
(the IDL, and the load/save meta-data logic)

- changed pvfs_resolve_name() to default to non-wildcard, needing
  PVFS_RESOLVE_WILDCARD to enable wildcards. Most callers don't want
  wildcards, so defaulting this way makes more sense.

- fixed deletion of EAs
2007-10-10 13:05:50 -05:00
Andrew Tridgell
aa09df22ee r3618: - this adds the special case for DENY_DOS semantics, as shown by the BASE-DENYDOS test.
- pvfs now passes BASE-DENY1 and BASE-DENYDOS.
2007-10-10 13:05:40 -05:00
Andrew Tridgell
6e4fdf01d1 r3615: split out struct pvfs_file_handle from struct pvfs_file. This is in
preparation for adding code to pass the BASE-DENY1 and BASE-DENYDOS
tests, which require a shared filesystem handle for some specific
combinations of two DENY_DOS opens on the same connection.
2007-10-10 13:05:40 -05:00
Andrew Tridgell
e53ec2f6b6 r3595: - fixed a talloc_free ordering problem on cleanup with pending requests
- added initial support for MODE_INFORMATION in setfileinfo (I have no
  idea what "mode information" on a file is - it takes a value of 0,
  2, 4 or 6. What could it be?)
2007-10-10 13:05:37 -05:00
Andrew Tridgell
c54253ed1b r3545: initial support for using extended attributes to hold extended dos attributes of files.
I decided to use IDL/NDR to encode the attribute, as it gives us a
simple way to describe and extend the saved attributes.

The xattr code needs to hook into quite a few more places in the pvfs
code, but this at least gets the basics done. I will start encoding
alternate data streams streams, DOS EAs etc soon using the same basic
mechanism.

I'll probably stick to "version 1" for the xattr.idl for quite a while
even though it will be changing, as I don't expect anyone to be
deploying this in production just yet. Once we have production users
we will need to keep compatibility by supporting all the old version
numbers in xattr.idl.
2007-10-10 13:05:30 -05:00
Andrew Tridgell
f23d6a2800 r3540: added testing of SMBntcancel in the open/open/close mux
testing. Interestingly, w2k3 does not allow the cancel of an
outstanding async open request, whereas it does allow the cancel of an
outstanding async lock request. To support this I have changed the
pvfs_wait interface to provide a enum on why the event is happening,
so the callback can decide what to do.
2007-10-10 13:05:30 -05:00
Andrew Tridgell
c475877649 r3532: make sharing violation delay in pvfs configurable with "posix:sharedelay = usecs" 2007-10-10 13:05:29 -05:00
Andrew Tridgell
3423e2f414 r3528: added support for the SMBntcancel() operation, which cancels any
outstanding async operation (triggering an immediate timeout).

pvfs now passes the RAW-MUX test
2007-10-10 13:05:28 -05:00
Andrew Tridgell
0d51511d40 r3507: - added deferred replies on sharing violation in pvfs open. The
deferred reply is short-circuited immediately when the file is
  closed by another user, allowing it to be opened by the waiting user.

- added a sane set of timeval manipulation routines

- converted all the events code and code that uses it to use struct
  timeval instead of time_t, which allows for microsecond resolution
  instead of 1 second resolution. This was needed for doing the pvfs
  deferred open code, and is why the patch is so big.
2007-10-10 13:05:23 -05:00
Andrew Tridgell
7c4e6ebf05 r3466: split out request.h, signing.h, and smb_server.h 2007-10-10 13:05:17 -05:00
Andrew Tridgell
bc83d823b2 r3276: - allow for more than 256 open old style searches (limit currently set at an arbitrary 5000)
- auto-cleanup old searches that the client forgot to close (common with old searches)

- expanded the RAW-SEARCH test to test more than 256 old searches, and
  old search rewind (w2k3 fails this - it appears to not support rewind
  on old style searches)
2007-10-10 13:04:48 -05:00