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

69 Commits

Author SHA1 Message Date
Tim Potter
4f53486d78 Added client and server code for the GetPrintProcessorDirectory SPOOLSS
rpc.  This was supposed to fix a printer driver download bug but it didn't
but it seemed a shame to trash all this code so I'm commiting it #ifdef'ed
out in case someone needs it one day.
(This used to be commit bef43656471741c6c10b12e7516c15de9ae76394)
2001-12-10 05:03:17 +00:00
Martin Pool
e0adf6e27e Writing decimal constants as "02" has been shown to cause cancer in
rats.
(This used to be commit 142d3dad0ab6870acb0d46d1f189d5e2e1f71b17)
2001-12-03 02:30:27 +00:00
Gerald Carter
116740a5df merge from 2.2
(This used to be commit 96b3a65a73d403a41bf1b3aba79bd743698344ac)
2001-11-22 05:56:09 +00:00
Gerald Carter
decc9a8985 more Win2k RPC opnums (EnumPrinterKey() and DeletePrinterDriverEx())
(This used to be commit 08df688b284c5589718f954187c4cb44086b9c19)
2001-11-15 20:52:30 +00:00
Gerald Carter
09463a4a01 SETPRINTERDATAEX is 0x4d (not 0x50). My mistake.
(This used to be commit 27c6e1242d311cc24e758281890872694e083b67)
2001-11-15 20:09:40 +00:00
Gerald Carter
8061f8ae53 verified two new win2k rpc's EnumPrinterDataEx() and DeletePrinterdataEx()
(This used to be commit 253c5eadc21cdf2ea5a4c237d3b48e9df04c66a2)
2001-11-13 18:22:36 +00:00
Martin Pool
ec08b265de Fix typo.
(This used to be commit 33904decbcf858a5cf799429c17330b0fafd1da4)
2001-11-13 05:32:48 +00:00
Gerald Carter
59daf552d9 new Win2k spoolss rpc opnum (unknown right now).
(This used to be commit d636e73295343e5f3e44cbf61a63edaff8a243d1)
2001-11-13 04:10:40 +00:00
Gerald Carter
e3abad1741 Fixed a few typos and added the opnum for ADDPRINTERDRIVEREX to the
rpc_spoolss.h header file.
(This used to be commit d4cafc076be99a66d0660f695995801b4f1d7bfd)
2001-11-09 20:59:18 +00:00
Tim Potter
7623cec4ad Wrote some stubs for new win2k only spoolss rpc commands:
GetPrinterDataEx() and SetPrinterDataEx().  Not sure what the command
number is for the latter is - I haven't seen it on the wire yet.
(This used to be commit 87614c74b3d66cf2ca706b33e6cf0a32b4166e7a)
2001-11-05 06:15:02 +00:00
Andrew Tridgell
19fea3242c the next stage in the NTSTATUS/WERROR change. smbd and nmbd now compile, but the client code still needs some work
(This used to be commit dcd6e735f709a9231860ceb9682db40ff26c9a66)
2001-09-04 07:13:01 +00:00
Andrew Tridgell
fbc1f326f4 more NTSTATUS/WERROR conversion
(This used to be commit ad648c5cd8ebe4be8304379117f403d7673dcbc8)
2001-09-03 10:38:13 +00:00
Andrew Tridgell
fd6ea43161 the next step in our error code handling change
- added WERROR for win32 error codes
- added a configure test for immediate structures

