summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r20496: Some changes to make Samba3 the RAW-OPEN test. Checking in to both ↵Volker Lendecke2-7/+14
3_0 and 3_0_24 because I was explicitly asked to, although this needs close review. Jeremy, I'm sure you will check this thoroughly :-) In reply_open_and_X the separate "size" variable kills the calculation of the SPARSE flag returned to the client in the attrib field. In getpathinfo we do it correctly, and RAW-OPEN (correctly) complains about the difference. Add the "set the write time" to mknew and create. For trans2open we were missing the "ofun == 0" -> NT_STATUS_OBJECT_NAME_COLLISION case, and we dropped the status returned in favor of ACCESS_DENIED once too many. Last change is a fix to trans2open: We were returning the attributes given by the client, not the attributes of the new file. Volker (This used to be commit 84e6889632c7f98a7cb37036b0acdf538d50d16c)
2007-10-10r20482: Make us survive and activate RAW-CLOSEVolker Lendecke1-1/+1
(This used to be commit 471c6e6a2142afbca36163bcdbb5b6fb4e7ac774)
2007-10-10r20479: Both remaining calls of can_delete called it with ↵Volker Lendecke1-26/+19
check_is_at_open==False, remove that parameter. Volker (This used to be commit e51b7648703f3a85b840501dd4199600a5a7e44f)
2007-10-10r20478: Make us survive & activate RAW-UNLINKVolker Lendecke1-1/+1
(This used to be commit 4f0f917b344743e16e8bacf4e72529a2890590fe)
2007-10-10r20470: Jeremy, another one to check:Volker Lendecke2-23/+20
The only error path of can_delete() that we're interested in ntcreate&x is the one of can_delete_file_in_directory(), so call that directly. The only other one where we might get a NT_STATUS_ACCESS_DENIED is from the lstat in can_delete, but this is covered later in the open_directory and open_file_ntcreate calls. open_directory does a stat() in the open case which also covers the (potential) symlink, and open_file_ntcreate does the open(2) itself, so this should also work. This makes can_delete() static to reply.c. Volker (This used to be commit d289037fdbc8bd3e0723784888946d5b39ffadef)
2007-10-10r20465: Get rid of a redundant !NT_STATUS_IS_OK(status)Volker Lendecke1-4/+4
(This used to be commit ff173995cfeac216ab26faef6553be8f7f439347)
2007-10-10r20454: Get rid of a bogus variable that was only assigned but never read.Volker Lendecke1-4/+0
Jeremy, please check this. Thanks, Volker (This used to be commit 2becbb9e5f7d1b04962178e6f0c97c3ccf2b0f88)
2007-10-10r20451: Survive the first of the filter-tests (mkdir).Volker Lendecke4-24/+40
Add lots of TODOs :-) Volker (This used to be commit 0e953884a15873b0962ab1ab064d6b3a436726c0)
2007-10-10r20443: Fix a compiler warningVolker Lendecke1-1/+2
(This used to be commit 19781d71fc5a8146109395cd53c04cf13cc48652)
2007-10-10r20442: Slight rewrite of the change notify infrastructure. This now ↵Volker Lendecke5-106/+210
survives the first of the raw-notify subtests, the one-level test_notify_dir without any flags around yet. The tricky part was getting the data structures right, I hope the next tests don't let that fall over. fsp->notify is now by default NULL, meaning that nobody has issued a changenotify call. This means nobody is interested in changes for this directory. If that has happened, notify_change_buf collects the changes if no current request is outstanding, and it collects the requests if no change has happened since the last request. Happy New Year, somewhere on this planet it's already 2007 :-) Volker P.S: Jeremy, there's a question for you in smbd/files.c line 367. (This used to be commit ce0ad24988075465addcac0b9afc872e909135af)
2007-10-10r20434: Revert an accidential commitVolker Lendecke1-3/+0
(This used to be commit fe122b07fa1712c15067ed385d4408206e9beef4)
2007-10-10r20433: Work in progress: Survive more of RAW-NOTIFY.Volker Lendecke5-43/+126
call_nt_transact_notify_change() is now sync if there are changes around. A notify_message does a direct reply from within the message, so process_pending_change_notify_queue is not needed anymore for samba-generated events. Next step is to restructure the kernel-mechanisms to generate messages. Volker (This used to be commit c813f71d0036ec52c99a97e60fe33ee47d0635fa)
2007-10-10r20432: Apply some constVolker Lendecke1-1/+1
(This used to be commit 22163fee595251d4ea92279d88a1e8525188c620)
2007-10-10r20424: No, we do not have to do that here :-)Volker Lendecke1-13/+1
(This used to be commit 49a463a97a4f800977ed3a657714e7f3b17bbf21)
2007-10-10r20412: Placeholder to remind me to write a torture testJeremy Allison1-0/+7
for this error code. Jeremy. (This used to be commit 71b868611671a6c9275fce153794a0ccc150551f)
2007-10-10r20411: Fix originally from SATOH Fumiyasu (slightlyJeremy Allison1-0/+12
modified). Ensure "hide unXXX" parameters don't hide MSDFS links. Bug #3319. Jeremy. (This used to be commit e5466fffc286a99fafe0fcfbf70e903e33baa7f9)
2007-10-10r20394: This is a *VERY* early start of my work on notify.Volker Lendecke5-25/+351
Checking in because Jeremy was bugging me. Potentially this becomes quite intrusive, I'm not sure if I should open a temporary branch for this. Jeremy, Jerry, do you think 3_0 is the right place for this? Volker (This used to be commit bcf5c751cbe203c00814642e26440cf88f300bce)
2007-10-10r20393: Debug level 1 is a bit excessive hereVolker Lendecke1-1/+1
(This used to be commit 48798b5e57fcb2ee7debfe9d5178adef37907f92)
2007-10-10r20372: Make NTrename the same as SMBmv w.r.t. wildcards.Jeremy Allison1-6/+12
Jeremy. (This used to be commit b8d5faac69f3a0c2620a34f9026b4018ebd48bb8)
2007-10-10r20371: In renames (via SMBmv) both src and dest can containJeremy Allison1-4/+5
wcards. I had forgotten this and had refused to allow dest to contain wcards. We now pass all the normal Samba4 smbtorture RAW-RENAME tests. Jeremy (This used to be commit 4183c1b49fd5a6107aa87249b7be236af092ed8b)
2007-10-10r20370: Now we've gone to the trouble of getting an NT statusJeremy Allison1-1/+1
from open_file_ntcreate make sure we return it on rename error. Jeremy. (This used to be commit 633f02fb860223585f388e64c1a2d770db52d4f0)
2007-10-10r20368: Fix valgrind report of uninitialized memoryJeremy Allison1-1/+12
being returned (false positive). Up debug level on "open_directory" message. Jeremy. (This used to be commit 71a8b8863f8bdcce082c5971d6489a2da3ff4b2c)
2007-10-10r20363: Fix any possible valgrind errors in srvstr_get_XX or srvstr_pull_XXJeremy Allison2-18/+31
by ensuring we pass in a valid src_len (or zero when appropriate). Volker is correct in that this is a *horrible* interface and he is now free to generally clean it up everywhere :-). Go for it Volker ! Jeremy. (This used to be commit cd991fb839994dd29dc790b655f5597fa1e12843)
2007-10-10r20362: Fix valgrind issues where we may read paramsJeremy Allison1-17/+41
before checking length. Found by Volker. Jeremy. (This used to be commit 683c5fce6896236a60145f6d3970566503c39163)
2007-10-10r20356: Consolidate the calls to parent_dirname() per open to one.Volker Lendecke5-56/+80
This involved passing the dirname as argument to a few routines instead of calling parent_dirname() deep down. Volker (This used to be commit 7977fd78652897bb7d4db1c21c5749043428f911)
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-10r20344: Move the calls to inherit_access_acls and change_owner_to_parent ↵Volker Lendecke1-14/+16
together. Jeremy, I'm 100% sure you watch me closely here, I count on you :-) Volker (This used to be commit 02f85265f21607c950639da33bc8fe5d5ffd3cf9)
2007-10-10r20343: Split change_owner_to_parent fd-based (for file opens) and a ↵Volker Lendecke1-73/+83
name-based (for directory opens) routines. Volker (This used to be commit 4ca921d9aa90bc68d21d40ccf4b1ca0b1d2cbcb1)
2007-10-10r20342: Move the lstat into mkdir_internal, for the FILE_OPEN case in ↵Volker Lendecke1-18/+30
open_directory we want to follow symlinks. Volker (This used to be commit c20bdd219d16abcc60d67f4a21b4fcd661473835)
2007-10-10r20340: Join vfs_MkDir to its only callerVolker Lendecke2-38/+25
(This used to be commit cce911780fc52ea56dccde1879b0891cdf9ea320)
2007-10-10r20339: Make mkdir_internal static to open.cVolker Lendecke2-51/+49
(This used to be commit 6dd0886b49969d0edfe16861f19d35275217b2af)
2007-10-10r20338: Restructure open_directory a bit. This gets rid of a race condition ↵Volker Lendecke3-54/+47
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-10r20336: Fix some memleaks in trans2open and simplify trans2mkdir a bit: We ↵Volker Lendecke1-21/+5
now have tmp_talloc_ctx(). Volker (This used to be commit 165d28f03a82a1a07d0f86c0d5de4a785ea5c7f0)
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-10r20313: Make trans2_mkdir also go through open_directory for all the fancy ↵Volker Lendecke1-10/+18
inherit_acl stuff & friends. Survives raw-mkdir. I'll activate that tomorrow when all build farm machines have picked up the changed samba4 torture test. Volker (This used to be commit 37e7a3f35f48f5689591c75d41d32c43d3b9b853)
2007-10-10r20312: Fix a memleakVolker Lendecke1-1/+1
(This used to be commit 20d3bc3549ef89a6405e186b87b50027d2321ac0)
2007-10-10r20310: We've checked for EA's and support for them further up already.Volker Lendecke1-1/+1
Volker (This used to be commit 9c00ce0bbc809903b5516ef9ea62db13233ea2d4)
2007-10-10r20264: Two lines above this we just checked if (fsp->is_directory) ...Volker Lendecke1-1/+1
(This used to be commit 88ab54b3b7ec6c0ac1958fca435880e29eeefd69)
2007-10-10r20257: Hey, change_owner_to_parent is now static :-)Volker Lendecke1-4/+4
(This used to be commit 4090bc4bca77edafcafa52ecb7dc75ead2779cb5)
2007-10-10r20253: Reduce some code duplication, make reply_mkdir go through the same ↵Volker Lendecke1-25/+10
code paths ncreate does. This is a bit slower (about 10-20%), because it goes touches the share mode db, but I think not having to call change_owner_to_parent and friends in fewer places outweighs this. And, mkdir is not the way current Windows boxes create directories, they do it via the ncreate call. Volker (This used to be commit ddae494fbe36e4a74776f71c212b00cce61fbf81)
2007-10-10r20237: Replace exit_server with exit_server_cleanly where appropriate. AllJames Peach9-35/+36
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-10r20229: Avoid a silly function call in mkdir_internal. None of the callers ↵Volker Lendecke1-2/+1
look at errno, all go straight to ERROR_NT(status). Volker (This used to be commit 9d8b48c0ef0af5792b879565915832ee141c853c)
2007-10-10r20228: Bring the calling conventions of inherit_access_acl and ↵Volker Lendecke4-6/+13
change_owner_to_parent a bit closer together: Move the lp_inherit_perms() check into the callers. Volker (This used to be commit 0874093e5fff480d8ec442072318525079add633)
2007-10-10r20227: Simplify logic in vfs_MkDir() a bitVolker Lendecke1-11/+15
(This used to be commit b24cf79e9ec914ac33f1a20524e5ffa7fe1cba5e)
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 Allison4-3/+14
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-10r20131: get rid of a few no previous prototype warningsHerb Lewis2-1/+2
(This used to be commit e710a7d39a662a1a339f3f71c4b051fde1bb5a16)
2007-10-10r20124: clean up nested extern declaration warningsHerb Lewis3-8/+8
(This used to be commit ac3eb7813e33b9a2e78c9158433f7ed62c3b62bb)
2007-10-10r20098: Properly fix issues with create_token_from_username()Jeremy Allison2-42/+17
reported by James. Ensure that this function allocates everything on the temporary context except the return memory. Never call this with a null mem context, and now use conn->mem_ctx instead in smbd/service.c. Remove separate free functions for conn->ngroups and conn->nt_user_token as they are now always talloc'ed off the conn->mem_ctx. Future optimization will be to remove conn->mem_ctx and make all objects pointed to in the conn struct talloc'ed off conn itself. Easy to free then :-). Jeremy. (This used to be commit f83b6de44f1058811ff94ac72a8a71bd8e49e4e8)
2007-10-10r20097: Ensure found_username is freed correctly whenJeremy Allison1-2/+7
talloced on the null context. Jeremy. (This used to be commit 2c59c4dddceb9cb12848d7ee48257c5e93ea2667)