Age | Commit message (Collapse) | Author | Files | Lines |
|
CVS commit access :-) has written a simple routine that peeks inside the
MS PE printer driver file format and can tell if a driver is W2K or NT4.x.
So we can now correctly return the driver version number. Hurrah !
JF - this is the code you always wanted ..... :-) :-).
Jeremy.
(This used to be commit fd17374e6d888813f4ed7142480cf93b8a16bfef)
|
|
is conceptually flawed
(This used to be commit 6e4a3585521b7e5928298bd0f1418ff9fbcacfb4)
|
|
printing/nt_printing.c: No C++ comments please :-).
Jeremy.
(This used to be commit dd9f668108215f18240458fc33bf872a6fc9e6be)
|
|
Jeremy.
(This used to be commit 837839eb3d0fae7fef5d61593862a2c1b00d6a07)
|
|
(This used to be commit eecee22bf1ab6e22e5e989b51d522fcf587aa48c)
|
|
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)
|
|
Jeremy.
(This used to be commit 29f41d0d95661fbc31ae1d9669fd7fb439169f90)
|
|
Jeremy.
(This used to be commit 0249de4cd91d72efb344e9fb05e2be2cb3f03945)
|
|
print_access_check() function.
(This used to be commit 318ead783c842f2a557207690afd522b3d28e077)
|
|
Jeremy.
(This used to be commit e08b521559a824da09b0b73a04e462c573c42b06)
|
|
key name for a driver info. Version needs to be adjusted in the same
way that it is adjusted when the driver info is stored in the tdb.
AddPrinterConnection() Win32 call caught this one.
Jeremy.
(This used to be commit 54cab7dd3b7c1ad3a01692447f80134518772486)
|
|
for driver download files.
Jeremy.
(This used to be commit 1c9ac94c941aac5f6d309a094e4f741d523dbfb0)
|
|
- 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)
|
|
Jeremy.
(This used to be commit 596c21a2af0309ce43a5e52a343a671036d05ebf)
|
|
"Access denied" isn't always returned. More fixes found using Gerald's
wonderful Win32 test progs :-).
Jeremy.
(This used to be commit 67b9d40e3df19523714430cb4457717575f2a61e)
|
|
errors to NT error for print job failure returns. Patch from John Reilly at HP.
Jeremy.
(This used to be commit 3514b5bb8fffd78e3647425d93b74e2e6291bafc)
|
|
Jeremy.
(This used to be commit 81c5380f91839b6416c8a42739dadf00e7388528)
|
|
when moving printer driver to download area.
(This used to be commit 6e0c9079c385a4f0e61d9f1b1e0351bc4dbc3151)
|
|
Jeremy.
(This used to be commit e466c863f5540e13776f4477b6d58e3fbfe7276d)
|
|
in the ACE's the same thing must be done in the desired access or they will
never match. This took me a while to find... :-).
Jeremy.
(This used to be commit 066520979b2b5d967e6e1d77f16185a5fb19dc0c)
|
|
Added debug messages to se_access_check().
Added FULL_ACCESS acl to default acl on printers.
Jeremy.
(This used to be commit 7507f6f408cf8b0f8d7e2b3da54ce5fb5ef5343b)
|
|
any user in that list can do anything to a printer
(This used to be commit 7b5912be150dd590d6195be40b0976305b8716ba)
|
|
from the NT printer tdb.
Also added checks for time restrictions before allowing a job to print.
Jeremy.
(This used to be commit 8cfb55e81abebf0354e6d470ed68bbac1d6560ad)
|
|
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)
|
|
that bug was *subtle* :-(
J.F.
(This used to be commit 0e9e048b6d65b57bdcc7440ddaa9d2cc1eac71dc)
|
|
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)
|
|
Jeremy.
(This used to be commit 5130dd0f8b80aed5fb3c0df290b627057cc9b825)
|
|
Jeremy.
(This used to be commit 0bd88d304cd773e0bbf3e6f7fedcb3b544d41cbe)
|
|
- 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)
|
|
in order - moved them into open_printer_hnd().
Added saving of comment field.
Jeremy.
(This used to be commit a0ee774fe92e5d0bc84d1d6729e8c538c67e8aba)
|
|
printer driver download if looking for the default driver files fail.
Jeremy.
(This used to be commit 1192d867c4e863471f9bc12afceb68a23ba2142e)
|
|
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)
|
|
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)
|
|
required.
J.F.
(This used to be commit 08b41bab177affac088c981d7c620728e8e6e9b0)
|
|
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)
|
|
as SD owner. Allows smbd to work without winbindd running.
Check for security implications !
Jeremy.
(This used to be commit 9bd64da1e26a1b4a2df2b0537feb604a40762bb1)
|
|
nsswitch/wb_client.c
Merge of nsswitch/common.c rename to nsswitch/wb_common.c from TNG.
(This used to be commit f866c18f6be65db67d9d2a6c0b42e1af3b421e6c)
|
|
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)
|
|
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)
|
|
(This used to be commit e84607eedf3be454f8f709c70cafc5ded4ea951d)
|
|
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)
|
|
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)
|
|
experimentation with what is making spoolss.exe crash - may be removed
later.
Jeremy.
(This used to be commit f3fe384dc39ce49c639a7adf35179a50cb86abf0)
|
|
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)
|
|
(This used to be commit 4d0c09cb4f17b60ab99767d3e61f2ad50c6c5c30)
|
|
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)
|
|
memory fixes.
Jeremy.
(This used to be commit 2a9e645cbddef1cddc5c978310b7efed492758d2)
|
|
descriptors. Currently returns True (plus debug output) which should not
affect the behaviour of nt or lanman printing.
(This used to be commit a9b4710e649e887e07d68c1bf826e00c9811e4ee)
|
|
J.F.
(This used to be commit 53aff484a6a37c83fd2e21d48fd1a5fcbad2f511)
|
|
(This used to be commit f3502d846c99c77b13ce75977f5dc79cc1a3506d)
|