Volker Lendecke [Sun, 27 May 2007 17:12:08 +0000 (17:12 +0000)]
r23169: Merge 535 of Tridge's bzr tree:
store the right data after cleaning lock records. This fixes
RAW-BENCH-LOCK after a recovery on a cluster
(This used to be commit 3da3086dbf594fbdc4cfabf78f8d3ea1df4dc8ce)
Lars Müller [Sat, 26 May 2007 13:30:45 +0000 (13:30 +0000)]
r23155: Rename INSTALLPERMS to INSTALLPERMS_BIN to differenciate clearer from
INSTALLPERMS_DATA.
(This used to be commit 7a9ea106ff7ce54029bcd604d7a89b7134c2b885)
Lars Müller [Sat, 26 May 2007 13:24:56 +0000 (13:24 +0000)]
r23154: Add INSTALLPERMS_DATA set to 0644 to install the header files with this
permission set instead of 0755.
(This used to be commit 1db52993eda542757e80e1d7d2ce82a9c9abd93a)
Jeremy Allison [Sat, 26 May 2007 01:26:09 +0000 (01:26 +0000)]
r23151: Re-arrange the logic so it looks identical to the
"file existed" case above. This has no functional
change but is easier to see that it's doing the
same thing.
Jeremy.
(This used to be commit 0a7d8362be8379b77e6afb803ab88d726ae7877d)
Jeremy Allison [Sat, 26 May 2007 01:19:51 +0000 (01:19 +0000)]
r23150: Fix Samba3 in the build farm again. In the case where the
file was being created and we go into the race condition check,
we were testing for compatible open modes, but were not breaking
oplocks in the same way as if the file existed. This meant that
we weren't going into the code path that sets fsp->oplock = FAKE_LEVEL_II_OPLOCK
if the client didn't ask for an oplock on file create. We need
to do this as internally it's what Windows does.
Jeremy.
(This used to be commit 9b9513856e9e9f84d5acd94e3e3d6e73358ee7dc)
Jeremy Allison [Fri, 25 May 2007 23:50:35 +0000 (23:50 +0000)]
r23148: Fix old old bug in cli_smbwrite() (not incrementing
data being sent). Patch from mnix@wanm.com.au.
Jeremy.
(This used to be commit 2524d85465ba5406e684199c10f59e685ab860b5)
Jeremy Allison [Fri, 25 May 2007 22:04:03 +0000 (22:04 +0000)]
r23147: Patch #4566 from jacob berkman <jberkman@novell.com>. Pass password data to krb5_prompter.
Jeremy.
(This used to be commit 232fc5d69d44404df13f6516864352f9a5721552)
Günther Deschner [Thu, 24 May 2007 23:11:11 +0000 (23:11 +0000)]
r23127: Fill in some more netlogon dsgetdcname flavours (netr_DsRGetDCNameEx,
netr_DsRGetDCNameEx2) and add new ds request and reply flags, also add some
more WERROR codes.
Jeremy Allison [Thu, 24 May 2007 20:40:46 +0000 (20:40 +0000)]
r23122: Fix bug #4655. We marshall the enumdataex correctly,
but W2K3 doesn't follow our rules when sending data to
us. Ensure we look for the data at the correct offsets
when reading the data.
Too late for 3.0.25a - don't merge.
Jeremy.
(This used to be commit a871191395eef6ed76f9e7666fd1c0fde3105984)
Volker Lendecke [Thu, 24 May 2007 14:47:24 +0000 (14:47 +0000)]
r23117: Factor out local messaging.
This removes message_block / message_unblock. I've talked to Jeremy and
Günther, giving them my reasons why I believe they have no effect.
Neither could come up with a counter-argument, so they go :-)
(This used to be commit a925e0991ffbaea4a533bab3a5d61e5d367d46c8)
Volker Lendecke [Thu, 24 May 2007 11:09:37 +0000 (11:09 +0000)]
r23112: Trim down the message.c API slightly: The messages_pending_for_pid is now
replaced by MSG_FLAG_LOWPRIORITY or'ed into the msg_type. To enable this,
changed the msg_type definitions to hexadecimal.
This way we could theoretically add the MSG_FLAG_NODUPLICATES again, but I
would rather not do this, because that one is racy and can't be guaranteed at
all.
(This used to be commit 3f5eb8a9600839a9f9c44c553f0bda6df22b30b0)
Michael Adam [Thu, 24 May 2007 07:15:36 +0000 (07:15 +0000)]
r23108: Add defines of RTLD_NOW and RTLD_GLOBAL to replace.h.
Fixing build of ldb for instance on some systems without dlfcn.h.
(This used to be commit 5a06726e6873accd255d584e2c18e62dfcac108d)
Jeremy Allison [Thu, 24 May 2007 01:57:02 +0000 (01:57 +0000)]
r23107: Fix renames on file descriptors that are supposed to overwrite the
target. Needs merging for 3.0.25a (sorry).
Jeremy.
(This used to be commit a56bce3d44e89b4fd7806cc5b464c7481ec0197f)
Jeremy Allison [Wed, 23 May 2007 21:32:10 +0000 (21:32 +0000)]
r23100: Implement the delete on close semantics I've just tested for
in Samba4 smbtorture. Fix rename on an open file handle.
Needed for 3.0.25a.
Jeremy.
(This used to be commit a301467d5f645dada27093ddfd74890b88bb4ce8)
James Peach [Wed, 23 May 2007 20:48:53 +0000 (20:48 +0000)]
r23098: Fix the case of the #include statements so this module can be built on a
case-sensitive filesystem.
(This used to be commit 0fd0b57107fcdbf7eda85b3f3b969c5dc9eaadc5)
James Peach [Wed, 23 May 2007 19:57:13 +0000 (19:57 +0000)]
r23094: Update the iconv detection to handle cross-compiles better. If we are
cross-compiling, we accept the first iconv library that we find (with a
warning).
(This used to be commit 9417832155d634864f37d0fdb173ec607c154069)
Volker Lendecke [Wed, 23 May 2007 15:17:49 +0000 (15:17 +0000)]
r23091: Add rpccli_netlogon_sam_network_logon_ex, fix its parsing. This does not
use the credential chain and only works over netlogon, but it would
allow multiple outstanding auth requests for a single workstation
account.
(This used to be commit 123290d0947191abca4a3b3d81718c823c1bc4a0)
Jeremy Allison [Tue, 22 May 2007 22:35:13 +0000 (22:35 +0000)]
r23087: Fix POSIX setfilepathinfo to use lstat, not stat.
Still missing lchown (will add this for 3.0.26).
Don't merge for 3.0.25a - possibly 3.0.25b (if it
exists).
Jeremy.
(This used to be commit f546750176a22cdd7298a73afc81587923baaff9)
Jeremy Allison [Tue, 22 May 2007 20:20:01 +0000 (20:20 +0000)]
r23080: Fix bug #4637 - we hads missed some cases where
we were calling PRS_ALLOC_MEM with zero count.
Jeremy.
(This used to be commit 9a10736e6fa276ca4b0726fbb7baf0daafbdc46d)
Michael Adam [Tue, 22 May 2007 15:13:32 +0000 (15:13 +0000)]
r23078: Don't handle return code NT_STATUS_NONE_MAPPED from lookup sids
as an error. (This is purely cosmetic here, issuing a success
message at the end.)
(This used to be commit 4d9e8c91dc387cef37ea9035ac4483916e854732)
Michael Adam [Tue, 22 May 2007 13:40:01 +0000 (13:40 +0000)]
r23073: In the internal rpccli_lsa_lookup_sids_noalloc(), use a temporary
talloc context for use with the actual rpc query and response.
So the the parent context does not get flooded by the posslibly
large amount of response data (when looking up a lot of sids).
Note: It not possible, to simply use the names and domains arrays
as talloc contexts for the talloc_strdup calls, because from
rpccli_lsa_lookup_sids_all, this is called with names + offset
and domains + offset where names and domains are talloced
arraye for the complete response.
(This used to be commit 8e60900c5c5fccbe1718b805b6b1628d32b920d0)
Michael Adam [Tue, 22 May 2007 12:49:41 +0000 (12:49 +0000)]
r23072: In winbindd_ads.c:lookup_groupmem, replace the bottleneck
dn_lookup loop by a rpccli_lsa_lookupsids_all (see r23070)
call. This replaces one ldap search per member sid by one
rpc call per 1000 sids. This greatly speeds up groupmem
lookups for groups with lots of users.
Since the loop in lookup_groupmem was the only use of dn_lookup,
the function is removed.
Michael Adam [Tue, 22 May 2007 11:30:35 +0000 (11:30 +0000)]
r23070: The lsa rpc lookup sids call has a maximum number of SIDS to be
looked up at one time. This limit is at 20480 for w2k3.
Our rpccli_lsa_lookup_sids function ignores this limit, so when
we give the server too long a list of SIDs, then we will get
nothing back. Since typically rpccli_lsa_lookup_sids is given
one SID (or a small number of SIDS), this did not do harm
up to now. But since I want to use lsa_lookup_sids in a subsequent
modification to winbindd_ads.c:lookup_groupmem to get rid of
a vast number of dn_lookup calls to the server, I had to make
sure we do it correctly.
I have added a function rpccli_lsa_lookup_sids_all function
that has the same prototype but internally splits the list
of SIDs up into hunks of a (conservative, hard coded) 1000
SIDs each for a first go.
If this approach is agreed upon, the new function could replace
the original rpccli_lsa_lookup_sids function.
Volker Lendecke [Mon, 21 May 2007 22:17:13 +0000 (22:17 +0000)]
r23055: Rewrite messages.c to use auto-generated marshalling in the tdb. I'm
doing this because for the clustering the marshalling is needed in more
than one place, so I wanted a decent routine to marshall a message_rec
struct which was not there before.
Tridge, this seems about the same speed as it used to be before, the
librpc/ndr overhead in my tests was under the noise.
Gerald Carter [Mon, 21 May 2007 21:33:51 +0000 (21:33 +0000)]
r23054: Move the check for the lookup_domain of S-1-22-{1,2} before the
check for IS_DC. Otherwise we will for example fail to lookup a
sid of S-1-22-1-780 because it has no valid struct winbindd_domain*
in the list. Thanks to Simo for the catch.
(This used to be commit f53aa56998411b90de238e12e9c3de7f2ff0d2b6)
Gerald Carter [Mon, 21 May 2007 20:36:22 +0000 (20:36 +0000)]
r23048: Simo is correct in that winbind_lookup{sid,name}_async() needs
to be able to handle SIDs in the S-1-22-{1,2} domain in order
for winbindd_sid_to_uid(), et. al. to succeed. For 3.0.25a,
we will short circuit in the sid_to_uid() family of functions
so that smbd is ok.
Gerald Carter [Mon, 21 May 2007 19:12:14 +0000 (19:12 +0000)]
r23046: Few missing merges from cleaning out the Centeris winbindd tree.
Nothing of major interest. Will fix a few problems with one way trusts.
(This used to be commit 3d48a7e72d9268fd495e0ca4b6e73bed5bb57214)
Jim McDonough [Mon, 21 May 2007 16:01:22 +0000 (16:01 +0000)]
r23041: Remainder of fix for 4630: fix special case of unix_to_nt_time() for
TIME_T_MAX, and also display of it in http_timestring()
(This used to be commit 2553b6a56d20ef6273001ae3b090e156e676592c)
Volker Lendecke [Sun, 20 May 2007 20:11:23 +0000 (20:11 +0000)]
r23024: Ok, neither the duplicates_allowed nor the timeout argument to
message_send_pid is used anymore. Two users of duplicates_allowed: winbind and
the printer notify system.
I don't thing this really changes semantics: duplicates_allowed is hell racy
anyway, we can't guarantee that we don't send the same message in sequence
twice, and I think the only thing we can harm with the print notify is
performance.
For winbind I talked to Günther, and he did not seem too worried.
Volker Lendecke [Sun, 20 May 2007 19:43:49 +0000 (19:43 +0000)]
r23023: Get rid of the only caller of message_send_pid_with_timeout(). This replaces
the timeouts on the individual message send calls with an overall timeout on
all the calls.
The timeout in message_send_pid_with_timeout() did not make much sense IMO
anyway, because the tdb_fetch() for the messages_pending_for_pid was blocking
in a readlock anyway, we "just" did the timeout for the write lock.
This new code goes through the full wait for the write lock once and then
breaks out of sending the notifies instead of running into the timeout per
target.
Jeremy Allison [Sat, 19 May 2007 20:57:12 +0000 (20:57 +0000)]
r23014: For all branches, ensure that if we're blocked on a POSIX
lock we know nothing about that we retry the lock every
10 seconds instead of waiting for the standard select
timeout. This is how we used to (and are supposed to)
work.
Jeremy.
(This used to be commit fa18fc25a50cf13c687ae88e7e5e2dda1120e017)
Jeremy Allison [Fri, 18 May 2007 23:38:56 +0000 (23:38 +0000)]
r23005: If we're running on a system where time_t is 8 bytes
we have to take care to preserve the "special" values
for Windows of 0x80000000 and 0x7FFFFFFF when casting
between time_t and uint32. Add conversion functions
(and use them).
Jeremy.
(This used to be commit 4e1a0b2549f7c11326deed2801de19564af0f16a)
Volker Lendecke [Fri, 18 May 2007 08:35:01 +0000 (08:35 +0000)]
r22994: Fix HP/UX compiler flags by Don McCall. Lets see how the other HP/UX
boxes like this. Thanks, Don!
(This used to be commit c53cf972cf35fc344eb40078a1a778260a3de07f)
Steve French [Thu, 17 May 2007 22:40:48 +0000 (22:40 +0000)]
r22982: Do not prompt for password on sec=none for mount.cifs (and allow guest
option to pass to kernel code so it can know when to retry)
(This used to be commit 500d9236c419be6ec32cc209279aeea2234f1a21)
Steve French [Thu, 17 May 2007 22:28:28 +0000 (22:28 +0000)]
r22979: Revert previous checkin (which had some debug junk) and fix misc frees that
valgrind noticed
(This used to be commit c8aa60692ba23c43820b820db3371a86dfbf40b5)
Gerald Carter [Thu, 17 May 2007 22:27:42 +0000 (22:27 +0000)]
r22978: Don't use current_user to prep the security ctx in change_to_user
since any SID/uid/gid translation calls will reset the struct when
popping the security ctx. This should fix the standalone server
configuration issues reported by David Rankin (thanks for the logs).
(This used to be commit 63cb25bad19d9600399a6ee2221497d71e805320)
Gerald Carter [Thu, 17 May 2007 19:56:54 +0000 (19:56 +0000)]
r22977: Trim noise by removing redundant WARNING log message that
would flood at log level 2. We know when we're using the legacy
mapping code anyways since it will log an informative msg.
(This used to be commit 51aac0fcb4528df790aa3ae078f9ef639cc01363)
Gerald Carter [Thu, 17 May 2007 19:16:27 +0000 (19:16 +0000)]
r22975: BUG 4616: Don't return a dns or forest name when replying to the
DsDGetPrimaryRoleInfo() and configured for security = domain.
(This used to be commit 55ba4a04d0efe2ae7b0d945648b2db801ff9e9f1)
r22973: Apparently, 3.0.25 broke smb4k badly ;-)
smb4k uses 'net rap server domain' to list servers in domain.
Previously we just ignored all arguments in net_rap_server() but now we don't
as 'net rap server name' has added an explicit check on arguments.
Jeremy Allison [Wed, 16 May 2007 22:52:17 +0000 (22:52 +0000)]
r22956: Fix security=server (bug #4622). Volker's patch
(slightly truncated by me). Will be in 3.0.25a.
Jeremy.
(This used to be commit 039fb906af883a7ca1a68955f1b36b583fe1b698)
Volker Lendecke [Wed, 16 May 2007 20:02:32 +0000 (20:02 +0000)]
r22953: Well, this apparently has never been tested. But *this* code never saw a
release yet .... ;-))
(This used to be commit f93b6353fe18e2c992a3dad96afd1a4c16032c55)
Michael Adam [Wed, 16 May 2007 11:15:16 +0000 (11:15 +0000)]
r22931: Fix logic in detection of the need to replace dlopen and friends.
Originally, dlfcn.o was only added to LIBREPLACEOBJ if dlopen
was found in libdl but header dlfcn.h was not appropriate.