summaryrefslogtreecommitdiff
path: root/source3/rpc_parse/parse_spoolss.c
AgeCommit message (Collapse)AuthorFilesLines
2001-04-02include/ntdomain.h:Jeremy Allison1-63/+136
rpc_server/srv_lsa_hnd.c: Remove back pointer from policy handle list as the pipe that opened the handle may have been closed. We were dereferencing into something that had been closed. rpc_parse/parse_spoolss.c: Sync up with Gerald's changes in 2.2. lib/replace.c: Don't do proto on setlinebuf as it differs between systems. Jeremy. (This used to be commit 887ef3e12dc56b89b2284d42b16a81f03e15110b)
2001-03-28rename of 16 new_smb_io functions to smb_io_* for consistency sakeGerald Carter1-116/+116
(merge from 2.2) (This used to be commit ea963a648b889da9e47661c61c7fafe13b277e75)
2001-03-27merge from 2.2.Gerald Carter1-40/+40
(This used to be commit 817258f1174d27d74e8b21ffb5f1384db2238007)
2001-03-19reverted the rename of new_spoolss_io_r_enumprinterdrivers()Gerald Carter1-1/+1
(This used to be commit fd6bfe03f4454272bdce59c78ae7148a72caaf18)
2001-03-15whoops...forgot oneGerald Carter1-19/+31
(This used to be commit f37ba49c28b617c5750344eff0b221512445908e)
2001-03-15renamed one of the enumprinterdrivers parsing functionsGerald Carter1-2/+2
for consistency sake. (This used to be commit cbce0c935099231af51a34460c6b331822fde213)
2001-03-11Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison1-0/+1
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-2/+12
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-01rpc_parse/parse_spoolss.c: Fixed memory leak introduced by restructuring.Jeremy Allison1-5/+17
rpc_server/srv_spoolss_nt.c: Fixed problem with printer snum being read uninitialised. Jeremy. (This used to be commit 1552db715da576b41060f0d31d2c4cdec790c1d4)
2001-03-01Remove unused code.Jeremy Allison1-117/+3
Jeremy. (This used to be commit 3495d5cc3ba0f380fc78389b9ba17235ccd97ae4)
2001-02-28Move to talloc control of SPOOL_XXX structs. Move to talloc control ofJeremy Allison1-331/+288
security descriptors and pointers. Syncup with 2.2 tree. Jeremy. (This used to be commit 14d5997dc841e78a619e865288486d50c245896d)
2001-02-27Added total memory allocated counter to talloc, so we can tell if a tallocJeremy Allison1-2/+2
pool is getting bloated. Also added a talloc_zero function to return zeroed memory. Added debug in rpc_server/srv_pipe_hnd.c so we know when a talloc pool is being freed. Syncup with srv_pipe_hnd.c from 2.2 so we are freeing memory at the same time. Jeremy. (This used to be commit d3a56c6042acf037bbd53de88d7636a5803ead20)
2001-02-12Merge of JohnR's changes to appliance-head, JF's changes to 2.2,Jeremy Allison1-9/+12
updated the POSIX_ACL code to be in sync. Jeremy. (This used to be commit c0517d6f4e3079feca1309fd1ea7b21e83f0de02)
2001-01-17Changes from APPLIANCE_HEAD:David O'Neill1-6/+24
source/include/proto.h source/include/rpc_spoolss.h source/rpc_parse/parse_spoolss.c source/rpc_server/srv_spoolss.c source/rpc_server/srv_spoolss_nt.c - speedups in printer queue enumeration - still room for improvement. The construct_dev_mode() still creates and destroys a printer info_2 structure every time it is called. - fixed job->devmode memory leak - converted printer job notification routines to use tallocated memory rather than a fixed 2K buffer. This reduces the memory requirements of a 4500 job queue enumeration from 90MB to about 16MB. (This used to be commit 7853b27bc1765d48d5f06837f8aca71a3a0d1e5d)
2001-01-12Printer name unistr is null terminated in make_spoolss_q_open_printer_ex()Tim Potter1-1/+1
(This used to be commit a125eba0aac2bc6b37322a1e38e46eaac7e20d3a)
2000-11-22ADDPRINTERDRIVER info level 6 fix - this is dynamic dependingJeremy Allison1-7/+9
on a field in the struct - that's why it was so hard to find. Jeremy. (This used to be commit 0ab6eb01b0d15e5eb744333d2bd79c27451f50e3)
2000-11-21Fix for updating of print queues changed from a local box. Essentially,Jeremy Allison1-1/+1
this makes sure that the change messages sent to ourselves are handled synchronously w.r.t. other smb packets incoming. Jeremy. (This used to be commit 78a13074455618308d048d1c69f62e660988eb90)
2000-11-17Fix for memory leak when adding driver.Jeremy Allison1-1/+1
Jeremy. (This used to be commit eeab4e0290f9df84025e91c85d27b21e0c02781f)
2000-11-10rpc_parse/parse_spoolss.c: Updated comment for old version of W2K.Jeremy Allison1-0/+3
tdb/tdbutil.c: With varargs uint16 is cast to (int). Jeremy. (This used to be commit 98764c5df9f363780427a423ead0913f7b2a0905)
2000-11-10printing/nt_printing.c: use getpwuid not smbgetpwuid. Canonicalize printernames.Jeremy Allison1-0/+11
printing/printing.c: Insure fix for malloc of zero. rpc_parse/parse_misc.c: Enusre UNISTR's are zero filled. rpc_parse/parse_spoolss.c: Correct INFO_6 - differs between pre-releases of W2K and shipping build. rpc_server/srv_spoolss_nt.c: Canonicalize printernames. Jeremy. (This used to be commit b17e23a8ff2b44540726968355a4b7e26f244f3b)
2000-10-30Only use prs_uint8s on marshalling as we know we're little endian. OnJeremy Allison1-6/+18
unmarshalling use prs_uint16s. Yes this sucks :-). Jeremy. (This used to be commit 3d68257850be66c26074a43d92eb9c3c8ffaf04e)
2000-10-30Fixed double btyte-swap problems with bigendian architectures.Jeremy Allison1-1/+2
Jeremy. (This used to be commit c96a77957be49418b62e401db49235a11d711217)
2000-10-18Fixes for io_q_setprinter rpc parsing.Tim Potter1-0/+10
(This used to be commit 1b86b9139e87cc4c4a6675ceeda307b91eaa1482)
2000-09-25printer notify code.Jean-François Micouleau1-1/+118
It only sends notifies to one client. The broadcasting notify code will code soon. J.F. (This used to be commit 4c63c9185887c64e57d901e82a4a16a83522c898)
2000-09-19param/loadparm.c: Fix based on Damian's code to stop printer scripts getting ↵Jeremy Allison1-34/+19
overwritten. rpc_parse/parse_spoolss.c: Tidyup to call function for relstring arrays. Win2000 now does "Add Printer" successfully !!!!! Jeremy. (This used to be commit d666b958bc335c7fceebeb7a6333d78bc421c30f)
2000-09-16in a printer_info_6, driver version is 64 bits long and there is a 32 bitJean-François Micouleau1-2/+10
padding before. J.F. (This used to be commit cd41d7a35477accec1a82b86f9fa3477e5a49d6e)
2000-09-15Fixes from JF as I didn't understand the string array sizing code correctly.Jeremy Allison1-17/+17
Jeremy. (This used to be commit 63a7d0fc359ab7cb2ece74dff0ee25f6bb9fbe36)
2000-09-15Move towards getting W2k p&p to upload NT4.x drivers. Still doesn't work -Jeremy Allison1-16/+129
not sure why (JF - a glance at this would be appreciated). Removed code that JF objected to with enumprinterdata. Added translations to/from level 6 - but Win2k still not happy... hmmm... Jeremy. (This used to be commit e5d98ba9e97eb16337ff6c49f799e130844ae72e)
2000-09-09Implemented DELETEPRINTERDATA (tested with Gerald's Win32 progs).Jeremy Allison1-6/+46
Jeremy. (This used to be commit fb48efaf830626f6ef05b88f5f8a74b932ceb257)
2000-09-05Implemented GETFORM tested and working using Gerald's Win32 test progs....Jeremy Allison1-1/+56
Jeremy. (This used to be commit 55ed0a9b0c91159c0fc4282c2171d9ced74a302a)
2000-08-31Implemented DELETEFORM tested using Gerald's Win32 test code :-).Jeremy Allison1-0/+32
Jeremy. (This used to be commit 596c21a2af0309ce43a5e52a343a671036d05ebf)
2000-08-30Implemented AbortPrinter() from Gerald's Win32 test code. Just purge allJeremy Allison1-0/+35
possible printjobs from that printer (I think this is correct). Added error code returns for print_queue_XXX() functions. Jeremy. (This used to be commit 6d081a9017f87f59b7189ba507e211db01c40af5)
2000-08-28yipee!Andrew Tridgell1-0/+9
The spoolss AddJob function has an [in,out] buffer not an [in] buffer (despite the comment in the code to the contrary). Also, we must fail this function - not just blindly reply "no problem" as AddJob should always fail on non-local printers. This fixes a bug where the "print test page" failed about half the time. I suspect it will also fix a bunch of other intermittent spoolss bugs where the client (incorrectly) tries to use the AddJob printing interface. (This used to be commit 14e534a8907c34b53e00a63756efd71903ff9432)
2000-08-15Tidied up extra ()'s.Jeremy Allison1-12/+12
Jeremy (This used to be commit f94f37dcab2bc2b68e2b6b4ca440ad53a60e8117)
2000-08-14fixed a few bugs in new_smb_io_relarraystr().Gerald Carter1-2/+5
Marshalling code path now uses spoolss_smb_io_unistr() also caught a NULL pointer case. i'll update TNG later. (This used to be commit bd4c83eb40a14baf447ac88886d4eafe7b9a309f)
2000-08-14fix for new_smb_io_relarraystr() and new_smb_io_relstr()Gerald Carter1-2/+2
to use spool_smb_io_unistr() as this does not call prs_align() befrore parsing the UNISTR. Parsing a void* buffer from an RPC should not be aligned on 4 byte boundaries. Don't think this change affects any marshalling code, only unmarshalling... jerry (This used to be commit bc154e8522a75540a8504195c1e6f45739167e6b)
2000-08-12removed the prs_align in spoolss_smb_io_unistr() (JF, please check)Gerald Carter1-3/+36
as it was throwing things off when parsing buffers passed in SPOOLSS RPCs fixed the unmarshalling of UNISTR arrays to be double NULL terminated jerry (This used to be commit 236f19659cea87cc35128990954d30c43114b889)
2000-08-11Fixed the problem with UNISTR marshalling in a buffer5 struct.Jeremy Allison1-46/+21
The smb_io_unistr() code called a prs_align, this was not being counted in the size or taken account of in the offset calculation. Fixed size_ calculation to always return a size a multiple of 4 and also set the offset correctly. This fixes the problem I saw and will hopefully fix the problem HP reported. JF please check this change. Jeremy. (This used to be commit ceba9f3dcdb4bddae17ec0024692c9074086302d)
2000-08-10working on the unmarshalling of dependentfiles to a DRIVER_INFO_3Gerald Carter1-2/+9
struct. Not wuite there. jerry (This used to be commit 1a145977f09654fc51ebcd40ef7a2aa69aa96cfb)
2000-08-09More work on AddPrinterDriver() and AddPrinterEx() client RPC'sGerald Carter1-6/+7
Also fixed init_unistr() to deal with a NULL source character string. -jerry (This used to be commit 8ecd5dd52a6bd867f5d117352048ee43ce7254d9)
2000-08-08All changes related to rpcclient...Gerald Carter1-3/+174
- cleaned up some code - Fixed a few memory leaks of my own making - Add AddPrinterDriver(); I'm missing some of the semantics here as the call is done correctly, but I'm not getting all the information right in the DRIVER_INFO_3 struct I think. Will work on it tomorrow some more... --jerry (This used to be commit 3bf9a29f34ee4ade5180c5a0b0b9ff4aca7f0f08)
2000-08-04clunky support for calling AddPrinterEx(). The code currently reportsGerald Carter1-8/+111
that the call failed, but the printer shows up on the remote NT client. (note this is the client side call). I've botched the return value somewhere and will fix that today. jerry (This used to be commit e15d9befd24cf5f3410c4be819b2a1fcf68048fb)
2000-08-02Much though I hate to admit it - JF was completely correct. I cannotJeremy Allison1-2/+2
now reproduce the bug I had with adding a printer driver, and PrintMig.exe crashes if I use my SD code but works with his. I stand completely corrected :-). - So I'm reverting to his code as it works :-). Jeremy. (This used to be commit d6db29be98f717a9038b5ac1ff492c70ce2e92a7)
2000-08-01Tidyup removing many of the 0xC0000000 | NT_STATUS_XXX stuff (only need ↵Jeremy Allison1-3/+3
NT_STATUS_XXX). Removed IS_BITS_xxx macros as they were just reproducing "C" syntax in a more obscure way. Jeremy. (This used to be commit c55bcec817f47d6162466b193d533c877194124a)
2000-07-31Added John Reilly's enumports/addprinter/delprinter scripting code plus theJeremy Allison1-2/+2
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)
2000-07-31More work on rpcclient...Gerald Carter1-7/+27
* Fixed to work with Jeremy's recent changes re: dunamic memory allocation when unmarshalling unistr[2] * included EnumPorts level 1 * more work on AddPrinterEx --jerry (This used to be commit d321d0dddd052b49c94bef8f214be7343337d907)
2000-07-27remove warningsJean-François Micouleau1-2/+2
J.F. (This used to be commit 9178d2a1aac26f8d6533f7dc86ff9b19eb72db8b)
2000-07-27Ok - this is a *BIG* change - but it fixes the problems with static stringsJeremy Allison1-19/+45
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-26Found out that we are crashing spoolss in enumprinterdata.Jean-François Micouleau1-1/+8
So fixed enumprinterdatas in rpcclient to debug the server code, and found that the parsing code was missing 2 prs_align(). We are not crashing NT anymore. :-) J.F. (This used to be commit 883f7402d495182aeff85152216cc8b3cfc18bef)
2000-07-25A rather big change set ! (listed in no particular order)Jean-François Micouleau1-4/+9
- 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)