summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
AgeCommit message (Collapse)AuthorFilesLines
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
2008-10-12Share data_blob implementation.Jelmer Vernooij1-9/+0
2008-10-11Cope with changed signature of http_timestring().Jelmer Vernooij1-3/+0
2008-10-10If you have a large number of cups printers, then scanning for print info ↵Jeremy Allison1-0/+1
can cause a client to timeout (it takes longer than 30 seconds to enumerate them). Make scanning for printers async with a callback from the main loop. This fixes a bug that was irritating *me* :-). Jeremy.
2008-09-08smbd: some write time fixesStefan Metzmacher1-0/+1
- only the first non truncating write causes the write time update with 2 seconds delay. It's not enough to check for an existing update event as it will be NULL after the event was triggered. - SMBwrite truncates always update the write time unless the sticky write time is set. - SMBwrite truncates don't trigger a write time update on close. metze (This used to be commit 3d17089b6dc773303c8c553f3f6140e60e348fb7)
2008-09-05Write times code update.Jeremy Allison1-1/+0
Ok, here's the fix for the write times breakage with the new tests in S4 smbtorture. The key is keeping in the share mode struct the "old_file_time" as the real write time, set by all the write and allocation calls, and the "changed_write_time" as the "sticky" write time - set by the SET_FILE_TIME calls. We can set them independently (although I kept the optimization of not setting the "old_file_time" is a "changed_write_time" was already set, as we'll never see it. This allows us to update the write time immediately on the SMBwrite truncate case, SET_END_OF_FILE and SET_ALLOCATION_SIZE calls, whilst still have the 2 second delay on the "normal" SMBwrite, SMBwriteX calls. I think in a subsequent patch I'd like to change the name of these from "old_file_time" to "write_time" and "changed_write_time" to "sticky_write_time" to make this clearer. I think I also fixed a bug in Metze's original code in that once a write timestamp had been set from a "normal" SMBwriteX call the fsp->update_write_time_triggered variable was set and then never reset - thus meaning the write timestamp would never get updated again on subsequent SMBwriteX's. The new code checks the update_write_time_event event instead, and doesn't update is there's an event already scheduled. Metze especially, please check this over for your understanding. Jeremy. (This used to be commit 6f20585419046c4aca1f7d6c863cf79eb6ae53b0)
2008-08-20smbd: fix the handling of create_options to pass RAW-OPENStefan Metzmacher1-4/+11
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)
2008-08-01dssync keytab: add support for keeping track of the up-to-date-ness vector.Michael Adam1-0/+1
The startup operation should get the old up-to-date-ness vector from the backend and the finish operation should store the new vector to the backend after replication. This adds the change of the signatures of the operations ot the dssync_ops struct and the implementation for the keytab ops. The up-to-date-ness vector is stored under the principal constructed as UTDV/$naming_context_dn@$dns_domain_name. The vector is still uninterpreted in libnet_dssync_process(). This will be the next step... This code is essentially by Metze. Michael (This used to be commit 01318fb27a1aa9e5fed0d4dd882a123ab568ac37)
2008-07-26Save 128 byte (32-bit platform) or 256 byte (64-bit) per connection_structVolker Lendecke1-1/+1
This was just too easy not to use :-) (This used to be commit a9922a2a3661a6cff7351ea6b3558f091bb45feb)
2008-07-21YESS -- remove the PI_* pipe constantsVolker Lendecke1-18/+0
(This used to be commit 26a40f708a44fa460459a43014a101a383586e54)
2008-07-19The PIPE_ pipename macros are only used in cli_pipe.cVolker Lendecke1-20/+0
(This used to be commit 03f7af26f255476d84a375a95fbccfce24db9de8)
2008-06-27libads: Add API call to connect to a global catalog server.Gerald W. Carter1-0/+1
Extends ads_connect() to a new call ads_connect_gc() which connects on port 3268 rather than port 389. Also makes ads_try_connect() static and only used internally to ldap.c (This used to be commit f4c37dbe2c986fb7bfe510cdff3b4a9fbc06d079)
2008-06-19Wrap the unix token info in a unix_user_token in auth_serversupplied_infoVolker Lendecke1-2/+2
No functional change, this is a preparation for more current_user ref removal (This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
2008-05-28Fix Bug #5285. (libcap header mismatch)Günther Deschner1-1/+2
Can someone with gpfs available test this ? The only codepath using this function is the modules/gpfs.c module. The fix resolves at least the build issues Samba has with recent kernel / libcap versions by using the portable cap_get_proc()/cap_set_proc() interface (instead of using capget/capset). Guenther (This used to be commit 177955141247a4eb56ba0d82dc1add7f52175c40)
2008-05-23drsuapi: add all code required for our drsuapi rpc client.Günther Deschner1-1/+4
Guenther (This used to be commit 7c93190843e77764be4d0f6d4f0b93061c192c98)