summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r17179: Merge the vl-posixacls tmp branch into mainline. ItJim McDonough1-11/+3
modularizes our interface into the special posix API used on the system. Without this patch the specific API flavor is determined at compile time, something which severely limits usability on systems with more than one file system. Our first targets are AIX with its JFS and JFS2 APIs, at a later stage also GPFS. But it's certainly not limited to IBM stuff, this abstraction is also necessary for anything that copes with NFSv4 ACLs. For this we will check in handling very soon. Major contributions can be found in the copyright notices as well as the checkin log of the vl-posixacls branch. The final merge to 3_0 post-3.0.23 was done by Peter Somogyi <psomogyi@gamax.hu> (This used to be commit ca0c73f281a2a65a988094a46bb3e46a94011a53)
2007-10-10r17152: Don't handle the delete pending here, awaitJeremy Allison1-7/+0
reschedule. Jeremy. (This used to be commit 11bab9d57958659c71f053fe8dc0f9156c9f3c1f)
2007-10-10r17142: Ensure we record the correct can_read/can_writeJeremy Allison1-4/+6
from the client requested access mask. Jeremy. (This used to be commit 12490fafc7f98952bf709c4c504f8f2b5646f197)
2007-10-10r17140: Get rid of the lock release/reacquire code ! Turns outJeremy Allison1-85/+73
that create dispositions that cause O_TRUNC break oplocks. This simplifies the code - although we have to keep separate the client requested access mask and the access mask we actually use to open the file. Jeremy. (This used to be commit 3bcd52a4752ec6c2a8f678afa3b7b3646103ad60)
2007-10-10r17134: Fix a debug messageVolker Lendecke1-1/+1
(This used to be commit 40e267981174840f4f36d1863985ee010ef5074a)
2007-10-10r17131: Optimisation - when doing a stat open don't open theJeremy Allison1-1/+1
file unless we really have to (ie. O_CREAT and file doesn't exist). Jeremy. (This used to be commit 788aa15ea24e6dfb61820465b5b881829a64297a)
2007-10-10r17130: Remove unneeded unlock call.Jeremy Allison1-3/+0
Jeremy. (This used to be commit b3b5aec0eef3bdcae75ce79ffd3ecf21fb1279e7)
2007-10-10r17128: Missed a logic error in my last patch. Ensure we deal with anyJeremy Allison1-5/+42
oplocks that were granted when we had released the lock. Fix strange case where stat open grants a batch oplock on file create, but grants no oplock on file open. Jeremy. (This used to be commit b7374835e6ec0c98fc4020623f0a37c0c173b8aa)
2007-10-10r17125: Drastic problems require drastic solutions. There'sJeremy Allison2-109/+228
no way to get all the cases where kernel oplocks are on and we can't open the file and get the correct semantics (think about the open with truncate with an attribute only open - we'd need a vfs change to add the truncate(fname, len) call). So always drop the share mode lock before doing any real fd opens and then re-acquire it afterwards. We're already dealing with the race in the create case, and we deal with any other races in the same way. Volker, please examine *carefully* :-). This should fix the problems people reported with kernel oplocks being on. Jeremy. (This used to be commit 8171c4c404e9f382880c65daa0232f89e560f399)
2007-10-10r17108: Make the default timeout parameter for lock waitingJeremy Allison1-3/+3
be lp_lock_spin(). lock spin count is no longer used. I'll update the man pages. Jeremy. (This used to be commit 0451a170c9be88399202abd225af35ddc45023f0)
2007-10-10r17107: Make the 200 ms timeout value tunable in local.h...Jeremy Allison1-3/+3
Might need to be a parameter ? Jeremy. (This used to be commit 98d8d9399bb287319578daaf2a2fb42f3c48f858)
2007-10-10r17106: Match Windows timing values on locks.Jeremy Allison1-0/+5
Jeremy. (This used to be commit b5aaff665937313370e0e87225e146f9af7b7e67)
2007-10-10r17105: Fix the race Volker found - we had a non-lockedJeremy Allison4-298/+142
region between detecting a pending lock was needed and when we added the blocking lock record. Make sure that we hold the lock over all this period. Removed the old code for doing blocking locks on SMB requests that never block (the old SMBlock and friends). Discovered something interesting about the strange NT_STATUS_FILE_LOCK_CONFLICT return. If we asked for a lock with zero timeout, and we got an error of NT_STATUS_FILE_LOCK_CONFLICT, treat it as though it was a blocking lock with a timeout of 150 - 300ms. This only happens when timeout is sent as zero and can be seen quite clearly in ethereal. This is the real replacement for old do_lock_spin() code. Re-worked the blocking lock select timeout to correctly use milliseconds instead of the old second level resolution (far too coarse for this work). Jeremy. (This used to be commit b81d6d1ae95a3d3e449dde629884b565eac289d9)
2007-10-10r17100: Ooops. Fix the build...Jeremy Allison1-2/+7
Jeremy. (This used to be commit b21ca265a25b3d1e4f154ce0ee4b8757b41cf910)
2007-10-10r17098: Samba3 now cleanly passes Samba4 RAW-LOCK tortureJeremy Allison4-90/+243
test. Phew - that was painful :-). But what it means is that we now implement lock cancels and I can add lock cancels into POSIX lock handling which will fix the fast/slow system call issue with cifsfs ! Jeremy. (This used to be commit f1a9cf075b87c76c032d19da0168424c90f6cb3c)
2007-10-10r17096: Simplify share_access_check a bit: It takes the sharename instead of ↵Volker Lendecke2-4/+14
the snum, and the decision which token to use (conn or vuser) does not really belong here, it is better done in the two places where this is called. Volker (This used to be commit 0a138888adf7a0f04a38cd911e797e1a379e908b)
2007-10-10r16990: Fix bug #3921 spotted by jason@ncac.gwu.edu. CorrectlyJeremy Allison1-1/+1
obey blocking/non-blocking request for POSIX locks. Jeremy. (This used to be commit f62c01316ef3ce0351f8b34229307a75d8f9f156)
2007-10-10r16968: The function parse_processed_dfs_path() is dependent on theJeremy Allison1-5/+11
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 (This used to be commit 883bb398e58f54ee79160487b49b79a4774ef939)
2007-10-10r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison34-1808/+869
to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10r16797: Add msdfs proxy junctions in the netdfs rpc enumeration.Günther Deschner1-0/+1
Guenther (This used to be commit 6bf350895a648ef9b824c94b894e8d7a8989eb97)
2007-10-10r16789: Fix bug #3909, when using ea's getting a directory tries toJeremy Allison2-3/+59
read ea's from an msdfs link. Stop it from doing that. Jerry please merge to 3.0.23. Jeremy. (This used to be commit 95e5ace6b4f348a3244b6a3ea0fd8badf55271f5)
2007-10-10r16616: Klocwork #2025. Stop null deref. I actually don'tJeremy Allison1-1/+1
think this can happen in real life but the code is too complicated to be sure.... Jerry please merge this for 3.0.23. Jeremy. (This used to be commit 1e5042d4c0d1a0d0a5cfbcb0d47815e1510ee52a)
2007-10-10r16591: Belt and braces approach to shut Klocwork up - bug #2001.Jeremy Allison1-1/+1
Jeremy. (This used to be commit d5c1028498de0346b7a35cc132b8081e04e639cc)
2007-10-10r16582: Fix Klocwork #1997 and all generic class of problemsJeremy Allison1-3/+19
where we don't correctly check the return from memdup. Jeremy. (This used to be commit ce14daf51c7ee2f9c68c77f7f4674e6f0e35c9ca)
2007-10-10r16537: Fix for bug #3858, all files in a directory notJeremy Allison1-6/+7
being deleted when hide unreadable set to true. Here's the scoop. This one is really interesting. The pattern of deleting a directory is to do a findfirst to get the first part of the list, then for each name returned it does a open/set delete on close/close -> thus deleting the file. Then it does a findnext with the last file name THAT IT JUST DELETED ! Now we can handle this in the findnext in the case where hide unreadable is set to false as we look back in our cache of names and just seek to the right point. The bug is actually fixed in the first hunk of this patch - the one that removes the is_visible_file() check after SearchDir returns false. We don't actually need it and in this case it's causing the delete to be aborted because it can't find the name (doh ! it was just deleted). We don't need it as SearchDir is only ever called from findnext, and findnext should only ever be returning names we gave it. The rest of the patch are the debugs I used to find the problem but they're generically useful. Phew - that one took a while to track down..... Jerry, please merge for 3.0.23 final. Jeremy. (This used to be commit cd048cb775f0a8525fc19aa463db07c477521f5b)
2007-10-10r16435: Add in the uid info that Jerry needs into theJeremy Allison2-2/+4
share_mode struct. Allows us to know the unix uid of the opener of the file/directory. Needed for info level queries on open files. Jeremy. (This used to be commit d929323d6f513902381369d77bcd7b714346d713)
2007-10-10r16397: Fix Klocwork #11767 and drasticly simplify theJeremy Allison6-191/+198
logic in smbd/process.c. All interested (Volker, Jerry, James etc). PLEASE REVIEW THIS CHANGE. The logic should be identical but *much* easier to follow and change (and shouldn't confuse Klockwork :-). Jeremy. (This used to be commit d357f8b33594472ffa78d0a112accccc2a8b1fe7)
2007-10-10r16317: Klocwork #300. Check for error return on malloc.Jeremy Allison1-0/+4
Jeremy. (This used to be commit aa0d739834a286aeee88f76048dc347dd2852d09)
2007-10-10r16311: Check for NULL return. Klocwork #998.Jeremy Allison1-0/+4
Jeremy. (This used to be commit c430730f5a0dc00626b9b924e88adfb84cd48869)
2007-10-10r16309: Fix Klocwork #1596. Check for NULL on talloc.Jeremy Allison1-0/+5
Jeremy. (This used to be commit 34b6b6723b1c87e19b0a51ef785a614d86bd5cef)
2007-10-10r16295: Fix gcc4 "warning: dereferencing type-punned pointer will breakJeremy Allison1-20/+20
strict-aliasing rules" warning. Jeremy. (This used to be commit 7ac5aee88cae3400fb6400b3628544da2e474560)
2007-10-10r16284: Start fixing up gcc4 -O6 warnings on an x86_64 box. size_t != unsignedJeremy Allison1-1/+1
int in a format string. Jeremy. (This used to be commit face01ef01e1a3c96eae17c56cadf01020d4cb46)
2007-10-10r16280: Start fixing up gcc4 -O6 warnings on an x86_64 box. size_t != unsignedJeremy Allison1-2/+2
int in a format string. Jeremy. (This used to be commit 45d5cad8c2438c032d9f11c62a50a04d0637bf6c)
2007-10-10r16277: Start fixing up gcc4 -O6 warnings on an x86_64 box. size_t != ↵Jeremy Allison1-2/+2
unsigned int in a format string. Jeremy. (This used to be commit 3a15fff21988b426a514ad28060eaf0ddc17ef6b)
2007-10-10r16275: Start fixing up gcc4 -O6 warnings on an x86_64 box. size_t != ↵Jeremy Allison1-4/+4
unsigned int in a format string. Jeremy. (This used to be commit 952547471f03bd2da1eda0247471b17aa1ff15de)
2007-10-10r16248: Fix Coverity ID 297Volker Lendecke1-0/+5
(This used to be commit e56e3c19e1244e2b7409d57a030ca8b7ec446932)
2007-10-10r16241: Fix Klocwork #106 and others like it.Jeremy Allison1-5/+6
Make 2 important changes. pdb_get_methods() returning NULL is a *fatal* error. Don't try and cope with it just call smb_panic. This removes a *lot* of pointless "if (!pdb)" handling code. Secondly, ensure that if samu_init() fails we *always* back out of a function. That way we are never in a situation where the pdb_XXX() functions need to start with a "if (sampass)" test - this was just bad design, not defensive programming. Jeremy. (This used to be commit a0d368197d6ae6777b7c2c3c6e970ab8ae7ca2ae)
2007-10-10r16230: Fix Klocwork #861 and others. localtime and asctimeJeremy Allison1-0/+3
can return NULL. Ensure we check all returns correctly. Jeremy. (This used to be commit 6c61dc8ed6d84f310ef391fb7700e93ef42c4afc)
2007-10-10r16219: BUG 3836, 3837, 3004: compile warning fixes from Jason Mader.Gerald Carter2-3/+3
(This used to be commit 6c1f1c091f5e87bf9464fe8ad7eb2cb683819a62)
2007-10-10r16203: Fix potentially writing one result of strtok beyond the end of alt_path.Volker Lendecke1-1/+2
Found by Klocwork, ID 653. Volker (This used to be commit 4cb8cf221f986b15de3ac608b173310c14248533)
2007-10-10r16198: Fix Klocwork 1023Volker Lendecke1-1/+0
(This used to be commit 3a7d01afbebe5c4c36935b6128998e1327c8f856)
2007-10-10r16112: Added Volker's fix for extra odd byte at the endJeremy Allison1-1/+1
of UNIX_BASIC infolevel. Checked client implementations (cifsfs and libsmb) and they ignore it. Thanks Volker. Jeremy. (This used to be commit 6cd1cb5c9deba2aa0d7a3251c8142834cbaba6d1)
2007-10-10r16057: Coalesce the DMAPI configure tests into a single macro. AddJames Peach1-6/+0
a more specific probe to try and eliminate old, incompatible DMAPI implementations provided by IRIX 6.4 and AIX 4.3. (This used to be commit aafd4db457ce8a60c628d54a3ace3b97c8885dca)
2007-10-10r15960: Don't double-free (ensure we always free file_fsp inJeremy Allison1-1/+0
the same place on error - I missed the extra free in delay_for_oplocks). Jeremy. (This used to be commit 146a2648156563b41642d42c46aff401e435a42b)
2007-10-10r15959: Ooops. Use the right file_free call...Jeremy Allison1-3/+3
Jeremy. (This used to be commit 1117a327bd4fb425d25ea63df782095701fb83bb)
2007-10-10r15958: Make us pass RAW-OPLOCK with kernel oplocks off.Jeremy Allison3-15/+23
This allows a requestor to set FORCE_OPLOCK_BREAK_TO_NONE to ensure we don't break to level 2. Fixed a couple of resource leaks in error paths in open_file_ntcreatex. Jeremy. (This used to be commit c7c9adcce7f13d01445f31b07fb28a76f0a1d6df)
2007-10-10r15951: oplock_request must be an int, not a BOOL. WeJeremy Allison1-3/+3
were getting away with mixing types. Not cool. Jeremy. (This used to be commit ad3bc112a21afd3a04449ec3f604e017d753c224)
2007-10-10r15949: Patch for bug #3308 to stop us returning duplicateJeremy Allison3-17/+27
mid replies on path based set-eof trans2 calls. Needs modification for HEAD (as in head open_file_ntcreateX properly returns NTSTATUS - I'll fix this tomorrow my time). Secondly it still fails the Samba4 RAW-OPLOCK smbtorture because of an interesting case. Our oplock code always returns "break to level 2" if it can. In this case (path-based set-eof or set-allocation size on an exclusive oplocked file) W2K3 always sends a break-to-none. We send the break to none (from level2) after we've done the write for eof or allocation size. I need to work out some way of telling our break code to always break to none (might need to extend the message field). Jeremy. (This used to be commit ad9895c654f400e242adcd4099f7cd004521ee92)
2007-10-10r15943: Update misleading DEBUG statements and comments that refer toJames Peach2-5/+6
open_file_shared. (This used to be commit 784126edff942d1c2f79f7c9feb59980426f331e)
2007-10-10r15936: Fix memory leak on error exit path. Trying toJeremy Allison1-1/+26
track down #3308. Jeremy. (This used to be commit e39c11c91153c1ed547bc635d02769a1cdf3ecc0)