Rusty Russell [Wed, 17 Feb 2010 02:04:26 +0000 (12:34 +1030)]
tdb: cleanup: tdb_have_extra_locks() helper
In many places we check whether locks are held: add a helper to do this.
The _tdb_lockall() case has already checked for the allrecord lock, so
the extra work done by tdb_have_extra_locks() is merely redundant.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 17 Feb 2010 02:01:49 +0000 (12:31 +1030)]
tdb: don't suppress the transaction lock because of the allrecord lock.
tdb_transaction_lock() and tdb_transaction_unlock() do nothing if we
hold the allrecord lock. However, the two locks don't overlap, so
this is wrong.
This simplification makes the transaction lock a straight-forward nested
lock.
There are two callers for these functions:
1) The transaction code, which already makes sure the allrecord_lock
isn't held.
2) The traverse code, which wants to stop transactions whether it has the
allrecord lock or not. There have been deadlocks here before, however
this should not bring them back (I hope!)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 17 Feb 2010 01:56:13 +0000 (12:26 +1030)]
tdb: cleanup: tdb_nest_lock/tdb_nest_unlock
Because fcntl locks don't nest, we track them in the tdb->lockrecs array
and only place/release them when the count goes to 1/0. We only do this
for record locks, so we simply place the list number (or -1 for the free
list) in the structure.
To generalize this:
1) Put the offset rather than list number in struct tdb_lock_type.
2) Rename _tdb_lock() to tdb_nest_lock, make it non-static and move the
allrecord check out to the callers (except the mark case which doesn't
care).
3) Rename _tdb_unlock() to tdb_nest_unlock(), make it non-static and
move the allrecord out to the callers (except mark again).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 17 Feb 2010 01:49:47 +0000 (12:19 +1030)]
tdb: cleanup: rename global_lock to allrecord_lock.
The word global is overloaded in tdb. The global_lock inside struct
tdb_context is used to indicate we hold a lock across all the chains.
Rename it to allrecord_lock.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 17 Feb 2010 01:48:33 +0000 (12:18 +1030)]
tdb: cleanup: rename GLOBAL_LOCK to OPEN_LOCK.
The word global is overloaded in tdb. The GLOBAL_LOCK offset is used at
open time to serialize initialization (and by the transaction code to block
open).
Rename it to OPEN_LOCK.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Wed, 24 Feb 2010 00:09:59 +0000 (10:39 +1030)]
tdb: make _tdb_transaction_cancel static.
Now tdb_open() calls tdb_transaction_cancel() instead of
_tdb_transaction_cancel, we can make it static.
Signed-off-by: Rusty Russell<rusty@rustcorp.com.au>
Rusty Russell [Wed, 17 Feb 2010 01:47:19 +0000 (12:17 +1030)]
tdb: cleanup: split brlock and brunlock methods.
This is taken from the CCAN code base: rather than using tdb_brlock for
locking and unlocking, we split it into brlock and brunlock functions.
For extra debugging information, brunlock says what kind of lock it is
unlocking (even though fnctl locks don't need this). This requires an
extra argument to tdb_transaction_unlock() so we know whether the
lock was upgraded to a write lock or not.
We also use a "flags" argument tdb_brlock:
1) TDB_LOCK_NOWAIT replaces lck_type = F_SETLK (vs F_SETLKW).
2) TDB_LOCK_MARK_ONLY replaces setting TDB_MARK_LOCK bit in ltype.
3) TDB_LOCK_PROBE replaces the "probe" argument.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Kamen Mazdrashki [Tue, 23 Feb 2010 23:45:26 +0000 (01:45 +0200)]
s4/schema: Move msDS-IntId implementation to samldb.c module
msDS-IntId attribute should be replicated, so it must be
implemented in a module that is before repl_meta_data module
(thanks abartlet for pointing this out).
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Steven Danneman [Mon, 22 Feb 2010 20:38:26 +0000 (12:38 -0800)]
s4/torture/smb2: Add two new SMB2 compound tests
These tests server behavior when a client compounds both synchronous
and asynchronous requests.
Simo Sorce [Fri, 19 Feb 2010 14:43:46 +0000 (09:43 -0500)]
s4:cleanup remove unused schannel ldb code
Simo Sorce [Thu, 18 Feb 2010 20:11:25 +0000 (15:11 -0500)]
s4:schannel merge code with s3
After looking at the s4 side of the (s)channel :) I found out that it makes
more sense to simply make it use the tdb based code than redo the same changes
done to s3 to simplify the interface.
Ldb is slow, to the point it needs haks to pre-open the db to speed it up, yet
that does not solve the lookup speed, with ldb it is always going to be slower.
Looking through the history it is evident that the schannel database doesn't
really need greate expanadability. And lookups are always done with a single
Key. This seem a perfet fit for tdb while ldb looks unnecessarily complicated.
The schannel database is not really a persistent one. It can be discared during
an upgrade without causing any real issue. all it contains is temproary session
data.
Simo Sorce [Thu, 18 Feb 2010 21:17:06 +0000 (16:17 -0500)]
schannel_tdb: make code compilable in both trees
Simo Sorce [Thu, 18 Feb 2010 19:44:09 +0000 (14:44 -0500)]
s3:schannel streamline interface
Make calling schannel much easier by removing the need to explicitly open the
database. Let the abstraction do it instead.
Simo Sorce [Fri, 19 Feb 2010 14:34:48 +0000 (09:34 -0500)]
s3:schannel fix memory hierarchy
passing mem_ctx was causing creds->sid to be allocated on mem_ctx and not be
child of creds as expected. When later in schannel_check_creds_state() we
stole the creds on a different memory context the sid was left behind and the
memory it points to freed when the temporary context was freed.
Simo Sorce [Thu, 18 Feb 2010 19:10:26 +0000 (14:10 -0500)]
schannel: merge header files
One almost empty header file was simply including another not included by
anything else. Just merge them together.
Simo Sorce [Thu, 18 Feb 2010 15:26:24 +0000 (10:26 -0500)]
s4:schannel more readable check logic
Make the initial schannel check logic more understandable.
Make it easy to define different policies depending on the caller's
security requirements (Integrity/Privacy/Both/None)
This is the same change applied to s3
Simo Sorce [Thu, 18 Feb 2010 15:19:09 +0000 (10:19 -0500)]
s3:schannel more readable check logic
Make the initial schannel check logic more understandable.
Make it easy to define different policies depending on ther caller's security
requirements (Integrity/Privacy/Both/None)
Simo Sorce [Tue, 23 Feb 2010 16:11:37 +0000 (11:11 -0500)]
s3 move the sitename cache in its own file
Volker Lendecke [Tue, 23 Feb 2010 16:17:58 +0000 (17:17 +0100)]
s3: Consolidate some pid_to_procid() calls to procid_self()
Günther Deschner [Tue, 23 Feb 2010 16:02:37 +0000 (17:02 +0100)]
s3: re-run make samba3-idl.
Guenther
Günther Deschner [Tue, 23 Feb 2010 16:01:26 +0000 (17:01 +0100)]
spoolss: some fixes for devicemode dm extra structs.
Guenther
Günther Deschner [Mon, 10 Aug 2009 22:15:58 +0000 (00:15 +0200)]
s3: re-run make samba3-idl.
Guenther
Günther Deschner [Mon, 10 Aug 2009 22:14:55 +0000 (00:14 +0200)]
spoolss: add various DM extradata formats (including PostScript and UniDriver).
Guenther
Stefan Metzmacher [Fri, 19 Feb 2010 08:09:40 +0000 (09:09 +0100)]
s3:spoolss: construct the devmode the same way for level 2 and 8
metze
Stefan Metzmacher [Fri, 19 Feb 2010 22:22:40 +0000 (23:22 +0100)]
s3:cli_netlogon: keep the the correct negotiate_flags on the cli->dc structure
This should fix the rpccli_netlogon_set_trust_password() against DC's
without netr_ServerPasswordSet2 support.
This fixes bug #7160.
metze
Stefan Metzmacher [Tue, 23 Feb 2010 15:12:31 +0000 (16:12 +0100)]
s3:selftest: $WORKGROUP doesn't exist, we should use $DOMAIN
metze
Volker Lendecke [Tue, 23 Feb 2010 14:04:10 +0000 (15:04 +0100)]
s3: Consolidate server_id_self into the equivalent procid_self()
Björn Jacke [Tue, 23 Feb 2010 14:23:27 +0000 (15:23 +0100)]
s3: add explicit configure option whether or not to enable dmapi support
Andreas Schneider [Tue, 16 Feb 2010 10:23:58 +0000 (11:23 +0100)]
tstream: Added a typedef for the function prototype.
Andreas Schneider [Thu, 4 Feb 2010 16:03:04 +0000 (17:03 +0100)]
s4-smb: Migrate named_pipe_server to tsocket.
Andrew Tridgell [Wed, 17 Feb 2010 20:41:40 +0000 (07:41 +1100)]
s4-selftest: disable rndc and dns update in build farm
Andrew Tridgell [Wed, 17 Feb 2010 11:20:18 +0000 (22:20 +1100)]
s4-dns: improved logging, and run name check at startup
Andrew Tridgell [Wed, 17 Feb 2010 11:19:57 +0000 (22:19 +1100)]
s4-pyglue: added interface_ips() call
This allows a python script to query the internal network interface
lists from Samba
Andrew Tridgell [Wed, 17 Feb 2010 10:15:08 +0000 (21:15 +1100)]
s4-dns: call out to the dns update command every 10 minutes
This periodically calls samba_dnsupdate to update our DNS entries if
needed
Andrew Tridgell [Wed, 17 Feb 2010 10:14:10 +0000 (21:14 +1100)]
s4-param: added "dns update command" smb.conf option
defaults to SBINDIR/samba_dnsupdate
This command will do periodic dynamic DNS updates using TSIG-GSS
Andrew Tridgell [Wed, 17 Feb 2010 10:12:17 +0000 (21:12 +1100)]
s4-config: add dyn_SBINDIR
Andreas Schneider [Fri, 19 Feb 2010 10:27:56 +0000 (11:27 +0100)]
libreplace: Remove the obsolete signal type cast.
AC_SIGNAL_TYPE is already obsolete in autoconf. C89 requires signal
handlers to return void, only K&R returned int.
Andreas Schneider [Fri, 19 Feb 2010 11:44:07 +0000 (12:44 +0100)]
libutil: Remove obsolete signal type cast.
Andreas Schneider [Fri, 19 Feb 2010 11:49:08 +0000 (12:49 +0100)]
s4-smbd: Remove obsolete singal type cast from the thread process model.
Andreas Schneider [Fri, 19 Feb 2010 14:33:40 +0000 (15:33 +0100)]
s3-smb: Remove the obsolete signal type cast.
AC_SIGNAL_TYPE is already obsolete in autoconf. C89 requires signal
handlers to return void, only K&R returned int.
Andreas Schneider [Fri, 19 Feb 2010 14:32:45 +0000 (15:32 +0100)]
s3-lib: Remove obsolete signal type cast.
Andreas Schneider [Fri, 19 Feb 2010 14:29:47 +0000 (15:29 +0100)]
s3-libads: Remove obsolete signal type cast.
Andreas Schneider [Fri, 19 Feb 2010 14:28:11 +0000 (15:28 +0100)]
s3-nmbd: Remove obsolete signal type cast.
Andreas Schneider [Fri, 19 Feb 2010 14:25:09 +0000 (15:25 +0100)]
s3-pam_smbpass: Remove obsolete signal type cast.
Andreas Schneider [Fri, 19 Feb 2010 15:14:47 +0000 (16:14 +0100)]
s3-passdb: Remove obsolete signal type cast.
Andreas Schneider [Fri, 19 Feb 2010 15:13:46 +0000 (16:13 +0100)]
s3-print: Remove obsolete signal type cast.
Stefan Metzmacher [Tue, 23 Feb 2010 07:42:41 +0000 (08:42 +0100)]
s3:winbindd: never mark external domains as internal!
This way we can endup with silently using builtin_passdb_methods
for an ad domain without an inbound trust.
This fixes bug #7170.
metze
Matthias Dieter Wallnöfer [Tue, 23 Feb 2010 08:51:25 +0000 (09:51 +0100)]
s4:netlogon RPC - fix the indentation
Simo, I'm not really sure that those checks are valid. I read MS-NRPC section
3.5.4.1 about LOGONSRV_HANDLEs ("server_name" is of this type). There isn't
stated that the server name has necessarily to be in the DNS form and should
also be valid when it's NULL (if DCE server and client are the same - I don't
know if me make use of it in s4).
Simo Sorce [Tue, 23 Feb 2010 02:18:07 +0000 (21:18 -0500)]
s3 Fix the build
I didn't mean to puch the GetForestTrustInformation patch just yet,
now that it is in fix the s3 build ...
Simo Sorce [Mon, 22 Feb 2010 18:15:44 +0000 (13:15 -0500)]
s4:netlogon GetTrustedDomainInformation
start implementing calls related to trusted domain information
Simo Sorce [Mon, 22 Feb 2010 23:47:34 +0000 (18:47 -0500)]
s4:netlogon fix segfault
Simo Sorce [Mon, 22 Feb 2010 20:01:16 +0000 (15:01 -0500)]
ldb:web Fix typo
Jeremy Allison [Mon, 22 Feb 2010 23:34:15 +0000 (15:34 -0800)]
A test "store create time" parameter got commited by accident. Remove it.
Jeremy.
Jeremy Allison [Mon, 22 Feb 2010 23:04:10 +0000 (15:04 -0800)]
Ensure STREAMERROR deletes any files in the \\testdir
before rmdir and mkdir.
Jeremy.
Jeremy Allison [Mon, 22 Feb 2010 22:36:40 +0000 (14:36 -0800)]
Add an "attributes" string to allinfo.
Jeremy.
Volker Lendecke [Sat, 20 Feb 2010 14:27:48 +0000 (15:27 +0100)]
s3: Explicitly handle inbuf in cli_trans_done
Volker Lendecke [Sat, 20 Feb 2010 14:27:22 +0000 (15:27 +0100)]
s3: Explicitly handle inbuf in cli_write_andx_done
Volker Lendecke [Sat, 20 Feb 2010 14:26:06 +0000 (15:26 +0100)]
s3: Explicitly handle inbuf in cli_read_andx_done
Volker Lendecke [Sat, 20 Feb 2010 14:25:34 +0000 (15:25 +0100)]
s3: Explicitly handle inbuf in cli_message_start_done
Volker Lendecke [Sat, 20 Feb 2010 14:23:31 +0000 (15:23 +0100)]
s3: Explicitly handle inbuf in cli_dskattr_done
Volker Lendecke [Sat, 20 Feb 2010 14:21:01 +0000 (15:21 +0100)]
s3: Explicitly handle inbuf in cli_getatr_done
Volker Lendecke [Sat, 20 Feb 2010 14:20:38 +0000 (15:20 +0100)]
s3: Explicitly handle inbuf in cli_getattrE_done
Volker Lendecke [Sat, 20 Feb 2010 14:19:45 +0000 (15:19 +0100)]
s3: Explicitly handle inbuf in cli_open_done
Volker Lendecke [Sat, 20 Feb 2010 14:19:28 +0000 (15:19 +0100)]
s3: Explicitly handle inbuf in cli_ntcreate_done
Volker Lendecke [Sat, 20 Feb 2010 14:18:38 +0000 (15:18 +0100)]
s3: Explicitly handle inbuf in cli_echo_done
Volker Lendecke [Sat, 20 Feb 2010 14:17:29 +0000 (15:17 +0100)]
s3: Explicitly handle inbuf in cli_negprot_done
Volker Lendecke [Sat, 20 Feb 2010 14:16:55 +0000 (15:16 +0100)]
s3: Explicitly handle inbuf in cli_tcon_andx_done
Volker Lendecke [Sat, 20 Feb 2010 14:15:28 +0000 (15:15 +0100)]
s3: Explicitly handle inbuf in cli_sesssetup_blob_done
Volker Lendecke [Sat, 20 Feb 2010 14:14:43 +0000 (15:14 +0100)]
s3: Explicitly handle inbuf in cli_session_setup_guest_done
Volker Lendecke [Sat, 20 Feb 2010 10:50:05 +0000 (11:50 +0100)]
s3: Explicitly handle inbuf in cli_smb_oplock_break_waiter_done
Volker Lendecke [Sat, 20 Feb 2010 08:53:58 +0000 (09:53 +0100)]
s3: Add a talloc_move for the inbuf to cli_smb_recv
Matthias Dieter Wallnöfer [Mon, 22 Feb 2010 21:15:03 +0000 (22:15 +0100)]
s4:registry/regf.c - specify the context when freeing the "regf" variable
Otherwise we get a "talloc_free with references" warning.
Brad Hards [Sun, 21 Feb 2010 06:46:46 +0000 (17:46 +1100)]
More spelling fixes across source4/
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 06:35:11 +0000 (17:35 +1100)]
Various source4 spelling fixes.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 06:33:28 +0000 (17:33 +1100)]
Spelling fixes for source4/auth.
The comment for USER_INFO_INTERACTIVE_LOGON looks like a cut-n-paste from the line above.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 06:24:08 +0000 (17:24 +1100)]
Spelling fixes for source4/lib/registry.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 06:23:15 +0000 (17:23 +1100)]
Typo fix.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 06:22:45 +0000 (17:22 +1100)]
LDB related spelling fixes.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:58:07 +0000 (16:58 +1100)]
Spelling fixes for libutil
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:51:01 +0000 (16:51 +1100)]
Spelling fixes in lib/zlib.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:35:10 +0000 (16:35 +1100)]
Spelling fixes for libreplace.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:34:22 +0000 (16:34 +1100)]
Spelling fixes for tsocket API documentation.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:33:24 +0000 (16:33 +1100)]
Spelling fixes for lib/compression.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:32:29 +0000 (16:32 +1100)]
Spelling fixes for nss_wrapper.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:31:46 +0000 (16:31 +1100)]
Spelling fixes for popt API documentation.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:31:01 +0000 (16:31 +1100)]
Spelling fixes for tevent.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Brad Hards [Sun, 21 Feb 2010 05:07:43 +0000 (16:07 +1100)]
Spelling fixes for tdb.
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Matthias Dieter Wallnöfer [Mon, 22 Feb 2010 20:19:27 +0000 (21:19 +0100)]
s4:torture/ldap/basic.c - add some "const"
In addition I removed a "talloc_free(req)" since we never free elsewhere the
requests explicitly and do it only indirectly with freeing the "conn" object
when the testsuite terminates.
Simo Sorce [Sun, 21 Feb 2010 21:07:00 +0000 (16:07 -0500)]
s4:netlogon enhance DsrEnumerateDomainTrusts
Actually return trust relationships by searching the appropriate
entries in the SAM database.
Add checks and return the correct flags, type and attributes.
Matthias Dieter Wallnöfer [Sun, 21 Feb 2010 10:55:48 +0000 (11:55 +0100)]
s4:operational LDB module - enable support for passing referrals through it
Matthias Dieter Wallnöfer [Sat, 20 Feb 2010 19:31:41 +0000 (20:31 +0100)]
s4:partition DSDB module - Cosmetic fixups
Matthias Dieter Wallnöfer [Tue, 16 Feb 2010 18:48:46 +0000 (19:48 +0100)]
s4:password_hash - Fix up request message pointers
For add requests we need the add request messages, for modify requests we need
the modify request messages.
Matthias Dieter Wallnöfer [Wed, 17 Feb 2010 17:24:03 +0000 (18:24 +0100)]
s4:dsdb/util.c - Use LDB result constants in some more helper functions
Always better to rely on the standards rather than on custom results.
Matthias Dieter Wallnöfer [Sun, 21 Feb 2010 20:30:42 +0000 (21:30 +0100)]
s4:provision.py - try to use other addresses than "127.0.0.x" and "::1"
On production systems a user for sure strongly disagrees to use local IP
addresses (how should the server be accessible?). Therefore if the user didn't
specify an IP as provision option and in the "/etc/hosts" file we have at
least one not-local IP which resolves to our hostname use this or one of them.
Notice: if a host has more public IP addresses with the same name assigned the
behaviour is non-deterministic (well, okay - by the entries order it is). But
then the user is invited to specify the host IP manually.
This should address bug #5484.
Matthias Dieter Wallnöfer [Sat, 20 Feb 2010 10:17:23 +0000 (11:17 +0100)]
s4:AD content - Implement the new password settings container
Matthias Dieter Wallnöfer [Sat, 20 Feb 2010 10:16:58 +0000 (11:16 +0100)]
s4:AD content - adequate some revision levels to match Windows Server 2008
Matthias Dieter Wallnöfer [Sat, 20 Feb 2010 10:15:25 +0000 (11:15 +0100)]
s4:AD content - Add the DFSR objects which exist on Windows Server >= 2008
Those replace the FRS ones.
Volker Lendecke [Sun, 21 Feb 2010 19:39:36 +0000 (20:39 +0100)]
s3: Avoid calling cli_alloc_mid twice in cli_smb_req_iov_send
I hate macros....
Simo Sorce [Sat, 20 Feb 2010 19:21:36 +0000 (14:21 -0500)]
cleanup
remove trailing spaces, tabs and blank lines
Volker Lendecke [Sun, 21 Feb 2010 10:41:54 +0000 (11:41 +0100)]
s3: Use the status from cli_raw_ioctl in torture_ioctl_test