1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-21 03:17:08 +03:00

228 Commits

Author SHA1 Message Date
Gerald Carter
4003a1c55b clunky support for calling AddPrinterEx(). The code currently reports
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-04 12:46:36 +00:00
Jeremy Allison
468af1937d Much though I hate to admit it - JF was completely correct. I cannot
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-02 18:49:36 +00:00
Jeremy Allison
7f36df301e Tidyup removing many of the 0xC0000000 | NT_STATUS_XXX stuff (only need 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-08-01 18:32:34 +00:00
Jeremy Allison
49fcb300de Added John Reilly's enumports/addprinter/delprinter scripting code plus the
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-31 20:41:51 +00:00
Gerald Carter
f9d3ff99fd More work on rpcclient...
* 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-31 14:56:01 +00:00
Jean-François Micouleau
3cc9e1a6a7 remove warnings
J.F.
(This used to be commit 9178d2a1aac26f8d6533f7dc86ff9b19eb72db8b)
2000-07-27 08:00:25 +00:00
Jeremy Allison
5ec1642809 Ok - this is a *BIG* change - but it fixes the problems with static strings
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-27 00:47:19 +00:00
Jean-François Micouleau
1e3a5503cd Found out that we are crashing spoolss in enumprinterdata.
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-26 09:40:49 +00:00
Jean-François Micouleau
5a5ef18379 A rather big change set ! (listed in no particular order)
- 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-25 13:15:16 +00:00
Jeremy Allison
78bbcec21b Fixed open handle code in printers - 3 functions were always being done
in order - moved them into open_printer_hnd().
Added saving of comment field.
Jeremy.
(This used to be commit a0ee774fe92e5d0bc84d1d6729e8c538c67e8aba)
2000-07-22 00:48:29 +00:00
Gerald Carter
e5c5b2723f Added functions for enumerating ports on remote print server.
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
(This used to be commit a2205c6646aa677090908a4e1532ed8590adc0e0)
2000-07-21 19:58:24 +00:00
Jeremy Allison
2637bfee06 rpc_parse/parse_prs.c: Removed extraneous ()'s.
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.
(This used to be commit f038a24e9f624fdb04cd52769d45783248ce8a38)
2000-07-18 19:25:32 +00:00
Gerald Carter
2c46a26a8b removed prs_data(), prs_free_data(), and prs_realloc_data()
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.
(This used to be commit 3bc9af4c1dbdb664970541f6091982ffccc87b31)
2000-07-14 16:58:03 +00:00
Jean-François Micouleau
6c2242eade we are now sure the printer_info_2 timestamp is updated everytime
required.

	J.F.
(This used to be commit 08b41bab177affac088c981d7c620728e8e6e9b0)
2000-07-12 16:11:33 +00:00
Jean-François Micouleau
5813ecff99 - The printers are indexed by the sharename in both get_a_printer() and
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-12 14:10:40 +00:00
Tim Potter
b561c18597 Fixes for various compile warnings on Solaris 8.
(This used to be commit 898a483cdab1ed7d8ff902c0dc0e0620440ae4cd)
2000-07-10 06:41:04 +00:00
Jean-François Micouleau
53e0629979 the dummy field in driver_info_6 is before the driver version and not
after.

I don't know who broke all that code, but I'm  ******** (censured)

	J.F.
(This used to be commit 1fae158529ca0d1cb01ff422638418ce0dbd8dbf)
2000-07-04 22:51:05 +00:00
Jean-François Micouleau
b8262b4bdd driver_info_6 had a prs_align() that should not have been there.
J.F.
(This used to be commit a882dd225e464b300cedb52eb43f57f3a56c5b31)
2000-07-04 21:58:45 +00:00
Jeremy Allison
55f9dc2027 Removed unneccessary ()'s afer &'s that made it look like we
don't know how the C language works :-).
Jeremy
(This used to be commit d47329649d4f92a52acac7de256d9d9b0afc33c8)
2000-07-01 05:44:49 +00:00
Jeremy Allison
774b06ee21 Tidy up current spool code - added some JRATEST ifdefs to allow
experimentation with what is making spoolss.exe crash - may be removed
later.
Jeremy.
(This used to be commit f3fe384dc39ce49c639a7adf35179a50cb86abf0)
2000-06-29 00:52:40 +00:00
Jeremy Allison
8980d53e7c Removed extra uint32 field in auto-notify reply. This fixes some spoolss.exe
crashes but there are still more to work on.
Jeremy.
(This used to be commit aa49dc037fa4e7b00d1a33619da5450a4eda1b9e)
2000-06-28 16:52:59 +00:00
Jeremy Allison
36fd3866ef Changing drivers using the properties page works - but only if getting/setting
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-26 22:08:20 +00:00
Jeremy Allison
ec1c58fcc0 lib/util_sid.c: Uninitialized memory read.
rpc_parse/parse_spoolss.c: Added note about prs_align when marshalling a SEC_DESC...
rpc_server/srv_lsa.c: Tim - your changes broke the display of the 'everyone' group
						when doing file access with no winbindd running. This is a partial
						fix - more when I have analysed this more.
rpc_server/srv_spoolss_nt.c: Fix for the 'change driver' problem ! Hurrah !

Jeremy.
(This used to be commit 151b131ee01ef916c072bcdaa9943a2e984a0f45)
2000-06-24 00:15:08 +00:00
Jeremy Allison
69c75c8a16 Fixes for Win2k "add printer driver" INFO_LEVEL_6 was wrong, also some
memory fixes.
Jeremy.
(This used to be commit 2a9e645cbddef1cddc5c978310b7efed492758d2)
2000-06-20 23:58:56 +00:00
Jean-François Micouleau
4ec7597d11 parsing code for reply[open|close]printer in preparation of the event
stuff.

	J.F.
(This used to be commit 1871d4a3f64401f9a6f749ce26d1715e3bcdeac3)
2000-06-10 22:35:52 +00:00
Jeremy Allison
d253db1b9a Memory leak fixes.
Jeremy.
(This used to be commit 34b63896ab1543936d6b9b382ef6727a161b6bf2)
2000-06-06 20:44:58 +00:00
Jeremy Allison
6d8c131f50 Some tidyup fixes (memory leaks etc.). Still no progress with the
"no driver" issue. I'm banging my head against comparitive packet
dumps right now...
Jeremy.
(This used to be commit 03cd4aa1443acd958593f37c61ff9c90a43c660b)
2000-06-05 20:55:57 +00:00
Andrew Tridgell
f87246df62 simple increment bug in uniarray_2_dosarray
(This used to be commit 6506e6f47085beeaa6588a361a220ab21fc32aa6)
2000-06-05 14:06:13 +00:00
Andrew Tridgell
d48c727c97 no space was being reserved for the security descriptor in the parse
buffer
(This used to be commit 417a88fc6a8406ad4244e8cc1317cb7163b07cc0)
2000-06-04 23:34:55 +00:00
Jeremy Allison
0cc1389935 More memory leak and PANIC action fixes.
This is *horrible* code :-(.
Jeremy.
(This used to be commit ac383bb765ea606fc1105aa91470fcdf453d9335)
2000-06-02 21:16:39 +00:00
Jeremy Allison
01c4ecd234 Fixed null pointer indirect in addprinterex. Still working on problem
with extra directory layer in NT drivers.
Jeremy.
(This used to be commit 48a80318269c832e702678237e86ba55c10444f1)
2000-06-02 18:38:49 +00:00
Jeremy Allison
8ff6458a3e More insure found memory leak and corruption fixes.
Jeremy.
(This used to be commit 3cdcfa6325b9cd2d7f7c90c4b2d1c6ec73fc2f6d)
2000-06-01 21:52:49 +00:00
Jeremy Allison
61ab5b46cf Back to building. Now to test with insure.
Added some frees needed to stop memory leaks.
Jeremy.
(This used to be commit eba31e4e802120c9eb8c4688f521b4de9cb91f5c)
2000-06-01 18:17:22 +00:00
Jeremy Allison
f0080e5a39 Getting back to a compilable state (not there yet but close).
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-06-01 17:01:34 +00:00
Luke Leighton
b38aa95bc9 moved notif_y_table struct to spoolss_nt.c only used there.
#ifdef'd driver-code out with define RELIES_ON_SMBD_SPECIFIC_CODE because
spoolssd doesn't link with smbd/*.c (find_service("print$") is not
possible).
(This used to be commit 726c359d1d9f1fc8227ca920c888d2f040170e0b)
2000-05-28 21:01:14 +00:00
Luke Leighton
6ec1ae35b4 hack to get setprinter working, level2, null sec desc.
(This used to be commit 3f976e713924a2fa47194ae3edfa3f1592e4cf1c)
2000-05-27 04:51:02 +00:00
Luke Leighton
a65dead017 security descs in spoolss. needs parse_sec.c nttrans.c broken.
(This used to be commit f9f2a04fdb7b2af1cfe5bf26ec6f0d955ea948b9)
2000-05-27 01:26:34 +00:00
Andrew Tridgell
68239f38fd a fairly big change in spoolss.
got rid of the forms, drivers and printers files in the nt drivers
directory and instead use a single tdb

note that this is _not_ all finished.
(This used to be commit 4fef181af3964311f45e77bdd43d6fb4e546127f)
2000-05-24 06:20:42 +00:00
Andrew Tridgell
b599ae9e40 don't call prs_dump() here
(This used to be commit 87d9bac3a1b9eba15259abdfea85cf94b3630561)
2000-05-15 09:59:25 +00:00
Andrew Tridgell
b3373e9932 changed uniarray_2_ascarray to uniarray_2_dosarray
(This used to be commit 4de7202da478baf232c93cc9b8d845889f1d2bab)
2000-05-12 14:28:50 +00:00
Jeremy Allison
fa659fea9b Added unicode_to_dos_char() function to address converting single UNICODE
characters to one or more DOS codepage characters.
Jeremy.
(This used to be commit eefbfb5e16fcf40f335edc840a49f837f6b64111)
2000-05-12 14:28:48 +00:00
Andrew Tridgell
0806cf75ff added spool_io_printer_driver_info_level_6()
thsi function and the associated header structure were autogenerated
using a little awk based code geerator I wroe ths evening. I'll commit
that next ...
(This used to be commit 974813f0d4afb6c14ed27c48ab24b19932557f9f)
2000-05-12 14:28:46 +00:00
Andrew Tridgell
59fa2dbe2c added support for deleting printers into the spoolss system
(This used to be commit e72a5718537b84409fc20ff21951b1d1ab24d97f)
2000-05-02 15:31:55 +00:00
Andrew Tridgell
00e3fe1324 moved trans2.h and nterr.h into includes.h with all our other includes
(This used to be commit d7cd7c88fdabb01d9e40ae8a657737907a21ac37)
2000-04-25 14:06:57 +00:00
Jeremy Allison
aac823aca1 Modified interfaces and added checks around *all* *alloc calls
so that errors are returned on memory allocation failure.
Jeremy.
(This used to be commit 9a118cd4a2b03146b341eeffb62144a2d29b574c)
2000-04-06 22:48:53 +00:00
Jean-François Micouleau
974cf7d7c9 off by one error ...
J.F.
(This used to be commit cef44398f90f670358f2ad430056371d394c7f91)
2000-04-05 17:53:45 +00:00
Jean-François Micouleau
dc2d1544b3 changed all the status code to ERROR_xxx instead of NT_STATUS_xx which are
wrong in the spoolss case.

fxed a bug in the job notify code (that's the polite answer), the truth is
different: there is a bug in the NT spooler service, including SP6a and
NT2K.

changed the default lpcommand in the LPRNG case.

	J.F.
(This used to be commit 396f73c11b29a47650b3243fef0825252a3cef9b)
2000-04-05 10:05:32 +00:00
Jean-François Micouleau
6ca0ed9baa rewrote getprinterdriver level 3, now correctly handle the dependent
files.
A number of memleak fixed
some error return values fixed.

	J.F.
(This used to be commit c212fbe009fe556d5329b5d7106159cf21402d82)
2000-03-29 12:36:44 +00:00
Jeremy Allison
614929752e rpc_parse/parse_spoolss.c: Added checks on mallocs/overflow checks on all prs_xx
calls.
smbd/connection.c: Fix from David Lee <T.D.Lee@durham.ac.uk>.
Jeremy.
(This used to be commit 53721fbc7d2a986cf999b8f031a2d9003c0dccae)
2000-03-25 01:37:08 +00:00
Jean-François Micouleau
c5fbb293a8 oops ! forgot smb.h in last commit
added info level 1 parsing code for addprinter(ex)

	J.F.
(This used to be commit 4847f7b17b2d23e4efd4e7cae6bfcfc2319b9409)
2000-03-13 19:34:04 +00:00