summaryrefslogtreecommitdiff
path: root/source3
AgeCommit message (Collapse)AuthorFilesLines
2000-08-03Added an NT_USER_TOKEN structure that is copied/passed around associatedJeremy Allison9-103/+246
with the current user. This will allow se_access_check() to quickly do a SD check without having to translate uid/gid's to SIDs. Still needs work on pipe calls. Jeremy. (This used to be commit e28d01b744b3dbd33e0e54af4e7f426fa8c082b8)
2000-08-02Much though I hate to admit it - JF was completely correct. I cannotJeremy Allison1-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. (This used to be commit d6db29be98f717a9038b5ac1ff492c70ce2e92a7)
2000-08-02Started to canonicalize our handling of uid -> sid code in order toJeremy Allison13-218/+251
get ready and fix se_access_check(). Added cannonical lookup_name(), lookup_sid(), uid_to_sid(), gid_to_sid() functions that look via winbind first the fall back on local lookup. All Samba should use these rather than trying to call winbindd code directly. Added NT_USER_TOKEN struct in user_struct, contains list of NT sids associated with this user. se_access_check() should use this (cached) value rather than attempting to do the same thing itself when given a uid/gid pair. More work needs to be done to preserve these things accross security context changes (especially with the tricky pipe problem) but I'm beginning to see how this will be done..... probably by registering a new vuid for an authenticated RPC pipe and not treating the pipe calls specially. More thoughts needed - but we're almost there... Jeremy. (This used to be commit 5e5cc6efe2e4687be59085f562caea1e2e05d0a8)
2000-08-01Tidyup removing many of the 0xC0000000 | NT_STATUS_XXX stuff (only need ↵Jeremy Allison21-139/+97
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-01Added print job substitutions for %{printername}, %{sharename} and %{portname}Jeremy Allison6-37/+93
from the NT printer tdb. Also added checks for time restrictions before allowing a job to print. Jeremy. (This used to be commit 8cfb55e81abebf0354e6d470ed68bbac1d6560ad)
2000-07-31Save & restore the port name correctly.Jeremy Allison1-16/+1
Jeremy. (This used to be commit c0648c981edef2a29b3a22a7d08aa226ca724e95)
2000-07-31Added John Reilly's enumports/addprinter/delprinter scripting code plus theJeremy Allison10-151/+359
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-31make protoGerald Carter1-10/+13
(This used to be commit 38b07395566a2c114ccda173fb0fe88cf7683588)
2000-07-31More work on rpcclient...Gerald Carter1-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 (This used to be commit d321d0dddd052b49c94bef8f214be7343337d907)
2000-07-31More work on rpcclient...Gerald Carter6-116/+373
* 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 45fbf31b698d6e754630590034cff712c0a716b1)
2000-07-28Fixed read overrun in init_string2()Tim Potter1-2/+4
(This used to be commit 4ab75143c4466ad0ea8443512dd5ade449d72462)
2000-07-27remove warningsJean-François Micouleau1-2/+2
J.F. (This used to be commit 9178d2a1aac26f8d6533f7dc86ff9b19eb72db8b)
2000-07-27fix the devmode.orientation being set to 0.Jean-François Micouleau1-2/+8
that bug was *subtle* :-( J.F. (This used to be commit 0e9e048b6d65b57bdcc7440ddaa9d2cc1eac71dc)
2000-07-27Ok - this is a *BIG* change - but it fixes the problems with static stringsJeremy Allison26-412/+513
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-26if no comment in TDB, use comment from print share.Jean-François Micouleau1-4/+15
J.F. (This used to be commit c267b23620677a11f702bfea4885a28e66a05b05)
2000-07-26Found out that we are crashing spoolss in enumprinterdata.Jean-François Micouleau4-14/+32
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-26Fixed memory leaks in root and non-root password changing.Tim Potter1-7/+20
(This used to be commit f3a4f81a5e51e411f1c7c6245597cca01e9ad5b2)
2000-07-26Fixed memory leaks in _spoolss_addprinterdriver()Tim Potter1-5/+9
(This used to be commit 1f49788442b0d1264c70166e727b8588b936e6ec)
2000-07-26Fixed memory leak in modify_trust_password()Tim Potter1-0/+4
(This used to be commit 7145689bf55b9f3100632badac486fde30ee4972)
2000-07-25Fixed up error checking and move printer file code. Fixed a memory leak.Jeremy Allison3-12/+38
Jeremy. (This used to be commit 5130dd0f8b80aed5fb3c0df290b627057cc9b825)
2000-07-25make protoGerald Carter1-0/+5
--jerry (This used to be commit 1f65b13dd56fbe41320f6c4e8f391ce739509e45)
2000-07-25some initial code for AddPrinterEx() project. Most is ifdef'd outGerald Carter3-3/+149
'cause it's not all written. -jerry (This used to be commit 2c0f6bcc8f926ee9c17de12671075e8a9239bb94)
2000-07-25if the sids are not the same pointer and either of the sids are NULLAndrew Tridgell1-0/+3
then the two sids are not equal (This used to be commit 9ccf3b1dc5baf0e00d032d8b932ab0fb5b1e11b1)
2000-07-25Added some error checking and returns to the new 'move' code.Jeremy Allison4-16/+53
Jeremy. (This used to be commit 0bd88d304cd773e0bbf3e6f7fedcb3b544d41cbe)
2000-07-25A rather big change set ! (listed in no particular order)Jean-François Micouleau9-306/+494
- 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-25Fix for mounting a printer as a share. Not that there's anythingTim Potter1-0/+5
specifically wrong with this, but Samba is fooled by the client into thinking the printer is a file share. Files copied to the share gather dust in the spool directory and aren't printed. This patch has the effect of not allowing printers to be mounted as file shares. Not sure whether this is the correct solution or not. {Jeremy,JF,Tridge} please check! (This used to be commit dcf3249bb9fef2a05b376e9c8c1a0a7d602d8a2e)
2000-07-25Tidy up code to add printer. Always index in tdb by sharename. ThisJeremy Allison1-5/+33
is beginning to come together... Jeremy. (This used to be commit 614bf56186b5836020a7813855a5108da0ee8433)
2000-07-24Run main server loop with sys_select() instead of sys_select_intr(). TheTim Potter1-2/+13
main daemon was not catching sighup and reloading the service file. (This used to be commit f026a897e9296a71fb5c4d5f6e1b4d3287689bde)
2000-07-22Fixed open handle code in printers - 3 functions were always being doneJeremy Allison5-155/+171
in order - moved them into open_printer_hnd(). Added saving of comment field. Jeremy. (This used to be commit a0ee774fe92e5d0bc84d1d6729e8c538c67e8aba)
2000-07-21make protoGerald Carter1-0/+13
(This used to be commit e4af400ed6580c04bcaf3a28fe8aeaa0cdbd4dcf)
2000-07-21* Added EnumPorts()Gerald Carter2-3/+137
* Fixed an off-by-one bug noticed by JF in GetPrinterDriverDirectory() jerry (This used to be commit a9522f560da64045d928dabedeacdef0a6c3db51)
2000-07-21Added EnumPorts() and fixed up some problemsGerald Carter1-48/+27
with the other spoolss client calls. Also cleaned up output for 'help' command. jerry (This used to be commit a0e8a55c279af50c1f770c7b913262094b9b593a)
2000-07-21Added EnumPorts() and fixed up some problemsGerald Carter3-0/+96
with the other spoolss client calls. Also cleaned up output for 'help' command. jerry (This used to be commit 56ce247977c05ef37888c2572e679c44346e5568)
2000-07-21Added functions for enumerating ports on remote print server.Gerald Carter1-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 (This used to be commit a2205c6646aa677090908a4e1532ed8590adc0e0)
2000-07-20make protoGerald Carter1-0/+10
(This used to be commit 1246728eb9013948d17ad44263501d1e1bb49e8f)
2000-07-20readded util_list.c (just to the RPCCLIENT_OBJ). I need to splitGerald Carter1-1/+1
the file up i think. Later. --jerry (This used to be commit ed54a9f4d154ac56330b23255108447036cbd192)
2000-07-20Fixed unitilized secdesc pointer which was causing spoolgetprinterGerald Carter2-2/+7
rpcclient command to fail on shared printers. jerry (This used to be commit c8abc31187dbfe6076277896b029fa11443e43bd)
2000-07-19Modified the patch to look in the tdb *first* - thus allowing legacy textJeremy Allison1-75/+91
filed to be ignored when an upload is done. Modified to code to goto err on problems, simplifies it. Jeremy. (This used to be commit 9157a6ab2646c035a731d53aa3be010488ccf51a)
2000-07-19Code from John Reilly <jreilly@hp.com> to add tdb lookups into the Win95Jeremy Allison3-7/+100
printer driver download if looking for the default driver files fail. Jeremy. (This used to be commit 1192d867c4e863471f9bc12afceb68a23ba2142e)
2000-07-19Instead of handing back a string (which might be a DNS name or an IPChristopher R. Hertel5-48/+99
string), the wins_srv module now hands back a struct in_addr when it's called. It caches the IP address once it has been looked up. The IP is cleared (and must be looked up again) if the 'wins server' parameter is reread, or if the node is marked 'dead'. A dead node will not be re-tried for 10 minutes (per a #define in wins_srv.c). As it was, the code was reading the WINS server name or IP directly from lp_wins_server. That's okay, except that if the value was expressed as a name, then a DNS lookup would be done every time the client wanted to talk to the server. I still need to work out the implications of failover regarding the 'unicast subnet' list. Chris -)----- (This used to be commit 73aa188320fd3bf10b5dfc057323f40aff2c13bd)
2000-07-19First cut toward adding WINS server failover.Christopher R. Hertel7-17/+250
*Note: failover doesn't actually work yet!* It's just that the code I'm adding provides all of the pieces necessary. I do have one big question. Something that I'll have to ask Jeremy, I'm thinkin'. In nmbd/nmbd_subnetdb.c the IP of the WINS server is used to set up the Unicast subnet. ...so what happens if the WINS server changes? My guess is either: a) nothing. b) I'd have to change the unicast subnet entry whenever the WINS server changes. Urq. BTW, the lp_wins_server() function no longer returns the WINS server name or IP. It returns the list of WINS servers entered in smb.conf. To get the currently 'live' WINS server, use the wins_srv() function. Fun, eh? Chris -)----- (This used to be commit cc08bdc74f4cd111fdc582ee7babef47ed8a950d)
2000-07-18Removed the sanity check on the WINS SERVER parameter because it simplyChristopher R. Hertel1-17/+0
checked to see that only one server was listed. As I am working on an enhancement that allows multiple servers to be listed...this was a bit contrary. ;) (This used to be commit 1b718f67675e52520f193a8c71c110246e70723f)
2000-07-18rpc_parse/parse_prs.c: Removed extraneous ()'s.Jeremy Allison3-43/+45
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-18remove util_list from LIB_OBJS since it broke smbd buildGerald Carter1-1/+1
(undefined references in link). This is a quick fix. I'll resolve things later. Sorry everyone. jerry (This used to be commit ea64f2525d649c0952af52c2ba21a3bac57b322e)
2000-07-18Added lib/util_list.[c|o] to Makefile.inGerald Carter1-1/+1
--jerry (This used to be commit 94967b31bbc913d9b45274d9eed846f871b66b6f)
2000-07-18Fixed some more client SPOOLSS functions. The followingGerald Carter8-361/+445
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-18fixed a bug (my own) in create_ntc_from_cli_state()Gerald Carter1-2/+2
--jerry (This used to be commit f7bc6df3befb8d0981dbd96f353039a5913321d7)
2000-07-18I really didn't like the way generic arrays (lists) wereGerald Carter1-0/+321
implemented in util_array.c so I wrote a smaller (and simplier package). I would like to replace the use of util_array.c functions in the rest of the source tree if no one objects. This will be an interface change, but not really a difference in the functionality provided. --jerry (This used to be commit 0863ce3a31e4c76c8356850ac128f6d96ea54917)
2000-07-18grab functions that return RPC_HND_NODE (declaredGerald Carter1-1/+1
in include/util_list.h) -- jerry (This used to be commit ccebd70df2c096de1b183ae072c2c720e2277c6f)
2000-07-18Fixed some more client SPOOLSS functions. The followingGerald Carter3-76/+80
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 rpcclient work. Jeremy, this check includes emthods for associating POLICY_HNDs and client states. See the RpcHndList_...() function calls (implemented in lib/util_list.c) --jerry (This used to be commit 84349394a988213724ca138e9692b3bc44fa0cb8)