summaryrefslogtreecommitdiffstats
path: root/source3/smbd/nttrans.c
Commit message (Collapse)AuthorAgeFilesLines
* Ensure we never enter VFS_CREATE without having initializedJeremy Allison2009-04-151-0/+4
| | | | | | | | sbuf as invalid (if not already read via stat()). Still trying to find the build farm RAW-STREAM errors and it's happening in a openX call.... Jeremy. (cherry picked from commit 940c84fcc75085ee4f1180d4d2a8e718142e4eb6)
* s3:signing: the seqnum should only be decremented by 1 for ntcancel requestsStefan Metzmacher2009-03-061-1/+1
| | | | | | | | | [MS-SMB] 3.3.5.1 Receiving Any Message says that the seqnum is incremented by only for ntcancel requests for any other request it's by incremented by 2, even if it doesn't expect a response. metze
* s3: Add extid to the dev/inode pairTim Prouty2009-02-191-0/+2
| | | | | | | | | | | This extends the file_id struct to add an additional generic uint64_t field: extid. For backwards compatibility with dev/inodes stored in xattr_tdbs and acl_tdbs, the ext id is ignored for these databases. This patch should cause no functional change on systems that don't use SMB_VFS_FILE_ID_CREATE to set the extid. Existing code that uses the smb_share_mode library will need to be updated to be compatibile with the new extid.
* S3: New module interface for SMB message statistics gatheringtodd stecher2009-02-091-1/+7
| | | | | | | This changelist allows for the addition of custom performance monitoring modules through smb.conf. Entrypoints in the main message processing code have been added to capture the command, subop, ioctl, identity and message size statistics.
* s3: Add a new SMB_VFS_GET_ALLOC_SIZE vfs operationTim Prouty2009-01-291-2/+2
| | | | | This allows module implementors to customize what allocation size is returned to the client.
* Remove some smb fsp knowledge from rpc_server/Volker Lendecke2009-01-201-1/+1
| | | | np_open/read/write don't have to know about files_struct
* s3: Differentiate between posix files with colons and actual streamsTim Prouty2009-01-111-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible for a posix file created locally or over nfs to have a ":" in the name. Since ":" is a reserved character in windows, filenames containing a colon must be mangled in a directory listing. Right now files containing colons will not even be displayed in directory listings if streams modules are in use. During the directory listing the file will be detected as a stream because of the colon, but the streams module will fail to find the stream since it doesn't exist. This fix adds a step to is_ntfs_stream_name that stats the filename to differentiate between actual streams and files containing colons. While this is an improvement, it isn't perfect. Consider the case where there is a file on disk called "a.txt:s1" and also a file called "a.txt" that has a stream called "s1". This patch will always preference "a.txt:s1" over a.txt's s1 stream. The real issue is that at the vfs level, the vfs modules have no way to tell between a demangled name with a colon and an actual stream. A more invasive, but better, long-term fix would be to add all paths that come over the wire into a struct containing metadata about the path. This metadata could include a flag to indicate whether the path came over the wire with a colon ":" (guaranteeing that the client is requesting a stream). Passing this struct down to the lower levels, including all path-based vfs calls, would allow the above case to be handled correctly in all cases.
* s3:smbd: move all globals and static variables in globals.[ch]Stefan Metzmacher2009-01-081-4/+3
| | | | | | The goal is to move all this variables into a big context structure. metze
* Fix call to ndr_size_dom_sid, missing parameter.Jeremy Allison2009-01-051-1/+1
| | | | Jeremy.
* Merge branch 'master' of ssh://git.samba.org/data/git/sambaJelmer Vernooij2009-01-051-7/+7
|\
| * s3: Allow renames of streams via NTRENAME and fix stream error codes on renameTim Prouty2009-01-041-7/+7
| | | | | | | | The test_streams_rename2 test in RAW-STREAMS verifies these changes
* | Add iconv_convenience argument to size functions.Jelmer Vernooij2009-01-011-1/+1
|/
* Rename parent_dirname_talloc() to parent_dirname()Volker Lendecke2008-12-311-1/+1
|
* Use parent_dirname_talloc instead of parent_dirname in copy_internalsVolker Lendecke2008-12-311-2/+6
|
* s3: Change SMB_VFS_CREATE_FILE to take a create_file_flags argumentTim Prouty2008-12-031-4/+4
| | | | | | 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.
* s3: Modify direct callers of open_file_ntcreate and open_directory to call ↵Tim Prouty2008-12-031-16/+38
| | | | SMB_VFS_CREATE_FILE
* s3: Add new "is_dos_path" argument to SMB_VFS_CREATE_FILETim Prouty2008-12-031-0/+2
| | | | | Now unix paths can be differentiated from windows paths so the underlying create_file implementations can convert paths correctly.
* s3: Add SMB_VFS_CREATE_FILE to the vfs layerTim Prouty2008-12-031-8/+34
| | | | Modify all callers of create_file to go through SMB_VFS_CREATE_FILE
* Set PRESENT flag when returning NULL [SD]ACL like Windows does.Steven Danneman2008-11-301-1/+9
| | | | | This could also be handled inside each ACL VFS module, by setting the PRESENT flag when a NULL [SD]ACL is created.
* Remove "conn" parameter from np_open, smb_request contains itVolker Lendecke2008-11-281-1/+1
|
* Consolidate the buffer checks for the reply_trans style functionsVolker Lendecke2008-11-281-57/+18
| | | | | | | | This is the one where I found the problem that led to 3.2.5. So if there is one checkin in the last year that I would like others to review and *understand*, it is this one :-) Volker
* Remove the variable "size" from reply_nttransVolker Lendecke2008-11-281-10/+13
| | | | | | | | | | | | | This converts the range checks for the setup[] array to rely on req->wct being set correctly in init_smb_request. As that already verifies the vwv array to be in the range of the smb_request inbuf, we don't have to do overflow checks here anymore. Jeremy, please check thoroughly! :-) Thanks, Volker
* Fix the offset checks in the trans routinesVolker Lendecke2008-11-271-3/+3
| | | | | | | | | This fixes a potential crash bug, a client can make us read memory we should not read. Luckily I got the disp checks right... Volker (cherry picked from commit 64a1d80851da5b05e70ec6c96f6e9bd473748369) (cherry picked from commit f04c5650a3aeca23591ddc781c4b297caaf9bb3f)
* Fix to allow setting of NULL DACL/SACLSteven Danneman2008-11-231-11/+2
| | | | | | | | | | | This is a modification of Jeremy's 7522ef15aca2429ef57c75d8297dd8121e79c9da commit. If no DACL/SACL is present in the packet, the SEC_INFO field should still be passed down as is to the VFS layer to signal the creation of a NULL DACL/SACL. As seen in metze RAW-ACL test_nttrans_create_null_dacl(), a NULL DACL is set regardless of the SEC_DESC_DACL_PRESENT bit being set.
* Fix build breakTim Prouty2008-11-121-1/+1
|
* Pretty print out SD's on get/set.Jeremy Allison2008-11-121-0/+10
| | | | Jeremy.
* Do not write into inbuf for the transs requestVolker Lendecke2008-11-081-6/+5
| | | | | Instead, fix up the outbuf in send_xx_reply. In those routines, we know what we are returning.
* Remove a direct inbuf reference from reply_nttrans()Volker Lendecke2008-11-081-2/+1
|
* Converting notify.c to store a request, not an inbufVolker Lendecke2008-11-081-1/+2
|
* Final fix to make us pass NULL SD test in RAW-ACLs. Not sure if this is 100% ↵Jeremy Allison2008-11-061-0/+3
| | | | | | right. Only inheritance left to fix. Jeremy.
* Use "vwv" in trans parsingVolker Lendecke2008-11-021-35/+30
|
* Remove a bunch of direct inbuf references by adding "vwv" to smb_requestVolker Lendecke2008-11-021-2/+2
|
* Simplify params of srvstr_pull_buf_talloc()Volker Lendecke2008-11-021-2/+1
| | | | | Now that "req" is available everywhere, use it. Rename srvstr_pull_buf_talloc() to srvstr_pull_req()
* Add srvstr_get_path_req[_wcard]Volker Lendecke2008-11-021-8/+6
|
* Remove a bunch of direct inbuf references by adding "buf" to smb_requestVolker Lendecke2008-11-011-4/+4
|
* Move the is_known_pipename check into np_openVolker Lendecke2008-10-251-10/+5
|
* Fix a debug message in send_nt_replies()Volker Lendecke2008-10-221-3/+6
|
* Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij2008-10-141-25/+25
|
* Use "struct files_struct" for pipes instead of smb_np_structVolker Lendecke2008-10-131-11/+6
|
* Pass struct smb_request to file_freeVolker Lendecke2008-10-131-3/+3
| | | | on the way to get rid of chain_fsp
* Pass struct smb_request to file_fspVolker Lendecke2008-10-131-7/+7
| | | | The goal is to get rid of the chain_fsp global variable
* Fix a "nexted extern declaration" warningVolker Lendecke2008-10-111-1/+1
|
* For the vfs_acl_xattr.c module, make sure we map GENERIC file and directory bitsJeremy Allison2008-10-081-0/+5
| | | | | | | to specific bits every time a security descriptor is set. The S4 torture suite proves that generic bits are not returned when querying an ACL set using them (ie. only the specific bits are stored on disk). Jeremy.
* Add some debug to reply_nttransVolker Lendecke2008-09-091-0/+11
| | | | (This used to be commit 23e9fed28cf9998534b3c55f4b20a562da507552)
* Fix calculation of useable_space for trans2 and nttrans repliesVolker Lendecke2008-09-081-12/+10
| | | | | | | When alignment was in place, we pretended to send more data/params according to the param_offset/param_length and data_offset/data_length parameters than would actually fit into the SMB according to the NBSS length field. (This used to be commit ef3c132b8455c6fe4d0bb9f0be881040a806a4ed)
* smbd: fix the handling of create_options to pass RAW-OPENStefan Metzmacher2008-08-201-0/+12
| | | | | | | | | Some of the bits generate INVALID_PARAMETER and some bits are ignored when they come from a client, that's why we need to use bits from the ignored range for our internal usage. metze (This used to be commit 7b4c8a4e39f310eb450918fa841b0ea1b4af19f7)
* Introduce is_known_pipenameVolker Lendecke2008-07-191-35/+1
| | | | | | This scans the list of pipes registered via rpc_pipe_register_commands instead of using static tables. (This used to be commit 283e6039989adea1c8921b3600b410cb67b6492a)
* Remove current_user references from nttrans.cVolker Lendecke2008-06-191-3/+2
| | | | (This used to be commit 5f8a5e68ea166fbeda3af6e5ec381ec09d06f0f6)
* Remove current_user references from trans2.cVolker Lendecke2008-06-191-2/+2
| | | | | This involved replacing the CHECK_NTQUOTA_HANDLE_OK macro by a function. (This used to be commit 5595cdf837edb82db69a3e57bcf3108be7feeeb8)
* Remove the "current_user" arg from fsp_belongs_connVolker Lendecke2008-06-191-3/+3
| | | | | | fsp_belongs_conn only used the vuid struct member anyway, and this is available in the smb_request structure as well. (This used to be commit 64e9372ab997739d46669c0cc4a4c6edb11d5e64)