Volker Lendecke [Wed, 23 Sep 2009 13:47:05 +0000 (15:47 +0200)]
s3:gencache: Make gencache_del() return success for expired entries
This fixes nasty error messages from "net cache flush"
Volker Lendecke [Wed, 23 Sep 2009 13:41:06 +0000 (15:41 +0200)]
s3:gencache: Remove some over-paranoid locking
Volker Lendecke [Wed, 23 Sep 2009 13:21:40 +0000 (15:21 +0200)]
s3:gencache: Add a "was_expired" argument to gencache_get_data_blob
This is set to true if the routine returns failure due to an existing but
expired entry.
Andrew Tridgell [Wed, 16 Sep 2009 01:22:56 +0000 (03:22 +0200)]
s3: Fix vfs_shadow_copy2 to allow in-path @GMT-xxx
Volker Lendecke [Mon, 2 Feb 2009 10:52:08 +0000 (11:52 +0100)]
Add a "connectpath" operation to the shadow_copy2 module
Volker Lendecke [Thu, 28 May 2009 17:20:14 +0000 (19:20 +0200)]
Add SMB_VFS_CONNECTPATH operation
This is required for the shadow_copy2 module and "wide links = no". The file
system snapshots by nature are typically outside of share directory. So the
REALPATH result fails the wide links = no test.
Volker Lendecke [Fri, 30 Jan 2009 14:04:44 +0000 (15:04 +0100)]
Remove a variable used just once
Michael Adam [Fri, 11 Sep 2009 11:23:34 +0000 (13:23 +0200)]
s3:dbwrap_ctdb: set dmaster in ctdb_transaction_store() also when updating an existing record
not only when creating a record.
This matches commit
e9194a130327d6b05a8ab90bd976475b0e93b06d from ctdb-master.
Michael
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Wed, 26 Aug 2009 12:56:41 +0000 (14:56 +0200)]
Add a parameter to disable the automatic creation of krb5.conf files
This is necessary because MIT 1.5 can't deal with certain types (Tree Root) of
transitive AD trusts. The workaround is to add a [capaths] directive to
/etc/krb5.conf, which we don't automatically put into the krb5.conf winbind
creates.
The alternative would have been something like a "krb5 conf include", but I
think if someone has to mess with /etc/krb5.conf at this level, it should be
easy to add the site-local KDCs as well.
Next alternative is to correctly figure out the [capaths] parameter for all
trusted domains, but for that I don't have the time right now. Sorry :-)
Michael Adam [Thu, 20 Aug 2009 12:23:22 +0000 (14:23 +0200)]
v3-4-ctdb: Bump the ctdb verdor patch level to 5.
Michael
Michael Adam [Thu, 20 Aug 2009 11:37:11 +0000 (13:37 +0200)]
packaging(RHEL-CTDB): enable parallel build
Michael
Michael Adam [Thu, 20 Aug 2009 11:33:42 +0000 (13:33 +0200)]
packaging(RHEL-CTDB): fix packaging of pam_winbind.mo file
Michael
Volker Lendecke [Wed, 19 Aug 2009 12:22:09 +0000 (14:22 +0200)]
s3:dsgetdcname: Fix a crash in dsgetdcname
When returning NT_STATUS_OK we can't leave *info == NULL, this crashes
in is_closest_site called from dsgetdcname().
Volker Lendecke [Wed, 19 Aug 2009 12:19:22 +0000 (14:19 +0200)]
s3:dsgetdcname: Inline dsgetdcname_cache_refresh
Michael Adam [Thu, 20 Aug 2009 10:55:24 +0000 (12:55 +0200)]
v3-4-ctdb: Bump the ctdb verdor patch level to 4.
Michael
Michael Adam [Thu, 20 Aug 2009 09:19:13 +0000 (11:19 +0200)]
Revert "VERSION: Raise version number up to 3.4.1."
This reverts commit
b1dd075c6819a3fb0f00bdb93104c307505ec8ba.
We are still based upon 3.4.0 + patches since 3.4.1 is not yet released.
Michael
Volker Lendecke [Thu, 13 Aug 2009 04:33:16 +0000 (06:33 +0200)]
Make refusal of SEC_DESC_DACL_PROTECTED configurable
This adds a parameter "gpfs:refuse_dacl_protected" that defaults to false.
GPFS has no place to store the SEC_DESC_DACL_PROTECTED ACL bit. With this
parameter we give customers an option to either ignore this bit or refuse
setting an ACL with it.
Jeremy Allison [Fri, 14 Aug 2009 22:06:11 +0000 (15:06 -0700)]
Use defined names rather than numeric constants to make code
clearer.
Jeremy.
Michael Adam [Mon, 10 Aug 2009 16:18:19 +0000 (18:18 +0200)]
gpfs.so: map the file_inherit and dir_inherit flags away for files
GPFS sets inherits dir_inhert and file_inherit flags
to files, too, which confuses windows, and seems to
be wrong anyways.
So when mapping a nfs4 acl to a windows acl, we map these
flags away for files.
Michael
Volker Lendecke [Thu, 25 Jun 2009 12:46:17 +0000 (14:46 +0200)]
Add a \n to a debug message in smbacl4_nfs42win
Volker Lendecke [Sun, 24 May 2009 20:16:34 +0000 (22:16 +0200)]
Fix a size_t/int warning
Michael Adam [Wed, 5 Aug 2009 12:09:00 +0000 (14:09 +0200)]
v3-4-ctdb: Bump the ctdb verdor patch level to 3.
For the next release.
Michael
Michael Adam [Mon, 3 Aug 2009 13:30:42 +0000 (15:30 +0200)]
packaging(RHEL-CTDB): move the idmap and nss_info modules to the common package
In this layout, this is the package that contains winbindd related stuff.
Michael
Michael Adam [Mon, 3 Aug 2009 12:32:52 +0000 (14:32 +0200)]
packaging(RHEL-CTDB): package the winbind_krb5_locator.so plugin
Michael
Michael Adam [Mon, 3 Aug 2009 12:05:42 +0000 (14:05 +0200)]
packaging(RHEL-CTDB): package the manpage of the winbind_krb5_locator plugin
Michael
Michael Adam [Mon, 3 Aug 2009 12:04:33 +0000 (14:04 +0200)]
packaging(RHEL-CTDB): package the manpage of "ldbrename"
Michael
Michael Adam [Mon, 3 Aug 2009 12:04:09 +0000 (14:04 +0200)]
packaging(RHEL-CTDB): package the manpage of "sharesec"
Michael
Michael Adam [Mon, 3 Aug 2009 11:45:40 +0000 (13:45 +0200)]
packaging(RHEL-CTDB): pam_winbindd man page has moved from section 7 to 8
This due to updating the docs tarball to the 3.4 docs.
Michael
Michael Adam [Wed, 29 Jul 2009 13:21:49 +0000 (15:21 +0200)]
s3:passdb: use transaction_wrapped write in tdbsam_new_rid()
Now all tdb writes in passdb use transactions.
Michael
Michael Adam [Wed, 29 Jul 2009 13:15:54 +0000 (15:15 +0200)]
s3:secrets: use transaction wrapped store in get rand seed.
Now secrets.tdb is only writen with transactions.
Michael
Michael Adam [Wed, 29 Jul 2009 13:14:57 +0000 (15:14 +0200)]
s3:dbwrap: add dbwrap_trans_change_int32_atomic()
A transaction wrapper for dbwrap_change_int32_atomic().
Michael
Michael Adam [Wed, 29 Jul 2009 13:12:39 +0000 (15:12 +0200)]
s3:dbwrap: export logic of dbwrap_change_int32_atomic into an action function
to prepare for adding a transaction wrapper to dbwrap_change_int32_atomic()
Michael
Michael Adam [Wed, 29 Jul 2009 13:08:06 +0000 (15:08 +0200)]
s3:dbwrap: change dbwrap_change_int32_atomic() to take int32_t, not int32
Michael
Michael Adam [Wed, 29 Jul 2009 12:56:32 +0000 (14:56 +0200)]
s3:winbind: use transaction store in idmap_tdb_set_hwm() to store new hwm.
Btw, the previous code must have failed to warn when exceeding the high_hwm,
because it overwrote hwm with the return value of the dbwrap_store_uint32(),
which does not return the hwm but 0 or -1, depending on success.
Michael
Michael Adam [Wed, 29 Jul 2009 12:45:31 +0000 (14:45 +0200)]
s3:winbind: fix typo in debug message in idmap_tdb.
Michael
Michael Adam [Wed, 29 Jul 2009 12:43:14 +0000 (14:43 +0200)]
s3:winbind: fix typo in debugmessage of idmap_tdb
Michael
Michael Adam [Wed, 29 Jul 2009 12:39:30 +0000 (14:39 +0200)]
s3:winbind: use transaction in idmap_tdb2_allocate_id_action().
This uses the new dbwrap_trans_change_uint32_atomic()
instead of dbwrap_change_uint32_atomic().
Now all db write operations in idmap_tdb2.c are using
transactions.
Michael
Michael Adam [Wed, 29 Jul 2009 12:37:39 +0000 (14:37 +0200)]
s3:dbwrap: add dbwrap_trans_change_uint32_atomic()
A transaction wrapper for dbwrap_change_uint32_atomic().
Michael
Michael Adam [Wed, 29 Jul 2009 12:32:31 +0000 (14:32 +0200)]
s3:dbwrap: export logic of dbwrap_change_uint32_atomic into an action function
to prepare for adding a transaction wrapper to dbwrap_change_uint32_atomic()
Michael
Michael Adam [Wed, 29 Jul 2009 12:26:26 +0000 (14:26 +0200)]
s3:dbwrap: untangle assignment and check in dbwrap_change_int32_atomic()
Michael
Michael Adam [Wed, 29 Jul 2009 12:25:29 +0000 (14:25 +0200)]
s3:dbwrap: untangle assignemend and check in dbwrap_change_uint32_atomic()
Michael
Michael Adam [Wed, 29 Jul 2009 12:23:26 +0000 (14:23 +0200)]
s3:dbwrap: don't leak in dbwrap_change_int32_atomic().
Michael
Michael Adam [Wed, 29 Jul 2009 12:22:37 +0000 (14:22 +0200)]
s3:dbwrap: don't leak in dbwrap_change_uint32_atomic()
Michael
Michael Adam [Wed, 29 Jul 2009 12:21:03 +0000 (14:21 +0200)]
s3:dbwrap: change dbwrap_change_int32_atomic() to return NTSTATUS not int32.
Michael
Michael Adam [Wed, 29 Jul 2009 12:16:11 +0000 (14:16 +0200)]
s3:dbwrap: change dbwrap_change_uint32_atomic() to return NTSTATUS not uint32_t.
Michael
Michael Adam [Wed, 29 Jul 2009 11:43:29 +0000 (13:43 +0200)]
s3:winbind: in idmap_tdb2_sid_to_id(), use transaction wrapped stores.
When a mapping is not found, then the idmap script is called (if defined).
When this gives a reply for the desired sid, this reply is stored in the db.
This patch wraps theses two store operations into a transaction by re-using
the idmap_tdb2_set_mapping_action() function previously defined
for idmap_tdb2_set_mapping().
Michael
Michael Adam [Wed, 29 Jul 2009 11:36:18 +0000 (13:36 +0200)]
s3:winbind: in idmap_tdb2_id_to_sid(), use transaction wrapped stores.
When a mapping is not found, then the idmap script is called (if defined).
When this gives a reply for the desired id, this reply is stored in the db.
This patch wraps theses two store operations into a transaction by re-using
the idmap_tdb2_set_mapping_action() function previously defined
for idmap_tdb2_set_mapping().
Michael
Michael Adam [Tue, 28 Jul 2009 14:53:37 +0000 (16:53 +0200)]
s3:winbind: use transaction wrapper in idmap_tdb2_allocate_id()
Michael
Michael Adam [Tue, 28 Jul 2009 11:31:09 +0000 (13:31 +0200)]
s3:winbind: use transaction wrapper in idmap_tdb2_set_mapping()
Michael
Michael Adam [Tue, 21 Jul 2009 10:35:48 +0000 (12:35 +0200)]
s3:dbwrap: use the transaction wrapper in dbwrap_trans_store().
Now dbwrap_util.c contains only one call to each of
transaction_start, transaction_commit and transaction_cancel.
Michael
Michael Adam [Tue, 21 Jul 2009 10:26:14 +0000 (12:26 +0200)]
s3:dbwrap: use the transaction wrapper in dbwrap_trans_delete().
Michael
Michael Adam [Wed, 15 Jul 2009 14:59:07 +0000 (16:59 +0200)]
s3:dbwrap: fix embarrassing typo :-)
Michael
Michael Adam [Tue, 7 Jul 2009 15:16:21 +0000 (17:16 +0200)]
s3:registry: db backend: add my C
Michael
Michael Adam [Wed, 15 Jul 2009 10:50:55 +0000 (12:50 +0200)]
s3:registry: flush the provided subkey_ctr in regdb_fetch_keys_internal()
This way, we always return what has really been read from the db,
and not more. The callers assume exactly this, but one could hand
in an already pre-filled subkey container...
Michael
Michael Adam [Wed, 15 Jul 2009 10:47:12 +0000 (12:47 +0200)]
s3:registry: add function regsubkey_ctr_reinit()
This reinitializes an already allocated regsubkey_ctr structure,
emptying out the subkey array and hash table.
Michael
Michael Adam [Wed, 15 Jul 2009 10:45:43 +0000 (12:45 +0200)]
s3:registry: turn regdb_fetch_keys_internal() from int to WERROR return type
This way, more error information is propagated to the callers.
Michael
Michael Adam [Mon, 13 Jul 2009 15:15:14 +0000 (17:15 +0200)]
s3:registry: use transaction wrapper in create_sorted_subkeys()
Michael
Michael Adam [Thu, 9 Jul 2009 10:54:16 +0000 (12:54 +0200)]
s3:registry: restructure logic of create_sorted_subkes() slightly
This makes it clearer to me, and it also makes it easier to
use the transaction retry wrapper in the next step.
Michael
Michael Adam [Thu, 9 Jul 2009 09:04:20 +0000 (11:04 +0200)]
s3:registry: use transaction wrapper in regdb_delete_subkey().
Michael
Michael Adam [Thu, 9 Jul 2009 08:54:18 +0000 (10:54 +0200)]
s3:registry: add a comment header for the delete_subkey set of commands.
Michael
Michael Adam [Thu, 9 Jul 2009 08:52:40 +0000 (10:52 +0200)]
s3:registry: add a comment header for the create_subkey set of functions
Michael
Michael Adam [Thu, 9 Jul 2009 08:41:59 +0000 (10:41 +0200)]
s3:registry: use transaction wrapper in regdb_create_subkey()
Michael
Michael Adam [Thu, 9 Jul 2009 08:28:29 +0000 (10:28 +0200)]
s3:registry: use transaction wrapper in regdb_store_keys_internal().
Michael
Michael Adam [Wed, 8 Jul 2009 22:21:46 +0000 (00:21 +0200)]
s3:registry: don't leak to talloc_stack in regdb_store_keys_internal2()
and catch one potential talloc failure.
Michael
Michael Adam [Wed, 8 Jul 2009 22:10:08 +0000 (00:10 +0200)]
s3:registry: unify exit logic and remove leaking to talloc_stack in regdb_store_keys_internal()
Michael
Michael Adam [Wed, 8 Jul 2009 15:26:06 +0000 (17:26 +0200)]
s3:registry: change regdb_store_keys_internal2() to return WERROR
instead of bool for better error propagation.
Michael
Michael Adam [Wed, 8 Jul 2009 11:58:52 +0000 (13:58 +0200)]
s3:registry: refactor adding of builtin reg values out
into regdb_ctr_add_value(). For readability.
Michael
Michael Adam [Wed, 8 Jul 2009 11:10:37 +0000 (13:10 +0200)]
s3:registry: use transaction wrapper in init_registry_data()
Michael
Michael Adam [Wed, 8 Jul 2009 10:38:41 +0000 (12:38 +0200)]
s3:registry: add regdb_store_values_internal() that takes a db_context argument
Michael
Michael Adam [Wed, 8 Jul 2009 10:32:48 +0000 (12:32 +0200)]
s3:registry: add a regdb_fetch_values_internal() that takes a db_context argument
Michael
Michael Adam [Mon, 23 Mar 2009 22:14:45 +0000 (23:14 +0100)]
s3:registry: replace typedef REGISTRY_OPS by struct registry_ops
Michael
Michael Adam [Mon, 23 Mar 2009 22:05:30 +0000 (23:05 +0100)]
s3:registry replace typedef REGISTRY_HOOK by struct registry_hook.
Michael
Michael Adam [Mon, 23 Mar 2009 22:02:57 +0000 (23:02 +0100)]
s3:registry: replace typedef REGISTRY_KEY by struct registry_key_handle
Michael
Michael Adam [Mon, 23 Mar 2009 21:27:59 +0000 (22:27 +0100)]
s3:registry: replace typedef REGISTRY_VALUE by struct regval_blob
Michael
Michael Adam [Mon, 23 Mar 2009 17:14:17 +0000 (18:14 +0100)]
s3:registry: replace typedef REGVAL_CTR by struct regval_ctr.
This paves the way for hiding the typedef and the implementation
from the surface.
Michael
Michael Adam [Tue, 7 Jul 2009 21:58:03 +0000 (23:58 +0200)]
s3:registry: use transaction wrapper in init_registry_key().
Michael
Michael Adam [Tue, 7 Jul 2009 21:03:46 +0000 (23:03 +0200)]
s3:registry: add db_context argument to init_registry_key_internal()
Michael
Michael Adam [Tue, 7 Jul 2009 10:42:09 +0000 (12:42 +0200)]
s3:registry: panic upon error at transaction_cancel in create_sorted_subkeys
Michael
Michael Adam [Tue, 7 Jul 2009 10:41:09 +0000 (12:41 +0200)]
s3:registry: fix a comment in create_sorted_subkeys()
Michael
Michael Adam [Tue, 7 Jul 2009 10:39:32 +0000 (12:39 +0200)]
s3:registry: don't loop transaction_commit in create_sorted_subkeys() upon error
This would try to commit a higher level transaction upon commit-error.
Michael
Michael Adam [Tue, 7 Jul 2009 10:27:26 +0000 (12:27 +0200)]
s3:registry: in regdb_delete_subkey(), don't use the transaction wrappers.
This way, the db handle gets used explicitly and the core of the
function can be abstracted.
Michael
Michael Adam [Tue, 7 Jul 2009 10:24:25 +0000 (12:24 +0200)]
s3:registry: in regdb_delete_subkey(), panic if transaction_cancel fails
Michael
Michael Adam [Tue, 7 Jul 2009 10:20:23 +0000 (12:20 +0200)]
s3:registry: panic upon failed transaction_cancel in regdb_create_subkey()
Michael
Michael Adam [Tue, 7 Jul 2009 09:41:08 +0000 (11:41 +0200)]
s3:registry: don't use exported transaction wrappers in regdb_create_subkey()
So that the regdb handle is again explicit and the core of the
function can be abstracted.
Michael
Michael Adam [Tue, 7 Jul 2009 09:31:28 +0000 (11:31 +0200)]
s3:registry: create regdb_store_keys_internal() with db_context argument
and let exported regdb_store_keys() just call regdb_store_keys_internal()
with regdb as an argument. Internally, in reg_backend_db.c, always use the
_internal version.
Michael
Michael Adam [Tue, 7 Jul 2009 09:11:10 +0000 (11:11 +0200)]
s3:registry: rename regdb_store_keys_internal() to regdb_store_keys_internal2()
Michael
Michael Adam [Fri, 3 Jul 2009 15:39:17 +0000 (17:39 +0200)]
s3:registry: create regdb_fetch_keys_internal() with db_context argument
and let exported regdb_fetch_keys() just call regdb_fetch_keys_internal()
with regdb as an argument. Internally, in reg_backend_db.c, always use the
_internal version.
Michael
Michael Adam [Fri, 3 Jul 2009 15:18:19 +0000 (17:18 +0200)]
s3:registry: add db_context argument to scan_parent_subkeys()
Michael
Michael Adam [Fri, 3 Jul 2009 15:10:09 +0000 (17:10 +0200)]
s3:registry: add db_context argument to regdb_fetch_key_internal()
Michael
Michael Adam [Fri, 3 Jul 2009 15:00:44 +0000 (17:00 +0200)]
s3:registry: add db_context argument to regdb_store_keys_internal()
Michael
Michael Adam [Fri, 3 Jul 2009 14:51:26 +0000 (16:51 +0200)]
s3:registry: add db_context argument to regdb_delete_key_lists()
Michael
Michael Adam [Fri, 3 Jul 2009 14:48:36 +0000 (16:48 +0200)]
s3:registry: add db_context argument to regdb_delete_subkeylist()
Michael
Michael Adam [Fri, 3 Jul 2009 14:44:20 +0000 (16:44 +0200)]
s3:registry: add db_context argument to regdb_delete_secdesc()
Michael
Michael Adam [Fri, 3 Jul 2009 14:42:20 +0000 (16:42 +0200)]
s3:registry: add db_context argument to regdb_delete_values()
Michael
Michael Adam [Fri, 3 Jul 2009 14:40:43 +0000 (16:40 +0200)]
s3:registry: add db_context argument to regdb_delete_key_with_prefix()
Michael
Michael Adam [Wed, 8 Jul 2009 14:16:18 +0000 (16:16 +0200)]
s3:registry: don't store differently cased entries for the same keys.
This happened for instance during registry initialization, when
entries for HKLM\Software and HKLM\SOFTWARE were created.
Searching these entries was case insensitive though.
But the entries ended up in the subkey-lists anyways.
This is solved by making the subkeys_hash in the regsubkey_container
structs case insensitive (using the new _bystring_upper() wrappers).
Michael
Michael Adam [Wed, 15 Jul 2009 07:58:02 +0000 (09:58 +0200)]
s3:dbwrap_util: add my C
Michael
Michael Adam [Wed, 8 Jul 2009 14:13:07 +0000 (16:13 +0200)]
s3:dbwrap: add dbwrap_fetch_bystring_upper().
To fetch a key whose name is stored but not given in upper case.
Michael
Michael Adam [Wed, 8 Jul 2009 14:08:41 +0000 (16:08 +0200)]
s3:dbwrap: add dbwrap_store_bystring_upper().
This stores a key under the uppercase version of the given keyname.
Michael
Michael Adam [Wed, 8 Jul 2009 14:02:19 +0000 (16:02 +0200)]
s3:dbwrap: add dbwrap_delete_bystring_upper()
To delete a key whose name is not given in but stored in uppercase.
Michael