summaryrefslogtreecommitdiff
path: root/source3/include/local.h
AgeCommit message (Collapse)AuthorFilesLines
2011-01-07s3-printing: Initiate pcap reload from parent smbdDavid Disseldorp1-0/+1
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-21My algorithm for determining whan an incoming sequence number can be allowed ↵Jeremy Allison1-0/+1
is incorrect. (I based it on the text in MS-SMB2, silly me :-). Fix it so incoming sequence numbers can range over the entire allowable bitmap range. This fixes a repeatable disconnect against Win7. Jeremy.
2010-12-10Add a SMB2 crediting algorithm, by default the same as Windows. Defaults to ↵Jeremy Allison1-0/+5
128 credits. Jeremy.
2010-10-24s3:include: move MAX_DEBUG_LEVEL from local.h to debug.hStefan Metzmacher1-9/+0
metze
2010-09-14Allows changing the maximum number of simultaneous clients in winbindd ↵Pierre Carrier1-3/+0
through an smb.conf option. Signed-off-by: Jeremy Allison <jra@samba.org>
2010-02-17Fix bug #7146 - Samba miss-parses authenticated RPC packets.Jeremy Allison1-0/+3
Parts of the Samba RPC client and server code misinterpret authenticated packets. DCE authenticated packets actually look like this : +--------------------------+ |header | | ... frag_len (packet len)| | ... auth_len | +--------------------------+ | | | Data payload | ... .... | | +--------------------------+ | | | auth_pad_len bytes | +--------------------------+ | | | Auth footer | | auth_pad_len value | +--------------------------+ | | | Auth payload | | (auth_len bytes long) | +--------------------------+ That's right. The pad bytes come *before* the footer specifying how many pad bytes there are. In order to read this you must seek to the end of the packet and subtract the auth_len (in the packet header) and the auth footer length (a known value). The client and server code gets this right (mostly) in 3.0.x -> 3.4.x so long as the pad alignment is on an 8 byte boundary (there are some special cases in the code for this). Tridge discovered there are some (DRS replication) cases where on 64-bit machines where the pad alignment is on a 16-byte boundary. This breaks the existing S3 hand-optimized rpc code. This patch removes all the special cases in client and server code, and allows the pad alignment for generated packets to be specified by changing a constant in include/local.h (this doesn't affect received packets, the new code always handles them correctly whatever pad alignment is used). This patch also works correctly with rpcclient using sign+seal from the 3.4.x and 3.3.x builds (testing with 3.0.x and 3.2.x to follow) so even as a server it should still work with older libsmbclient and winbindd code. Jeremy
2009-12-16Final part of the fix for 6837 - "Too many open files" when trying to access ↵Jeremy Allison1-12/+12
large number of files Win7 needs a min of 16k file handles to work against a server. Jeremy.
2009-12-02Fix bug #6837 - "Too many open files" when trying to access large number of ↵Jeremy Allison1-1/+19
files from Windows 7. Original patch by me fixed up with the correct open files number by jmaggard10@hotmail.com. Jeremy.
2009-02-13Parameterize in local.h the MAX_RPC_DATA_SIZE, and ensureJeremy Allison1-0/+3
that "offered" read from the rpc packet in spoolss is under that size. Tidyup from analysis from Veracode. Jeremy.
2008-04-07smbd: make it possible to change the write time delay for testingStefan Metzmacher1-0/+3
metze (This used to be commit df8c100c2b53575a0d425a2daf52e2d59904746a)
2007-10-10r17107: Make the 200 ms timeout value tunable in local.h...Jeremy Allison1-0/+3
Might need to be a parameter ? Jeremy. (This used to be commit 98d8d9399bb287319578daaf2a2fb42f3c48f858)
2007-10-10r14763: Add a new tuning parameter, open files database hash size,Jeremy Allison1-1/+1
this allows us to experiment with ensuring the tdb hash size for our open files and locking db are appropriately sized. Make the hash size larger by default (10007 instead of 1049) and make the locking db hash size the same as the open file db hash size. Jeremy. (This used to be commit e7225f7e813423c3e2a94af6a9d7ce8a1b50a166)
2007-10-10r13316: Let the carnage begin....Gerald Carter1-0/+9
Sync with trunk as off r13315 (This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10r11435: Allow the hash size of the tdb open (locking) databaseJeremy Allison1-0/+3
to be set in local.h. Change from the default (131) to another prime (1049). Should this be an smb.conf tunable parameter based on the number of open file descriptors available ? If so what scaling factor ? More tests to follow. Jeremy. (This used to be commit 6a902ec49ffea5d0ca0308d5ff51584cece41043)
2007-10-10r5636: Re-add the allocation size - parameterized by share asJeremy Allison1-0/+3
"allocation roundup size", by default set as 1Mb. From advice by BlueArc about Windows client behaviour. VC++ people can set this to zero to turn it off. Jeremy. (This used to be commit 833ca101772bfab65dbd79eb64f63464177f144e)
2007-10-10r5548: Stop lying about allocation sizes to Windows clients. It was a niceJeremy Allison1-3/+0
idea, and aparently improved performance in some circumstances, but it breaks the VC++ compiler :-(. Not cool. Fix bug #2146. Jeremy. (This used to be commit b9f147634df0126320ffe3b9a23068e76f6c1681)
2007-10-10r1325: Always use GetTimeOfDay() (wrapper). Ensure ldap replicationJeremy Allison1-0/+2
sleep time is not more than 5 seconds. Should fix issue reported by Chris Garrigues <cwg@deepeddy.com>. Jeremy. (This used to be commit fbc06831d3a7e8645409158ee1ae1f9f192913a7)
2007-10-10r1085: Now it's had some proper user testing, merge in the deferred open ↵Jeremy Allison1-0/+3
fix. I'm still doing more testing, but it fixes a behaviour that we've been wrong on ever since the start of Samba. Jeremy. (This used to be commit 894cc6d16296b934c112786eec896846156aee5d)
2003-10-29parameterise the listen backlog in smbd and make it larger by default. A ↵Andrew Tridgell1-0/+3
backlog of 5 is way too small these days. (This used to be commit bbb92d2b0ea6bc10c71bed62924bfc95c11172a5)
2003-04-14Backport my backtrace patch from HEADJelmer Vernooij1-0/+4
(This used to be commit 66fcf6b4938a87e5ded7c7e5830a6a54e4439544)
2003-02-28*Excellent* patch from Michael Steffens <michael_steffens@hp.com> to limitJeremy Allison1-0/+2
the unix domain sockets used by winbindd (also solves FD_SETSIZE problem in winbindd to boot !). Adds a "last_access" field to winbindd connections, and will close the oldest idle connection once the number of open connections goes over WINBINDD_MAX_SIMULTANEOUS_CLIENTS (defined in local.h as 200 currently). Jeremy. (This used to be commit 7a586552a3aeb4a26495f0965af4bd027456a011)
2003-02-15Remove obsolete file lib/netatalk.c - We now have a vfs moduleJelmer Vernooij1-3/+0
(This used to be commit fcc7a197b1ec85f9492e335a824317a904b0c919)
2003-01-16Fixed up mutex protection around winbindd logon code. Sync with APP-HEAD.Jeremy Allison1-0/+8
Jeremy. (This used to be commit daf179bcd6297b525bfc644efb154734723f4d58)
2002-10-22Fix for systems that allow more than 65536 open files per process.Jeremy Allison1-0/+3
Jeremy. (This used to be commit 947a56ce00e552e8b8d2ed64435eabde6225f044)
2002-10-04Add a timeout to tdb_lock_bystring(). Ensure we never have more thanJeremy Allison1-0/+3
MAX_PRINT_JOBS in a queue. Jeremy. (This used to be commit 9fe3c0b90d4bff2217e3cb5a34b4683ca314c06e)
2002-09-25sync'ing up for 3.0alpha20 releaseGerald Carter1-6/+1
(This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
2002-08-17sync 3.0 branch with headJelmer Vernooij1-1/+13
(This used to be commit 3928578b52cfc949be5e0ef444fce1558d75f290)
2002-07-15updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell1-1/+1
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-04-11This split the mangling code up to allow for the possibility of multipleAndrew Tridgell1-0/+6
mangling implementation, selectable using "mangling method = " in smb.conf It also tidies the interface a little, although it is still nasty. (This used to be commit be23d87a178e7d0691e7d942adf89bb3d2d533c2)
2002-01-14Removed MAXSTATUS which was set incorrectly - thus causing tdb traversalJeremy Allison1-1/+2
of the connections db on smbd startup. This should fix the Solaris large load bug.... (fingers crossed). Jeremy. (This used to be commit 5b2b9c25af28543e67762805d1387524cbb6c39d)
2001-12-06allow a MAX_DEBUG_LEVEL setting in local.h (or the Makefile)Andrew Tridgell1-0/+9
This allows embedded systems to compile out the higher debug levels. It should gain speed as well as reducing the code size. Setting it to 1 saves about 300k of code on my system. (This used to be commit f34cac3b312f273a2363919655ddd1e25cb91305)
2001-11-19LIBDIR and LOCKDIR are dynamically configured too.Martin Pool1-5/+0
(This used to be commit 868999ad3c82ad72f11d5b3208b0e42b1ed95096)
2001-11-12Fixed allocation bug in database prog. Some format fixes.Jeremy Allison1-0/+3
Jeremy. (This used to be commit 9ff6b0c20cc88ef0bcd62a596fcb96f898b5b29d)
2001-10-01- fix handling of 0 last_change_time and must_change_timeAndrew Tridgell1-0/+3
- move the arbitrary 21 day timeout to local.h (This used to be commit 11075f543470c3283accce0246d0b2983420695a)
2001-05-06Patch from David_Tiller@ccnotes.ccity.com finally applied now I've thoughtJeremy Allison1-0/+5
about it to stop account lockouts with "security=server" mode. Sorry for the delay David. Jeremy. (This used to be commit e8819715038ed49b07ed5639b1b88ad12e994b53)
2001-05-02Had to add a "pam password change" parameter (defaults to "off") and inlinedJeremy Allison1-4/+0
the pam password change code to ensure that existing and working password chat scripts don't break with 2.2.1. PAM password changing has to be explicitly requested. Allowed wildcards in pam password change matching (matches password chat script matching). Had to add const (sorry Tim :-) to ms_fnmatch() to stop warnings. Don't worry - the const changes are isolated and don't cause any other warnings :-). Jeremy. (This used to be commit 47b4d82536c09bffe3a0d9917fa31d935f1be7d8)
2001-04-30Ensure correct password change script gets selected --with-pam.Jeremy Allison1-0/+4
Jeremy. (This used to be commit 6703f621ea798bd1877bd3baa523307ee288dccd)
2001-04-18merge from 2.2Andrew Tridgell1-0/+8
(This used to be commit f52a5014ee325f9d91f266f88eac51b6136a75b9)
2001-03-13this patch does a number of things:Andrew Tridgell1-3/+0
- removes SMB_ALIGNMENT. That macro caused all sorts of problems with getting unicode aligned right in sub-protocols (such as SMBtrans and SMBtrans2). I believe the performance reasons for having SMB_ALIGNMENT has gone away with the new variants of the SMB protocol anyway, as newer commands tend to have their own internal alignment. - fix the locations where we set smb_flg2 to absolute values. We must never do this if we want a hope of coping with unicode. - add initial support for unicode on the wire in smbd. Currently enabled using SMBD_USE_UNICODE environment variable. (This used to be commit b98b1435e9d8f8622444c9ff33082977e661f16b)
2000-07-06don't need shmem any moreAndrew Tridgell1-5/+0
(This used to be commit a81371a4fd6f7972b054bea90428d1d2fd6d1d22)
2000-05-04 - use full_name instead of real_nameAndrew Tridgell1-4/+0
- got rid of guest map code in lpq parser (This used to be commit 8e53f781d3cf6a7007764916a0d8e8f1abea1f66)
2000-04-17got rid of some more old configure tests and includesAndrew Tridgell1-5/+0
(This used to be commit f137648504362479143d50477fa38ebf7147968b)
2000-01-03added the unexpected packet database (unexpected.tdb)Andrew Tridgell1-0/+1
this means "nmblookup -S" now always works, even with broken servers the database stores all unexpected replies and these can be accessed by any client. while doing this I cleaned up a couple of functions, and put in place a better trn_id generator. in most places the code got quite a bit simpler due to the addition of simple helper functions. I haven't yet put the code in to take advantage of this for pdc replies - that will be next. Jeremys pdc finding code will then work :) (This used to be commit 280e6359d36c9bc8dcded302f15c3a1db8e3feeb)
1999-12-29Converted most of the functions in lib/util_str.c to smb_ucs2_t equivalents.Jeremy Allison1-0/+3
Jeremy. (This used to be commit 1ba42aca2163c534f6be4e4a733604e3dffe0ed8)
1999-12-13first pass at updating head branch to be to be the same as the SAMBA_2_0 branchAndrew Tridgell1-24/+25
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
1998-11-10include/local.h:Jeremy Allison1-23/+0
include/smb.h: param/loadparm.c: Made GUEST_SESSSETUP run time selectable. Horror of horrors :-). printing/printing.c: Added J.F.'s latest fix. rpc_parse/parse_misc.c: parse_reg.c: rpcclient/cmd_reg.c: rpcclient/display.c: SGI compiler signed/unsigned issues. smbd/reply.c: Made GUEST_SESSSETUP run time selectable. Horror of horrors :-). utils/testparm.c: Added extra test. Jeremy. (This used to be commit 9668a5ef50be2e6b575f9989e87ee2ff8da5ac1d)
1998-11-09I talked to Dave Miller and he thinks that we should have TCP_NODELAYAndrew Tridgell1-0/+8
on by default on OSes that support it, given the network IO pattern that Samba uses. He doesn't think it will cause problems. (This used to be commit 15016aa024854ca56ef20d1f29f54f9698a1911b)
1998-10-21at the interop Isaac (at least I _think_ it was Isaac) said that if aAndrew Tridgell1-0/+4
MS client doesn't respond to a oplock break request then we might try resending the request. This morning Sues Win95 machine had this problem (thus forcing me to do something about it!). When starting winword her box refused to answer an oplock break request. I have added code to resend the oplock break request up to 3 times at 10 second intervals before killing the socket. of course, as soon as I did this her box started to behave again so I haven't been able to tell if this fix actually works, but it can't be worse than dropping the socket immediately. (This used to be commit a1c4d8351b9171416693e6d7a9045bdce9217edb)
1998-09-30Upped default MAX_OPEN_FILES to 10000 after conversation with tridge.Jeremy Allison1-1/+1
As we're only using 1 bit per fd when idle it doesn't matter too much.... Jeremy. (This used to be commit dba55b2d3453bd18e1a0cb031d012733e5a214b9)
1998-09-30(Finally) implemented "max open files" as a global smb.conf parameter.Jeremy Allison1-0/+11
Sets up the files array correctly - limited by the smb.conf parameter and by the max fd's per process as found by getrlimit(). Jeremy. (This used to be commit eca24bd24352c688cdf48c1ef14adb8ac353468f)