summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
AgeCommit message (Collapse)AuthorFilesLines
2009-08-24Second attempt at fix for bug 6529 - Offline files conflict with Vista and ↵Jeremy Allison1-3/+4
Office 2003. Confirmation from reporter that this fixes the issue in master on ext3/ext4. Back-ports to follow. Jeremy.
2009-08-21Fix bug 6529 - Offline files conflict with Vista and Office 2003Jeremy Allison1-0/+3
On filesystems that can't store less than one second timestamps, round the incoming timestamp set requests so the client can't discover that a time set request has been truncated by the filesystem. Needs backporting to 3.4, 3.3, 3.2 and (even) 3.0. Jeremy
2009-08-21Add missing CreateFile flags to smb.hSteve French1-1/+12
2009-08-19s3:smbd: store a dirptr on the files_struct for SMB2 Query DirectoryStefan Metzmacher1-0/+2
metze
2009-08-12Add "store create time" parameter (docs to follow)Jeremy Allison1-0/+2
that stores the create time in the user.DosTimestamps EA. Jeremy.
2009-08-12s3: refomat definitions of some generic access rights for better readabilityMichael Adam1-8/+19
Michael
2009-08-07s3:smbd: remove dirptr and dirpath from connection_structStefan Metzmacher1-2/+0
They're both only used in the context of a function, so we can make them stack variables. metze
2009-08-07s3:smbd: add a smbd_server_connection pointer to connection_structStefan Metzmacher1-0/+1
This can be NULL for faked connection structs used in the rpc server or printing code. metze
2009-07-31Rename LOOKUP_NAME_EXPLICIT to LOOKUP_NAME_NO_NSSVolker Lendecke1-3/+2
It took me a bit to understand what this flag does. I hope this is a bit clearer, at least it is to me.
2009-07-30Remove the extraneous logic in smb_set_info_standard - weJeremy Allison1-0/+1
do the time twiddling logic at the smb_set_file_time level. Jeremy.
2009-07-27Fix a valgrind error in chain_replyVolker Lendecke1-0/+2
construct_reply() references the request after chain_reply has freed it.
2009-07-24s3: Convert a few callers of unix_convert() over to filename_convert()Tim Prouty1-1/+2
This patch also changes the unix convert flags to make sure the correct semantics are preservered for allowing/disallowing wildcards in the last component of the path.
2009-07-24Make the smbd VFS typesafeVolker Lendecke1-2/+0
2009-07-20s3: Change fsp->fsp_name to be an smb_filename struct!Tim Prouty1-1/+1
2009-07-14Revert this commit :Jeremy Allison1-6/+0
s3: Make smbd aware of permission change of usershare. Since usershare are relatively volatile and non-previledge users must disconnect from smbd and reconnect to it to make share permission in effect. For now. This is a feature request and I think we need to design it a little differently so as not to touch core change_to_user() code. Jeremy.
2009-07-15s3: Make smbd aware of permission change of usershare. Since usershare are ↵Bo Yang1-0/+6
relatively volatile and non-previledge users must disconnect from smbd and reconnect to it to make share permission in effect.
2009-07-14s3-account_policy: add pdb_policy_type enum.Günther Deschner1-14/+0
Guenther
2009-07-08s3: Change the share_mode_lock struct to store a base_name and stream_nameTim Prouty1-1/+2
2009-06-22s3: forward MSG_DEBUG from smbd parent to all childrenAravind Srinivasan1-0/+6
Before 3.3, an smbcontrol debug message sent to the target "smbd" would actually be sent to all running processes including nmbd and winbindd. This behavior was changed in 3.3 so that the "smbd" target would only send a message to the process found in smbd.pid, while the "all" target would send a message to all processes. The ability to set the debug level of all processes within a single daemon, without specifying each pid is quite useful. This was implemented in winbindd in 065760ed. This patch does the same thing for smbd. Upon receiving a MSG_DEBUG the parent smbd will rebroadcast it to all of its children. The printing process has been added to the list of smbd child processes, and we now always track the number of smbd children regardless of the "max smbd processes" setting.
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.