Jeremy Allison [Fri, 9 May 2008 05:07:35 +0000 (22:07 -0700)]
Fix bug #5452 - smbclient put always creates zero length
files. Thanks to Kai Engert <kengert@redhat.com> for
reporting.
Jeremy.
(This used to be commit 687275cd532f8f8ad710acd222a0c76625da53c6)
Jeremy Allison [Fri, 9 May 2008 01:09:07 +0000 (18:09 -0700)]
Yay ! Remove a VFS entry. Removed the set_nt_acl() call,
this can only be done via fset_nt_acl() using an open
file/directory handle. I'd like to do the same with
get_nt_acl() but am concerned about efficiency
problems with "hide unreadable/hide unwritable" when
doing a directory listing (this would mean opening
every file in the dir on list).
Moving closer to rationalizing the ACL model and
maybe moving the POSIX calls into a posix_acl VFS
module rather than having them as first class citizens
of the VFS.
Jeremy.
(This used to be commit f487f742cb903a06fbf2be006ddc9ce9063339ed)
Michael Adam [Tue, 6 May 2008 08:06:34 +0000 (10:06 +0200)]
registry: add comment explaining workflow to make store_keys safe w/o transactions
/*
* Make the store operation as safe as possible without transactions:
*
* (1) For each subkey removed from ctr compared with old_subkeys:
*
* (a) First delete the value db entry.
*
* (b) Next delete the secdesc db record.
*
* (c) Then delete the subkey list entry.
*
* (2) Now write the list of subkeys of the parent key,
* deleting removed entries and adding new ones.
*
* (3) Finally create the subkey list entries for the added keys.
*
* This way if we crash half-way in between deleting the subkeys
* and storing the parent's list of subkeys, no old data can pop up
* out of the blue when re-adding keys later on.
*/
The workflow is going to be modified to meet this agendain the next commits.
Michael Adam [Tue, 6 May 2008 08:05:20 +0000 (10:05 +0200)]
registry: Implement new semantics for existence of registry key in tdb.
Existence of a key is defined as follows:
* If the key is a base key (without separator), the key exists
iff the corresponding entry exist in the registry tdb.
* If the key is not a base key, the key exists, iff it exists
in the list of subkeys of it's parent keyname's tdb entry.
Jeremy Allison [Tue, 6 May 2008 22:44:39 +0000 (15:44 -0700)]
Enable tests for splice on Linux. Add a static (vl, I hate this)
so we can detect broken Linux recvfile splice and correctly fall
back.
Jeremy.
(This used to be commit ec2d301a7aac173aba41dd2074037f27d05095ce)
Volker Lendecke [Sat, 3 May 2008 00:41:10 +0000 (02:41 +0200)]
Fix a valgrind bug in the new [ug]id2sid cache
When we're given a SID, it is not always padded with zeros. Only look at the
initialized parts in the SID.
(This used to be commit 8717085dba832cfe6d7b807a10f779e495adc326)
Jeremy Allison [Mon, 5 May 2008 23:24:52 +0000 (16:24 -0700)]
Try and fix bug #5095, "Manage Documents privilege is not functional".
Should map the created sd to printer jobs, not printer.
Jerry please test and I'll add to 3.2 if it passes. Thanks,
Jeremy.
(This used to be commit 0a1fe8d6013d925ab6695f6b7f189b731ec42ccc)
Jeremy Allison [Sat, 3 May 2008 00:22:10 +0000 (17:22 -0700)]
Remove the "stat_open()" function, flag, and all associated code. It was only
being (correctly) used in the can_read/can_write checks for hide unreadable/unwritable
and this is more properly done using the functions in smbd/file_access.c.
Preparing to do NT access checks on all file access.
Jeremy.
(This used to be commit 6bfb06ad95963ae2acb67c4694a98282d3b29faa)
Jeremy Allison [Fri, 2 May 2008 17:09:00 +0000 (10:09 -0700)]
Move directory_has_default_acl() to file_access.c, belongs
there as it no longer uses explicit POSIX ACL calls.
Jeremy.
(This used to be commit ac1eac9b0d07b7b3d341c06ef1a8fd8f3c05a618)
Jeremy Allison [Fri, 2 May 2008 00:01:37 +0000 (17:01 -0700)]
Start to ensure we use the NT ACL interface, keep the POSIX
ACL interface inside the VFS modules. Will help when moving
to storing NT ACLs.
Jeremy.
(This used to be commit b08ea48f883d1b000f6364c1ff8f62bc25741244)
Jeremy Allison [Thu, 1 May 2008 15:39:16 +0000 (08:39 -0700)]
Fix bug #5434 found by Ted Percival <ted@midg3t.net>.
Introduced by me in the strlcpy cleanup. Ensure the
loaded password doesn't contain the '\n' at the end.
Jeremy.
(This used to be commit 41984743d9e89b6568119832c35ee4c0024e43a2)
Jeremy Allison [Wed, 30 Apr 2008 16:28:47 +0000 (09:28 -0700)]
Fix typo noticed by David Disseldorp <ddiss@sgi.com>. AF_INET should be AF_INET6 in this case.
Jeremy.
(This used to be commit 767740a914c7ebeb88886f520380b7fa365e315d)
Gerald W. Carter [Wed, 30 Apr 2008 15:09:43 +0000 (10:09 -0500)]
Winbind: Prevent cycle in children list when reaping dead child processes.
Thanks to Glenn Curtis and Kyle Stemen @ Likewise. Their explanation is:
In winbindd_dual.c, there is a list of children processes that
is maintained using macros DTLIST_ADD and DTLIST_REMOVE. In the
case when a scheduled_async_request fails, the particular child
was located in the list, and its attributes were cleared out
and it was reused for a subsequent async request. The bug was that
the new request would queue the same node into the doubly-linked
list and would result in list->next pointing to the same node as
list itself. This would set up an infinite loop in the processing of
the for loop when the list of children was referenced.
Solution was to fully remove the child node from the list, such that
it could be inserted without risk of being inserted twice.
Gerald W. Carter [Wed, 30 Apr 2008 14:57:15 +0000 (09:57 -0500)]
BUG 5107: Fix handling of large DNS replies on AIX and Solaris.
On AIX, Solaris, and possibly some older glibc systems (e.g. SLES8)
truncated replies never give back a resp_len > buflen
which ends up causing DNS resolve failures on large tcp DNS replies.
Gerald W. Carter [Wed, 30 Apr 2008 14:43:00 +0000 (09:43 -0500)]
BUG 5429: Clarify log msgs re: failure to create BUILTIN\{Administrators,Users}
Raise the debug msgs from Lvl 0 in the create_builtin_XX() functions
to prevent unnecessary panic from people reading the logs.
(This used to be commit 2983b9dc790e0f90ec1e6add131438c6bfd361b4)
The IRIX make does not like lines with only whitespace. With LIBNETAPI_LIBS
evaluating to nothing this happens there.
(This used to be commit 225fbe743c34fa7658f8f2e9daf6f51ec1b6e944)