summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
AgeCommit message (Collapse)AuthorFilesLines
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
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)