summaryrefslogtreecommitdiff
path: root/source3/smbd/globals.h
AgeCommit message (Collapse)AuthorFilesLines
2011-01-07s3-printing: Initiate pcap reload from parent smbdDavid Disseldorp1-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.
2010-12-10Add a SMB2 crediting algorithm, by default the same as Windows. Defaults to ↵Jeremy Allison1-1/+4
128 credits. Jeremy.
2010-10-19Move tcons.num_open from smb1 to sconn->num_tcons_open as this is needed for ↵Jeremy Allison1-1/+3
SMB2 also.
2010-10-03s3: Add msg_ctx_to_sconnVolker Lendecke1-0/+2
2010-09-28s3: Remove some remaining files.c globals to sconnVolker Lendecke1-6/+8
2010-09-28s3: Move "Files" to smbd_server_connectionVolker Lendecke1-1/+1
2010-09-28s3: Remove "server_fd" global variableVolker Lendecke1-1/+0
2010-09-11s3:auth Remove NT_USER_TOKENAndrew Bartlett1-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>
2010-08-29s3: Remove smbd_server_fd()Volker Lendecke1-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.
2010-08-24s3: Make char_flags and base_reverse const arraysVolker Lendecke1-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.
2010-08-24s3: Move "trans_num" to smbd_server_connectionVolker Lendecke1-0/+1
2010-08-18s3: Add smbd_server_connection->client_idVolker Lendecke1-0/+1
2010-08-16s3: Add "sock" to smbd_server_connectionVolker Lendecke1-0/+1
2010-07-19Move the addition of the 16 byte guid out of spnego_gen_negTokenInit() andJeremy Allison1-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.
2010-07-13Revert "Remove the global char *LastDir."Jeremy Allison1-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.
2010-07-05s3: Add sconn_server_id()Volker Lendecke1-0/+2
2010-07-05s3: Add missing prototype for smb2_opcode_nameVolker Lendecke1-0/+1
2010-07-05s3: Add msg_ctx to smbd_server_connectionVolker Lendecke1-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.
2010-06-12s3: Explicitly pass sconn to process_blocking_lock_queue_smb2Volker Lendecke1-1/+2
2010-06-12s3: Explicitly pass sconn to [remove|schedule]_deferred_open_message_smb2Volker Lendecke1-2/+4
2010-06-12s3: Explicitly pass sconn to open_was_deferred_smb2Volker Lendecke1-1/+2
2010-06-12s3: Explicitly pass sconn to negprot_spnego()Volker Lendecke1-1/+1
2010-06-12s3: Remove sconn arg from smbd_notify_cancel_by_smbreqVolker Lendecke1-2/+1
2010-06-10Implement AIO in SMB2. Doesn't allow cancel calls yet (to be added).Jeremy Allison1-0/+2
Jeremy.
2010-06-09Rename "allow_smb2" -> "using_smb2" and make the usage clearer.Jeremy Allison1-1/+1
2010-06-08Fix a valgrind error found by SMB2-COMPOUND test.Jeremy Allison1-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.
2010-06-04s3-smbd: Remove unneeded dependency of map_username to globals.c.Andreas Schneider1-3/+0
Reviewed-by: Simo Sorce <idra@samba.org>
2010-05-31s3:smbd make yp cache local.Simo Sorce1-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>
2010-05-31s3:auth Remove AUTH_NTLMSSP_STATE typedef.Andrew Bartlett1-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>
2010-05-19(Finally) fix bug #7158 - SMB2 connection resets during IOZone tests from ↵Jeremy Allison1-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.
2010-05-18Keep track of credits we're giving out. Set initial credits to 1 (MS-SMB2 ↵Jeremy Allison1-0/+1
spec required). Jeremy.
2010-05-13Be more forgiving on client oplock break failure (as Windows does). Remove a ↵Jeremy Allison1-1/+0
global. Jeremy.
2010-05-10SMB2 always have level2 oplock capability. Correct mapping from break ↵Jeremy Allison1-1/+0
messages to SMB2 oplock levels. Jeremy.
2010-05-07This patch looks bigger than it is. It does 2 things. 1). Renames smbpid -> ↵Jeremy Allison1-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.
2010-05-07Make us pass all SMB2 lock tests except MULTIPLE-UNLOCK and CONTEXT. Them ↵Jeremy Allison1-1/+2
next :-). Jeremy.
2010-05-06Fix more SMB2 locking. We still crash but this won't last :-).Jeremy Allison1-1/+1
Jeremy.
2010-04-30Plumb the SMB2 front end into the blocking lock backend.Jeremy Allison1-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.
2010-04-29Carefully label SMB1-specific locking calls.Jeremy Allison1-0/+2
Jeremy.
2010-04-29Move the global blocking lock records into the smb1 state.Jeremy Allison1-12/+12
Jeremy
2010-04-28Update (C) for 2010.Jeremy Allison1-0/+1
Jeremy.
2010-04-27s3:smbd: keep local and remote tsocket_address per connectionStefan Metzmacher1-0/+2
metze
2010-04-24Implement oplocks within SMB2. Plumb into the existing SMB1 oplock system.Jeremy Allison1-2/+3
Seems to work but needs more tests (to be added). Jeremy.
2010-04-23Allow smb2 create requests to be cancelled.Jeremy Allison1-0/+1
Jeremy.
2010-04-22Make deferred opens (NT_STATUS_SHARING_VIOLATION) work over SMB2.Jeremy Allison1-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.
2010-04-17First part of fix for bug #7331 - Compound async SMB 2 requests don't work ↵Jeremy Allison1-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.
2010-04-12Move to using 64-bit mid values in our internal open file database.Jeremy Allison1-10/+4
This will allow us to share logic much easier between SMB1 and SMB2 servers. Jeremy
2010-04-09Plumb SMB2 stubs into all the places we defer SMB1 operations.Jeremy Allison1-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.
2010-04-08Stop smb2 from calling into smb1 blocking lock request code.Jeremy Allison1-0/+17
Allocate a uint16_t internal SMB1 mid for an SMB2 request. Add a back pointer from the faked up smb_request struct to the smb2 request. Getting ready to add restart code for blocking locks, share mode violations and oplocks in SMB2. Jeremy.
2010-04-08Simplify call_trans2qfilepathinfo() and smbd_do_qfilepathinfo()Jeremy Allison1-1/+0
Remove the bool ms_dfs_link parameter from smbd_do_qfilepathinfo. It is not possible for this to be a DFS link. Remove the check_msdfs_link() call from call_trans2qfilepathinfo() - the call to filename_convert() above with a ucf_flags of zero *MUST* catch a DFS link and return NT_STATUS_PATH_NOT_COVERED in this case, so the code below checking for msdfs links is redundent. Don't add this to 3.5.x, as it's an optimization but not needed to fix bug #7339 - MSDFS is non-functional in 3.5.x. Jeremy.
2010-04-07Start to plumb smb2 into the oplock system. Calls dummy functions for now.Jeremy Allison1-0/+3
Jeremy.