still lots to do, so its not enabled by default, but the main
structure is there
(This used to be commit 24f9ab683dec52587ee56717e821b49c0fa3d70f)
2001-09-03 08:50:59 +00:00
Andrew Tridgell
b031af348c converted another bunch of stuff to NTSTATUS
(This used to be commit 1d36250e338ae0ff9fbbf86019809205dd97d05e)
2001-08-27 19:46:22 +00:00
Jeremy Allison
3a6019b0eb Merging Gerry's spoolss changes.
Jeremy.
(This used to be commit 6b4a70cd8285c1e4d452e3af7df070b4c446ff54)
2001-06-21 17:46:14 +00:00
Gerald Carter
013b454d1a merge from 2.2 DeletePrinterDriver() server side stud coming
in separate commit after I get it working in 2.2.
(This used to be commit 09506ac0e64b84d73e3b8fdd4942fa52dba6060f)
2001-05-17 18:57:25 +00:00
Gerald Carter
729b7cf214 added getdriverdir and cleaned up the PRINTER_DRIVER_CTR struct
(This used to be commit 5d321673850e1e28e1bee4093705d7e319421687)
2001-03-15 16:43:19 +00:00
Jeremy Allison
393bede7db Sync up handle creation with 2.2 branch. We can now join AS/U domains and
authenticate against them. Big/little endian issues fixed.
Jeremy.
(This used to be commit 0e6a34510ed598eaec7fe71a9c91fda528a4675c)
2001-03-07 23:59:13 +00:00
Jeremy Allison
ed77fca199 include/rpc_spoolss.h: Added JOB_STATUS_XXX defines.
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-23 03:59:37 +00:00
David O'Neill
22363b9d78 Changes from APPLIANCE_HEAD:
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-17 22:55:02 +00:00
David O'Neill
23807f2b30 Changes from APPLIANCE_HEAD:
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)
2001-01-04 19:27:08 +00:00
Jean-François Micouleau
233bc00020 printer notify code.
It only sends notifies to one client. The broadcasting notify code will
code soon.

	J.F.
(This used to be commit 4c63c9185887c64e57d901e82a4a16a83522c898)
2000-09-25 21:05:18 +00:00
Jean-François Micouleau
a2c82976b8 in a printer_info_6, driver version is 64 bits long and there is a 32 bit
padding before.

	J.F.
