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

227 Commits

Author SHA1 Message Date
Andrew Tridgell
5e40d0187b r7795: use a share specific allocation rounding
(This used to be commit 9adacb0d16)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
51b1451cba r7792: make the allocation size rounding in pvfs configurable
(This used to be commit 1f35642bed)
2007-10-10 13:18:36 -05:00
Andrew Tridgell
f29b9278bb r7557: trigger a probe at tconx time to see if xattrs are really supported by
the filesystem
(This used to be commit 71e281ae2f)
2007-10-10 13:18:08 -05:00
Stefan Metzmacher
bda75f7e90 r7488: update the mode in the struct too,
that fixes the RAW-RENAME test

metze
(This used to be commit e27c1ab89b)
2007-10-10 13:17:59 -05:00
Andrew Tridgell
70656780ad r7459: fixed pvfs for the RAW-MUX test
when you cancel a lock, w2k3 gives NT_STATUS_FILE_LOCK_CONFLICT not
NT_STATUS_CANCELLED. Strange.
(This used to be commit a4f17fcd92)
2007-10-10 13:17:55 -05:00
Stefan Metzmacher
0f8d452ca0 r7458: don't look at components[-1] :-)
we now survive the RAW-UNLINK test without crashing

metze
(This used to be commit c214996391)
2007-10-10 13:17:55 -05:00
Andrew Tridgell
6a70164fe0 r7361: fixed the 'file becomes a directory' bug that marc kapland found.
Thanks Marc!
(This used to be commit d1c5eb3693)
2007-10-10 13:17:46 -05:00
Andrew Tridgell
bf1ffa283c r7294: implemented the irpc messaging system. This is the core of the
management system I proposed on samba-technical a couple of days
ago. Essentially it is a very lightweight way for any code in Samba to
make IDL based rpc calls to anywhere else in the code, without the
client or server having to go to the trouble of setting up a full rpc
service.

It can be used with any of our existing IDL, but I expect it will
mostly be used for a new set of Samba specific management calls.

The LOCAL-IRPC torture test demonstrates how it can be used by calling
the echo_AddOne() call over this transport.
(This used to be commit 3d589a0995)
2007-10-10 13:17:37 -05:00
Alexander Bokovoy
46727924a0 r6599: Fix formating using 'linux' C style
Fix memory handling for blkid caches which need to be cleared when session is
done.
(This used to be commit c623cc6054)
2007-10-10 13:16:29 -05:00
Alexander Bokovoy
1199f5f561 r6597: Make use of libblkid (part of e2fsprogs) for reporting volume GUID, if possible.
Implement smbclient's 'fsinfo' comand family which allows you to query file
system information in all known levels.
(This used to be commit 660d6e3915)
2007-10-10 13:16:29 -05:00
Andrew Tridgell
289bc557eb r6580: fixed the bug that caused the truncation of the main file on a stream
open with openx and the 'truncate if exists' flag
(This used to be commit aa82b105d5)
2007-10-10 13:16:27 -05:00
Andrew Tridgell
3716deee4c r6579: improved the handling of lock timeouts and cancels in the pvfs locking
code. On lock cancel don't retry the lock.
(This used to be commit dffeb3c3d4)
2007-10-10 13:16:27 -05:00
Andrew Tridgell
d9c15b0f28 r6342: fixed a bad union assumption that caused ACLs to fail on 64 bit machines
Thanks to lars and agruen for finding this
(This used to be commit 2acc069185)
2007-10-10 13:11:33 -05:00
Richard Sharpe
c46c6e23ba r6229: Back out these changes ...
(This used to be commit 321fbae512)
2007-10-10 13:11:28 -05:00
Richard Sharpe
66a3750b14 r6219: This change allows us to fall back to authenticating without
DCERPC_SCHANNEL_128 if we fail. Thus, it allows us to work with Windows
NT DCs ...
(This used to be commit 3034b22670)
2007-10-10 13:11:27 -05:00
Andrew Tridgell
a52a6f1c42 r5666: winxp will use a NTTIME of -1 to mean "don't change" in setfileinfo
basic_info. Add null_nttime() as the equivalent of the existing
null_time() call for cheecking for valid NTTIME values
(This used to be commit 439ce2efbf)
2007-10-10 13:10:58 -05:00
Stefan Metzmacher
218f289ed7 r5501: check the return of talloc with the NT_STATUS_HAVE_NO_MEMORY()
macro...

metze
(This used to be commit 9ec6c0e977)
2007-10-10 13:10:51 -05:00
Andrew Tridgell
a5bd1ccada r5307: removed db_wrap.h from includes.h
(This used to be commit 826baec7b3)
2007-10-10 13:09:40 -05:00
Andrew Tridgell
e82aad1ce3 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.
(This used to be commit 9db6c79e90)
2007-10-10 13:09:38 -05:00
Andrew Tridgell
fedf0b0d91 r5296: - only include the tdb headers where they are needed
- removed the u32 hack in events.c as I think this was only needed as
  tdb.h defines u32. Metze, can you check that this hack is indeed no
  longer needed on your suse system?
