metze/samba/wip.git
14 years agos3:dbwrap_torture: use timeval_current/timeval_elapsed instead of start_timer/end_timer
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

14 years agos3:fix the merged build of bin/smbtorture4
Michael Adam [Tue, 24 Nov 2009 10:43:56 +0000 (11:43 +0100)]
s3:fix the merged build of bin/smbtorture4

Michael

14 years agos3: Always try SamLogonEx
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.

14 years agos3: add dbwrap_torture - a tool to stress test tdb transactions through dbwrap
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

14 years agos3:torture: move the torture-specific headers to new torture/torture.h
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

14 years agogpfs: fix logic when gpfs:winattr is false (the default!)
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>
14 years agos3: Avoid races to change the machine password in winbind
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>
14 years agos3: Protect against flooding the DC with pwchange requests
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>
14 years agos3: Deal with races for password changes
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>
14 years agos3: Re-check the timeout in machine_password_change_handler()
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>
14 years agos3: Add some debugs to the winbind machine pwchange machinery
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>
14 years agos3: Factor timeval_string out of current_timestring()
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>
14 years agos3-netlogon: setup NETLOGON credential chain in rpccli_netlogon_set_trust_password...
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>
14 years agos3: Fix shadow copies after the change for in-path @GMT-
Volker Lendecke [Thu, 12 Nov 2009 11:30:58 +0000 (12:30 +0100)]
s3: Fix shadow copies after the change for in-path @GMT-

14 years agos3: Fix check_reduced_name for access to the share root itself
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

14 years agos3: Fix debug messages in check_reduced_name
Volker Lendecke [Thu, 12 Nov 2009 10:07:15 +0000 (11:07 +0100)]
s3: Fix debug messages in check_reduced_name

14 years agos3:vfs_fs_capabilities: fix a debug message
Michael Adam [Tue, 10 Nov 2009 23:13:14 +0000 (00:13 +0100)]
s3:vfs_fs_capabilities: fix a debug message

Michael

14 years agos3: Try to avoid dns searches with an empty site
Volker Lendecke [Mon, 9 Nov 2009 16:06:48 +0000 (17:06 +0100)]
s3: Try to avoid dns searches with an empty site

14 years agos3: Fix in-path shadowcopy2 module
Volker Lendecke [Mon, 9 Nov 2009 10:06:30 +0000 (11:06 +0100)]
s3: Fix in-path shadowcopy2 module

14 years agoadd e2fsprogs-devel as build dependency this is needed for AD because it contains...
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>
14 years agos3: Fix a crash in notify_remove_onelevel when "change notify = no"
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"

14 years agos3: Add parameter "ctdb timeout"
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>
14 years agopackaging(RHEL-CTDB): add the current githash to the rpm release number by default
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

14 years agos3:registry: add an extra check for dsize==0 to regdb_fetch_keys_internal()
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

14 years agos3:registry: add safety check for return value of tdb_unpack to regdb_fetch_keys_inte...
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

14 years agos3:dbwrap_ctdb: add debug message to transaction_fetch_start()
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

14 years agos3:dbwrap_ctdb: split combined check in two and add descriptive debug
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

14 years agos3:dbwrap_ctdb: fix race condition with concurrent transactions on the same node.
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

14 years agos3:configure: add a check for the new CTDB_CONTROL_TRANS2_ACTIVE
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

14 years agos3:dbwrap_ctdb: add new db_ctdb_transaction_active() that calls CTDB_CONTROL_TRANS2_C...
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

14 years agos3:dbwrap_ctdb: fix a race in starting concurrent transactions on a single node
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

14 years agos3:dbwrap_ctdb: use db_ctdb_ltdb_fetch() inside db_ctdb_transaction_fetch_start
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

14 years agos3:dbwrap_ctdb: use db_ctdb_ltdb_fetch() inside db_ctdb_transaction_fetch()
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

14 years agos3:dbwrap_ctdb: add a function db_ctdb_ltdb_fetch()
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

14 years agos3:dbrwap_ctdb: add a function db_ctdb_ltdb_store()
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

14 years agos3:dbwrap_ctdb: reformat a comment slightly to enhance clearness.
Michael Adam [Thu, 22 Oct 2009 12:37:51 +0000 (14:37 +0200)]
s3:dbwrap_ctdb: reformat a comment slightly to enhance clearness.

Michael

14 years agos3:dbwrap_ctdb: fix some function header comments
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>
14 years agos3: Fix a 100% CPU loop when ctdbd dies during a traverse
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>
14 years agocluster_fatal() exit code should not indicate success.
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>
14 years agos3: Attempt to fix a deadlock between smbd and ctdbd
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.

14 years agoTo set file create/birth time Signed-off-by: Abhidnya Chirmule <achirmul@in.ibm.com>
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>

