summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r20345: Simplify call_nt_transact_create by using tmp_talloc_ctx()Volker Lendecke1-14/+2
(This used to be commit df6362baa0928616c6934950fb9c1264cb27106e)
2007-10-10r20338: Restructure open_directory a bit. This gets rid of a race condition ↵Volker Lendecke1-0/+8
regarding error messages: We relied upon a stat that a directory did not exist to later on then do the mkdir or not. This does the mkdir directly and copes with a potential error. The second one is more important: It's possible with Samba 3 to do a ntcreate&x with NTCREATEX_OPTIONS_DIRECTORY and we happily do a NT_STATUS_OK. Also move up the use_nt_status() logic a bit. I think this does not belong into the core routines, the smb server as such should take care of it. Jeremy, do you think this should go to 3.0.24? I'll update samba4torture when the build farm has picked up this checkin. Volker (This used to be commit 472fb11f4968d30cedc9851215c63acd3132f3db)
2007-10-10r20335: Port oplock return logic from ntcreate&x to NT_TRANSACT_CREATE. ↵Volker Lendecke1-2/+6
Fixes parts of raw-open. Volker (This used to be commit e4e766c092e19f78a593c08f22ea1d7521be18e7)
2007-10-10r20237: Replace exit_server with exit_server_cleanly where appropriate. AllJames Peach1-2/+2
send_smb failures should be clean exits. All times when we exit as a matter of policy should also be clean exits. (This used to be commit d6382092e72120a3c89ffe81975e8898d454bf06)
2007-10-10r20211: send_nt_replies does not need the inbuf argVolker Lendecke1-32/+51
(This used to be commit ab45c50da36be316773f9332925dee7dc3eec025)
2007-10-10r20178: Ensure we allocate the intermediate trans structsJeremy Allison1-1/+2
off conn->mem_ctx, not the null context so we can safefy free everything on conn close. Should fix possible memleak. Jeremy. (This used to be commit b33bde7b39953e171f05cdb53b6345ee3a9ec6e7)
2007-10-10r20124: clean up nested extern declaration warningsHerb Lewis1-1/+0
(This used to be commit ac3eb7813e33b9a2e78c9158433f7ed62c3b62bb)
2007-10-10r19001: Fix commentVolker Lendecke1-1/+1
(This used to be commit 048127f9dd6363dfb3c78369fa2227551b741831)
2007-10-10r18789: Replace the winreg server code with the libndr parsing code.Gerald Carter1-0/+1
Many things work (OpenHKLM, etc...) but some still don't. This shouldn't block anyone so I'm checking it in. Will probably move to a bzr tree after this for longer dev cycles between checkins. (This used to be commit cf1404a0d7538288b9370ba80df328f81b713ce0)
2007-10-10r18745: Use the Samba4 data structures for security descriptors and security ↵Jelmer Vernooij1-4/+4
descriptor buffers. Make security access masks simply a uint32 rather than a structure with a uint32 in it. (This used to be commit b41c52b9db5fc4a553b20a7a5a051a4afced9366)
2007-10-10r18605: sync dlinklist.h with samba4, that means DLIST_ADD_END()Stefan Metzmacher1-2/+1
and DLIST_DEMOTE() now take the type of the tmp pointer not the tmp pointer itself anymore. metze (This used to be commit 2f58645b7094e81dff3734f11aa183ea2ab53d2d)
2007-10-10r17800: Start using struct timespec internally for file timesJeremy Allison1-45/+26
on the wire. This allows us to go to nsec resolution for systems that support it. It should also now be easy to add a correct "create time" (birth time) for systems that support it (*BSD). I'll be watching the build farm closely after this one for breakage :-). Jeremy. (This used to be commit 425280a1d23f97ef0b0be77462386d619f47b21d)
2007-10-10r17316: More C++ warnings -- 456 leftVolker Lendecke1-4/+4
(This used to be commit 1e4ee728df7eeafc1b4d533240acb032f73b4f5c)
2007-10-10r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison1-48/+50
to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10r16397: Fix Klocwork #11767 and drasticly simplify theJeremy Allison1-0/+1
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-10r16311: Check for NULL return. Klocwork #998.Jeremy Allison1-0/+4
Jeremy. (This used to be commit c430730f5a0dc00626b9b924e88adfb84cd48869)
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-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-10r15949: Patch for bug #3308 to stop us returning duplicateJeremy Allison1-5/+5
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 Peach1-2/+3
open_file_shared. (This used to be commit 784126edff942d1c2f79f7c9feb59980426f331e)
2007-10-10r15450: Change profiling data macros to use stack variables rather thanJames Peach1-2/+25
globals. This catches mismatched start/end calls and removes the need for special nested profiling calls. (This used to be commit ee750498812190edd3ec52ca3c750258f3b8a97a)
2007-10-10r15266: Fix bug 3720. I wonder why -O1 compiles did not catch this...Volker Lendecke1-2/+2
Thanks to Jason Mader for reporting this. Volker (This used to be commit 3e616c3272ba76a2d135f7c51ceb44461ad165ad)
2007-10-10r15030: On a performace hunt... Remove as many extraneousJeremy Allison1-2/+2
memset's as possible. Jeremy. (This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
2007-10-10r15018: Merge Volker's ipc/trans2/nttrans changes overJeremy Allison1-288/+316
into 3.0. Also merge the new POSIX lock code - this is not enabled unless -DDEVELOPER is defined. This doesn't yet map onto underlying system POSIX locks. Updates vfs to allow lock queries. Jeremy. (This used to be commit 08e52ead03304ff04229e1bfe544ff40e2564fc7)
2007-10-10r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison1-9/+4
realloc can return NULL in one of two cases - (1) the realloc failed, (2) realloc succeeded but the new size requested was zero, in which case this is identical to a free() call. The error paths dealing with these two cases should be different, but mostly weren't. Secondly the standard idiom for dealing with realloc when you know the new size is non-zero is the following : tmp = realloc(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } However, there were *many* *many* places in Samba where we were using the old (broken) idiom of : p = realloc(p, size) if (!p) { return error; } which will leak the memory pointed to by p on realloc fail. This commit (hopefully) fixes all these cases by moving to a standard idiom of : p = SMB_REALLOC(p, size) if (!p) { return error; } Where if the realloc returns null due to the realloc failing or size == 0 we *guarentee* that the storage pointed to by p has been freed. This allows me to remove a lot of code that was dealing with the standard (more verbose) method that required a tmp pointer. This is almost always what you want. When a realloc fails you never usually want the old memory, you want to free it and get into your error processing asap. For the 11 remaining cases where we really do need to keep the old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR, which can be used as follows : tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the pointer p, even on size == 0 or realloc fail. All this is done by a hidden extra argument to Realloc(), BOOL free_old_on_error which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR macros (and their array counterparts). It remains to be seen what this will do to our Coverity bug count :-). Jeremy. (This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10r13316: Let the carnage begin....Gerald Carter1-1/+1
Sync with trunk as off r13315 (This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10r13293: Rather a big patch I'm afraid, but this should fix bug #3347Jeremy Allison1-13/+13
by saving the UNIX token used to set a delete on close flag, and using it when doing the delete. libsmbsharemodes.so still needs updating to cope with this change. Samba4 torture tests to follow. Jeremy. (This used to be commit 23f16cbc2e8cde97c486831e26bcafd4ab4a9654)
2007-10-10r12491: End profile fixes from SATOH Fumiyasu <fumiya@samba.gr.jp>.Jeremy Allison1-1/+0
Jeremy. (This used to be commit 2187502732e41690bf266f229312bb9c7177cf22)
2007-10-10r11420: Fix issue pointed out by Dina Fine <dina@exanet.com>. We canJeremy Allison1-13/+20
only tell at parse time from the wire if an incoming name has wildcards or not. If it's a mangled name and we demangle the demangled name may contain wildcard characters. Ensure these are ignored. Jeremy. (This used to be commit 4cd8e2a96b98ff711905e8c6f416b22440c16062)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter1-22/+7
* \PIPE\unixinfo * winbindd's {group,alias}membership new functions * winbindd's lookupsids() functionality * swat (trunk changes to be reverted as per discussion with Deryck) (This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the tortureJeremy Allison1-415/+339
tests on this as it's very late NY time (just wanted to get this work into the tree). I'll test this over the weekend.... Jerry - in looking at the difference between the two trees there seem to be some printing/ntprinting.c and registry changes we might want to examine to try keep in sync. Jeremy. (This used to be commit c7fe18761e2c753afbffd3a78abff46472a9b8eb)
2007-10-10r7842: With the patch I sent Steve yesterday this gives us complete POSIX ↵Jeremy Allison1-0/+3
pathnames. ie. files containing : and \ can be accessed from Linux. Jeremy. (This used to be commit e9b8d23d6138d909a65ea70b2e801881e8333b38)
2007-10-10r6895: Add "acl check permissions" to turn on/off the new behaviour ofJeremy Allison1-2/+2
checking for write access in a directory before delete. Also controls checking for write access before labeling a file read-only if DOS attributes are not being stored in EA's. Docuementation to follow. Jeremy. (This used to be commit dd1a5e6e499dd721c5bb8d56a61810a7454a3449)
2007-10-10r6633: Added "check_path_syntax_posix()" in preparation for handlingJeremy Allison1-6/+16
POSIX pathnames. Not yet used. Jeremy. (This used to be commit 381da9b55d6a3fda2ba4a3f12bee50853b7fd3b3)
2007-10-10r6307: Ensure info requested bitmask is printed in log when querying ↵Jeremy Allison1-1/+2
security descriptors. Jeremy. (This used to be commit 4db288e3143c1ce691ae586a7353da00fec85879)
2007-10-10r6269: With help from Marcel Müller <mueller@maazl.de> in tracking down the ↵Jeremy Allison1-2/+5
bug, fix trans2 and nttrans secondary packet processing. We were being too strict checking the incoming packet (by 1 byte). Jeremy. (This used to be commit 3eea1ff4b7428325c7f304bcac61d6297209a4b8)
2007-10-10r6263: Get rid of generate_wellknown_sids, they are const static and ↵Volker Lendecke1-1/+0
initializable statically. Volker (This used to be commit 3493d9f383567d286e69c0e60c0708ed400a04d9)
2007-10-10r6225: get rid of warnings from my compiler about nested externsHerb Lewis1-2/+2
(This used to be commit efea76ac71412f8622cd233912309e91b9ea52da)
2007-10-10r6204: Fix double-free of talloc context.Jeremy Allison1-1/+0
Jeremy. (This used to be commit d5c56d25741e148ccae7c91f9b0157498d7ff148)
2007-10-10r6203: Fix attribute return on creating a directory with nttrans_create.Jeremy Allison1-31/+31
Fix strange allocation semantics of openX. Jeremy. (This used to be commit da5a8b539d39d2765de22c3e55e9f284992ff966)
2007-10-10r6172: Tidy up error processing significantly. Remove unix_ERR_XXX global ↵Jeremy Allison1-20/+12
nastyness. Jeremy. (This used to be commit d3379fe61bb934082b51a37adac232a96bafcf46)
2007-10-10r6160: Ensure allocation size is correctly returned for OpenX. Only set ↵Jeremy Allison1-33/+35
allocation on create/truncate for nttrans. Jeremy. (This used to be commit fb05ac4c03eec21f3f18668610022ebfa6d6bf4a)
2007-10-10r6146: Added OS/2 EA support in trans2_open and trans2_mkdir. Fixed in ↵Jeremy Allison1-24/+36
nttrans_create. Jeremy. (This used to be commit 989fcb4c084c63f1e3b114af68ef5bc0a2fbc09e)
2007-10-10r6141: Fix OS/2 EA's for NTcreate. OpenX and mkdir to follow.Jeremy Allison1-4/+90
Jeremy. (This used to be commit 106f91ff65acd23a7dda4d0ec89ae41ecb28153e)
2007-10-10r6124: Fix for bug #2242 from Tom Lackemann <cessnatomny@yahoo.com> - don'tJeremy Allison1-7/+20
set SD on an NTtransact create unless we created the file. Jeremy. (This used to be commit b42eaf424e34544fae3f0fc473694e61dda2a11c)
2007-10-10r6014: rather large change set....Gerald Carter1-0/+2
pulling back all recent rpc changes from trunk into 3.0. I've tested a compile and so don't think I've missed any files. But if so, just mail me and I'll clean backup in a couple of hours. Changes include \winreg, \eventlog, \svcctl, and general parse_misc.c updates. I am planning on bracketing the event code with an #ifdef ENABLE_EVENTLOG until I finish merging Marcin's changes (very soon). (This used to be commit 4e0ac63c36527cd8c52ef720cae17e84f67e7221)
2007-10-10r5893: Get us to pass some of the Samba4 EA tests. EA_LIST seems to beJeremy Allison1-0/+5
working - need to valgrind it to be sure. Jeremy. (This used to be commit 8b2b652c0a47298cd188c67d256dfdffe01a951d)
2007-10-10r5720: Attempt to fix bug #2382 (Excel shared workbook stops working). AlsoJeremy Allison1-1/+1
incorporates part of the fix created by ke_miyata@itg.hitachi.co.jp for bug #2045 (MS-Office behavior of timestamp). Jeremy. (This used to be commit 4f3b12ac73487f4ccb37c17506af1abf5acc80cd)
2007-10-10r5637: Actually test and fix the crash bugs (sorry:-).Jeremy Allison1-2/+2
Jeremy. (This used to be commit 4348ca48549ded8c056877befa216f0e768cb2c1)
2007-10-10r5636: Re-add the allocation size - parameterized by share asJeremy Allison1-4/+4
"allocation roundup size", by default set as 1Mb. From advice by BlueArc about Windows client behaviour. VC++ people can set this to zero to turn it off. Jeremy. (This used to be commit 833ca101772bfab65dbd79eb64f63464177f144e)