summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r17316: More C++ warnings -- 456 leftVolker Lendecke3-9/+9
(This used to be commit 1e4ee728df7eeafc1b4d533240acb032f73b4f5c)
2007-10-10r17314: Optimisation for POSIX locking. If we're downgradingJeremy Allison1-1/+1
a POSIX lock (applying a read-lock) and we overlap pending read locks then send them an unlock message, we may have allowed them to proceed. Jeremy. (This used to be commit a7a0b6ba50f4cf7c5a0a29809fdff9e1266a29e7)
2007-10-10r17296: Replace the understandable parts of the quotaJeremy Allison1-17/+13
code with become_root_uid_only()/unbecome_root_uid_only() pairs. This code needs working on..... Jeremy. (This used to be commit 0661d4e26614180636bc57de0c48adf8b9ce7a21)
2007-10-10r17295: Back out the become_root_uid_only change on the POSIXJeremy Allison2-13/+12
acls code. I'm pretty sure this was safe, but become_root() does other things to the token stack that become_root_uid_only() does not, and as we're going into a vfs redirectred function I decided it wasn't safe for now. Jeremy. (This used to be commit b3e0f45488595aa96c852dab8e1349631a85dded)
2007-10-10r17294: Make the code a little cleaner. Instead of using the twoJeremy Allison1-12/+12
calls make it : become_root_uid_only() operation unbecome_root_uid_only() saving errno across the second call. Most of our internal change calls can be replaced with these simple calls. Jeremy (This used to be commit 4143aa83c029848d8ec741d9218b3fa6e3fd28dd)
2007-10-10r17293: After the results from the cluster tests in Germany,Jeremy Allison4-18/+0
fix the messaging code to call the efficient calls : save_re_uid() set_effective_uid(0); messaging_op restore_re_uid(); instead of using heavyweight become_root()/unbecome_root() pairs around all messaging code. Fixup the messaging code to ensure sec_init() is called (only once) so that non-root processes still work when sending messages. This is a lighter weight solution to become_root()/unbecome_root() (which swaps all the supplemental groups) and should be more efficient. I will migrate all server code over to using this (a similar technique should be used in the passdb backend where needed). Jeremy. (This used to be commit 4ace291278d9a44f5c577bdd3b282c1231e543df)
2007-10-10r17254: Simple flattening of an if-statement, no logic change.Volker Lendecke1-21/+27
Jeremy, I'm sure you will look at this nevertheless :-) Volker (This used to be commit 3ef34468b55771b6f6b54454fa6c9decc183c565)
2007-10-10r17249: Ensure we only set the FILE_WRITE_DATA on O_TRUNCJeremy Allison1-3/+0
in one place. Jeremy. (This used to be commit f326bae3e269046b6f087626240cddbb5dafb0e4)
2007-10-10r17248: Ensure we definately add the WRITE_DATA on O_TRUNC.Jeremy Allison1-3/+4
Jeremy. (This used to be commit 8eed82d5d5ba34cc0a6b99b9d0df45eec5f788fa)
2007-10-10r17247: When we map generic to specific we need to rememberJeremy Allison1-2/+5
to copy over the copy of the access_mask, open_access_mask. Jerry - this is a definate fix for a 3.0.23b and should also be on the patches page. CIFSFS breaks without this. Jeremy. (This used to be commit d11e71ebcccf6907f2404a04aa6bf61b12ab2709)
2007-10-10r17229: Indent-style reformatting -- getting used to the code again :-)Volker Lendecke1-51/+53
(This used to be commit 2e400fb0077ccef38fff28ef037f982624b7815b)
2007-10-10r17228: Modest reformattingVolker Lendecke1-17/+24
(This used to be commit 640b4297a400fe23418e9c1c01d4c14ce3bde5b4)
2007-10-10r17220: If we're going to fail a write with an errno, makeJeremy Allison2-1/+5
sure we return -1. Jeremy. (This used to be commit 89b83237b03066785ca4bf3b9d120519bddeffad)
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)