(This used to be commit 6f79432fe6)
2007-10-10 13:09:38 -05:00
Andrew Tridgell
131dc76d56 r5197: moved events code to lib/events/ (suggestion from metze)
(This used to be commit 7f54c8a339)
2007-10-10 13:09:30 -05:00
Andrew Tridgell
66170ef8b3 r5185: make all the events data structures private to events.c. This will
make it possible to add optimisations to the events code such as
keeping the next timed event in a sorted list, and using epoll for
file descriptor events.

I also removed the loop events code, as it wasn't being used anywhere,
and changed timed events to always be one-shot (as adding a new timed
event in the event handler is so easy to do if needed)
(This used to be commit d7b4b6de51)
2007-10-10 13:09:29 -05:00
Stefan Metzmacher
d8d3a5ffe3 r5137: fix types
metze
(This used to be commit add1c57937)
2007-10-10 13:09:26 -05:00
Andrew Tridgell
55d4d36993 r5102: This is a major simplification of the logic for controlling top level
servers in smbd. The old code still contained a fairly bit of legacy
from the time when smbd was only handling SMB connection. The new code
gets rid of all of the smb_server specific code in smbd/, and creates
a much simpler infrastructures for new server code.

Major changes include:

 - simplified the process model code a lot.

 - got rid of the top level server and service structures
   completely. The top level context is now the event_context. This
   got rid of service.h and server.h completely (they were the most
   confusing parts of the old code)

 - added service_stream.[ch] for the helper functions that are
   specific to stream type services (services that handle streams, and
   use a logically separate process per connection)

 - got rid of the builtin idle_handler code in the service logic, as
   none of the servers were using it, and it can easily be handled by
   a server in future by adding its own timed_event to the event
   context.

 - fixed some major memory leaks in the rpc server code.

 - added registration of servers, rather than hard coding our list of
   possible servers. This allows for servers as modules in the future.

 - temporarily disabled the winbind code until I add the helper
   functions for that type of server

 - added error checking on service startup. If a configured server
   fails to startup then smbd doesn't startup.

 - cleaned up the command line handling in smbd, removing unused options
(This used to be commit cf6a46c3cb)
2007-10-10 13:09:22 -05:00
Andrew Tridgell
cc869963e8 r5050: make sure we translate the generic to the specific bits before doing a
pvfs_access_check_unix().

Fixes a problem with the cifsfs filesystem
(This used to be commit 8ebc61a229)
2007-10-10 13:09:17 -05:00
Andrew Tridgell
759da3b915 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5)
2007-10-10 13:09:15 -05:00
Andrew Tridgell
bdbd32d3ff r4956: - moved the definition of the mangle context structure into a pvfs_shortname
- made the mangle cache size configurable
(This used to be commit 4adbd01812)
2007-10-10 13:09:09 -05:00
Andrew Tridgell
6c14b0133d r4944: every event_add_*() caller was having to call talloc_steal() to take
control of the event, so instead build that into the function. If you
pass NULL as mem_ctx then it leaves it as a child of the events
structure.
(This used to be commit 7f981b9ed9)
2007-10-10 13:09:08 -05:00
Andrew Tridgell
fd62df6418 r4943: Smplified the events handling code a lot. The first source of
complexity was that events didn't automatically cleanup
themselves. This was because the events code was written before we had
talloc destructors, so you needed to call event_remove_XX() to clean
the event out of the event lists from every piece of code that used
events. I have now added automatic event destructors, which in turn
allowed me to simplify a lot of the calling code.

The 2nd source of complexity was caused by the ref_count, which was
needed to cope with event handlers destroying events while handling
them, which meant the linked lists became invalid, so the ref_count ws
used to mark events for later destruction.

The new system is much simpler. I now have a ev->destruction_count,
which is incremented in all event destructors. The event dispatch code
checks for changes to this and handles it.
(This used to be commit a3c7417cfe)
2007-10-10 13:09:08 -05:00
Andrew Tridgell
4ce2cf2199 r4887: removed a bogus cast
(This used to be commit a034556faa)
2007-10-10 13:09:03 -05:00
Stefan Metzmacher
9327ec51d1 r4728: split up server_services into:
- stream_socket services
  the smb, ldap and rpc service which sets up a srtam socket end then
  waits for connections
