r17033: Restructure init_srv_share_info_ctr so that there's only one loop, not a dozen
or so. Next step will be to eliminate the explicit snum reference.
r17016: Different and smaller fix for the valid users = username problem.
If no winbind is around, the best we can do to get the user's token correct is
to ask unix via create_token_from_username. More investigation is needed if
this also fixes the +groupname for unmapped groups problems more cleanly.
Andrew Bartlett [Thu, 13 Jul 2006 09:28:35 +0000 (09:28 +0000)]
r17004: Add a new helper mode to ntlm_auth: ntlm-change-password-1
This mode proxies pre-calculated blobs from a remote (probably VPN)
client into the domain. This allows clients to change their password
over a PPTP connection (where they would not be able to connect to
SAMR directly).
Original patch by Alexey Kobozev <cobedump@gmail.com>
Jeremy Allison [Wed, 12 Jul 2006 21:57:52 +0000 (21:57 +0000)]
r16999: Allow CIFS POSIX locks to coexist with Windows locks.
We shouldn't allow this on the same smbd, but the cifsfs
client negotiates POSIX locks then sends Windows ones.
Doh ! Can't fix shipped client code....
Jeremy.
Gerald Carter [Wed, 12 Jul 2006 21:02:22 +0000 (21:02 +0000)]
r16997: Simo's patch (based on repotr from Seth Elssworth of Quest) to try to be more robust in the precense of more broken /etc/hosts files when determining our fwdn
Jeremy Allison [Wed, 12 Jul 2006 16:31:59 +0000 (16:31 +0000)]
r16986: Fix the logic errors in ref-counting Windows locks.
Hopefully will fix the build farm. Still a few errors
in RAW-LOCK to look at though...
Jeremy.
Jeremy Allison [Wed, 12 Jul 2006 03:02:35 +0000 (03:02 +0000)]
r16969: The function parse_processed_dfs_path() is dependent on the
fact that check_path_syntax() will convert '\\' characters to '/'.
When POSIX pathnames have been selected this doesn't happen, so we
must look for the unaltered separator of '\\' instead of the modified '/'.
Stevef please check this with the CIFSFS MS-DFS code !
Jeremy
Gerald Carter [Tue, 11 Jul 2006 18:45:22 +0000 (18:45 +0000)]
r16952: New derive DES salt code and Krb5 keytab generation
Major points of interest:
* Figure the DES salt based on the domain functional level
and UPN (if present and applicable)
* Only deal with the DES-CBC-MD5, DES-CBC-CRC, and RC4-HMAC
keys
* Remove all the case permutations in the keytab entry
generation (to be partially re-added only if necessary).
* Generate keytab entries based on the existing SPN values
in AD
The resulting keytab looks like:
ktutil: list -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 6 host/suse10.plainjoe.org@COLOR.PLAINJOE.ORG (DES cbc mode with CRC-32)
2 6 host/suse10.plainjoe.org@COLOR.PLAINJOE.ORG (DES cbc mode with RSA-MD5)
3 6 host/suse10.plainjoe.org@COLOR.PLAINJOE.ORG (ArcFour with HMAC/md5)
4 6 host/suse10@COLOR.PLAINJOE.ORG (DES cbc mode with CRC-32)
5 6 host/suse10@COLOR.PLAINJOE.ORG (DES cbc mode with RSA-MD5)
6 6 host/suse10@COLOR.PLAINJOE.ORG (ArcFour with HMAC/md5)
7 6 suse10$@COLOR.PLAINJOE.ORG (DES cbc mode with CRC-32)
8 6 suse10$@COLOR.PLAINJOE.ORG (DES cbc mode with RSA-MD5)
9 6 suse10$@COLOR.PLAINJOE.ORG (ArcFour with HMAC/md5)
The list entries are the two basic SPN values (host/NetBIOSName & host/dNSHostName)
and the sAMAccountName value. The UPN will be added as well if the machine has
one. This fixes 'kinit -k'.
Tested keytab using mod_auth_krb and MIT's telnet. ads_verify_ticket()
continues to work with RC4-HMAC and DES keys.
Jeremy Allison [Tue, 11 Jul 2006 00:24:29 +0000 (00:24 +0000)]
r16931: Change the underlying lock db to use 32-bit PIDs
not 16. This allows POSIX locks to be more easily
used. Get rid of one more use of a global variable,
global_smbpid. We can get rid of this if we remove
its use in smbd/open.c
Jeremy.
Jeremy Allison [Mon, 10 Jul 2006 19:06:30 +0000 (19:06 +0000)]
r16924: Rewrote the POSIX lock layer (and parts of the brlock
layer) to try and provide Windows and POSIX CIFS locks
mapped down onto system POSIX locks. This code passes valgrind
and also all the Samba4 "BASIC" lock tests. I will be doing
further tests on the mapping down to POSIX locks. The ultimate
test will be when multiple CIFSFS clients are doing tdbtorture
on a CIFS mounted drive and everything passes :-).
Stevef - please check this code out and test with your POSIX
lock tests - let me know about any failures.
Jeremy.
r16902: This converts lp_mangled_map, lp_manglednames and lp_magicchar to take a
struct share_params instead of a snum as input.
It is an example of how the a bit larger changes to get rid of snum might look
like, and it demonstrates how the SNUM(conn) will be converted to conn->params.
I'd really appreciate input on what I'm doing here, the changes will be rather
localized but in the end svn blame might point at me for a *lot* of code that
I'm not really responsible for ;-))
r16892: When we want more flexibility in configuring Samba, I think that we need to
get rid of the global share array in loadparm.c. Even right now with
usershares this is a little awkward.
Step zero in a looong way there: This encapsulates the service number in
connection_struct into a 'struct share_params'. I want to get rid of the use
of anything like an index number for a share outside of loadparm.c. Inside
loadparm.c it can be organized as an array if necessary, but the rest of Samba
should only see share names and struct share_params where we can then hide the
current share definitions or some dynamic backend or whatever.
Jeremy Allison [Sun, 9 Jul 2006 04:24:49 +0000 (04:24 +0000)]
r16888: Fix the calculation if an overlap occurred in the upper
layer when doing unlocks. Simplified the close handling
in the POSIX lock case (we know the system already does
the right thing). Get ready to add the unlock semantics
for POSIX (hard hard hard !).
Jeremy.
Jeremy Allison [Sun, 9 Jul 2006 00:52:21 +0000 (00:52 +0000)]
r16885: Move locking definitions into their own header file locking.h
Pass down the upper level locking data to the system layer,
will avoid having to re-walk the lock list (which the upper
layer has already done).
Jeremy.
Jeremy Allison [Sat, 8 Jul 2006 20:49:00 +0000 (20:49 +0000)]
r16884: Do the lock merging more agressively for CIFS POSIX
locks. There were cases where we weren't merging
together two adjacent locks of the same type. This
should reduce the number of locks records in this
case.
Jeremy.
Jeremy Allison [Sat, 8 Jul 2006 20:16:35 +0000 (20:16 +0000)]
r16883: Restructure the code in locking/posix.c to get ready to
add the mapping from CIFS POSIX locks to system POSIX
locks. No difference in the lock tests in Samba4 lock
tests for Windows locks. Next will come the code to
map the CIFS POSIX locks onto system locks. I will
add Samba4 torture test code to test this.
Jeremy.
Jeremy Allison [Fri, 7 Jul 2006 05:05:33 +0000 (05:05 +0000)]
r16856: Fix up sample module compile after jpeach's changes.
skel_opaque won't work because the vfs_default functions
are static now, but still is useful as an exmaple.
Jeremy.
James Peach [Wed, 5 Jul 2006 05:55:03 +0000 (05:55 +0000)]
r16814: New VFS module "cacheprime". This is useful for equipment where
it is important to minimise the number of actual disk reads or
to make sure that actual disk reads are of a particular size.
Jeremy Allison [Wed, 5 Jul 2006 03:40:40 +0000 (03:40 +0000)]
r16813: Rewrote much of the idmap code. This design is *shit*,
and needs fixing. We must refactor out the cache code
and separate it from the idmap_tdb so they are two
separate pointer tables. They may call down into the
same underlying functions but the MUST NOT BE ALLOWED
to continue to mix up allocation and cachine. I'll know
the design is correct when the flags field dissapears
from the backend interface. Having said that this code
is now a lot cleaner and easier to understand. Expect
more hard words (and work) in this area.
Anyone wanting to work on this code please see me
first ! ("You behind the bike sheds, stand still
laddie !" :-)
James Peach [Wed, 5 Jul 2006 03:11:12 +0000 (03:11 +0000)]
r16812: Refactor shared memory profiling to make the call counts and cumulative
times two arrays. This makes it a lot easier to write succinct code to
deal with these.
Add compatibility macros so that existing references continue to work.
Add a new idle counter to track how much time is spent waiting for the
client to send a packet.
Bump the shared memory version number.
Add a --profile-rates option to smbstatus to show the rate-converted
times and counts from the shared memory metrics. Sample output:
Jeremy Allison [Mon, 3 Jul 2006 21:07:26 +0000 (21:07 +0000)]
r16788: Fix bug #3909, when using ea's getting a directory tries to
read ea's from an msdfs link. Stop it from doing that.
Jerry please merge to 3.0.23.
Jeremy.