(This used to be commit cd41d7a35477accec1a82b86f9fa3477e5a49d6e)
2000-09-16 10:07:46 +00:00
Jeremy Allison
e0f9de0c49 Implemented DELETEPRINTERDATA (tested with Gerald's Win32 progs).
Jeremy.
(This used to be commit fb48efaf830626f6ef05b88f5f8a74b932ceb257)
2000-09-09 00:19:35 +00:00
Jeremy Allison
d644d4438c Implemented GETFORM tested and working using Gerald's Win32 test progs....
Jeremy.
(This used to be commit 55ed0a9b0c91159c0fc4282c2171d9ced74a302a)
2000-09-05 20:56:09 +00:00
David O'Neill
a3a28675fa Changes from APPLIANCE_HEAD (per Tim Potter):
- make proto
	- addition of function to convert from errno values to NT status codes
	  (source/lib/error.c)
	- purge queue done without full access permission will purge only the
	  jobs owned by that user, rather than failing.
	- unlock job database tdb before sending job to printer
	- in print_job_start(), ensure that we don't pick a jobid with an existing
	  temporary file that may be owned by another user, as it causes silent
	  failures.
	- fixes for printer permission checking for NT5 clients
	  (source/include/rpc_spoolss.h, source/printing/nt_printing.c,
	   source/printing/printing.c, source/rpc_server/srv_spoolss_nt.c)
	- change from uint8 to 'enum SID_NAME_USE' (source/rpc_server/srv_lsa.c)
	- fixed memory leaks for win95 driver download process
	  (source/smbd/lanman.c)
	- properly free prs_structs and dacl in testsuite/printing/psec.c
(This used to be commit 74af3e2caec7197e5d1ca389e2f78054a4197502)
2000-09-01 18:49:26 +00:00
Jeremy Allison
fa810d4c80 Implemented DELETEFORM tested using Gerald's Win32 test code :-).
Jeremy.
(This used to be commit 596c21a2af0309ce43a5e52a343a671036d05ebf)
2000-08-31 19:04:51 +00:00
Jeremy Allison
d407579b94 Implemented AbortPrinter() from Gerald's Win32 test code. Just purge all
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-30 00:45:59 +00:00
Gerald Carter
ae149ff6c5 added a #define for SPOOLSSGETPRINTERDATAEX. Although we do not
support the RPC yte (win2k specific), I added it for documentation
purposes.



jerry
(This used to be commit 41bf13341127b1c58105ca9a59fd686c15746164)
2000-08-29 14:42:10 +00:00
Andrew Tridgell
9e1f9a5719 yipee!
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-28 04:42:31 +00:00
Jeremy Allison
1e823bc781 Tidied up security rights definitions.
Jeremy.
(This used to be commit e466c863f5540e13776f4477b6d58e3fbfe7276d)
2000-08-10 19:51:45 +00:00
Gerald Carter
a08d444896 More work on AddPrinterDriver() and AddPrinterEx() client RPC's
Also fixed init_unistr() to deal with a NULL source character string.



-jerry
(This used to be commit 8ecd5dd52a6bd867f5d117352048ee43ce7254d9)
2000-08-09 20:14:29 +00:00
Gerald Carter
f296a8d087 All changes related to rpcclient...
- 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-08 06:57:48 +00:00
Gerald Carter
a1bd676617 Fixed some more client SPOOLSS functions. The following
functions work now:

  - spoolenum
  - spoolopen
  - spoolgetprinter
  - spoolgetprinterdriver

Items todo:

  - track down memory bug with spoolenumdata
  - fix spoolgetprinterdriverdir
  - fix spoolgetdata
  - fix display_job_info_ctr in spooljobs

All part of the ongoing rpcclient work.

Also included a new generic list ADT.  Cleaner and simplier
than the stuff in util_array.c i think (but then that's why I wrote it).





--jerry
(This used to be commit 381aba2c9a63faa53728f0520ac316478bc7a1c3)
2000-07-18 05:16:30 +00:00
Tim Potter
34abda02dd Moved printer ACE mask values from nt_printing.h to rpc_spoolss.h
(This used to be commit 9245af1ea18babae09a92af634428a63ec55438e)
2000-07-06 07:00:24 +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
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
1365442684 More stuff I cvan't afford to lose. I'm realizing how dependent I am
on this bloody CVS link....
Jeremy.
(This used to be commit 864e7bde0e804edbb2425b9c4c7ff271553f8169)
2000-06-01 02:44:17 +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
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
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
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
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
Jean-François Micouleau
79bfb14318 parse correctly getprinterdriver2
found a stupid bug in enumprinters
fixed some memleaks
found a coredump in enumprinterdata
getprinterdriverdir responds correctly now.

	J.F.
(This used to be commit 07f2e194ba61e72320636fb7e5d0f041e255868b)
2000-03-13 11:09:20 +00:00
Luke Leighton
83ee9372fc you know, when you do a cvs commit, you _really_ expect it to actually work.
this explains why j-f wasn't happy.
(This used to be commit c51e38214a5323d0aa9b6dcd948a76ddc29f5305)
2000-03-10 18:10:10 +00:00
Jean-François Micouleau
e0ebb76a74 getprinter level 0: was to short, found most of the fields, undocumented,
undecoded, nothing in MSDN, but now it works :-)

cleanup of error codes.
fixed some dfs declarations function.

	J.F.
(This used to be commit 87da4404aba29a2ebd999886e4c06958c96d3e05)
2000-03-10 17:12:24 +00:00
Luke Leighton
adee6e06f7 indent went wrong. grr.
(This used to be commit 525338e80766fe3dbcc4a64db8e957ae63c5e9d6)
2000-03-10 00:24:40 +00:00
Jean-François Micouleau
fd69e4a13a Enumprinters level 1: reply *exactly* like an NT server
BTW, found a little memleak in it.

	J.F.
(This used to be commit 9c37b5df2de9bf8fa6f5536fd75f9c8faf338a52)
2000-03-07 18:10:20 +00:00