summaryrefslogtreecommitdiffstats
path: root/source3/printing
Commit message (Collapse)AuthorAgeFilesLines
...
* s3-printing: fix cups pcap reload with no printersDavid Disseldorp2011-03-041-12/+27
| | | | | | | | | | | | | | | | | cups_async_callback() is called to receive new printcap data from a child process which requests the information from cupsd. Newly received printcap information is stored in a temporary printcap cache (tmp_pcap_cache). Once the child process closes the printcap IPC file descriptor, the system printcap cache is replaced with the newly populated tmp_pcap_cache, however this only occurs if tmp_pcap_cache is non null (has at least one printer). If the printcap cache is empty, which is the case when cups is not exporting any printers, the printcap cache is not replaced resulting in stale data. https://bugzilla.samba.org/show_bug.cgi?id=7915 Signed-off-by: Andreas Schneider <asn@samba.org>
* s3-printing: remove unneeded local_pcap_copy globalDavid Disseldorp2011-03-041-36/+18
| | | | | | | | | | | | | The cups local_pcap_copy global served as a temporary buffer during asynchronous cups printcap cache updates, as well as indicating when the printcap cache had not yet been filled and printcap cache update should block. As smbd printcap reads are now triggered by the parent smbd following printcap cache update, the variable and blocking mechanism are no longer needed. Signed-off-by: Andreas Schneider <asn@samba.org>
* s3-printing: follow force user/group for driver IODavid Disseldorp2011-03-041-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuring force user/group settings for the print$ share currently has unexpected results, this is explained by how the driver upload/add process takes place. Consider the following example: [print$] path = /print-drv write list = $DRIVER_UPLOAD_USER force group = ntadmin - the client connects to the [print$] share and uploads all driver files to the /print-drv/W32X86 directory. - This is permitted, as /print-drv/W32X86 is owned by group ntadmin, and the "force group = ntadmin" takes effect for the [print$] session. - Once all files are uploaded, the client connects to the [ipc$] share and issues an AddPrinterDriverEx spoolss request. - In handling this request move_driver_to_download_area() is called, which attempts to create the directory /print-drv/W32X86/3 - The create directory fails, as it is done as the user connected to the [ipc$] share which does not have permission to write to the driver directory. The [print$] "force group = ntadmin" has no effect. This is a regression from previous behaviour prior to the commit: 783ab04 Convert move_driver_to_download_area to use create_conn_struct. https://bugzilla.samba.org/show_bug.cgi?id=7921 Signed-off-by: Andreas Schneider <asn@samba.org>
* s3-server_id: only include server_id where needed.Günther Deschner2011-03-021-0/+1
| | | | Guenther
* s3-printing: vfs_connect prior to driver/dfs IODavid Disseldorp2011-03-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | samba3.posix_s3.rpc.spoolss.driver fails with the xattr_tdb vfs module loaded as a part of make test. The (now checked) create_directory() call in move_driver_to_download_area() fails, uncovering another bug in the printer driver upload code path. move_driver_to_download_area() creates a new conn_struct for manipulating files in [print$]. The VFS layer is plumbed through with the call to create_conn_struct(), however SMB_VFS_CONNECT() is never called. Many vfs modules expect state stored at connect time with SMB_VFS_HANDLE_SET_DATA() to be available on any IO operation and fail if this is not the case. This fix adds a call to SMB_VFS_CONNECT() in create_conn_struct() prior to IO. https://bugzilla.samba.org/show_bug.cgi?id=7976 Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Mar 2 01:16:30 CET 2011 on sn-devel-104
* s3-printing: clean up get_correct_cversion error pathsDavid Disseldorp2011-03-021-18/+16
| | | | Remove an unneeded variable and simplify error paths.
* s3-printing: fix move_driver_to_download_area() error pathsDavid Disseldorp2011-03-021-68/+51
| | | | | | | | | | WERR_ACCESS_DENIED errors are mapped to WERR_UNKNOWN_PRINTER_DRIVER, resulting in incorrect error messages on Windows clients. move_driver_to_download_area() returns the same error status values to the caller via the *perr argument as well as the return value. The create_directory() call is not checked for error.
* Fix compiler warning on casting -1 to uint32.Jeremy Allison2011-02-281-3/+3
|
* Fix some typesJelmer Vernooij2011-02-281-1/+1
| | | | | Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Mon Feb 28 23:30:06 CET 2011 on sn-devel-104
* s3-printing: move more printing structs to printing.hGünther Deschner2011-02-221-0/+1
| | | | Guenther
* s3-printing: only include printing where really needed.Günther Deschner2011-02-222-1/+5
| | | | Guenther
* s3-printing: fix pcacp prototypes and includes.Günther Deschner2011-02-222-0/+7
| | | | Guenther
* s3-printing: isolate print notification prototypes better.Günther Deschner2011-02-223-0/+89
| | | | Guenther
* s3: Fix a typoVolker Lendecke2011-02-221-1/+1
|
* s3-auth Rename auth_serversupplied_info varaiables: server_info -> session_infoAndrew Bartlett2011-02-224-47/+47
| | | | | | | | | | | | | | | | | | | | | 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-rpc_server: move services into individual directories.Günther Deschner2011-02-102-2/+2
| | | | | | | Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Thu Feb 10 22:13:17 CET 2011 on sn-devel-104
* s3-auth Rename cryptic 'ptok' to security_tokenAndrew Bartlett2011-02-101-3/+3
| | | | | | | | | This will allow the auth_serversupplied_info struct to be migrated to auth_session_info easier. Adnrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s3:printing: use dcerpc_spoolss_X() functionsStefan Metzmacher2011-01-212-47/+84
| | | | | | | | | metze Signed-off-by: Andreas Schneider <asn@samba.org> Autobuild-User: Andreas Schneider <asn@samba.org> Autobuild-Date: Fri Jan 21 13:14:49 CET 2011 on sn-devel-104
* s3-printing: remove printer_list_need_refreshDavid Disseldorp2011-01-073-41/+0
| | | | | | | | | | printer_list_need_refresh() was used previously to ensure one smbd process did not attempt to update the printer_list tdb during or soon after update by another smbd. It is no longer needed, as pcap updates are now only performed by the parent smbd process following startup, SIGHUP, config update or printcap cache time expiry.
* s3-printing: remove old entries in pcap_cache_replaceDavid Disseldorp2011-01-073-11/+24
| | | | | | Callers of pcap_cache_replace() assume the existing printcap cache is replaced by the new values provided. This is not currently the case, old entries should be removed.
* s3-printing: reload shares after pcap cache fillDavid Disseldorp2011-01-074-15/+52
| | | | | | | | | | | | | | | | 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 crash bug in print_spool_open().Günther Deschner2010-12-221-1/+3
| | | | | | | Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Wed Dec 22 14:21:58 CET 2010 on sn-devel-104
* s3-printing: fix printer_list_traverse()David Disseldorp2010-12-201-1/+1
| | | | | | | | | The tdb traverse function returns the number of elements traversed, or less than zero on error, printer_list_traverse() is incorrectly checking for non-zero return. Autobuild-User: Andreas Schneider <asn@samba.org> Autobuild-Date: Mon Dec 20 18:44:41 CET 2010 on sn-devel-104
* s3-spoolss: Fix Bug #7641: handle win9x adddriver calls w/o config file.Günther Deschner2010-11-291-2/+8
| | | | | | This turned cupsaddsmb to run into an infinite loop. Guenther
* Fix bug 7781 - Samba transforms ShareName to lowercase (sharename) when ↵Jeremy Allison2010-11-101-12/+17
| | | | | | | | | adding new share via MMC Change the find_service() interface to not depend on fstring, and create a useable talloc-based interface. Jeremy.
* Revert "Wrap security_token_has_privilege() with a check for ↵Jeremy Allison2010-10-221-1/+1
| | | | | | | | | | | | lp_enable_privileges(). Needed" Not needed - privileges code prevents "enable privileges = no" from adding privileges anyway. This reverts commit a8b95686a7bde3f96f141b6938e24e101567ef54. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Oct 22 23:41:36 UTC 2010 on sn-devel-104
* Wrap security_token_has_privilege() with a check for lp_enable_privileges(). ↵Jeremy Allison2010-10-221-1/+1
| | | | | | | | | | | Needed to maintain compatibility with smb.conf manpage. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Oct 22 18:15:48 UTC 2010 on sn-devel-104
* s3: Make "unpack_pjob" staticVolker Lendecke2010-10-201-1/+1
| | | | | Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Oct 20 16:51:04 UTC 2010 on sn-devel-104
* libcli/security Provide a common, top level libcli/security/security.hAndrew Bartlett2010-10-123-0/+3
| | | | | | | | | | | | | | This will reduce the noise from merges of the rest of the libcli/security code, without this commit changing what code is actually used. This includes (along with other security headers) dom_sid.h and security_token.h Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Tue Oct 12 05:54:10 UTC 2010 on sn-devel-104
* s3: Remove talloc_autofree_context() from get_printer_list_db()Volker Lendecke2010-10-081-1/+1
| | | | Another db that does not need explicit closing
* s3: Fix a pointer errorVolker Lendecke2010-10-041-1/+1
| | | | | | | | | | | | | | | | It is not universally guaranteed that an enum is represented as a uint32_t. This starts to be THE BUG (tm) in Samba. What can I do to explain this to people a bit better? It seems that the verbose explanations I put into the recent checkins fixing similar bugs are not clear enough. Anybody who does is not 100% clear about what this patch fixes please contact me directly so that we can talk it through on the phone to agree on a wording that everybody can understand. Thanks, Volker
* s3: Attempt to fix the non-ads buildVolker Lendecke2010-10-031-1/+1
|
* s3-spoolss: Fixed print_access_check server_info.Andreas Schneider2010-10-021-1/+1
|
* s3-spoolss: dont overwrite location change notify.Günther Deschner2010-10-011-0/+13
| | | | Guenther
* s3-spoolss: Fix servername/printername handling which turns out to be very ↵Günther Deschner2010-09-302-5/+5
| | | | | | important to get right. Guenther
* s3-printing: skip metadata entry when traversing printerlist.Günther Deschner2010-09-291-0/+5
| | | | | | | | | We were creating a new printer (with a very broken name) out of the lasttimestamp entry all the time. Simo, please check. Guenther
* Change to using TDB_INCOMPATIBLE_HASH (the jenkins hash) on allJeremy Allison2010-09-271-1/+1
| | | | | | | | | | TDB_CLEAR_IF_FIRST tdb's. For tdb's like gencache where we open without CLEAR_IF_FIRST and then with CLEAR_IF_FIRST if corrupt this is still safe to use as if opening an existing tdb the new hash will be ignored - it's only used on creating a new tdb not opening an old one. Jeremy.
* s3-libads call common GUID_from_ndr_blob()Andrew Bartlett2010-09-201-2/+5
| | | | | | | | | This does a length-limited check, and so avoids reading beyond the allocated memory if the server sends less than 16 bytes. Andrew Bartlett Signed-off-by: Günther Deschner <gd@samba.org>
* s3/printing: avoid a possible race condition in the cache timeoutBjörn Jacke2010-09-161-2/+1
|
* s3/printing: make clock jump save and use monotonic time for cache timeoutBjörn Jacke2010-09-152-14/+15
|
* s3-printing: fix print_spool_terminate().Günther Deschner2010-09-151-1/+1
| | | | | | Simo, Andreas, please check. Guenther
* s3-rpc_server: Moved ncacn_np declarations in common header file.Simo Sorce2010-09-152-0/+2
| | | | Signed-off-by: Andreas Schneider <asn@samba.org>
* s3-rpc_server: Convert rpc_connect_spoolss_pipe into a generic interface.Simo Sorce2010-09-151-3/+22
| | | | | This way we have one common way to open internal pipes whether they are shortcircuited or piped to an external process.
* s3-printing: Document the printer list functions.Andreas Schneider2010-09-151-0/+64
|
* s3-printing: Add method to skip refresh if just happned.Simo Sorce2010-09-153-0/+34
| | | | | | | This way if multiple process try to refresh at the same time we don't do it over and over again. Signed-off-by: Andreas Schneider <asn@cynapses.org>
* s3-printing: Use printer list tdb in pcap.Simo Sorce2010-09-151-21/+35
| | | | Signed-off-by: Andreas Schneider <asn@cynapses.org>
* s3-printing: Added a printer list database.Simo Sorce2010-09-152-0/+431
| | | | Signed-off-by: Andreas Schneider <asn@cynapses.org>
* s3-privs Convert from user_has_privileges() -> security_token_has_privilege()Andrew Bartlett2010-09-111-2/+1
| | | | | | | | | This new call is available in the merged privileges code, and takes an enum as the parameter, rather than a bitmask. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s3-privs Further changes to remove SE_PRIVAndrew Bartlett2010-09-111-1/+1
| | | | Signed-off-by: Andrew Tridgell <tridge@samba.org>
* s3-printing: fix non-ads build after prototype changes.Günther Deschner2010-09-101-1/+1
| | | | Guenther