summaryrefslogtreecommitdiff
path: root/source3/printing/nt_printing.c
AgeCommit message (Collapse)AuthorFilesLines
2000-07-27fix the devmode.orientation being set to 0.Jean-François Micouleau1-2/+8
that bug was *subtle* :-( J.F. (This used to be commit 0e9e048b6d65b57bdcc7440ddaa9d2cc1eac71dc)
2000-07-27Ok - this is a *BIG* change - but it fixes the problems with static stringsJeremy Allison1-3/+20
in the RPC code. This change was prompted by trying to save a long (>256) character comment in the printer properties page. The new system associates a TALLOC_CTX with the pipe struct, and frees the pool on return of a complete PDU. A global TALLOC_CTX is used for the odd buffer allocated in the BUFFERxx code, and is freed in the main loop. This code works with insure, and seems to be free of memory leaks and crashes (so far) but there are probably the occasional problem with code that uses UNISTRxx structs on the stack and expects them to contain storage without doing a init_unistrXX(). This means that rpcclient will probably be horribly broken. A TALLOC_CTX also needed associating with the struct cli_state also, to make the prs_xx code there work. The main interface change is the addition of a TALLOC_CTX to the prs_init calls - used for dynamic allocation in the prs_XXX calls. Now this is in place it should make dynamic allocation of all RPC memory on unmarshall *much* easier to fix. Jeremy. (This used to be commit 0ff2ce543ee54f7364e6d839db6d06e7ef1edcf4)
2000-07-25Fixed up error checking and move printer file code. Fixed a memory leak.Jeremy Allison1-8/+33
Jeremy. (This used to be commit 5130dd0f8b80aed5fb3c0df290b627057cc9b825)
2000-07-25Added some error checking and returns to the new 'move' code.Jeremy Allison1-12/+46
Jeremy. (This used to be commit 0bd88d304cd773e0bbf3e6f7fedcb3b544d41cbe)
2000-07-25A rather big change set ! (listed in no particular order)Jean-François Micouleau1-31/+243
- changed the default forms flag to 2 - all short architecture name are uppercased - get_short_archi() is now case unsensitive - the drivers TDB is indexed by archi/version/name - implemented code to move drivers from the upload area to the download area. Someone else need to look at that code. - don't return anymore a default driver if it doesn't exist in the TDB. Instead return an error. - cleaned prs_unistr. - #ifdef out jeremy's new SD parsing in printer_info_2 - removed the unused MANGLE_CODE - #ifdef out the security checking in update_printer() as it doesn't work for me. Zap your ntdrivers.tdb, it won't work anymore. J.F. (This used to be commit ac0a145acc0953a6f362497abbf4dfe70aa522a6)
2000-07-22Fixed open handle code in printers - 3 functions were always being doneJeremy Allison1-12/+13
in order - moved them into open_printer_hnd(). Added saving of comment field. Jeremy. (This used to be commit a0ee774fe92e5d0bc84d1d6729e8c538c67e8aba)
2000-07-19Code from John Reilly <jreilly@hp.com> to add tdb lookups into the Win95Jeremy Allison1-0/+55
printer driver download if looking for the default driver files fail. Jeremy. (This used to be commit 1192d867c4e863471f9bc12afceb68a23ba2142e)
2000-07-17Initialise current time to time(NULL) in add_a_printer_2()Tim Potter1-1/+4
Added get and free security old descriptor in nt_printing_setsec() after access checking was moved up to rpc level. (This used to be commit a5b7cafc87e14ca3f28dcfc1ed6bcc6f47e79639)
2000-07-17Moved access check for nt_printing_setsec() up into rpc function.Tim Potter1-36/+59
Use sid + rid instead of lp_workgroup()/Administrator for printer owner sid as per JF's advice. Default printer owner is either the administrator of the pdc workgroup or Everyone depending on whether winbindd is running. Still the subject of some debate... Renamed se_access_check() parameters. (This used to be commit e92e161a813ac0793897ffe3d33b01054912d4c7)
2000-07-12we are now sure the printer_info_2 timestamp is updated everytimeJean-François Micouleau1-0/+5
required. J.F. (This used to be commit 08b41bab177affac088c981d7c620728e8e6e9b0)
2000-07-12- The printers are indexed by the sharename in both get_a_printer() andJean-François Micouleau1-15/+15
add_a_printer() now. - correctly unpack the private part of a devmode and remove a memleak - correctly retrieve the pair(value,data) for getprinterdata - handle null devicemode in printer_info_2 I still have some bugs but I'm not crashing anymore NT4SP6 d/c build :-) J.F. (This used to be commit 493f7d11acf753ba24c88e6cbb73d86a8595a66a)
2000-07-11Allow name lookup to fail and fall back to using the "Everyone" SIDJeremy Allison1-3/+5
as SD owner. Allows smbd to work without winbindd running. Check for security implications ! Jeremy. (This used to be commit 9bd64da1e26a1b4a2df2b0537feb604a40762bb1)
2000-07-10Moved winbind client functions from various odd locations toTim Potter1-25/+0
nsswitch/wb_client.c Merge of nsswitch/common.c rename to nsswitch/wb_common.c from TNG. (This used to be commit f866c18f6be65db67d9d2a6c0b42e1af3b421e6c)
2000-07-10Re-instated lanman printing security checks (oops).Tim Potter1-32/+90
A user can now pause, resume or delete their own job even if they don't have the Manage Documents privilege. Added call to se_access_check() for changing printer properties. The Full Access privilege is required for the user to perform this. Several uninitialised variables and memory leaks plugged. Modified default ACL created on new printers to be Everyone / Print instead of Everyone / Full Access. This required some random stuffing around with the value of the revision field to correspond with the ACL that NT produces when setting the same permission on the printer. Fixed dodgy function call in printing/printfsp.c (This used to be commit 2abce4dcfa351051df6e5f789b34fa99c9b81c22)
2000-07-06printing/nt_printing.c: (From JF) use the driver name - already given to us.Jeremy Allison1-4/+1
printing/printing.c: priority needs to be 1 not zero (found by checked build). rpc_server/srv_spoolss_nt.c: Log invalid handle access, also print out if this is a different pid handle. This will help track down client access after a connection is closed. Jeremy. (This used to be commit 4ff949228c40b6abb2008df8db985562ac2895d2)
2000-07-06Don't check NT permissions when printing from lanman.Tim Potter1-0/+8
(This used to be commit e84607eedf3be454f8f709c70cafc5ded4ea951d)
2000-07-06Implemented NT printer descriptor checking. Yay!Tim Potter1-54/+101
User details are passed into the printing back end from the spoolss code. For each print operation these details are checked using the se_access_check() function using information from the winbind daemon. Fixed bug in nt_printing_setsec() where the user and group SIDs were trashed if the permissions were changed from NT. It is necessary to merge these sids from the previous value of the security descriptor before storing it in the tdb. (This used to be commit 8d42661d424d80e1048d08b5cad3281643231d62)
2000-07-01Found that the minimum priority is 1 and not 0 on NT.Jean-François Micouleau1-1/+8
Changed back the devicemode's devicename to "\\server\printer". I'm 100% sure it is correct, it's what NT sends on the wire. And that's the printer's name and NOT the port's name as it has to be unique. It must also be a UNC because it's a remote printer (remote for the client). J.F. (This used to be commit a7098c47b6ecbd7bb5df1330ea176aa4d463aad3)
2000-06-29Tidy up current spool code - added some JRATEST ifdefs to allowJeremy Allison1-1/+1
experimentation with what is making spoolss.exe crash - may be removed later. Jeremy. (This used to be commit f3fe384dc39ce49c639a7adf35179a50cb86abf0)
2000-06-26Changing drivers using the properties page works - but only if getting/settingJeremy Allison1-4/+13
security descriptors is disabled (as it is in this code). If get/set sd's is enabled spooler.exe crashes on NT. I'll investigate and fix that issue next. Jeremy. (This used to be commit 8c9ed874363e6a710bc0fe521bb8c4f7ee219587)
2000-06-23Some compile fixes.Tim Potter1-3/+0
(This used to be commit 4d0c09cb4f17b60ab99767d3e61f2ad50c6c5c30)
2000-06-22lib/util_unistr.c: Removed ascii_to_unistr() as it does no codepage.Jeremy Allison1-11/+9
Removed unistr_to_ascii() as it was never used. printing/nt_printing.c: Removed "DUMMY.XX" files. rpc_server/srv_spoolss_nt.c: Use dos_PutUniCode() instead of ascii_to_unistr(). Attempted to fix the "return value" size code based on J.F's comments. This needs looking at. Jeremy. (This used to be commit de99011bf3b2a23bd1854a047382a107aaeb9c68)
2000-06-20Fixes for Win2k "add printer driver" INFO_LEVEL_6 was wrong, also someJeremy Allison1-2/+10
memory fixes. Jeremy. (This used to be commit 2a9e645cbddef1cddc5c978310b7efed492758d2)
2000-06-16Added print_access_check() function for checking printer securityTim Potter1-0/+71
descriptors. Currently returns True (plus debug output) which should not affect the behaviour of nt or lanman printing. (This used to be commit a9b4710e649e887e07d68c1bf826e00c9811e4ee)
2000-06-09untiltime should be 0 by default to cover the whole 24 hours.Jean-François Micouleau1-3/+3
J.F. (This used to be commit 53aff484a6a37c83fd2e21d48fd1a5fcbad2f511)
2000-06-08make_sec_acl was passed pointer to static array ace[2], oops.Luke Leighton1-1/+1
(This used to be commit f3502d846c99c77b13ce75977f5dc79cc1a3506d)
2000-06-08Cause printer SD's to be displayed correctly (full control).Jeremy Allison1-7/+9
Jeremy. (This used to be commit 341d07c516865bdd9be99f98cd0754d12b25f9c0)
2000-06-07Fixing get/set of security descriptors.Jeremy Allison1-4/+17
Removed ugly hack for NT printing. Fixed up tdb parse stuff memory leaks. Jeremy. (This used to be commit 8ef41f31c53e14ad057d883810a1cd2301fede2a)
2000-06-06fixed sizeof() typoAndrew Tridgell1-4/+4
(This used to be commit 1da9c5531a8e26dc63b31a27fa73e0932278acb4)
2000-06-06fixed!!Andrew Tridgell1-10/+27
yipee! the damn "device settings cannot be displayed" error is gone. We needed to supply a default set of forms. I've added A4 and Letter by default. (This used to be commit 36f1189be1609490b6a825a2608b9cf5dc682656)
2000-06-06Create elements in default, not in read.Jeremy Allison1-0/+9
Jeremy. (This used to be commit 0d681ea252e0cf7fdf57d316d2bfe7caa9b4fbf5)
2000-06-05fixed a off by one bug in ntforms read from the databaseAndrew Tridgell1-1/+1
(This used to be commit 1c5f70821981e961b81c31f5c83bb56c08ef5018)
2000-06-04we no longer need the code to cope with setprinter having corruptedAndrew Tridgell1-6/+0
data (This used to be commit c602b703a05b94748a890add751f47fc6b539c60)
2000-06-04some printer parameters are getting corrupted, possibly by the clientAndrew Tridgell1-2/+12
possibly by smbd. Reset them so printing at least works while I try to figure out what is going on. (This used to be commit 70476d6767a571460fa375fb1dae884df77ca143)
2000-06-04fixed the pack/unpack of the devicemodeAndrew Tridgell1-50/+82
we were being bitten by uint16/uint32 mixups (This used to be commit 1d37f76953534f7bf9d8890dda30c7e00cbb024c)
2000-06-04someone forgot a !Andrew Tridgell1-1/+1
(This used to be commit 29fa2e1d99235bc15b2916c404b46012eb77b7e2)
2000-06-03fixed some ptr declarationsAndrew Tridgell1-2/+2
(This used to be commit 7a670f5f3b627543bf776fc9698a2b5d46c110a3)
2000-06-02More memory corruption (leaks etc.) fixes.Jeremy Allison1-0/+2
Jeremy. (This used to be commit 71a0621f552083880e89923055e8bd14d0b1b82f)
2000-06-01More insure found memory leak and corruption fixes.Jeremy Allison1-2/+19
Jeremy. (This used to be commit 3cdcfa6325b9cd2d7f7c90c4b2d1c6ec73fc2f6d)
2000-06-01param/loadparm.c: Looks like someone ran indent on this !Jeremy Allison1-5/+15
passdb/smbpass.c: Insure uninitialized memory reference fix. printing/nt_printing.c: rpc_server/srv_spoolss_nt.c: Insure memory leak fixes. smbd/unix_acls.c: Shadow ref fix. Jeremy. (This used to be commit d175d3ebefc053e9badd91ca5f2d8bd03eb6705d)
2000-06-01Back to building. Now to test with insure.Jeremy Allison1-3/+1
Added some frees needed to stop memory leaks. Jeremy. (This used to be commit eba31e4e802120c9eb8c4688f521b4de9cb91f5c)
2000-06-01Getting back to a compilable state (not there yet but close).Jeremy Allison1-91/+186
Added patches for random -> sys_random. Added set_effective_xxx patches for AFS code. Memory allocation changes in spoolss code. Jeremy. (This used to be commit c2099cfb033c2cdb6035f4f7f50ce21b98e1584d)
2000-05-29if the tdb stored driver isn't formatted right then return a defaultAndrew Tridgell1-1/+1
driver (This used to be commit 48bf12d23ee39ccc7c19363012abd48f43dfac11)
2000-05-28fixed a couple of bugs in the driver return codeAndrew Tridgell1-1/+9
(This used to be commit 8695cb0023597fd118241a431eeeddc559484465)
2000-05-27getting and setting security descriptors on printers now worksAndrew Tridgell1-16/+61
this needed some fixes in tdb_unpack(). Tim, you'll need to update (This used to be commit 9422719ab4c35e4ce3199b62dd632433bf391283)
2000-05-27fixed return from nt_printing_init()Andrew Tridgell1-1/+4
(This used to be commit 7e13ba75444eb82b257a7a3578aa30ae2f52fe1a)
2000-05-27fixed call of firstkey/nextkey to traverse driver databaseAndrew Tridgell1-4/+4
(This used to be commit 11010f946af4d60d88bed450692e43c6a7860ab7)
2000-05-27dummy trash in secdesc.Luke Leighton1-3/+7
(This used to be commit 56c2dbbf813e1dc120d199b173fd462c658572a0)
2000-05-27bug-fix from tim (insure). dummy fn call for andrew to fill in.Luke Leighton1-1/+12
(This used to be commit 1e3c0ab29d178fe58add32672301ac497d43a3fe)
2000-05-27security descs in spoolss. needs parse_sec.c nttrans.c broken.Luke Leighton1-2/+2
(This used to be commit f9f2a04fdb7b2af1cfe5bf26ec6f0d955ea948b9)