summaryrefslogtreecommitdiff
path: root/source3/printing/nt_printing.c
AgeCommit message (Collapse)AuthorFilesLines
2001-10-31This is a farily large patch (3300 lines) and reworks most of the AuthRewriteAndrew Bartlett1-6/+6
code. In particular this assists tpot in some of his work, becouse it provides the connection between the authenticaion and the vuid generation. Major Changes: - Fully malloc'ed structures. - Massive rework of the code so that all structures are made and destroyed using malloc and free, rather than hanging around on the stack. - SAM_ACCOUNT unix uids and gids are now pointers to the same, to allow them to be declared 'invalid' without the chance that people might get ROOT by default. - kill off some of the "DOMAIN\user" lookups. These can be readded at a more appropriate place (probably domain_client_validate.c) in the future. They don't belong in session setups. - Massive introduction of DATA_BLOB structures, particularly for passwords. - Use NTLMSSP flags to tell the backend what its getting, rather than magic lenghths. - Fix winbind back up again, but tpot is redoing this soon anyway. - Abstract much of the work in srv_netlog_nt back into auth helper functions. This is a LARGE change, and any assistance is testing it is appriciated. Domain logons are still broken (as far as I can tell) but other functionality seems intact. Needs testing with a wide variety of MS clients. Andrew Bartlett (This used to be commit f70fb819b2f57bd57232b51808345e2319d52f6c)
2001-10-18Merge the become_XXX -> change_to_XXX fixes from 2.2.2 to HEAD.Jeremy Allison1-7/+6
Ensure make_conection() can only be called as root. Jeremy. (This used to be commit 8d23a7441b4687458ee021bfe8880558506eddba)
2001-10-02Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.Tim Potter1-1/+0
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
2001-09-26Added Elrond patch to make se_access_check use NT datastructures, not Samba.Jeremy Allison1-2/+3
Jeremy. (This used to be commit bca6419447e926e51aeecf3e484228f640cecb84)
2001-09-17move to SAFE_FREE()Simo Sorce1-50/+41
(This used to be commit 09bf4425492fd96672ddd7a31d88854adcf7f0fe)
2001-09-15Looks like it missed these. make_connection now no longer takes a 'username'Andrew Bartlett1-41/+9
argument. (This used to be commit 0e1322227b0a91226b4b85c8e0ff838ebfd9e962)
2001-09-06got rid of USE_TDB_MMAP_FLAG as its not needed any moreAndrew Tridgell1-3/+3
(This used to be commit c26e0d3f27a05ecc8bd2390f9aab7f9451524e47)
2001-09-04the next stage in the NTSTATUS/WERROR change. smbd and nmbd now compile, but ↵Andrew Tridgell1-115/+120
the client code still needs some work (This used to be commit dcd6e735f709a9231860ceb9682db40ff26c9a66)
2001-09-03more NTSTATUS/WERROR conversionAndrew Tridgell1-5/+5
(This used to be commit ad648c5cd8ebe4be8304379117f403d7673dcbc8)
2001-09-03the next step in our error code handling changeAndrew Tridgell1-12/+11
- 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-08-27converted another bunch of stuff to NTSTATUSAndrew Tridgell1-6/+6
(This used to be commit 1d36250e338ae0ff9fbbf86019809205dd97d05e)
2001-08-24get rid of compiler warningsHerb Lewis1-1/+1
(This used to be commit 0768991d04ea03e774ca8662c9cae5e1951b88e0)
2001-08-12this is a big global fix for the ptr = Realloc(ptr, size) bug.Simo Sorce1-9/+51
many possible mem leaks, and segfaults fixed. someone should port this fix to 2.2 also. (This used to be commit fa8e55b8b465114ce209344965c1ca0333b84db9)
2001-08-10Merge in the NT drivers changes from 2.2.Jeremy Allison1-399/+642
Jeremy. (This used to be commit a3781ad38ff6c70238e7e9b83324477e5c9780d5)
2001-08-10Replaced the duplicate DOS constants with appropriate ones from doserr.h toTim Potter1-17/+17
emphasise the fact that the spoolss pipe returns DOS error codes instead of 32-bit nt status codes. (This used to be commit 5f5ed41ee872d842e944cd2e84a80de714ad4385)
2001-07-30Fixup error returns in updating driver db version.Jeremy Allison1-22/+40
Jeremy. (This used to be commit 5bd39ce233fd14d01f434f39ce53e3e77b428845)
2001-07-30Added "use mmap" for HPUX.Jeremy Allison1-3/+3
Jeremy. (This used to be commit 840802f10677cb0009cb4df4c37c7d01aa5edacd)
2001-07-25Held a shoot-out between NT_STATUS_NO_PROBLEMO and NT_STATUS_NOPROBLEMO.Tim Potter1-4/+4
According to the incorruptible judges find and grep, the latter won. Mmm - procrastination. (-: (This used to be commit 2e339403605177b15d5185a8fdd1b06f3f043168)
2001-07-16Fix from Jim Vopni - muliple definitions of "letter".Jeremy Allison1-2/+0
Jeremy. (This used to be commit 5aa3b18f69646669c8548d1f49214a47dcb39a36)
2001-07-12Changed instances of TRUE, FALSE to True, False as some compilers don'tTim Potter1-1/+1
have the first set of symbols. (This used to be commit ad0cbfbd790bc5d6003ffcff2835d82fb0140625)
2001-07-10Removed unused local variables.Tim Potter1-8/+0
(This used to be commit fa1dfb681b2c7e2de59d6b439ceea738d6f11aff)
2001-07-09split the nt_drivers.tdb in 3 separate tdb files. Should speed-up lookupsJean-François Micouleau1-32/+114
J.F. (This used to be commit c08e22713ea4ddbc4951dc8dcc40609eb0039ddb)
2001-07-04strchr and strrchr are macros when compiling with optimisation in gcc, so we ↵Andrew Tridgell1-13/+13
can't redefine them. damn. (This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
2001-07-04The big character set handling changeover!Andrew Tridgell1-7/+1
This commit gets rid of all our old codepage handling and replaces it with iconv. All internal strings in Samba are now in "unix" charset, which may be multi-byte. See internals.doc and my posting to samba-technical for a more complete explanation. (This used to be commit debb471267960e56005a741817ebd227ecfc512a)
2001-07-02Fixed extra file_free calls - my fault :-(.Jeremy Allison1-14/+4
Jeremy. (This used to be commit 2f8b84bda040edc87a7af29c3a281cf335e392cb)
2001-06-26SGI compiler fixes.Herb Lewis1-0/+6
Jeremy (This used to be commit 45bf995bf62aa6cc176d57e2f954cc2d379717ef)
2001-06-22Fix from "Jim McDonough" <jmcd@us.ibm.com>" - when we use open_file_shared(),Jeremy Allison1-5/+5
we need to close with close_file(). Jeremy. (This used to be commit 5b2ffd160f3b4b9607bb6fd6db1644af9254ad9e)
2001-06-04use LDSHFLAGS not -shared in several placesAndrew Tridgell1-1/+1
(This used to be commit 8ec9c87b5d1a7dae17d5b1a30f58effaf5e69e4b)
2001-05-18merge from 2.2 (deleteprinterdriver RPC)Gerald Carter1-0/+101
(This used to be commit 515caaf7b448e55206433a9ca04fb5078f91cde2)
2001-05-10Replaced a whole bunch of lookup_name() requests inTim Potter1-8/+11
construct_default_printer_sdb() with checks of the owner rid instead. This should be much faster, work on non-English systems and systems with renamed user or group names. (This used to be commit 8b435b0a2ab1fa060473753fa05f0aba8406b607)
2001-05-03Merging Gerald's "no printer driver" fix from 2.2.Jeremy Allison1-0/+10
Jeremy. (This used to be commit 409b1e4d1b996b26eee80bf5cb4edd962e4a4c76)
2001-04-27More debug %d -> %u issues.Jeremy Allison1-6/+6
Jeremy. (This used to be commit 6fcb600dcd23c61d1a7d2ce8c2b7b2eea2e58623)
2001-04-08Added per-share security tdb. Tidied up many slprintfs (need -1 on length).Jeremy Allison1-38/+39
Jeremy. (This used to be commit d786191bc116c17a3f53a1c272d969942b7e5d25)
2001-04-03Sync up with new NT forms code.Jeremy Allison1-20/+155
Jeremy. (This used to be commit 63ce316d870be0cf61ae669c955479ec175fdaef)
2001-03-23Two OS/2 printer fixes from Jim McDonough @ IBM.Jeremy Allison1-0/+85
First one adds a new info level into the lanman printing and an ioctl to the trans2 code. Andrew - this uses ASCII only. It looks ok to me but please check ! Second one adds a parameter "os2 driver map" that allows OS/2 driver names to be mapped. Jeremy. (This used to be commit da79b519e0b6b4317d7fb5260d74e0e74a7e0b46)
2001-03-11Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison1-8/+5
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-1/+1
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-03Roll back to using malloc/realloc on some of spoolss in head.Jeremy Allison1-39/+15
I'm having problems with talloc_realloc in the 2.2 branch and I want a stable reference. The only problem is this breaks the clean auto-generated code in *one* call in srv_spoolss.c (the rfnpcnex call). Jeremy. (This used to be commit 57a9340cbafa40f3a41e6c676c6f2477855fd799)
2001-03-02Move to talloc controlled NT forms.Jeremy Allison1-15/+39
Jeremy. (This used to be commit 3e190e693375c6032dd64bf8dd3c90f90dc4e3b4)
2001-03-01Fixed a couple of getpwXX calls that were not going through the sys_getpwXXJeremy Allison1-2/+2
cache. Jeremy. (This used to be commit a648935ae93f781aedba8f89b0071a24e42f4543)
2001-02-28Move to talloc control of SPOOL_XXX structs. Move to talloc control ofJeremy Allison1-55/+34
security descriptors and pointers. Syncup with 2.2 tree. Jeremy. (This used to be commit 14d5997dc841e78a619e865288486d50c245896d)
2001-02-12Merge of JohnR's changes to appliance-head, JF's changes to 2.2,Jeremy Allison1-2/+13
updated the POSIX_ACL code to be in sync. Jeremy. (This used to be commit c0517d6f4e3079feca1309fd1ea7b21e83f0de02)
2001-01-29Changes from APPLIANCE_HEAD:David O'Neill1-23/+82
source/include/proto.h - make proto source/printing/nt_printing.c source/rpc_server/srv_spoolss_nt.c - Fix for the overwriting of printerdata entries when WinNT and Win2k are modifying printer parameters on PCL printers. Turns out that Win2k creates a printer with a NULL devmode entry and then expects to set it on *OPEN* (yes this is insane). So we cannot return a "default" devmode for a printer - and we must allow an open to set it. source/tdb/tdb.c - Show freelist in an easier format. Show total free. - When storing a new record, allocate memory for the key + data before the tdb_allocate() as if the malloc fails a (sparse) hole is left in the tdb. source/tdb/tdbtool.c - Show freelist in an easier format. Show total free. source/tdb/Makefile - cleaned up Makefile dependancies source/smbd/lanman.c - Fix for Win9x corrupting it's own parameter string. source/printing/printfsp.c source/printing/printing.c source/rpc_server/srv_spoolss_nt.c source/smbd/close.c - Added normal close parameter into print_fsp_end() which treats an abnormal close as error condition and deletes the spool file. (This used to be commit 025f7a092ad258ff774e3f5e53737f8210cc8af6)
2001-01-26Changes from APPLIANCE_HEAD:David O'Neill1-1/+23
source/printing/nt_printing.c - fix for Win2k sending NULL devicemode in setprinter calls which was making NT4 grumpy. The solution is to never set a NULL devicemode if we previously had a valid one in the printer's TDB entry. (This used to be commit b9036a07781724d58b34da3b6e876dd28d5f70a6)
2001-01-19Changes from APPLIANCE_HEAD:David O'Neill1-6/+26
source/printing/nt_printing.c - use se_create_child_secdesc() to create appropriate security descriptor when performing print job admin security checks. source/printing/printing.c - Use JOB_ACCESS_ADMINISTER instead of PRINTER_ACCESS_ADMINISTER in print_job_{delete,pause,resume}() - If stat'ing the job file fails, delete the job from printing.tdb - In print_job_end() check lpq cache time and do a print_queue_update() This prevents printing.tdb from growing when using NT/2K clients, and there isn't someone pressing F5 in a port monitor window. - In print_queue_resume() check lpq cache time and do a print_queue_update() Probably should do it for print_job_resume() too. (This used to be commit 0068b7741fd54706ef36ddbbc3092389d281e684)
2001-01-17Changes from APPLIANCE_HEAD:David O'Neill1-3/+0
source/rpc_server/srv_spoolss_nt.c - Unrolled construct_notify_jobs_info() loop to only fetch printer info_2 structure once rather than num_print_jobs times. - convert command to unix codepage. - remove lp_remove_service() call as it prevents lp_killservice() from working. - Modified some DEBUG and DEBUGADD statements. source/param/loadparm.c source/param/params.c - change printer, preload, auto services to FLAG_DOS_STRING, reverted earlier changes to szPrintername et al, add comments. source/printing/load.c - fix bug with lp_auto_services() and strtok() source/printing/nt_printing.c source/printing/printing.c - remove redundant test that used SERVICE(snum) source/printing/pcap.c - add unix_to_dos() calls, add notes wrt FIXMEs for xxx_printer_fn() functions. source/web/swat.c - added FIXME comment. source/smbd/service.c - added comment re: dos codepage (This used to be commit 7b774b72c2857af9519012106714a9e2cb099da3)
2001-01-11Changes from APPLIANCE_HEAD:David O'Neill1-15/+32
testsuite/printing/psec.c - Use lock directory from smb.conf parameter when peeking at the ntdrivers.tdb file. source/rpc_parse/parse_sec.c - fix typo in debug message source/script/installbin.sh - create private directory as part of 'make install'. source/nsswitch/winbindd_cache.c source/nsswitch/winbindd_idmap.c source/passdb/secrets.c source/smbd/connection.c - always convert tdb key to unix code-page when generating. source/printing/nt_printing.c - always convert tdb key to unix code-page when generating. - don't prepend path to a filename that is NULL in add_a_printer_driver_3(). source/rpc_server/srv_spoolss_nt.c - always convert tdb key to unix code-page when generating. - don't prepend server name to a path/filename that is NULL in the fill_printer_driver_info functions. source/printing/printing.c - always convert tdb key to unix code-page when generating. - move access check for print_queue_purge() outside of job delete loop. source/smbd/unix_acls.c - fix for setting ACLs (this got missed earlier) source/lib/messages.c - trivial sync with appliance_head (This used to be commit 376601d17d53ef7bfaafa576bd770e554516e808)
2001-01-04Changes from APPLIANCE_HEAD:David O'Neill1-70/+36
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)
2000-12-21merge from appliance headGerald Carter1-0/+5
(This used to be commit 393c5f14e0858dcb3d6cb26eb5643b520c2c9686)
2000-12-18Merged Tim's fixes from appliance-head.Jeremy Allison1-4/+8
Jeremy. (This used to be commit 26f873540c2299600cb80eb059fcdaf70ec82473)