summaryrefslogtreecommitdiffstats
path: root/source3/smbd/globals.h
Commit message (Collapse)AuthorAgeFilesLines
* s3-auth struct security_unix_token replaces UNIX_USER_TOKENAndrew Bartlett2011-03-011-1/+1
|
* s3: Use poll in smbdVolker Lendecke2011-02-281-0/+8
|
* s3-auth Rename auth_serversupplied_info varaiables: server_info -> session_infoAndrew Bartlett2011-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | These variables, of type struct auth_serversupplied_info were poorly named when added into 2001, and in good consistant practice, this has extended all over the codebase in the years since. The structure is also not ideal for it's current purpose. Originally intended to convey the results of the authentication modules, it really describes all the essential attributes of a session. This rename will reduce the volume of a future patch to replaced these with a struct auth_session_info, with auth_serversupplied_info confined to the lower levels of the auth subsystem, and then eliminated. (The new structure will be the output of create_local_token(), and the change in struct definition will ensure that this is always run, populating local groups and privileges). Andrew Bartlett Signed-off-by: Stefan Metzmacher <metze@samba.org>
* s3-printing: Initiate pcap reload from parent smbdDavid Disseldorp2011-01-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 7022554, smbds share a printcap cache (printer_list.tdb), therefore ordering of events between smbd processes is important when updating printcap cache information. Consider the following two process example: 1) smbd1 receives HUP or printcap cache time expiry 2) smbd1 checks whether pcap needs refresh, it does 3) smbd1 marks pcap as refreshed 4) smbd1 forks child1 to obtain cups printer info 5) smbd2 receives HUP or printcap cache time expiry 6) smbd2 checks whether pcap needs refresh, it does not (due to step 3) 7) smbd2 reloads printer shares prior to child1 completion (stale pcap) 8) child1 completion, pcap cache (printer_list.tdb) is updated by smbd1 9) smbd1 reloads printer shares based on new pcap information In this case both smbd1 and smbd2 are reliant on the pcap update performed on child1 completion. The prior commit "reload shares after pcap cache fill" ensures that smbd1 only reloads printer shares following pcap update, however smbd2 continues to present shares based on stale pcap data. This commit addresses the above problem by driving pcap cache and printer share updates from the parent smbd process. 1) smbd0 (parent) receives a HUP or printcap cache time expiry 2) smbd0 forks child0 to obtain cups printer info 3) child0 completion, pcap cache (printer_list.tdb) is updated by smbd0 4) smbd0 reloads printer shares 5) smbd0 notifies child smbds of pcap update via message_send_all() 6) child smbds read fresh pcap data and reload printer shares This architecture has the additional advantage that only a single process (the parent smbd) requests printer information from the printcap backend. Use time_mono in housekeeping functions As suggested by Björn Jacke.
* Add a SMB2 crediting algorithm, by default the same as Windows. Defaults to ↵Jeremy Allison2010-12-101-1/+4
| | | | | | 128 credits. Jeremy.
* Move tcons.num_open from smb1 to sconn->num_tcons_open as this is needed for ↵Jeremy Allison2010-10-191-1/+3
| | | | SMB2 also.
* s3: Add msg_ctx_to_sconnVolker Lendecke2010-10-031-0/+2
|
* s3: Remove some remaining files.c globals to sconnVolker Lendecke2010-09-281-6/+8
|
* s3: Move "Files" to smbd_server_connectionVolker Lendecke2010-09-281-1/+1
|
* s3: Remove "server_fd" global variableVolker Lendecke2010-09-281-1/+0
|
* s3:auth Remove NT_USER_TOKENAndrew Bartlett2010-09-111-1/+1
| | | | | | | | | The all UPPER case typedef is no longer the preferred Samba style and this makes it easier to see that this is the IDL-derivied structure Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s3: Remove smbd_server_fd()Volker Lendecke2010-08-291-1/+1
| | | | | | | | | This breaks the perfcol_onefs() build. Tim, Steve, this use of smbd_server_fd is replacable by calls into substitute.c. I don't have a onefs environment around to build a fix, so I've decided to insert an #error, making it not compile. The fix should be pretty obvious, you can get the socket data via "%I" and "%i" substitutions.
* s3: Make char_flags and base_reverse const arraysVolker Lendecke2010-08-241-3/+0
| | | | | | | | This moves those arrays from dynamic to static, shared memory, removing them from globals.c. I did it by dumping the result of init_tables() with dump_data(). Some massage by an editor macro made it the initializer.
* s3: Move "trans_num" to smbd_server_connectionVolker Lendecke2010-08-241-0/+1
|
* s3: Add smbd_server_connection->client_idVolker Lendecke2010-08-181-0/+1
|
* s3: Add "sock" to smbd_server_connectionVolker Lendecke2010-08-161-0/+1
|
* Move the addition of the 16 byte guid out of spnego_gen_negTokenInit() andJeremy Allison2010-07-191-1/+1
| | | | | | | | into negprot_spnego() where it belongs (it's not an SPNEGO operation). Add a TALLOC_CTX for callers of negprot_spnego(). Closer to unifying all the gen_negTokenXXX calls. Jeremy.
* Revert "Remove the global char *LastDir."Jeremy Allison2010-07-131-0/+1
| | | | | | | | | | | | Volker pointed out I'd missed the "last directory" cache part of this code. Return us to caching the directory we're in (reduces sys call load). Mea maxima culpa. Jeremy. This reverts commit 2f30aea3324f32f9b8555e961256fc1280da2871.
* s3: Add sconn_server_id()Volker Lendecke2010-07-051-0/+2
|
* s3: Add missing prototype for smb2_opcode_nameVolker Lendecke2010-07-051-0/+1
|
* s3: Add msg_ctx to smbd_server_connectionVolker Lendecke2010-07-051-0/+1
| | | | | | It would be obvious to initialize this in smbd_init_globals(), but there the messaging_context can't be initialized yet because we don't have smb.conf loaded yet.
* s3: Explicitly pass sconn to process_blocking_lock_queue_smb2Volker Lendecke2010-06-121-1/+2
|
* s3: Explicitly pass sconn to [remove|schedule]_deferred_open_message_smb2Volker Lendecke2010-06-121-2/+4
|
* s3: Explicitly pass sconn to open_was_deferred_smb2Volker Lendecke2010-06-121-1/+2
|
* s3: Explicitly pass sconn to negprot_spnego()Volker Lendecke2010-06-121-1/+1
|
* s3: Remove sconn arg from smbd_notify_cancel_by_smbreqVolker Lendecke2010-06-121-2/+1
|
* Implement AIO in SMB2. Doesn't allow cancel calls yet (to be added).Jeremy Allison2010-06-101-0/+2
| | | | Jeremy.
* Rename "allow_smb2" -> "using_smb2" and make the usage clearer.Jeremy Allison2010-06-091-1/+1
|
* Fix a valgrind error found by SMB2-COMPOUND test.Jeremy Allison2010-06-081-0/+3
| | | | | | | | If a file is closed we must also NULL out all chained_fsp pointers when the fsp is freed to prevent invalid pointer access. Jeremy.
* s3-smbd: Remove unneeded dependency of map_username to globals.c.Andreas Schneider2010-06-041-3/+0
| | | | Reviewed-by: Simo Sorce <idra@samba.org>
* s3:smbd make yp cache local.Simo Sorce2010-05-311-3/+0
| | | | | | | | | | | | | | | | | The my_yp_domain variable is just a static cache needed to avoid making over and over expensive and potentially blocking calls to yp_get_default_domain(). Instead of keeping this onto the smbd_server_connection struct, just keep it local to the only function ever using this variable. This disentagle this function (and a number of calling functions) from having to pass around smbd_server_connection and thus having to link against smbd. It also removes a few ifdefs. Nothing changes from a global/local pov, as the smbd_server_connection variable passed around is also a global one. Signed-off-by: Andreas Schneider <asn@samba.org>
* s3:auth Remove AUTH_NTLMSSP_STATE typedef.Andrew Bartlett2010-05-311-1/+1
| | | | | | | | | typedefs are no longer preferred Samba style. Andrew Bartlett Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Günther Deschner <gd@samba.org>
* (Finally) fix bug #7158 - SMB2 connection resets during IOZone tests from ↵Jeremy Allison2010-05-191-0/+1
| | | | | | | | | | | | 64-bit Vista client It turns out that the persistent handles are used by the Microsoft redirector to index files on oplock break requests. So even if we don't do durable handles (yet) we must set the persistent handle on create. For now just use the same handle value as we use for volatile. Jeremy.
* Keep track of credits we're giving out. Set initial credits to 1 (MS-SMB2 ↵Jeremy Allison2010-05-181-0/+1
| | | | | | spec required). Jeremy.
* Be more forgiving on client oplock break failure (as Windows does). Remove a ↵Jeremy Allison2010-05-131-1/+0
| | | | | | global. Jeremy.
* SMB2 always have level2 oplock capability. Correct mapping from break ↵Jeremy Allison2010-05-101-1/+0
| | | | | | messages to SMB2 oplock levels. Jeremy.
* This patch looks bigger than it is. It does 2 things. 1). Renames smbpid -> ↵Jeremy Allison2010-05-071-2/+2
| | | | | | smblctx in our locking code. 2). Widens smblctx to 64-bits internally. Preparing to use the SMB2 handle as the locking context. Jeremy.
* Make us pass all SMB2 lock tests except MULTIPLE-UNLOCK and CONTEXT. Them ↵Jeremy Allison2010-05-071-1/+2
| | | | | | next :-). Jeremy.
* Fix more SMB2 locking. We still crash but this won't last :-).Jeremy Allison2010-05-061-1/+1
| | | | Jeremy.
* Plumb the SMB2 front end into the blocking lock backend.Jeremy Allison2010-04-301-7/+7
| | | | | | | | | | Metze, you'll probably be happier with this work as it doesn't abuse tevent in the way you dislike. This is a first cut at the code, which will need lots of testing but I'm hoping this will give people an idea of where I'm going with this. Jeremy.
* Carefully label SMB1-specific locking calls.Jeremy Allison2010-04-291-0/+2
| | | | Jeremy.
* Move the global blocking lock records into the smb1 state.Jeremy Allison2010-04-291-12/+12
| | | | Jeremy
* Update (C) for 2010.Jeremy Allison2010-04-281-0/+1
| | | | Jeremy.
* s3:smbd: keep local and remote tsocket_address per connectionStefan Metzmacher2010-04-271-0/+2
| | | | metze
* Implement oplocks within SMB2. Plumb into the existing SMB1 oplock system.Jeremy Allison2010-04-241-2/+3
| | | | | | Seems to work but needs more tests (to be added). Jeremy.
* Allow smb2 create requests to be cancelled.Jeremy Allison2010-04-231-0/+1
| | | | Jeremy.
* Make deferred opens (NT_STATUS_SHARING_VIOLATION) work over SMB2.Jeremy Allison2010-04-221-5/+10
| | | | | | | | Makes SMB2Create call re-entrant internally. Now this infrastructure is in place, oplocks will follow shortly. Tested with Win7 client and with W2K8R2. Jeremy.
* First part of fix for bug #7331 - Compound async SMB 2 requests don't work ↵Jeremy Allison2010-04-171-0/+2
| | | | | | | | | | | | | | | | right. Gets us handling SMB2 compound async requests similar to W2K8R2 (and triggers the same client bug in the Win7 redirector). Great thanks to Ira Cooper <samba@ira.wakeful.net> for helping with this and to Metze for the wonderful async framework. The one thing I need to fix to make us identical to W2K8R2 is that when a compound request goes async at the end W2K8R2 splits the replies up into a compound non-async reply followed by a separate async reply. Currently we're doing the whole thing in a compound reply. Jeremy.
* Move to using 64-bit mid values in our internal open file database.Jeremy Allison2010-04-121-10/+4
| | | | | | | This will allow us to share logic much easier between SMB1 and SMB2 servers. Jeremy
* Plumb SMB2 stubs into all the places we defer SMB1 operations.Jeremy Allison2010-04-091-3/+14
| | | | | | | | Rename functions to be internally consistent. Next step is to cope queueing single (non-compounded) SMB2 requests to put some code inside the stubs. Jeremy.