summaryrefslogtreecommitdiff
path: root/source3
AgeCommit message (Collapse)AuthorFilesLines
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: Add the OneFS SMB_VFS_CREATE_FILE implementationTim Prouty6-711/+1162
This is the first pass at extending the onefs vfs module to support the CIFS-specific enhancements available on OneFS. Most of this patch is massaging the sama open path to work with ifs_createfile. ifs_createfile is a CIFS-specific syscall for opening/files and directories. It adds support for: - Full in-kernel access checks using a windows access_mask - Cluster-coherent share mode locks - Cluster-coherent oplocks - Streams - Setting security descriptors at create time - Setting dos_attributes at create time This patch does not implement the samba side of the streams support or oplocks support. Tests that expect oplocks to be granted or streams to be supported will fail. This will be remedied in upcoming patches.
2008-12-09s3: Add onefs_open.c with code copied verbatim from smbd/open.cTim Prouty1-0/+2028
This is an intermediate step that makes it much easier to see how the OneFS SMB_VFS_CREATE_FILE implementation diverges from stock samba. The goal is that more common code can be refactored into utility functions.
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).
2008-12-09s3: Refactor calculating path from relative_fid into a separate functionTim Prouty2-78/+100
2008-12-09s3: Refactor getting sec_info from a security_descriptor into separate functionTim Prouty3-13/+30
2008-12-09s3: Make a few open utility functions non-staticTim Prouty3-17/+49
This allows vfs modules that implement SMB_VFS_CREATE_FILE to access some of the useful utility functions.
2008-12-09Fix bug #5688 LPQ process is orphaned if socket address parameter is invalidSATOH Fumiyasu1-6/+33
2008-12-09s3-ldapsam: Fix Bug 5957: do not abort rename process on valid rename script.Günther Deschner1-1/+1
Guenther (cherry picked from commit 26139344fd0fac4fdd2a6752628b252fbd9b7450) (cherry picked from commit 866efa63a26f75bbf17cd4bebf639594e2feafba)
2008-12-09s3-libnet: fix build warning (missing prototype).Günther Deschner1-2/+2
Guenther
2008-12-09s3-samr: a level 18 password set needs to set the pwdlastset as well.Günther Deschner1-0/+4
Guenther
2008-12-09s3-srvsvc: fix build warning.Günther Deschner1-2/+2
Guenther
2008-12-08s3: Add support for access based share enumerationTodd Stecher3-19/+53
2008-12-08Fix bug #5953 - smbclient crashes: cli_list_new segmentation fault.Jeremy Allison1-1/+1
Jeremy.
2008-12-08Add wb_trans_send/revcVolker Lendecke2-33/+166
2008-12-08Add infrastructure to transfer winbindd_request/response asynchronouslyVolker Lendecke3-0/+583
2008-12-08Simplify async programming a bit with helper routinesVolker Lendecke7-31/+43
Introduce async_req_is_error() and async_req_simple_recv()
2008-12-08Streamline the async_sock API a bitVolker Lendecke2-42/+49
2008-12-08Add a "bytes_padding" parameter to smb_splice_chainVolker Lendecke2-12/+29
For example open&x and write&x needs the bytes to be aligned relative to the SMB header. In particular for write&x we should not have to move stuff around.
2008-12-08Factor out smb_splice_chain(), to be used by chain_reply() in smbdVolker Lendecke2-46/+101
2008-12-07Replace some pointless variables in reply_open_pipe_and_X by commentsVolker Lendecke1-12/+6
2008-12-07Fix nonempty blank linesVolker Lendecke3-44/+44
2008-12-07Slightly simplify cli_session_setup_ntlmsspVolker Lendecke1-10/+2
Remove three pointless variables
2008-12-05Fix logging to syslogDan Sledz1-1/+1
2008-12-05Fix bug #5928 - Option --version in testparm does not work.Tomasz Krasuski1-1/+1
2008-12-05Fix lp_socket_address() prototype.Jeremy Allison1-1/+1
Jeremy.
2008-12-05Fix bug #5944 - nmbd does not boot if socket adress = "" is defined in smb.confYasuma Takeda2-4/+17
2008-12-05Fix for crash bug freeing a non-malloc'ed buffer if the client sends a ↵Volker Lendecke1-0/+7
non-encrypted packet with the crypto state set.
2008-12-05s3-samr: fix samr_SetUserInfo level 18 server-side.Günther Deschner1-16/+46
Guenther
2008-12-05mount.cifs: if mount user not specified use USER environment variableSteve French1-1/+7
smbfs also would use the USER environment variable if the user was not specified on the mount command and no credential file specified, and mount.cifs man page says that we will use this environment variable (in most cases this will not cause a behavior change, because we were doing getuid of the current process which will usually be the same name). Fixes Samba bug #5934 Acked-by: Jeff Layton
2008-12-05s3-rpcclient: add setuserinfo to set passwords using level 18,21,23,24,25,26.Günther Deschner1-0/+237
Guenther
2008-12-05s3: store user session key in cli_rpc_pipe_open_noauth().Günther Deschner2-0/+8
Guenther
2008-12-05s3-samr: fix samr callers of samr_UserInfo18.Günther Deschner3-4/+9
Guenther
2008-12-05s3-samr: fix SAMR_FIELD_PASSWORD callers.Günther Deschner3-4/+4
Guenther
2008-12-05s3-samr: fix rpcclient after idl change.Günther Deschner1-3/+2
Guenther
2008-12-05s3-samr: fix init_samr_user_info2{1,3,5} callers.Günther Deschner2-7/+7
Guenther
2008-12-05s3-build: re-run make samba3-idl.Günther Deschner2-36/+36
Guenther
2008-12-05s3-rpcclient: add get_domain_handle for samr commands.Günther Deschner1-104/+64
Guenther
2008-12-04Fix bug #5937 - filenames with "*" char hide other filesJeremy Allison1-6/+4
Jeremy.
2008-12-04Fix bug #5929 - vfs_prealloc does not build with option ↵Henning Henkel1-1/+1
--with-cluster-support and GPFS
2008-12-04Fix bug #1254 - write list not working under share-level securityJeremy Allison4-41/+52
A somewhat more elegant fix than I could use for 3.2.x or 3.0.x. Turns out the only part of check_user_ok() that needs to change for share level security is the VUID cache pieces, so I can just always use check_user_ok() for all lp_security() cases. Jeremy
2008-12-04s3:winbindd: fix horrible mis-indentation of toplvl braces in ↵Michael Adam1-2/+2
getgrsid_sid2gid_recv to make code more readble Michael
2008-12-04s3:winbindd: don't open a new dc connection in winbindd_getpwnam (main winbindd)Michael Adam1-1/+1
This is just to find the corresponding domain struct. Actual connection is handled by the domain child. Michael
2008-12-04s3:winbindd: don't open a new dc connection in winbindd_getgrnam (main winbindd)Michael Adam1-1/+1
This is just to find the corresponding domain struct. Actual connection is handled by the domain child. Michael
2008-12-04s3:net: fix password set of 'net rpc trustdom add'Stefan Metzmacher1-1/+2
metze
2008-12-03s3: Fix FILE_FLAG_POSIX_SEMANTICS handling underneath SMB_VFS_CREATE_FILETim Prouty1-2/+2
2008-12-03s3: Change SMB_VFS_CREATE_FILE to take a create_file_flags argumentTim Prouty13-41/+46
This replaces the is_dos_path bool with a more future-proof argument. The next step is to plumb INTERNAL_OPEN_ONLY through this flag instead of overridding the oplock_request.
2008-12-03s3: Simplify the create_file_unix_path->open_file_ntcreate pathTim Prouty2-117/+38
Also removed open_file_ntcreate/open_file from proto.h so they can no longer be called directly.
2008-12-03s3: Modify direct caller of open_file to call SMB_VFS_CREATE_FILETim Prouty1-4/+19
2008-12-03s3: Modify direct callers of open_file_ntcreate and open_directory to call ↵Tim Prouty6-167/+330
SMB_VFS_CREATE_FILE