summaryrefslogtreecommitdiffstats
path: root/source/rpc_parse
Commit message (Collapse)AuthorAgeFilesLines
* printer notify code.Jean-François Micouleau2000-09-251-1/+118
| | | | | | | It only sends notifies to one client. The broadcasting notify code will code soon. J.F.
* Some code moved back from TNG - updates to LSA stuff. Not yet used butJeremy Allison2000-09-201-8/+80
| | | | | will be needed soon. Jeremy.
* param/loadparm.c: Fix based on Damian's code to stop printer scripts getting ↵Jeremy Allison2000-09-191-34/+19
| | | | | | | | | overwritten. rpc_parse/parse_spoolss.c: Tidyup to call function for relstring arrays. Win2000 now does "Add Printer" successfully !!!!! Jeremy.
* in a printer_info_6, driver version is 64 bits long and there is a 32 bitJean-François Micouleau2000-09-161-2/+10
| | | | | | padding before. J.F.
* Fixes from JF as I didn't understand the string array sizing code correctly.Jeremy Allison2000-09-151-17/+17
| | | | Jeremy.
* Move towards getting W2k p&p to upload NT4.x drivers. Still doesn't work -Jeremy Allison2000-09-151-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.
* Implemented DELETEPRINTERDATA (tested with Gerald's Win32 progs).Jeremy Allison2000-09-091-6/+46
| | | | Jeremy.
* Fix for the SID history problem when using a Win2k domain controllerJeremy Allison2000-09-061-12/+56
| | | | | with security=domain. Also fixed to dynamically allocate the SIDs and GIDs. Jeremy.
* Implemented GETFORM tested and working using Gerald's Win32 test progs....Jeremy Allison2000-09-051-1/+56
| | | | Jeremy.
* Implemented DELETEFORM tested using Gerald's Win32 test code :-).Jeremy Allison2000-08-311-0/+32
| | | | Jeremy.
* Fixed overrun write error when using debuglevel > 50.Jeremy Allison2000-08-301-1/+1
| | | | Jeremy.
* Implemented AbortPrinter() from Gerald's Win32 test code. Just purge allJeremy Allison2000-08-301-0/+35
| | | | | | possible printjobs from that printer (I think this is correct). Added error code returns for print_queue_XXX() functions. Jeremy.
* yipee!Andrew Tridgell2000-08-281-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.
* added comment for my own memory purposesGerald Carter2000-08-171-0/+1
| | | | jerry
* hack for unmarshalling unistr's on machines with BIG_ENDIAN archGerald Carter2000-08-161-2/+19
| | | | | | | | | | I think we have a lot more of these bugs lurking (i'm fairly confident of it). jerry
* - fixed memcpy bug in copy_unistr2()Gerald Carter2000-08-161-7/+21
| | | | | | | | | - init_unistr2_from_unistr() does not NULL terminate the buffer --jerry
* Tidied up extra ()'s.Jeremy Allison2000-08-151-12/+12
| | | | Jeremy
* fixed a few bugs in new_smb_io_relarraystr().Gerald Carter2000-08-141-2/+5
| | | | | | | Marshalling code path now uses spoolss_smb_io_unistr() also caught a NULL pointer case. i'll update TNG later.
* fix for new_smb_io_relarraystr() and new_smb_io_relstr()Gerald Carter2000-08-141-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
* removed the prs_align in spoolss_smb_io_unistr() (JF, please check)Gerald Carter2000-08-121-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
* fixes to prs_unistr UNMARSHALLING only. Problem was due to talloc'sGerald Carter2000-08-121-29/+37
| | | | | | | | of 0 bytes. jerry
* Fixed the problem with UNISTR marshalling in a buffer5 struct.Jeremy Allison2000-08-112-53/+25
| | | | | | | | | | 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.
* working on the unmarshalling of dependentfiles to a DRIVER_INFO_3Gerald Carter2000-08-101-2/+9
| | | | | | | | | | struct. Not wuite there. jerry
* deal with allocation size of 0 in prs_unistr when UNMARSHALLINGGerald Carter2000-08-101-24/+30
| | | | jerry
* More work on AddPrinterDriver() and AddPrinterEx() client RPC'sGerald Carter2000-08-092-9/+21
| | | | | | | | Also fixed init_unistr() to deal with a NULL source character string. -jerry
* cleanup in init_unistr2_from_unistr()Gerald Carter2000-08-081-27/+19
| | | | --jerry
* All changes related to rpcclient...Gerald Carter2000-08-081-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
* it is not my day it seems. :-(Gerald Carter2000-08-051-1/+1
| | | | | | | Fixed missing ) j-
* removed the for() loop to copy the buffer in init_unistr2_from_unistr()Gerald Carter2000-08-051-3/+2
| | | | | | | | | | | Replaced with a memcpy() Forgot to commit this a few moments ago j-
* Fixed bug in init_unistr2_from_unistr() found by Elrond.Gerald Carter2000-08-051-1/+1
| | | | | | | | | | Thanks :-) j-
* clunky support for calling AddPrinterEx(). The code currently reportsGerald Carter2000-08-041-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
* After talking with Jeremy and JF (and staring at packet traces betweenGerald Carter2000-08-041-2/+52
| | | | | | | | | | NT <-> NT), I've come to realize that UNISTR2 strings should be NULL terminated. jerry
* Much though I hate to admit it - JF was completely correct. I cannotJeremy Allison2000-08-021-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.
* Tidyup removing many of the 0xC0000000 | NT_STATUS_XXX stuff (only need ↵Jeremy Allison2000-08-014-10/+9
| | | | | | | | NT_STATUS_XXX). Removed IS_BITS_xxx macros as they were just reproducing "C" syntax in a more obscure way. Jeremy.
* Added John Reilly's enumports/addprinter/delprinter scripting code plus theJeremy Allison2000-07-312-3/+3
| | | | | | | | | | 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.
* More work on rpcclient...Gerald Carter2000-07-311-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
* Fixed read overrun in init_string2()Tim Potter2000-07-281-2/+4
|
* remove warningsJean-François Micouleau2000-07-271-2/+2
| | | | J.F.
* Ok - this is a *BIG* change - but it fixes the problems with static stringsJeremy Allison2000-07-274-111/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Found out that we are crashing spoolss in enumprinterdata.Jean-François Micouleau2000-07-261-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.
* A rather big change set ! (listed in no particular order)Jean-François Micouleau2000-07-252-61/+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.
* Fixed open handle code in printers - 3 functions were always being doneJeremy Allison2000-07-221-2/+2
| | | | | | in order - moved them into open_printer_hnd(). Added saving of comment field. Jeremy.
* Added functions for enumerating ports on remote print server.Gerald Carter2000-07-211-6/+48
| | | | | | | | | | Tim, You should also look at new_smb_io_printer_info_2() and see if the change from NULL to &i regarding the secdesc is ok. jerry
* rpc_parse/parse_prs.c: Removed extraneous ()'s.Jeremy Allison2000-07-182-23/+21
| | | | | | | | rpc_parse/parse_spoolss.c: Fixed the security descriptor marshalling in a INFO_2 struct. for some reason SD's should be done inline after the info2, not as the last buffer marshall. rpc_server/srv_spoolss_nt.c: Removed extraneous ()'s. Jeremy.
* fixed a bug (my own) in create_ntc_from_cli_state()Gerald Carter2000-07-181-2/+2
| | | | --jerry
* removed prs_data(), prs_free_data(), and prs_realloc_data()Gerald Carter2000-07-142-105/+60
| | | | | | | | as these were unneeded and replaced by the real functions already in HEAD. Added a few more functions to parse_spoolss.c to help with the rpcclient merge from TNG.
* we are now sure the printer_info_2 timestamp is updated everytimeJean-François Micouleau2000-07-121-5/+0
| | | | | | required. J.F.
* - The printers are indexed by the sharename in both get_a_printer() andJean-François Micouleau2000-07-121-0/+9
| | | | | | | | | | | | | | | 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.
* #ifndef RPCCLIENT_TESTGerald Carter2000-07-111-35/+16
| | | | | | | | | | | use old prs_unistr() #else use new prs_unistr() which handles UNMARSHALL #endif /* RPCCLIENT_TEST */ jerry
* included a a new prs_unistr(). Is currently #if'd out (denotedGerald Carter2000-07-101-0/+92
| | | | | | | | | | | | by RPCCLIENT_TEST) in order to not break anything in the smbd code (and to give time to review it). Originally written by JF. In effect, this checkin makes no changes to parse_prs.c at all. jerry