14 years agos3: Add access_mask to the flock VFS call
Abhidnya P Chirmule [Tue, 6 Oct 2009 15:14:56 +0000 (17:14 +0200)]
s3: Add access_mask to the flock VFS call

14 years agos3:samr: Fix an uninitialized variable
Volker Lendecke [Tue, 6 Oct 2009 12:06:16 +0000 (14:06 +0200)]
s3:samr: Fix an uninitialized variable

14 years agos3-idmap: fix two uninitialized variable warnings in idmap_tdb2.
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

14 years agochanged debuglevel for two messages in the GPFS module from 0 to 10 they spammed...
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>
14 years agos3:gpfs: Add support for the gpfs_ftruncate call
Volker Lendecke [Tue, 15 Sep 2009 00:19:14 +0000 (02:19 +0200)]
s3:gpfs: Add support for the gpfs_ftruncate call

14 years agos3:gencache: Make gencache_del() return success for expired entries
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"

14 years agos3:gencache: Remove some over-paranoid locking
Volker Lendecke [Wed, 23 Sep 2009 13:41:06 +0000 (15:41 +0200)]
s3:gencache: Remove some over-paranoid locking

14 years agos3:gencache: Add a "was_expired" argument to gencache_get_data_blob
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.

14 years agos3: Fix vfs_shadow_copy2 to allow in-path @GMT-xxx
Andrew Tridgell [Wed, 16 Sep 2009 01:22:56 +0000 (03:22 +0200)]
s3: Fix vfs_shadow_copy2 to allow in-path @GMT-xxx

14 years agoAdd a "connectpath" operation to the shadow_copy2 module
Volker Lendecke [Mon, 2 Feb 2009 10:52:08 +0000 (11:52 +0100)]
Add a "connectpath" operation to the shadow_copy2 module

14 years agoAdd SMB_VFS_CONNECTPATH operation
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.

14 years agoRemove a variable used just once
Volker Lendecke [Fri, 30 Jan 2009 14:04:44 +0000 (15:04 +0100)]
Remove a variable used just once

14 years agos3:dbwrap_ctdb: set dmaster in ctdb_transaction_store() also when updating an existin...
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>
14 years agoAdd a parameter to disable the automatic creation of krb5.conf files
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 :-)

14 years agopackaging(RHEL-CTDB): enable parallel build
Michael Adam [Thu, 20 Aug 2009 11:37:11 +0000 (13:37 +0200)]
packaging(RHEL-CTDB): enable parallel build

Michael

14 years agopackaging(RHEL-CTDB): fix packaging of pam_winbind.mo file
Michael Adam [Thu, 20 Aug 2009 11:33:42 +0000 (13:33 +0200)]
packaging(RHEL-CTDB): fix packaging of pam_winbind.mo file

Michael

14 years agos3:dsgetdcname: Fix a crash in dsgetdcname
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().

14 years agos3:dsgetdcname: Inline dsgetdcname_cache_refresh
Volker Lendecke [Wed, 19 Aug 2009 12:19:22 +0000 (14:19 +0200)]
s3:dsgetdcname: Inline dsgetdcname_cache_refresh

14 years agoMake refusal of SEC_DESC_DACL_PROTECTED configurable
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.

14 years agoUse defined names rather than numeric constants to make code clearer. Jeremy.
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.

14 years agogpfs.so: map the file_inherit and dir_inherit flags away for files
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

14 years agoAdd a \n to a debug message in smbacl4_nfs42win
Volker Lendecke [Thu, 25 Jun 2009 12:46:17 +0000 (14:46 +0200)]
Add a \n to a debug message in smbacl4_nfs42win

14 years agoFix a size_t/int warning
Volker Lendecke [Sun, 24 May 2009 20:16:34 +0000 (22:16 +0200)]
Fix a size_t/int warning

14 years agopackaging(RHEL-CTDB): move the idmap and nss_info modules to the common package
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

14 years agopackaging(RHEL-CTDB): package the winbind_krb5_locator.so plugin
Michael Adam [Mon, 3 Aug 2009 12:32:52 +0000 (14:32 +0200)]
packaging(RHEL-CTDB): package the winbind_krb5_locator.so plugin

Michael

14 years agopackaging(RHEL-CTDB): package the manpage of the winbind_krb5_locator plugin
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

14 years agopackaging(RHEL-CTDB): package the manpage of "ldbrename"
Michael Adam [Mon, 3 Aug 2009 12:04:33 +0000 (14:04 +0200)]
packaging(RHEL-CTDB): package the manpage of "ldbrename"

Michael

14 years agopackaging(RHEL-CTDB): package the manpage of "sharesec"
Michael Adam [Mon, 3 Aug 2009 12:04:09 +0000 (14:04 +0200)]
packaging(RHEL-CTDB): package the manpage of "sharesec"

