summaryrefslogtreecommitdiff
path: root/source3/printing/load.c
Commit message (Collapse)AuthorAgeFilesLines
* printing: return last change time with pcap_cache_loaded()David Disseldorp2014-08-081-1/+1
| | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=10652 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* printing: traverse_read the printer list for share updatesDavid Disseldorp2014-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The printcap update procedure involves the background printer process obtaining the printcap information from the printing backend, writing this to printer_list.tdb, and then notifying all smbd processes of the new list. The processes then all attempt to simultaneously traverse printer_list.tdb, in order to update their local share lists. With a large number of printers, and a large number of per-client smbd processes, this traversal results in significant lock contention, mostly due to the fact that the traversal is unnecessarily done with an exclusive (write) lock on the printer_list.tdb database. This commit changes the share update code path to perform a read-only traversal. Bug: https://bugzilla.samba.org/show_bug.cgi?id=10652 Reported-by: Alex K <korobkin+samba@gmail.com> Reported-by: Franz Pförtsch <franz.pfoertsch@brose.com> Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *.Rusty Russell2012-07-181-1/+1
| | | | | | | | | | They use talloc_tos() internally: hoist that up to the callers, some of whom don't want to us talloc_tos(). A simple patch, but hits a lot of files. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* Forward port of Richard Sharpe's <realrichardsharpe@gmail.com> fix for bug ↵Jeremy Allison2012-05-311-1/+6
| | | | #8970 - Possible memory leaks in the samba master process.
* param: Merge param headers into lib/param/loadparm.hAndrew Bartlett2011-06-291-0/+1
| | | | | | | This defines a common table format, so we can in future define a common table. Andrew Bartlett
* s3-printing: only include printing where really needed.Günther Deschner2011-02-221-1/+1
| | | | Guenther
* s3-printing: reload shares after pcap cache fillDavid Disseldorp2011-01-071-4/+2
| | | | | | | | | | | | | | | | Since commit eada8f8a, updates to the cups pcap cache are performed asynchronously - cups_cache_reload() forks a child process to request cups printer information and notify the parent smbd on completion. Currently printer shares are reloaded immediately following the call to cups_cache_reload(), this occurs prior to smbd receiving new cups pcap information from the child process. Such behaviour can result in stale print shares as outlined in bug 7836. This fix ensures print shares are only reloaded after new pcap data has been received. Pair-Programmed-With: Lars Müller <lars@samba.org>
* s3-printing: fix BUG 7280 - auto printers not loading with registryJim McDonough2010-08-161-0/+4
| | | | config
* s3: Remove the smbd_messaging_context from load_printersVolker Lendecke2010-08-081-3/+3
|
* s3: Remove the smbd_messaging_context from pcap_cache_reloadVolker Lendecke2010-08-081-2/+4
|
* s3-printing: explicitly include "printing/pcap.h" as there is ↵Günther Deschner2010-05-141-1/+1
| | | | | | | | /usr/include/pcap.h. Thanks metze for pointing this out. Simo, please check. Guenther
* Make pcap headers privateSimo Sorce2010-05-141-0/+1
| | | | Signed-off-by: Günther Deschner <gd@samba.org>
* If you have a large number of cups printers, then scanning for print info ↵Jeremy Allison2008-10-101-1/+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.
* strtok -> strtok_rVolker Lendecke2008-01-231-1/+3
| | | | (This used to be commit fd34ce437057bb34cdc37f4b066e424000d36789)
* r23784: use the GPLv3 boilerplate as recommended by the FSF and the license textAndrew Tridgell2007-10-101-2/+1
| | | | (This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
* r23779: Change from v2 or later to v3 or later.Jeremy Allison2007-10-101-1/+1
| | | | | Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
* r4539: patch from Rob -- adding real printcap name cache function to speed ↵Gerald Carter2007-10-101-29/+19
| | | | | | up printcap reloads (This used to be commit 1cad5250932b963c2eb9b775221b13db386d601b)
* r4088: Get medieval on our ass about malloc.... :-). Take control of all our ↵Jeremy Allison2007-10-101-1/+1
| | | | | | | | | | allocation functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy. (This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
* Sync 3.0 branch with HEADJelmer Vernooij2002-08-171-4/+4
| | | | (This used to be commit eac75549c398f208484ae735d5a5931fed6d0e99)
* Removed version number from file header.Tim Potter2002-01-301-2/+1
| | | | | Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
* move to SAFE_FREE()Simo Sorce2001-09-171-2/+2
| | | | (This used to be commit 09bf4425492fd96672ddd7a31d88854adcf7f0fe)
* Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison2001-03-111-4/+4
| | | | | | | RPC code to merge with new passdb code. Currently rpcclient doesn't compile. I'm working on it... Jeremy. (This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
* Changes from APPLIANCE_HEAD:David O'Neill2001-01-171-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | source/rpc_server/srv_spoolss_nt.c - Unrolled construct_notify_jobs_info() loop to only fetch printer info_2 structure once rather than num_print_jobs times. - convert command to unix codepage. - remove lp_remove_service() call as it prevents lp_killservice() from working. - Modified some DEBUG and DEBUGADD statements. source/param/loadparm.c source/param/params.c - change printer, preload, auto services to FLAG_DOS_STRING, reverted earlier changes to szPrintername et al, add comments. source/printing/load.c - fix bug with lp_auto_services() and strtok() source/printing/nt_printing.c source/printing/printing.c - remove redundant test that used SERVICE(snum) source/printing/pcap.c - add unix_to_dos() calls, add notes wrt FIXMEs for xxx_printer_fn() functions. source/web/swat.c - added FIXME comment. source/smbd/service.c - added comment re: dos codepage (This used to be commit 7b774b72c2857af9519012106714a9e2cb099da3)
* Added John Reilly's enumports/addprinter/delprinter scripting code plus theJeremy Allison2000-07-311-1/+1
| | | | | | | | | | | fix for the Win9x printer drivers. Changed command names to add "command" string on the end for some consistancy with the other scripting commands. Added '%P' option to tdbpack/unpack to store long comment string. Made port name be "Samba Printer Port" if no enum port script given. Fixed prs_uint32_pre code to cope with null args. Jeremy. (This used to be commit 902ada63799cf27924c72e24e7593a8c9fb5eba9)
* the bulk of the changes. Also split the loadparm related code into ↵Andrew Tridgell2000-04-161-0/+69
printing/load.c so swat can get it without linking to the backend code ------------ The following series of commits are for the new tdb based printing backend. This completely replaces our old printing backend. Major changes include: - all print ops are now done in printing/*.c rather than scattered all over the place - system job ids are decoupled from SMB job ids - the lpq parsers don't need to be nearly so smart, they only need to parse the filename, the status and system job id - we can store lots more info about a job, including the full job name - the queue cache control is much better I also added a new utility routine file_lines_load() that loads a text file and parses it into lines. This is used in out lpq parsing and I also want to use it to replace all of our fgets() based code in other places. (This used to be commit a902caf8d78ae4cb11ea3776d10273cb37d5fcd0)