summaryrefslogtreecommitdiff
path: root/source3/printing
AgeCommit message (Collapse)AuthorFilesLines
2001-07-04The big character set handling changeover!Andrew Tridgell6-35/+13
This commit gets rid of all our old codepage handling and replaces it with iconv. All internal strings in Samba are now in "unix" charset, which may be multi-byte. See internals.doc and my posting to samba-technical for a more complete explanation. (This used to be commit debb471267960e56005a741817ebd227ecfc512a)
2001-07-02Fixed extra file_free calls - my fault :-(.Jeremy Allison1-14/+4
Jeremy. (This used to be commit 2f8b84bda040edc87a7af29c3a281cf335e392cb)
2001-06-28Properly instrument print_job_start()/print_job_end() so every fail caseJeremy Allison1-4/+20
logs a debug. We need this to track fail cases. Jeremy (This used to be commit fe5cac150d7491a7dfdaf2a54998178bbfe5a303)
2001-06-26SGI compiler fixes.Herb Lewis1-0/+6
Jeremy (This used to be commit 45bf995bf62aa6cc176d57e2f954cc2d379717ef)
2001-06-22Fix from "Jim McDonough" <jmcd@us.ibm.com>" - when we use open_file_shared(),Jeremy Allison1-5/+5
we need to close with close_file(). Jeremy. (This used to be commit 5b2ffd160f3b4b9607bb6fd6db1644af9254ad9e)
2001-06-04use LDSHFLAGS not -shared in several placesAndrew Tridgell2-2/+2
(This used to be commit 8ec9c87b5d1a7dae17d5b1a30f58effaf5e69e4b)
2001-05-18merge from 2.2 (deleteprinterdriver RPC)Gerald Carter1-0/+101
(This used to be commit 515caaf7b448e55206433a9ca04fb5078f91cde2)
2001-05-10Replaced a whole bunch of lookup_name() requests inTim Potter1-8/+11
construct_default_printer_sdb() with checks of the owner rid instead. This should be much faster, work on non-English systems and systems with renamed user or group names. (This used to be commit 8b435b0a2ab1fa060473753fa05f0aba8406b607)
2001-05-03Merging Gerald's "no printer driver" fix from 2.2.Jeremy Allison1-0/+10
Jeremy. (This used to be commit 409b1e4d1b996b26eee80bf5cb4edd962e4a4c76)
2001-04-27More debug %d -> %u issues.Jeremy Allison1-6/+6
Jeremy. (This used to be commit 6fcb600dcd23c61d1a7d2ce8c2b7b2eea2e58623)
2001-04-18Removed mktemp from HEAD - same as done in 2.2.Jeremy Allison2-18/+9
Jeremy. (This used to be commit 121b59669fbcd1aaedb08011ff36169fc6561c55)
2001-04-14configure:Jeremy Allison2-16/+8
configure.in: include/config.h.in: include/profile.h: smbd/vfs-wrap.c: smbd/vfs.c: Added fchmod and fchown to VFS (sorry Gerald - but we needed them anyway). smbd/dosmode.c: smbd/files.c: printing/printfsp.c: smbd/close.c: smbd/open.c: Fixed "dos filemode" correctly so there are no race conditions. Forces test of open of file O_WRONLY before allowing fchmod as root. Afterwards, calls standard close function that preserves POSIX locks due to POSIX-me-harder braindamage. :-). Andrew please review this code. Also - in removing the tmpdir param in smbrun an extra NULL parameter was missed in each print_run_command() call (which is a varargs fn.). Now fixed. Jeremy. (This used to be commit 32397e5bc6d995ce7ca37c82d6aedc1e5b1b6fbd)
2001-04-13Merge of Andrew's changes in 2.2.Jeremy Allison1-23/+4
Jeremy. (This used to be commit fc76681812b1469208ad6c8847afdfc68bc6db49)
2001-04-13As Andrew suggested, make smbrun return a fd for a deleted file which can thenJeremy Allison1-11/+20
be read. Jeremy. (This used to be commit e7d59d6de89a5fdd201e4b5c6072dab08b1519db)
2001-04-10Fixed missing HAVE_STDARG_H.Jeremy Allison1-4/+20
Jeremy. (This used to be commit 7cdd87954634cadda042df06c2f56aac40a7d743)
2001-04-08Got "medieval on our ass" about adding the -1 to slprintf.Jeremy Allison1-10/+10
Jeremy. (This used to be commit 94747b4639ed9b19f7d0fb896e43aa392a84989a)
2001-04-08Added per-share security tdb. Tidied up many slprintfs (need -1 on length).Jeremy Allison1-38/+39
Jeremy. (This used to be commit d786191bc116c17a3f53a1c272d969942b7e5d25)
2001-04-03Sync up with new NT forms code.Jeremy Allison1-20/+155
Jeremy. (This used to be commit 63ce316d870be0cf61ae669c955479ec175fdaef)
2001-03-28Fixed typo bug spotted by Jim Vopni jimv@metrics.com. Caused no status toJeremy Allison1-1/+1
be returned. Jeremy. CVS ---------------------------------------------------------------------- (This used to be commit 5b7f4cf271ad449277c0ea7a825ed4d50205d729)
2001-03-27Patch from itegem <J.P.M.v.Itegem@ele.tue.nl> to handle LPRng v3.16 and above.Jeremy Allison1-11/+30
Jeremy (This used to be commit 40bccf26dbdb88c639d272d511bfce510a43de2a)
2001-03-26Fix from Dave Collier Brown to log a debug at level zero on common misconfigure.Jeremy Allison1-1/+13
Jeremy. (This used to be commit 4a3d2a13d3b0acab69c27b5b6522575b949eb5e6)
2001-03-23Two OS/2 printer fixes from Jim McDonough @ IBM.Jeremy Allison1-0/+85
First one adds a new info level into the lanman printing and an ioctl to the trans2 code. Andrew - this uses ASCII only. It looks ok to me but please check ! Second one adds a parameter "os2 driver map" that allows OS/2 driver names to be mapped. Jeremy. (This used to be commit da79b519e0b6b4317d7fb5260d74e0e74a7e0b46)
2001-03-16Added Michael Sweet's CUPS patch to call directly into the CUPS backend.Jeremy Allison2-168/+1023
Parameterises the printing functions so other backends can be plugged directly in (this is a good thing :-). Jeremy. (This used to be commit c0345bbaed5d1aac777f1a33ff84ad1899f2ed6d)
2001-03-16Added files for CUP printing patch split.Jeremy Allison1-0/+251
Jeremy. (This used to be commit 9822f13ae23e244e5e9a4cf3355bea2eead8cf66)
2001-03-11Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison4-20/+9
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)
2001-03-09Serious (and I *mean* serious) attempt to fix little/bigendian RPC issues.Jeremy Allison1-1/+1
We were reading the endainness in the RPC header and then never propagating it to the internal parse_structs used to parse the data. Also removed the "align" argument to prs_init as it was *always* set to 4, and if needed can be set differently on a case by case basis. Now ready for AS/U testing when Herb gets it set up :-). Jeremy. (This used to be commit 0cd37c831d79a12a10e479bf4fa89ffe64c1292a)
2001-03-03Roll back to using malloc/realloc on some of spoolss in head.Jeremy Allison1-39/+15
I'm having problems with talloc_realloc in the 2.2 branch and I want a stable reference. The only problem is this breaks the clean auto-generated code in *one* call in srv_spoolss.c (the rfnpcnex call). Jeremy. (This used to be commit 57a9340cbafa40f3a41e6c676c6f2477855fd799)
2001-03-02Move to talloc controlled NT forms.Jeremy Allison1-15/+39
Jeremy. (This used to be commit 3e190e693375c6032dd64bf8dd3c90f90dc4e3b4)
2001-03-01Fixed a couple of getpwXX calls that were not going through the sys_getpwXXJeremy Allison1-2/+2
cache. Jeremy. (This used to be commit a648935ae93f781aedba8f89b0071a24e42f4543)
2001-02-28Move to talloc control of SPOOL_XXX structs. Move to talloc control ofJeremy Allison1-55/+34
security descriptors and pointers. Syncup with 2.2 tree. Jeremy. (This used to be commit 14d5997dc841e78a619e865288486d50c245896d)
2001-02-23include/rpc_spoolss.h: Added JOB_STATUS_XXX defines.Jeremy Allison1-50/+50
include/smb.h: Added LPQ_xx enums to correspond with the NT JOB_STATUS_XXX. We need these to be different as we're storing LPQ_xx enums in the tdb already. rpc_server/srv_spoolss_nt.c: Don't need to return status strings as we're now returning status codes. smbd/lanman.c: Change the RAP status codes to have "RAP" in the name. printing/printing.c: Keep track of the status of a job. Allow a job to be deleted from one smbd when being submitted by another. Made logic in mutex clearer. Jeremy. (This used to be commit 71029da7dd74eb91dd6953752bdf238f319d985d)
2001-02-22lib/select.c: Fix for Linux 2.0.x kernel that causes select to return true ↵Jeremy Allison1-17/+115
on a pipe and then a blocking read to fail. Make the pipe read/write non blocking. printing/printing.c: Added a mutex around the code that enumerates all the jobs in a print queue. Allows only one smbd to be doing this at any one time. This fixes a capacity problem discovered at HP with <10,000 jobs in a print queue. Jeremy. (This used to be commit 0d3ae603a2b86d476458ee2a7d4f7d22636c3f66)
2001-02-22Fixed file descriptor leak in error processing of print jobs.Jeremy Allison2-52/+47
NT sends "delete on close" to cancel a print job copied from the command line. Deal with this. Merged JohnR's fixes for print job errors. Jeremy. (This used to be commit 2060d74e48d62c99a1689ee02ac435b71918ddf0)
2001-02-16Excise snprintf -> slprintf.Jeremy Allison1-1/+1
srv_samr.c: duplicate gid fix. srv_spoolss_nt.c: Merge of JF's work. uid.c: Fix for returning names when a PDC. Jeremy. (This used to be commit d938ad6963a2dd4eda930d508600ec1902dc2b16)
2001-02-15DEBUG merge from 2.2 about tdb init failure.Herb Lewis1-2/+20
Patch from David Collier-Brown to print permission error on spool file creation. (This used to be commit 8907a51743b7b9b9ad4168033fae4d44012cca37)
2001-02-12Merge of JohnR's changes to appliance-head, JF's changes to 2.2,Jeremy Allison1-2/+13
updated the POSIX_ACL code to be in sync. Jeremy. (This used to be commit c0517d6f4e3079feca1309fd1ea7b21e83f0de02)
2001-01-29Changes from APPLIANCE_HEAD:David O'Neill3-28/+94
source/include/proto.h - make proto source/printing/nt_printing.c source/rpc_server/srv_spoolss_nt.c - Fix for the overwriting of printerdata entries when WinNT and Win2k are modifying printer parameters on PCL printers. Turns out that Win2k creates a printer with a NULL devmode entry and then expects to set it on *OPEN* (yes this is insane). So we cannot return a "default" devmode for a printer - and we must allow an open to set it. source/tdb/tdb.c - Show freelist in an easier format. Show total free. - When storing a new record, allocate memory for the key + data before the tdb_allocate() as if the malloc fails a (sparse) hole is left in the tdb. source/tdb/tdbtool.c - Show freelist in an easier format. Show total free. source/tdb/Makefile - cleaned up Makefile dependancies source/smbd/lanman.c - Fix for Win9x corrupting it's own parameter string. source/printing/printfsp.c source/printing/printing.c source/rpc_server/srv_spoolss_nt.c source/smbd/close.c - Added normal close parameter into print_fsp_end() which treats an abnormal close as error condition and deletes the spool file. (This used to be commit 025f7a092ad258ff774e3f5e53737f8210cc8af6)
2001-01-26Changes from APPLIANCE_HEAD:David O'Neill1-1/+23
source/printing/nt_printing.c - fix for Win2k sending NULL devicemode in setprinter calls which was making NT4 grumpy. The solution is to never set a NULL devicemode if we previously had a valid one in the printer's TDB entry. (This used to be commit b9036a07781724d58b34da3b6e876dd28d5f70a6)
2001-01-24Changes from APPLIANCE_HEAD:David O'Neill1-8/+17
source/printing/printing.c - When deleting a job, remove the entry from the back-end database if the delete succeeded. This stops a spurious permission denied message appearing if the forced database update is within the lpq cache timeout and doesn't actually delete the job from the database. (This used to be commit be61c98832d0a8969e608fd22da2035e454ec788)
2001-01-23Changes from APPLIANCE_HEAD:David O'Neill1-10/+42
source/rpc_server/srv_spoolss_nt.c - add an access check to _spoolss_deleteprinter() to stop random users and passers by from deleting printers. source/lib/messages.c - converted global msg_all struct to a local in message_send_all() function. source/include/smb.h - added a success error code to the spoolss return codes. source/include/proto.h source/param/loadparm.c source/printing/printing.c - Added new parameter "total print jobs" to limit the total number of print jobs across all queues. Currently individual queues are limited by "max print jobs". (This used to be commit 02f154e729b0e8465d3e1e2ac794e6ab3844ce57)
2001-01-23Changes from APPLIANCE_HEAD:David O'Neill1-1/+3
source/rpc_server/srv_spoolss_nt.c - remove redundant srv_spoolss_sendnotify() calls from _spoolss_startdocprinter() and _spoolss_enddocprinter(), as its functionality is already covered in print_job_start() and print_job_end() source/printing/printing.c - force a print_queue_update() prior to print queue purge so that all jobs are purged. (This used to be commit 0ccc552203d6432cde844c5946b203b27f257b1a)
2001-01-22Changes from APPLIANCE_HEAD:David O'Neill1-1/+1
source/printing/printing.c - remove unused variable (This used to be commit 2d09b53b3a9201c2f52306fc12ab01a92e712db2)
2001-01-22Changes from APPLIANCE_HEAD:David O'Neill1-17/+33
source/smbd/lanman.c - cleanup and bug fix for win9x print queue purge. source/printing/printing.c - cleanup and bug fix for win9x print queue purge. - print_job_end() changed to cleanup spool file in the event of a failure returned from the print_run_command() (This used to be commit 0235fbef37b400a2bf875163878e497282cd1739)
2001-01-19Changes from APPLIANCE_HEAD:David O'Neill2-20/+45
source/printing/nt_printing.c - use se_create_child_secdesc() to create appropriate security descriptor when performing print job admin security checks. source/printing/printing.c - Use JOB_ACCESS_ADMINISTER instead of PRINTER_ACCESS_ADMINISTER in print_job_{delete,pause,resume}() - If stat'ing the job file fails, delete the job from printing.tdb - In print_job_end() check lpq cache time and do a print_queue_update() This prevents printing.tdb from growing when using NT/2K clients, and there isn't someone pressing F5 in a port monitor window. - In print_queue_resume() check lpq cache time and do a print_queue_update() Probably should do it for print_job_resume() too. (This used to be commit 0068b7741fd54706ef36ddbbc3092389d281e684)
2001-01-17Changes from APPLIANCE_HEAD:David O'Neill4-8/+18
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)
2001-01-11Changes from APPLIANCE_HEAD:David O'Neill2-19/+44
testsuite/printing/psec.c - Use lock directory from smb.conf parameter when peeking at the ntdrivers.tdb file. source/rpc_parse/parse_sec.c - fix typo in debug message source/script/installbin.sh - create private directory as part of 'make install'. source/nsswitch/winbindd_cache.c source/nsswitch/winbindd_idmap.c source/passdb/secrets.c source/smbd/connection.c - always convert tdb key to unix code-page when generating. source/printing/nt_printing.c - always convert tdb key to unix code-page when generating. - don't prepend path to a filename that is NULL in add_a_printer_driver_3(). source/rpc_server/srv_spoolss_nt.c - always convert tdb key to unix code-page when generating. - don't prepend server name to a path/filename that is NULL in the fill_printer_driver_info functions. source/printing/printing.c - always convert tdb key to unix code-page when generating. - move access check for print_queue_purge() outside of job delete loop. source/smbd/unix_acls.c - fix for setting ACLs (this got missed earlier) source/lib/messages.c - trivial sync with appliance_head (This used to be commit 376601d17d53ef7bfaafa576bd770e554516e808)
2001-01-08Changes merged from APPLIANCE_HEAD:David O'Neill1-3/+4
source/printing/printing.c source/rpc_server/srv_spoolss_nt.c - convert args for print command to unix codepage. (This used to be commit 1c0ae957f8f1abee7d22a18b6df092eb2a884ae1)
2001-01-04Changes from APPLIANCE_HEAD:David O'Neill2-75/+42
source/Makefile.in - changes to ctags and etags rules that somehow got lost along the way. source/include/proto.h - make proto source/smbd/sec_ctx.c source/smbd/password.c - merge debugs for debugging user groups and NT token stuff. source/lib/util_str.c - capitalise domain name returned from parse_domain_user() source/nsswitch/wb_client.c - fix broken conditional in debug statement. source/include/rpc_secdes.h source/include/rpc_spoolss.h source/printing/nt_printing.c source/lib/util_seaccess.c - fix printer permission bugs related to ACE masks for printers. This adds mapping of generic access rights to object specific rights for NT printers. Still need to work out whether or not to ignore ACEs with certain flags set, though. See comments in util_seaccess.c:check_ace() for details. source/printing/nt_printing.c source/printing/printing.c - use PRINTER_ACCESS_ADMINISTER instead of JOB_ACCESS_ADMINISTER until we sort out printer/printjob permission stuff. (This used to be commit 1dba9c5cd1e6389734c648f6903abcb7c8d5b2f0)
2000-12-21merge from appliance headGerald Carter1-0/+5
(This used to be commit 393c5f14e0858dcb3d6cb26eb5643b520c2c9686)
2000-12-18Merged Tim's fixes from appliance-head.Jeremy Allison1-4/+8
Jeremy. (This used to be commit 26f873540c2299600cb80eb059fcdaf70ec82473)