Michael

14 years agopackaging(RHEL-CTDB): pam_winbindd man page has moved from section 7 to 8
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

14 years agos3:passdb: use transaction_wrapped write in tdbsam_new_rid()
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

14 years agos3:secrets: use transaction wrapped store in get rand seed.
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

14 years agos3:dbwrap: add dbwrap_trans_change_int32_atomic()
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

14 years agos3:dbwrap: export logic of dbwrap_change_int32_atomic into an action function
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

14 years agos3:dbwrap: change dbwrap_change_int32_atomic() to take int32_t, not int32
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

14 years agos3:winbind: use transaction store in idmap_tdb_set_hwm() to store new hwm.
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

14 years agos3:winbind: fix typo in debug message in idmap_tdb.
Michael Adam [Wed, 29 Jul 2009 12:45:31 +0000 (14:45 +0200)]
s3:winbind: fix typo in debug message in idmap_tdb.

Michael

14 years agos3:winbind: fix typo in debugmessage of idmap_tdb
Michael Adam [Wed, 29 Jul 2009 12:43:14 +0000 (14:43 +0200)]
s3:winbind: fix typo in debugmessage of idmap_tdb

Michael

14 years agos3:winbind: use transaction in idmap_tdb2_allocate_id_action().
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

14 years agos3:dbwrap: add dbwrap_trans_change_uint32_atomic()
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

14 years agos3:dbwrap: export logic of dbwrap_change_uint32_atomic into an action function
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

14 years agos3:dbwrap: untangle assignment and check in dbwrap_change_int32_atomic()
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

14 years agos3:dbwrap: untangle assignemend and check in dbwrap_change_uint32_atomic()
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

14 years agos3:dbwrap: don't leak in dbwrap_change_int32_atomic().
Michael Adam [Wed, 29 Jul 2009 12:23:26 +0000 (14:23 +0200)]
s3:dbwrap: don't leak in dbwrap_change_int32_atomic().

Michael

14 years agos3:dbwrap: don't leak in dbwrap_change_uint32_atomic()
Michael Adam [Wed, 29 Jul 2009 12:22:37 +0000 (14:22 +0200)]
s3:dbwrap: don't leak in dbwrap_change_uint32_atomic()

Michael

14 years agos3:dbwrap: change dbwrap_change_int32_atomic() to return NTSTATUS not int32.
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

14 years agos3:dbwrap: change dbwrap_change_uint32_atomic() to return NTSTATUS not uint32_t.
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

14 years agos3:winbind: in idmap_tdb2_sid_to_id(), use transaction wrapped stores.
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

14 years agos3:winbind: in idmap_tdb2_id_to_sid(), use transaction wrapped stores.
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

14 years agos3:winbind: use transaction wrapper in idmap_tdb2_allocate_id()
Michael Adam [Tue, 28 Jul 2009 14:53:37 +0000 (16:53 +0200)]
s3:winbind: use transaction wrapper in idmap_tdb2_allocate_id()

Michael

14 years agos3:winbind: use transaction wrapper in idmap_tdb2_set_mapping()
Michael Adam [Tue, 28 Jul 2009 11:31:09 +0000 (13:31 +0200)]
s3:winbind: use transaction wrapper in idmap_tdb2_set_mapping()

Michael

14 years agos3:dbwrap: use the transaction wrapper in dbwrap_trans_store().
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

14 years agos3:dbwrap: use the transaction wrapper in dbwrap_trans_delete().
Michael Adam [Tue, 21 Jul 2009 10:26:14 +0000 (12:26 +0200)]
s3:dbwrap: use the transaction wrapper in dbwrap_trans_delete().

Michael

14 years agos3:dbwrap: fix embarrassing typo :-)
Michael Adam [Wed, 15 Jul 2009 14:59:07 +0000 (16:59 +0200)]
s3:dbwrap: fix embarrassing typo :-)

Michael

14 years agos3:registry: db backend: add my C
Michael Adam [Tue, 7 Jul 2009 15:16:21 +0000 (17:16 +0200)]
s3:registry: db backend: add my C

Michael

14 years agos3:registry: flush the provided subkey_ctr in regdb_fetch_keys_internal()
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

14 years agos3:registry: add function regsubkey_ctr_reinit()
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

14 years agos3:registry: turn regdb_fetch_keys_internal() from int to WERROR return type
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

14 years agos3:registry: use transaction wrapper in create_sorted_subkeys()
Michael Adam [Mon, 13 Jul 2009 15:15:14 +0000 (17:15 +0200)]
s3:registry: use transaction wrapper in create_sorted_subkeys()

Michael

14 years agos3:registry: restructure logic of create_sorted_subkes() slightly
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