Volker Lendecke [Mon, 10 Mar 2008 20:08:29 +0000 (21:08 +0100)]
Use a separate tdb for mutexes
Another preparation to convert secrets.c to dbwrap: The dbwrap API does not
provide a sane tdb_lock_with_timeout abstraction. In the clustered case the DC
mutex is needed per-node anyway, so it is perfectly fine to use a local mutex
only.
Michael Adam [Mon, 10 Mar 2008 16:16:01 +0000 (17:16 +0100)]
loadparm: fix init_globals() to re-init all options event when called 2nd time.
Up to the globals had only been fully reset when init_globals() was called
for the first time. But a full restart is needed for use with
"config backend = registry". (And should be with "config file = ...", but
in this case the restart is outsourced to the daemons.) This left
some options (like e.g. "realm") set to values that were set in smb.conf
before the occurence of "config backend = registry".
Michael Adam [Mon, 10 Mar 2008 13:03:41 +0000 (14:03 +0100)]
loadparm: Reformat the parm table to use named initializers.
This makes each entry in the parm table much more comprehensible
at first glance (to me). On the other hand, roughly 9 lines are
used instead of one for each entry which makes the overall list
less clearly laid out, one might argue. But we have 400+ lines
of parameter descriptions anyways...
Volker Lendecke [Sun, 2 Mar 2008 08:43:19 +0000 (09:43 +0100)]
Pass specific packets to build_nmb and build_dgram
To me it was not clear what parts of struct packet_struct are actually used in
build_packet(). This makes it a bit more clear that only the specific parts are
used.
Jeremy Allison [Fri, 7 Mar 2008 01:43:25 +0000 (17:43 -0800)]
Fix bug #5267 - nmbd shuts down when network interfaces go down.
Cause nmbd to wait for an interface, in a mode where SIGTERM
will kills us (same way we wait on startup for an interface).
Jeremy.
Jeremy Allison [Thu, 6 Mar 2008 22:44:07 +0000 (14:44 -0800)]
client[ADDR_INDEX] is an IPv4 mapped to IPv6, but
the list item is not. Try and match the IPv4 part of
address only. This will happen a lot on IPv6 enabled
systems with IPv4 allow/deny lists in smb.conf.
Bug #5311.
Jeremy.
Setting RPATH like this does not work on all supported
platforms (Linux, Solaris and AIX seem to work, HP-UX,
Tru64 and MacOS don't, MacOS doesn't even seem to have
an rpath at all prior to 10.4).
What is more, rpath also has some bad effects (when
updating libraries, e.g.), so it should not be set
unconditionally.
I will come up with a confiugure mechanism to control this.
For now, just use the LDFLAGS environment variable if
you want to use an rpath.
Volker Lendecke [Sat, 1 Mar 2008 11:11:22 +0000 (12:11 +0100)]
Change default bufsize to 512k
I did not do any scientific tests, but the dummy test on my laptop against a
w2k3 vmware shows that in this specific situation going beyond 512k seems not
to gain anything anymore.
smb: \> iosize 64512
iosize is now 64512
smb: \> lcd /dev
smb: \> get random null
getting file \random of size 104857600 as null (33453,1 kb/s) (average 19718,5 kb/s)
smb: \> get random null
getting file \random of size 104857600 as null (34236,0 kb/s) (average 20509,1 kb/s)
smb: \> iosize 524288
iosize is now 524288
smb: \> get random null
getting file \random of size 104857600 as null (49042,1 kb/s) (average 22521,9 kb/s)
smb: \> get random null
getting file \random of size 104857600 as null (49420,8 kb/s) (average 23432,9 kb/s)
smb: \> iosize 1048576
iosize is now 1048576
smb: \> get random null
getting file \random of size 104857600 as null (49420,8 kb/s) (average 24284,2 kb/s)
smb: \> get random null
getting file \random of size 104857600 as null (49136,3 kb/s) (average 25076,9 kb/s)
Volker Lendecke [Thu, 28 Feb 2008 14:21:33 +0000 (15:21 +0100)]
Add async cli_pull support
This is the big (and potentially controversial) one. It took a phone call to
explain to metze what is going on inside cli_pull_read_done, but I would really
like everybody to understand this function. It is a very good and reasonably
complex example of async programming. If we want more asynchronism in s3, this
is what we will have to deal with :-)