Stefan Metzmacher [Tue, 24 Nov 2009 09:36:52 +0000 (10:36 +0100)]
s3:dbwrap_torture: use timeval_current/timeval_elapsed instead of start_timer/end_timer
metze
Michael Adam [Tue, 24 Nov 2009 10:43:56 +0000 (11:43 +0100)]
s3:fix the merged build of bin/smbtorture4
Michael
Volker Lendecke [Tue, 24 Nov 2009 15:51:30 +0000 (16:51 +0100)]
s3: Always try SamLogonEx
Required for cluster systems working in a Samba domain. With NT4 this won't
work, but real NT4 DCs should not be around in environments that pay big bucks
for a cluster... And if they are, they can always install a Samba DC trusting
that NT4 domain.
Michael Adam [Mon, 23 Nov 2009 14:40:36 +0000 (15:40 +0100)]
s3: add dbwrap_torture - a tool to stress test tdb transactions through dbwrap
This can be used to also test tdb transactions on clustered installations
throught ctdb. The test is modeled after the ctdb_transaction.c test program
from the ctdb source code. It runs transactions in a tight loop on a test
database called "transactions.tdb" (by default), increasing a counter in each
iteration. In a clustered environment, a counter is maintained for each node.
Michael
Michael Adam [Fri, 20 Nov 2009 16:47:21 +0000 (17:47 +0100)]
s3:torture: move the torture-specific headers to new torture/torture.h
Michael
Rusty Russell [Fri, 20 Nov 2009 09:39:57 +0000 (10:39 +0100)]
gpfs: fix logic when gpfs:winattr is false (the default!)
On my autocluster setup, it's not set. Maybe it should be? Otherwise
smbclient and some Windows client programs will get errors like:
# smbclient //localhost/data -Uadministrator%XXX
Domain=[VSOFS1] OS=[Unix] Server=[Samba 3.4.2-ctdb-10]
smb: \> put /etc/resolv.conf resolv.conf
NT_STATUS_ACCESS_DENIED closing remote file \resolv.conf
smb: \>
Caused by attempting to update the time on close.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 19 Nov 2009 16:22:27 +0000 (17:22 +0100)]
s3: Avoid races to change the machine password in winbind
The machine password handler has code to deal with every node in the cluster
trying to change the machine password at the same time. However, it is not very
nice to the DC if everyone tries this simultaneously. This adds a random 0-255
second offset to our timed event. When this fires a bit later than strictly
calculated, someone else might have stepped in and have already changed it. The
timed event handler will handle this gracefully, it won't even try to do it
again.
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 19 Nov 2009 16:20:47 +0000 (17:20 +0100)]
s3: Protect against flooding the DC with pwchange requests
When there is a temporary problem changing passwords we flooded the DC with
pwchange requests. This gives the DC a 60-second break to recover.
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 19 Nov 2009 16:16:54 +0000 (17:16 +0100)]
s3: Deal with races for password changes
When two winbinds (in a cluster) change the password at the same time, the
later one gets an NT_STATUS_ACCESS_DENIED. The netlogon session works fine, but
the next time we retry the pwchange, we again get NT_STATUS_ACCESS_DENIED. This
code deals with this race by dropping just the NETLOGON pipe. The next caller
will re-open it automatically with the changed machine credentials.
With this race in place, we also have to recalculate the timeout for the next
pwchange event.
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 19 Nov 2009 16:14:40 +0000 (17:14 +0100)]
s3: Re-check the timeout in machine_password_change_handler()
Someone else might have come in between and changed the password since we
created that timed request
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 19 Nov 2009 16:11:32 +0000 (17:11 +0100)]
s3: Add some debugs to the winbind machine pwchange machinery
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 19 Nov 2009 10:50:13 +0000 (11:50 +0100)]
s3: Factor timeval_string out of current_timestring()
Signed-off-by: Michael Adam <obnox@samba.org>
Günther Deschner [Mon, 5 Oct 2009 15:04:52 +0000 (17:04 +0200)]
s3-netlogon: setup NETLOGON credential chain in rpccli_netlogon_set_trust_password() only when needed.
Guenther
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 12 Nov 2009 11:30:58 +0000 (12:30 +0100)]
s3: Fix shadow copies after the change for in-path @GMT-
Volker Lendecke [Thu, 12 Nov 2009 11:29:19 +0000 (12:29 +0100)]
s3: Fix check_reduced_name for access to the share root itself
Volker Lendecke [Thu, 12 Nov 2009 10:07:15 +0000 (11:07 +0100)]
s3: Fix debug messages in check_reduced_name
Michael Adam [Tue, 10 Nov 2009 23:13:14 +0000 (00:13 +0100)]
s3:vfs_fs_capabilities: fix a debug message
Michael
Volker Lendecke [Mon, 9 Nov 2009 16:06:48 +0000 (17:06 +0100)]
s3: Try to avoid dns searches with an empty site
Volker Lendecke [Mon, 9 Nov 2009 10:06:30 +0000 (11:06 +0100)]
s3: Fix in-path shadowcopy2 module
Christian Ambach [Mon, 6 Jul 2009 12:08:57 +0000 (14:08 +0200)]
add e2fsprogs-devel as build dependency this is needed for AD because it contains libcom/libcom_err files and headers
Signed-off-by: Christian Ambach <christian.ambach@de.ibm.com>
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Thu, 5 Nov 2009 14:06:21 +0000 (15:06 +0100)]
s3: Fix a crash in notify_remove_onelevel when "change notify = no"
Volker Lendecke [Tue, 3 Nov 2009 04:41:02 +0000 (05:41 +0100)]
s3: Add parameter "ctdb timeout"
When something in the cluster blocks, it can happen that we wait indefinitely
long for ctdb, just adding to the blocking condition. In theory, nothing should
block, but as someone said "In practice the difference between theory and
practice is larger than in theory". This adds a timeout parameter in seconds,
after which we stop waiting for ctdb and panic.
Signed-off-by: Michael Adam <obnox@samba.org>
Michael Adam [Wed, 4 Nov 2009 11:26:46 +0000 (12:26 +0100)]
packaging(RHEL-CTDB): add the current githash to the rpm release number by default
Disable this (to build a release-rpm) by calling
USE_GITHASH=no makerpms.sh
Michael
Michael Adam [Mon, 2 Nov 2009 23:51:27 +0000 (00:51 +0100)]
s3:registry: add an extra check for dsize==0 to regdb_fetch_keys_internal()
Don't only rely on dptr == NULL.
I stumbled over this one when rewriting some of the dbwrap_ctdb code.
Michael
Michael Adam [Mon, 2 Nov 2009 23:47:37 +0000 (00:47 +0100)]
s3:registry: add safety check for return value of tdb_unpack to regdb_fetch_keys_internal()
Prevents segfaults in some situations.
(For a non existent or empty record, we sometimes rely on the fetch operation
to return dsize==0 and sometimes we rely on dptr==NULL.)
Michael
Michael Adam [Sat, 31 Oct 2009 12:16:34 +0000 (13:16 +0100)]
s3:dbwrap_ctdb: add debug message to transaction_fetch_start()
for the case that another local process has started a transaction
bewteen releasing the transaction_lock record and starting the
transaction.
Michael
Michael Adam [Sat, 31 Oct 2009 12:13:04 +0000 (13:13 +0100)]
s3:dbwrap_ctdb: split combined check in two and add descriptive debug
in db_ctdb_transaction_fetch_start() for error conditions when re-fetching
the transaction_lock record inside the transaction
Michael
Michael Adam [Wed, 28 Oct 2009 23:01:45 +0000 (00:01 +0100)]
s3:dbwrap_ctdb: fix race condition with concurrent transactions on the same node.
In ctdb_transaction_commit(), when the trans2_commit control fails, there
is a race condition in the 1 second sleep between the local transaction_cancel
and the call to ctdb_replay_transaction(): The database is not locked, and
neither is the transaction_lock record. So another client can start and possibly
complete a new transaction in this gap, but only on the same node: The locking
of the transaction_lock record on a different node which involves migration of
the record to the other node has been disabled by introduction of the
transaction_active flag on the db which closes precisely this gap from the start
of the commit until the call to TRANS2_FINISH or TRANS2_ERROR.
But this mechanism does not cover the case where a process on the same node
tries to start a transaction: There is no obstacle to locking the transaction_lock
record because the record does not need to be migrated.
This commit closes this race condition in ctdb_transaction_fetch_start()
by using the new ctdb_ctrl_transaction_active() call to ask the local
ctdb daemon whether it has a transaction running on the database.
If so, the check is repeated until the running transaction is done.
This does introduce an additional call to the local ctdbd when starting
transactions, but it does close the (hopefully) last race condition.
Michael
Michael Adam [Wed, 28 Oct 2009 22:56:59 +0000 (23:56 +0100)]
s3:configure: add a check for the new CTDB_CONTROL_TRANS2_ACTIVE
Michael
Michael Adam [Wed, 28 Oct 2009 22:56:03 +0000 (23:56 +0100)]
s3:dbwrap_ctdb: add new db_ctdb_transaction_active() that calls CTDB_CONTROL_TRANS2_COMMIT
Michael
Michael Adam [Wed, 28 Oct 2009 00:54:04 +0000 (01:54 +0100)]
s3:dbwrap_ctdb: fix a race in starting concurrent transactions on a single node
There are two races in concurrent transactions on a single node.
One in starting a transaction and one with replay during commit.
This commit closes the first race by storing the client pid in the
transaction-lock record and comparing the stored pid against its own
pid after releasing the lock and refetching the record inside the
transaction.
Michael
Michael Adam [Wed, 28 Oct 2009 00:50:15 +0000 (01:50 +0100)]
s3:dbwrap_ctdb: use db_ctdb_ltdb_fetch() inside db_ctdb_transaction_fetch_start
Michael
Michael Adam [Wed, 28 Oct 2009 00:28:38 +0000 (01:28 +0100)]
s3:dbwrap_ctdb: use db_ctdb_ltdb_fetch() inside db_ctdb_transaction_fetch()
Michael
Michael Adam [Mon, 2 Nov 2009 23:55:41 +0000 (00:55 +0100)]
s3:dbwrap_ctdb: add a function db_ctdb_ltdb_fetch()
This fetches a record from the db and splits out the ctdb header.
Michael
Michael Adam [Thu, 22 Oct 2009 14:27:45 +0000 (16:27 +0200)]
s3:dbrwap_ctdb: add a function db_ctdb_ltdb_store()
and use it in db_ctdb_store() and db_ctdb_transaction_store().
Michael
Michael Adam [Thu, 22 Oct 2009 12:37:51 +0000 (14:37 +0200)]
s3:dbwrap_ctdb: reformat a comment slightly to enhance clearness.
Michael
Michael Adam [Mon, 25 May 2009 19:59:40 +0000 (21:59 +0200)]
s3:dbwrap_ctdb: fix some function header comments
Michael
(cherry picked from commit
f5a5c6a5dcf6be2486c53138e24f8d76b64f882e)
Signed-off-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Mon, 2 Nov 2009 15:59:15 +0000 (16:59 +0100)]
s3: Fix a 100% CPU loop when ctdbd dies during a traverse
Signed-off-by: Michael Adam <obnox@samba.org>
Martin Schwenke [Thu, 22 Oct 2009 11:03:20 +0000 (13:03 +0200)]
cluster_fatal() exit code should not indicate success.
cluster_fatal() logs a fatal event and then exits with 0. This seems
wrong. Sometimes command like "net" use this code and return
incorrect empty output but then exit with 0.
This simply changes the exit code to 1.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Volker Lendecke [Fri, 16 Oct 2009 10:37:27 +0000 (12:37 +0200)]
s3: Attempt to fix a deadlock between smbd and ctdbd
In Samba we access the notify databases under the locking.tdb lock when closing a file. This leads to a deadlock with ctdb when doing a recovery.
This is a bad hack, and ctdb will need to get fixed for this. But for now, it
seems necessary.
Abhidnya Chirmule [Tue, 8 Sep 2009 12:11:31 +0000 (14:11 +0200)]
To set file create/birth time Signed-off-by: Abhidnya Chirmule <achirmul@in.ibm.com>
Abhidnya P Chirmule [Tue, 6 Oct 2009 15:14:56 +0000 (17:14 +0200)]
s3: Add access_mask to the flock VFS call
Volker Lendecke [Tue, 6 Oct 2009 12:06:16 +0000 (14:06 +0200)]
s3:samr: Fix an uninitialized variable
Günther Deschner [Thu, 20 Aug 2009 13:28:19 +0000 (15:28 +0200)]
s3-idmap: fix two uninitialized variable warnings in idmap_tdb2.
Guenther
Christian Ambach [Sun, 27 Sep 2009 21:34:04 +0000 (23:34 +0200)]
changed debuglevel for two messages in the GPFS module from 0 to 10 they spammed the logs on a test machine and they are just debug messages, so let's move them to the level of the other debug messages in the file
Signed-off-by: Christian Ambach <christian.ambach@de.ibm.com>
Volker Lendecke [Tue, 15 Sep 2009 00:19:14 +0000 (02:19 +0200)]
s3:gpfs: Add support for the gpfs_ftruncate call
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 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
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 [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