summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
AgeCommit message (Collapse)AuthorFilesLines
2009-06-10s3: Remove the now unused CFF_DOS_PATH flagTim Prouty1-5/+0
All paths are now unix paths, making this flag useless. This flags argument is now unused and can be safely removed.
2009-06-03s3:smbd: move pending_auth_data list to struct smbd_server_connectionStefan Metzmacher1-9/+0
metze
2009-05-20s3: Change unix_convert (and its callers) to use struct smb_filenameTim Prouty1-0/+16
This is the first of a series of patches that change path based operations to operate on a struct smb_filename instead of a char *. This same concept already exists in source4. My goals for this series of patches are to eventually: 1) Solve the stream vs. posix filename that contains a colon ambiguity that currently exists. 2) Make unix_convert the only function that parses the stream name. 3) Clean up the unix_convert API. 4) Change all path based vfs operation to take a struct smb_filename. 5) Make is_ntfs_stream_name() a constant operation that can simply check the state of struct smb_filename rather than re-parse the filename. 6) Eliminate the need for split_ntfs_stream_name() to exist. My strategy is to start from the inside at unix_convert() and work my way out through the vfs layer, call by call. This first patch does just that, by changing unix_convert and all of its callers to operate on struct smb_filename. Since this is such a large change, I plan on pushing the patches in phases, where each phase keeps full compatibility and passes make test. The API of unix_convert has been simplified from: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, bool allow_wcard_last_component, char **pp_conv_path, char **pp_saved_last_component, SMB_STRUCT_STAT *pst) to: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, struct smb_filename *smb_fname, uint32_t ucf_flags) Currently the smb_filename struct looks like: struct smb_filename { char *base_name; char *stream_name; char *original_lcomp; SMB_STRUCT_STAT st; }; One key point here is the decision to break up the base_name and stream_name. I have introduced a helper function called get_full_smb_filename() that takes an smb_filename struct and allocates the full_name. I changed the callers of unix_convert() to subsequently call get_full_smb_filename() for the time being, but I plan to eventually eliminate get_full_smb_filename().
2009-05-20s3:param: add PROTOCOL_SMB2Stefan Metzmacher1-1/+9
metze
2009-05-15s3:param: prevent includes from being dumped in dump_*() functions.Michael Adam1-0/+1
This fixes bug #4271: testparm should not print includes. Michael
2009-05-13Remove an unused struct definitionVolker Lendecke1-6/+0
2009-05-01Add fncall_send/recvVolker Lendecke1-0/+1
2009-03-24s3: use generated dcerpc code.Günther Deschner1-0/+2
Guenther
2009-03-23s3:libsmb: use new simplified smb_signing code for the client sideStefan Metzmacher1-15/+0
We store the seqnum/mid mapping in the cli_request structure for async requests and in the cli_state structure for sync calls. We skip the signing check for oplock requests while waiting for async requests coming in. metze
2009-03-23s3:smbd: use new simplified snb_signing code in the serverStefan Metzmacher1-0/+2
We keep the seqnum/mid mapping in the smb_request structure. This also moves one global variable into the smbd_server_connection struct. metze
2009-03-13Remove pwd_cache.c, it was doing nothing. Make user_name, domain, andJeremy Allison1-7/+0
password talloc'ed strings within the cli_struct. Jeremy.
2009-03-03Fix bug #6155 - "force group" is no longer working as expected.Jeremy Allison1-0/+6
We need to store the "force group" uid separately from the conn->server_info token as we need to apply it separately also. Volker PLEASE CHECK ! Jeremy.
2009-03-01Use shared header file for character sets, remove old definitions from ↵Jelmer Vernooij1-16/+0
samba3 smb.h.
2009-03-01Merge branch 'master' of git://git.samba.org/samba into convenienceJelmer Vernooij1-0/+16
2009-03-01Use common header file for character set handling in Samba 3 and Samba 4.Jelmer Vernooij1-2/+0
2009-03-01Also re-add removed codepoint_t; I'm clearly not having my day today.Jelmer Vernooij1-0/+16
2009-03-01Sync smb_iconv_t type, convert_string return type with Samba 3 equivalents.Jelmer Vernooij1-16/+0
2009-02-19s3: Remove unused inform_level2_message structTim Prouty1-8/+0
2009-02-19s3: Add extid to the dev/inode pairTim Prouty1-22/+26
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.
2009-02-09s3 oplocks: Add capabilites flags field to the kernel_oplocks structTim Prouty1-0/+17
Here is a short description for each of the new capability flags: KOPLOCKS_LEVEL2_SUPPORTED: Level 2 oplocks are supported natively in the kernel. KOPLOCKS_DEFERRED_OPEN_NOTIFICATION: The kernel notifies deferred openers when they can retry the open. KOPLOCKS_TIMEOUT_NOTIFICATION: The kernel notifies smbds when an oplock break times out. KOPLOCKS_OPLOCK_BROKEN_NOTIFICATION: The kernel notifies smbds when an oplock is broken.
2009-02-09s3 oplocks: Make the level2 oplock contention API more granularTim Prouty1-0/+14
This replaces release_level2_oplocks_on_change with contend_level2_oplock_begin/end in order to contend level2 oplocks throughout an operation rather than just at the begining. This is necessary for some kernel oplock implementations, and also lays the groundwork for better correctness in Samba's standard level2 oplock handling. The next step for non-kernel oplocks is to add additional state to the share mode lock struct that prevents any new opens from granting oplocks while a contending operation is in progress. All operations that contend level 2 oplocks are now correctly spanned except for aio and synchronous writes. The two write paths both have non-trivial error paths that need extra care to get right. RAW-OPLOCK and the rest of 'make test' are still passing with this change.
2009-02-09s3 oplocks: Differentiate between releasing an oplock vs. downgrading to ↵Tim Prouty1-1/+1
Level 2 for kernel oplocks Pass in an extra argument when releasing an oplock so kernel oplock implementations can support downgrading from Level 1 to Level 2.
2009-02-09s3 vfs: Add a destructor to the fsp extension data APITim Prouty1-1/+3
I'm not certain if the dummy pointer is needed in struct vfs_fsp_data, but I added it to be consistent with the comment below.
2009-02-09S3: New module interface for SMB message statistics gatheringtodd stecher1-0/+3
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.
2009-02-06s3-spoolss: prepare to use generated spoolss.Günther Deschner1-0/+1
Guenther
2009-02-02Fix bug #6082 - smbd_gpfs_getacl failed: Windows client can´t rename or ↵Jeremy Allison1-1/+1
delete file This fixes the generic rename/delete problem for 3.3.0 and above. Fixed slightly differently to discussions, user viewable modified ACLs are not a good idea :-). Jeremy.
2009-01-31Convert api_rpc_trans_reply to async np_*Volker Lendecke1-0/+16
2009-01-31Remove the global variable "chain_size"Volker Lendecke1-5/+0
2009-01-30Add the "SMBD" rpc transportVolker Lendecke1-0/+1
The idea of this is that all client utils like smbpasswd and also for example "net join" do not access our internal databases like passdb and secrets.tdb directly anymore but pass everything throught the well-established RPC interfaces. The way you use this is the following: With rpc_cli_smbd_conn_init() or its async variant you initialize a "struct rpc_cli_smbd_conn". This structure is the link to a freshly forked smbd, ready to be used for RPC services. You should only ever have one such structure in your program. More don't hurt, but are plainly unnecessary. If you want to use the SAMR pipe to change a passwort, you connect to that pipe with rpc_pipe_open_local. Do you normal rpccli_samr calls on that and your locally forked smbd will connect to passdb for you. GD, this might make the distinction between the _l and _r calls in libnetapi mostly unnecessary. At least it is intended to do so... :-)
2009-01-27s3:smbd: make kernel oplocks event drivenStefan Metzmacher1-2/+0
And use signal events for Linux oplocks. metze
2009-01-23Extend NTIMES to allow setting create_timetodd stecher1-0/+7
1) Add in smb_file_time struct to clarify code and make room for createtime. 2) Get and set create time from SMB messages. 3) Fixup existing VFS modules + examples Some OS'es allow for the setting of the birthtime through kernel interfaces. This value is generically used for Windows createtime, but is not settable in the code today.
2009-01-22s3:smbd: restructure kernel oplocks codeStefan Metzmacher1-6/+13
This converts the irix oplocks code to use a fd event and removes the last special case for file descriptors for the main sys_select(). metze
2009-01-20"userdom_struct" does not need "full_name" anymore -- unusedVolker Lendecke1-1/+0
2009-01-16Add a new implementation of chain_replyVolker Lendecke1-0/+9
This the global variable "orig_inbuf" in the old chain_reply code. This global variable was one of the reasons why we had the silly restriction to not allow async requests within a request chain.
2009-01-09s3:smbd: handle incoming smb requests via event handlersStefan Metzmacher1-1/+1
We use a fd event and receive incoming smb requests when the fd becomes readable. It's not completely nonblocking yet, but it should behave like the old code. We use timed events to trigger retries for deferred open calls. metze
2009-01-05s3:events: move prototypes to event.hStefan Metzmacher1-3/+0
metze
2009-01-04async libwbclient infrastructureVolker Lendecke1-0/+1
2009-01-02Happy New Year!Stefan Metzmacher1-1/+1
metze
2008-12-17s3/smb.h: Remove unused LDAP_SSL_ON.Karolin Seeger1-1/+1
LDAP_SSL_ON is not defined at all. Ldaps can be used by specifying an ldaps URL using the "passdb backend" parameter. Karolin
2008-12-12Move dom_sid to the Samba 3 IDL file, remove the old definition.Jelmer Vernooij1-12/+1
2008-12-09s3: [3/3]: Fix a delete on close divergence from windows and the associated ↵Tim Prouty1-1/+0
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-03s3: Change SMB_VFS_CREATE_FILE to take a create_file_flags argumentTim Prouty1-0/+5
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-11-02Remove some inbuf references by adding "cmd" to smb_requestVolker Lendecke1-0/+1
2008-11-02Remove a bunch of direct inbuf references by adding "vwv" to smb_requestVolker Lendecke1-0/+1
2008-11-01Remove a bunch of direct inbuf references by adding "buf" to smb_requestVolker Lendecke1-0/+1
2008-11-01Add a "buflen" struct member to smb_requestVolker Lendecke1-0/+1
This removes some explicit inbuf references and also removes a pointless check in reply_echo. The buflen can never be more than 64k, this is just a 16 bit value.
2008-10-31Get closer to passing S4 RAW-ACLs.Jeremy Allison1-1/+1
Jeremy.
2008-10-23Use common error definitions.Jelmer Vernooij1-1/+1
2008-10-14Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij1-6/+6
2008-10-13Remove the chain_fsp globalVolker Lendecke1-0/+1