summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2009-01-08s3:smbd: make const globals in mangle_hash2.c really static constStefan Metzmacher1-2/+2
const char *foo, means a non-const pointer to a const char. const char * const foo, means a const pointer to a const char. char * const foo, would mean a const pointer to a non-const char. metze
2009-01-08s3:smbd: make globals in utmp.c static constStefan Metzmacher1-4/+4
const char *foo, means a non-const pointer to a const char. const char * const foo, means a const pointer to a const char. char * const foo, would mean a const pointer to a non-const char. metze
2009-01-08s3:smbd: it's pointless to have a global magic_charStefan Metzmacher1-4/+7
We call magic_char = lp_magicchar(p) each time it's used. metze
2009-01-08s3:smbd: remove pointless static variables in chgpasswd.cStefan Metzmacher1-9/+10
metze
2009-01-08s3:smbd: make fake_files[] static constStefan Metzmacher1-1/+1
metze
2009-01-08s3:smbd: make mangle_fns constStefan Metzmacher3-10/+10
metze
2009-01-07Fix bug #6016 - Alternate Data Streams / Extended Attributes seem to conflict.Jeremy Allison1-3/+8
Jeremy.
2009-01-06Fix bug #6017, - magic script does not work. based on a patch from ↵Jeremy Allison1-3/+13
monyo@samba.gr.jp. Jeremy.
2009-01-05Fix call to ndr_size_dom_sid, missing parameter.Jeremy Allison1-1/+1
Jeremy.
2009-01-05Merge branch 'master' of ssh://git.samba.org/data/git/sambaJelmer Vernooij6-19/+26
2009-01-05Attempt to fix the build with dnssdVolker Lendecke1-1/+0
2009-01-05s3:events: change event_add_timed() prototype to match samba4Stefan Metzmacher4-16/+21
metze
2009-01-05clean event context after child is forked.Bo Yang1-2/+5
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-01-05Merge branch 'master' of ssh://git.samba.org/data/git/sambaJelmer Vernooij3-17/+26
2009-01-05smbd: prevent access to root filesystem when connecting with empty service nameMichael Adam1-0/+4
This only applies to a setup with "registry shares = yes" Michael (cherry picked from commit 288fa94ac7cfdf7457b5098c33fc840bed3d5410) (cherry picked from commit e85526b184e66f86b7faa9d0a37288a09c12c19e)
2009-01-04s3: Allow renames of streams via NTRENAME and fix stream error codes on renameTim Prouty2-17/+22
The test_streams_rename2 test in RAW-STREAMS verifies these changes
2009-01-04Merge branch 'master' of ssh://git.samba.org/data/git/sambaJelmer Vernooij1-1/+1
2009-01-04Fix bug #6009 - Setting "min receivefile size = 1" breaks writes.Jeremy Allison1-1/+1
Jeremy.
2009-01-01Add iconv_convenience argument to size functions.Jelmer Vernooij2-1/+3
2008-12-31Replace "goto again" by "return NT_STATUS_RETRY" in receive_message_or_smbVolker Lendecke1-11/+13
This gives lower-level routines the chance to indicate a retry condition
2008-12-31Fix a "nested extern" warningVolker Lendecke1-1/+1
2008-12-31Rename parent_dirname_talloc() to parent_dirname()Volker Lendecke6-17/+8
2008-12-31Use parent_dirname_talloc instead of parent_dirname in smb_unix_mknodVolker Lendecke1-3/+7
2008-12-31Use parent_dirname_talloc instead of parent_dirname in copy_internalsVolker Lendecke1-2/+6
2008-12-31recvfile can't be used for printing so farVolker Lendecke1-0/+4
2008-12-31Fix an ancient uninitialized variable readVolker Lendecke2-2/+3
The callers of open_file_ntcreate expect *psbuf to be filled correctly
2008-12-30s3 build: Fix warningTim Prouty1-0/+2
2008-12-30s3:cluster: register the client connection via CTDB_CONTROL_TCP_ADDStefan Metzmacher1-3/+6
This means we correctly pass IPv6 addresses too. (CTDB_CONTROL_TCP_CLIENT was IPv4 only) metze
2008-12-30Second part of the bugfix for #5933Volker Lendecke1-7/+13
Incrementing the next vuid did not correctly overflow Now we survive BENCH-SESSSETUP with -o 100000. Takes a while though :-) Thanks a lot to Ofer Tal <otsmb@shmoop.org> for reporting #5933
2008-12-30First part of bugfix for #5933Volker Lendecke1-3/+0
Ofer Tal <otsmb@shmoop.org> fully correctly noted that we're incrementing num_validated_vuids twice per session setup, but decrement it only once. Looking at sesssetup.c we always call register_initial_vuid() before register_existing_vuid(), so there's no point in incrementing it in register_existing_vuid(). Jeremy, please check!
2008-12-30Move a comment to its placeVolker Lendecke1-5/+5
2008-12-30Simplify invalidate_vuid slightlyVolker Lendecke1-4/+0
get_valid_user_struct_internal() checks for UID_FIELD_INVALID itself
2008-12-30Simplify is_partial_auth_vuid slightlyVolker Lendecke1-5/+1
2008-12-30Simplify invalidate_all_vuids() slightlyVolker Lendecke1-5/+2
invalidate_vuid takes care of removing the user_struct from validated_users
2008-12-23Fix more asprintf warnings and some error path errors.Jeremy Allison2-5/+7
Jeremy.
2008-12-23s3: Fix stream marshalling to return the correct streaminfo statusTim Prouty1-10/+1
When there are enough streams on a file to fill up the max_data_count when responding to a trans2 streaminfo, samba is returning NT_STATUS_BUFFER_TOO_SMALL. Windows handles this by returning NT_STATUS_BUFFER_OVERFLOW while still sending as much of the data that it can fit into the buffer. When the windows client sees BUFFER_OVERFLOW, it retries the streaminfo with a larger buffer (2x). The windows client starts at 2K and will continue increasing the buffer size by two until it reaches 64K. If the streams don't fit in 64K the windows client seems to give up. This patch fixes marshall_stream_info to overfill the buffer by 1 stream so that send_trans2_replies can properly detect the overflow and return the correct status.
2008-12-19Fix bug #5986 - Editing a stream is broken (rename problems).Jeremy Allison2-11/+14
Jeremy.
2008-12-19Remove the direct inbuf reference from construct_reply_common()Volker Lendecke1-8/+11
2008-12-18Fix bug #5980 - Race condition when granting level2 oplocks can cause break ↵Jeremy Allison1-4/+27
notify to be missed. Jeremy.
2008-12-17Fix bug #5979 - Level 2 oplocks being granted improperly,Jeremy Allison2-70/+114
Jeremy.
2008-12-13Fix a valgrind error in get_relative_fid_filenameVolker Lendecke1-1/+1
It doesn't really make sense to check the length of a not-yet-allocated string :-) Volker
2008-12-12Fix error code when smbclient puts a file over an existing directoryVolker Lendecke1-1/+1
Windows returns NT_STATUS_FILE_IS_A_DIRECTORY, as does Samba 3.0. 3.2 and following returned NT_STATUS_INVALID_PARAMETER which is wrong. Before I converted reply_open_and_X to create_file() we called open_file_ntcreate directly. Passing through open&X for a filename that exists as a directory ends up in open_directory after having tried open_file_ntcreate. Some check in there returns NT_STATUS_INVALID_PARAMETER. With this additional FILE_NON_DIRECTORY_FILE flag we get the correct error message back from create_file_unixpath before trying open_directory(). Survives make test, but as this also touches the other open variants I would like others to review this. Volker
2008-12-12s3 sesssetup.c: Add missing line break to debug message.root1-1/+1
Karolin
2008-12-10Pass the get_real_filename operation through the VFSVolker Lendecke1-4/+1
This is done to help file systems that can tell us about the real upper/lower case combination given a case-insensitive file name. The sample I will soon push is the gpfs module (recent gpfs has a get_real_filename function), others might have a similar function to help alleviate the 1million files in a single directory problem. Jeremy, please comment! Thanks, Volker
2008-12-10Change get_real_filename() to unix syscall conventions, make it non-staticVolker Lendecke1-13/+14
It sets errno, so it might as well return 0/-1.
2008-12-10Apply some constVolker Lendecke1-2/+2
2008-12-10Rename "scan_directory" to "get_real_filename"Volker Lendecke1-12/+12
2008-12-09s3: [3/3]: Fix a delete on close divergence from windows and the associated ↵Tim Prouty2-5/+2
torture test This third patch cleans up by removing all of the code that is made obsolete by the first patch. It should cause no functional changes.
2008-12-09s3: [1/3] Fix a delete on close divergence from windows and the associated ↵Tim Prouty1-4/+2
torture test smbtorture4's BASE-DELETE:deltest17 was failing against win2k8, win2k3, and winXPsp2 but passing against samba. deltest17 does the following: 1. open file -> file is created 2. closes file 3. open file with DOC -> fnum1 4. check that DOC is not reported as being set from fnum1 5. opens file again Read Only -> fnum2 6. check that DOC is not reported as being set from either file handle 7. close fnum1 (the file handle that requested DOC to be set) 8. check if DOC is reported as being set from fnum2 * This is where windows and samba begin to diverge. Windows reports that the DOC bit is set, while samba reports that it is not set. 9. close fnum2 (the last remaining open handle for the file) 10.See if the file has been deleted. * On samba the file still exists. On windows the file was deleted. The way open_file_ntcreate is written now, if an open has the DOC bit set on the wire, DOC (fsp->initial_delete_on_close) is not set unless: a. the open creates the file, or b. there is an open file handle with a share_entry in the struct lck that has the SHARE_MODE_ALLOW_INITIAL_DELETE_ON_CLOSE bit set (let's call it SM_AIDOC). My understanding of SM_AIDOC is that it was added to differentiate between DOC being set on an open that creates a file vs an open that opens an existing. As described in step 8/10 above, it appears that windows does not make this differentiation. To resolve this issue there are three patches. This first patch is a simple proof of concept change that is sufficient to fix the bug. It removes the differentiation in open_file_ntcreate, and updates deltest17 to allow it to pass against win2k3/xp. This makes open_file_ntcreate more closely match the semantics in open_directory and rename_internals_fsp. This change also does not break any other tests in BASE-DELETE or "make test". Specifically test deltest20b which verifies the CIFSFS rename DOC semantics still passes :).
2008-12-09s3: Call fd_close from close_directoryTim Prouty1-0/+7
Some implementations of SMB_VFS_CREATE_FILE implementations actually keep an fd open for directories just as files. In this case it is necessary to call fd_close when closing directories. This is safe because fd_close is a no-op when fd == -1, which is true for directory opens originating from open.c (the default SMB_VFS_CREATE_FILE implementation).