Jeff Layton [Fri, 15 May 2009 18:31:28 +0000 (14:31 -0400)]
mount.cifs: directly include sys/stat.h in mtab.c
This file is mysteriously getting included when built via the makefile,
but when you try to build mtab.o by hand it fails to build. Directly
include it to remove any ambiguity.
Michael Adam [Thu, 14 May 2009 23:48:55 +0000 (01:48 +0200)]
s3:first cut at dbwrap_tool - a tdb tool that is CTDB-aware.
This tool (in contrast to tdbtool) reads Samba's configuration
and if clustering = yes, it talks to CTDB instead of accessing
the TDB data bases directly. This is done by simply using
the dbwrap mechanim, just like the Samba daemons.
This first version can read and write int32 and uint32 values
and delete records from a (c)tdb database.
More operations will follow.
This tool can already be useful in CTDB environments, e.g. when
"net idmap restore" fails to set the USER and GROUP HWM keys,
because the methods are deliberately not implemented in
idmap_tdb2.c. You can manually set the high water marks
with
"dbwrap_tool store idmap_tdb2.tdb 'USER HWM' int32 12345"
and
"dbwrap_tool store idmap_tdb2.tdb 'GROUP HWM' int32 67890"
Jeremy Allison [Thu, 14 May 2009 22:11:50 +0000 (15:11 -0700)]
Fix the core of the SAMR access functions. This passes make test, but
usrmgr fails against it. The core of this patch is to move all the
access mask setup into the _samr_OpenXXX functions, and then have
each specific function check the attached access_mask against the
required bits. We can then go through the MS-SAMR doc and match
things up. Signed off by Guenther, and writespace cleanup removal
by Volker.
Jeremy.
- Begin converting init functions to use SMB_THREAD_ONCE. libsmbclient
module-wide initialization is now moved into a separate function and called
via SMB_THREAD_ONCE.
- libsmbclient counts users (contexts) so that it can release global resources
when the last context is closed. That count of contexts is now protected by
a mutex.
Derrell Lipman [Wed, 13 May 2009 18:31:40 +0000 (14:31 -0400)]
Make the thread functions a bit easier to use
- Create separate macros for lock and unlock so that it's easier to identify
which request is being made.
- Initialize *ponce in the SMB_THREAD_ONCE macro in the non-thread-safe case,
rather than requiring each init function to determine if it's in the
non-thread-safe case and manually initialize.
Bo Yang [Tue, 12 May 2009 05:51:25 +0000 (13:51 +0800)]
s3:libsmb: return NT_STATUS_CONNECTION_INVALID if the fd is -1
This way we can destinguish between requests which failed
because the connection broke after they were triggered
and the requests which are started on an already broken
connection.
This also moves the check to cli_smb_req_iov_send()
where it really belongs.
Derrell Lipman [Wed, 13 May 2009 13:49:59 +0000 (09:49 -0400)]
Allow a parameter to smb_thread_once's initialization function
- This should make life easier for ourselves. We're no longer constrained to
the semantics of pthread_once, so let's allow passing a parameter to the
initialization function. Some of Samba's init functions return a
value. Although I haven't searched, I suspect that some of the init
functions require in input parameters. The parameter added here can be used
for input, output, or both, as necessary... or ignored, as is now done in
talloc_stackframe_init().
Derrell Lipman [Wed, 13 May 2009 01:32:33 +0000 (21:32 -0400)]
Fix broken smb_thread_once function (again)
- It would help if smb_thread_once did, eventually, set the variable that
prevents the init function from being run again. Sigh. It must be getting
late.
Derrell Lipman [Wed, 13 May 2009 01:22:23 +0000 (21:22 -0400)]
Fix broken smb_thread_once function
- We can't set *ponce=true before running the function because although other
threads wouldn't re-run the initialization function, they could potentially
proceed beyond the initialization point while the first thread was still
running the initialization function. If a second thread gets to an
SMB_THREAD_ONCE() call while one with the same ponce is running, we need to
ensure that it enters smb_thread_once() to await the mutex and then recheck
whether *ponce is set or not. My original comment about other "once"
functions possibly being called from within this "once" function is
irrelevant since those other ones would have their own unique ponce.
Volker Lendecke [Thu, 12 Mar 2009 16:23:17 +0000 (17:23 +0100)]
Fix bug 6157
This patch picks the alphabetically smallest one of the multi-value attribute
"uid". This fixes a regression against 3.0 and also becomes deterministic.
Günther Deschner [Tue, 12 May 2009 09:41:14 +0000 (11:41 +0200)]
s3-printing: Fix vlp testprinter application.
Jeremy, we cannot just access cache_path() here without calling lp_load and
friends as well as parsing configfile from the commandline in order to make
"make test/selftest" find the correct conffile with path, etc.
I just changed it to pass the target tdbfilename as an argument, ok ?
Michael Adam [Wed, 6 May 2009 00:25:08 +0000 (02:25 +0200)]
s3:loadparm: free the file_list at the start of loadparm
This should reduce the waste of memory when using "config file"
or "config backend". It also reduces the risk of triggering
reloads due to some old unused files being checked.
Jeremy Allison [Tue, 12 May 2009 00:29:48 +0000 (17:29 -0700)]
Hopefully fix the buildfarm. Add some debug level 10 messages
I used to track down the vlp problem, change the vlp test printer
not to use a static path of /tmp/vlp.tdb for the virtual print
database (as this will eventually fill up). Cause it to use
a virtual print database inside the cachepath.
Jeremy.