and
- task services
  which this you can create a seperate task that do something
  (this is also going through the process_model subsystem
  so with -M standard a new process for this created
  with -M thread a new thread ...

I'll add datagram services later when we whave support for datagram sockets in lib/socket/

see the next commit as an example for service_task's

metze
(This used to be commit d5fa02746c)
2007-10-10 13:08:49 -05:00
Andrew Tridgell
3feb4423f3 r4615: added acl checking on directory search in pvfs
(This used to be commit 0e61a422bd)
2007-10-10 13:08:33 -05:00
Andrew Tridgell
c012669b55 r4595: on create check access against parent not child ...
(This used to be commit 5a1a17d3fc)
2007-10-10 13:08:31 -05:00
Andrew Tridgell
11ce2cfd70 r4591: - converted the other _p talloc functions to not need _p
- added #if TALLOC_DEPRECATED around the _p functions

- fixes the code that broke from the above

while doing this I fixed quite a number of places that were
incorrectly using the non type-safe talloc functions to use the type
safe ones. Some were even doing multiplies for array allocation, which
is potentially unsafe.
(This used to be commit 6e7754abd0)
2007-10-10 13:08:30 -05:00
Andrew Tridgell
ad7da47948 r4584: fix pvfs backend to pass the new enhanced RAW-ACLS test. Easy once I really the
strange behaviour I saw was a w2k3 bug :-)
(This used to be commit e729061bcd)
2007-10-10 13:08:29 -05:00
Andrew Tridgell
ddc10d4d37 r4549: got rid of a lot more uses of plain talloc(), instead using
talloc_size() or talloc_array_p() where appropriate.

also fixed a memory leak in pvfs_copy_file() (failed to free a memory
context)
(This used to be commit 89b74b5354)
2007-10-10 13:08:25 -05:00
Andrew Tridgell
cc55aef7c1 r4547: - added talloc_new(ctx) macro that is a neater form of the common talloc(ctx, 0) call.
- cleaned up some talloc usage in various files

I'd like to get to the point that we have no calls to talloc(), at
which point we will rename talloc_p() to talloc(), to encourage
everyone to use the typesafe functions.
(This used to be commit e6c81d7c9f)
2007-10-10 13:08:20 -05:00
Andrew Tridgell
5869493626 r4501: when copying files it is common for clients to copy the ACL. When the
ACL is the default ACL this menas the copied file would have an xattr
but the original would not. Avoid this by checking if the ACL being
set is the original ACL, and avoid the copy.
(This used to be commit 1df985a49b)
2007-10-10 13:08:15 -05:00
Andrew Tridgell
d4b1657396 r4464: added pvfs backend support for the special CREATOR_OWNER and CREATOR_GROUP inheritance rules
(This used to be commit 0a29fb45c3)
2007-10-10 13:07:53 -05:00
Andrew Tridgell
291b02a639 r4448: - fixed access_mask checking on acl set
- honor the change ownership requests of acl set, changing the underlying
  unix owner/group

- fix the access mask on file create with SEC_FLAG_MAXIMUM_ALLOWED
(This used to be commit 5761fa35ab)
2007-10-10 13:07:51 -05:00
Stefan Metzmacher
0128bd6d3f r4423: give lp_parm_int() and lp_parm_ulong() default values
metze
(This used to be commit c44f4d44b5)
2007-10-10 13:07:47 -05:00
Andrew Tridgell
ef179fddb3 r4412: SEC_FILE_READ_ATTRIBUTE is always granted, even if not requested. This was being done
in the full ACL code, but not in the unix access check code, which meant that qfileinfo
was failing for some parameters
(This used to be commit 96d017e521)
2007-10-10 13:07:45 -05:00
Andrew Tridgell
373bca5bcd r4411: when checking for create permissions, we need to check the parent, not the child!
(This used to be commit 30b4c20b1c)
2007-10-10 13:07:45 -05:00
Andrew Tridgell
4f16988ead r4410: pvfs_rename_one() should not check for create permissions, as the rename
is always in the same directory
(This used to be commit babf3480a4)
2007-10-10 13:07:44 -05:00
Andrew Tridgell
91190fdad8 r4409: fixed handling of zero access masks for the POSITION_INFORMATION query/set levels
(This used to be commit 75e7229476)
2007-10-10 13:07:44 -05:00
Andrew Tridgell
e913a48ded r4408: added the remaining access check hooks into pvfs. All calls should now have acl checking,
and obey the various inheritance rules.
(This used to be commit 5fe51807d6)
2007-10-10 13:07:44 -05:00
Andrew Tridgell
1c092c5ba6 r4406: - don't call the xattr unlink hook on unlink unless the link count is 1, otherwise
the xattrs of the remaining link are removed

- fix the handling of attribute set on directories
(This used to be commit fa44e3cce0)
2007-10-10 13:07:44 -05:00
Andrew Tridgell
1e4a4c4d6e r4405: added acl inheritance to the mkdir and t2mkdir backends.
(This used to be commit b44d4d17df)
2007-10-10 13:07:44 -05:00
Andrew Tridgell
abe22d0351 r4403: - added ACL inheritance in the pvfs backend. ACLs are now inherited on
file and directory creation via ntcreatex. pvfs now passes the
  inheritance test in RAW-ACLS

- cleaned up the error handling a bit in pvfs_open()
(This used to be commit f4dfb63d53)
2007-10-10 13:07:43 -05:00
Andrew Tridgell
359cf872df r4391: bring the default ACL inline with what w2k3 uses
(This used to be commit 16967f7502)
2007-10-10 13:07:42 -05:00