summaryrefslogtreecommitdiff
path: root/source3/rpc_client
AgeCommit message (Collapse)AuthorFilesLines
1999-04-23Adding scheduler control pipe (\atsvc), client-side routines, and rpcclientMatthew Chapman1-0/+238
command "at" (compatible with NT's "at" command - see rpcclient commit) - useful for remote NT administration. (This used to be commit cf30a472f702d7b50c3a85e2cf2f55b46a2bd452)
1999-04-08Mainly BDC-related changes.Matthew Chapman3-10/+67
* Added SEC_CHAN_BDC * Propagate sec_chan into the various functions which change trust account passwords, so they can be used for domain control and inter-domain trusts. * Fix for endianness problem reported by Edan Idzerda <edan@mtu.edu>. A BUFFER2 is really a "unibuf" in my terminology and we should treat it as such. * Added some more common NT structures (BIGINT, BUFHDR2, BUFFER4). * Added NET_SAM_SYNC (-> NetDatabaseSync2) RPC for account replication. Still experimental and incomplete, with a few too many NULL security descriptors lying around (must go look at Jeremy's SD code). Haven't worked out password encryption yet either. However, the XXX_INFO structures I've added to rpc_netlogon.h are quite nice as they give some insight into how these objects are stored in the SAM. (This used to be commit 7b830350eb54dc9d357c115e12ddf9a0633527ac)
1999-03-24Fixed LSA Lookup Names. There were a few too many NULL pointers in aMatthew Chapman1-2/+2
negative response, which tended to crash lsass.exe. (This used to be commit 6d03f61d2536630968007958345cf44a42b03584)
1999-03-23dynamic memory allocation in samr enum dom users. works with 849 entries now.Luke Leighton1-7/+9
(This used to be commit 103557e26b071bf1e65e025ef5a52ccdbf483d02)
1999-03-23Fixed a typo where the RPC header mem_buffer was initialised as 0x8 bytes longMatthew Chapman1-1/+1
rather than 0x18. Rather nasty, I doubt the client ever worked for multiple PDU's. (This used to be commit 90b6fce780c8dff37a389493be0568923b189ff0)
1999-03-19added a "createuser" command.Luke Leighton1-4/+96
(This used to be commit fefb4bf19181714cb73414febd6ee2ec10356cbe)
1999-03-19valid_pol in lsa_query_secret() needed to be initialised to False.Luke Leighton1-1/+1
(This used to be commit 96e358a2f00ac603c95bc922e488ea2b64aeb829)
1999-03-19querysecret now shows the real, fairdinkum, decrypted secret :-)Matthew Chapman1-4/+4
(This used to be commit 5951e16a1134a559abefdd400e7a17627338f368)
1999-03-18Adding LSA_OPENSECRET (-> LsarOpenSecret) and LSA_QUERYSECRETMatthew Chapman1-0/+115
(-> LsarQuerySecret) on client side, including rpcclient command "querysecret" for others to play with. The major obstacle is working out the encryption algorithm used for the secret value. It definitely uses the NT hash as part of the key, and it seems the block size is 64 bits - probably DES based - but I can't work out what's done in between. Help required. (This used to be commit 365fa3b5fbf551670acc91f593138a7e91a5f7fa)
1999-03-12new "domtrust" test command. r&d into inter-domain trust accounts.Luke Leighton2-10/+15
(This used to be commit 65b0abe8b7594ff6c662da86dc2e35bd83a2d13d)
1999-02-24Win9x user level security.Matthew Chapman1-13/+65
* Added SAMR_LOOKUP_DOMAIN (-> SamrLookupDomainInSamServer) * Added real SAMR_ENUM_DOM_GROUPS (corresponding to SamrEnumerateGroupsInDomain). The existing one is just an alias for SamrQueryDisplayInformation (see below). * Added three extra info levels to SAMR_QUERY_DISPINFO. Info level 3 is what was previously SAMR_ENUM_DOM_GROUPS; info levels 4 and 5 are simple user/group list requests used by Win9x and I suspect (haven't checked) the "low speed connection" User Manager. * Added another two aliases for SAMR_QUERY_DISPINFO, opcodes 0x30 and 0x33. Usually the first is with info level 3 and the second 4 but there is some overlap so indeed these should be implemented as just aliases. * Return ERRDOS/ERRmoredata on extra data instead of STATUS_BUFFER_OVERFLOW for Win95's benefit. On a named pipe this results in an SMBreadX as usual. Still need to fix SAMR_QUERY_DOMAIN_INFO which has a hard-coded number of users and groups - which Win95 proceeds to truncate at. (This used to be commit 7d03e6e21908f3a759a4e65c5edd850622335e3e)
1999-02-23added jeremy's new c++-like code for parsing of security descriptors.Luke Leighton1-16/+28
(This used to be commit ec1b7000fd88c5a08e438c7033f60e49b9ec44a8)
1999-02-16rpcclient shutdown commandLuke Leighton1-0/+55
(This used to be commit 59f081069a58f6a070ed6016c06153d5e695da93)
1999-02-15Always null-terminate strings.Matthew Chapman3-13/+13
Also some string length and sizeof(pointer) corrections. (This used to be commit ce24191939b82985d09eabe945199f38b0fea486)
1999-02-12UNICODE cleanup (see lib/util_unistr.c).Matthew Chapman3-13/+15
No more ugly static library buffers and all functions take a destination string length (especially unistrcpy was rather dangerous; we were only saved by the fact that datagrams are limited in size). (This used to be commit a1d39af1ce1d451b811dbd7c2ba391214851b87e)
1999-02-09removal of the use of unistrn2 function: replace it with unistr2_to_strLuke Leighton1-6/+2
which is more appropriate. (This used to be commit ac72fe1ab3d10f64a5945ccbd4ed3817e30f9f7b)
1999-01-29fix for enumerate domain users (bug spotted by sean matthews).Luke Leighton1-4/+2
also needed to use start index properly and generate next index. both client and server code need to recognise error code 0x105 when there's not enough room to store all the users in one call. sort this out another time. (This used to be commit ad58cdfac6b85d9431216e32e532ad4d60f9c6dd)
1999-01-28rpcclient "Service Control Manager" svcenum [-i] command.Luke Leighton1-3/+126
(This used to be commit a022710f1e3996ecbe6bbe035e1df0bc4c050b34)
1999-01-27Service Control Manager - service enumeration.Luke Leighton1-5/+12
(This used to be commit f4dd8f6b566961890b2933b7a413241bf9b93797)
1998-12-14added sid_name_use array argument to lsa_lookup_names and lsa_lookup_sids.Luke Leighton1-0/+28
(This used to be commit 0b2095e092d747f741e78a3349f0b81a72811629)
1998-12-09adding some enumerate services code, client and server.Luke Leighton1-10/+7
(This used to be commit dacf5b152bf74cc3ee9a816911384a5eb0e77afa)
1998-12-08adding "Service Control Manager" commands to rpcclient.Luke Leighton1-0/+230
(This used to be commit e5ee965f8d8452ab694bc5d88e474c4b91dce5b0)
1998-12-08adding srvsvc pipe.Luke Leighton1-1/+1
(This used to be commit d06d6369942828ec89e90f99bd0d0d3f91d61d13)
1998-12-07removed nt_pipe_fnum from struct cli_state. need to be able to callLuke Leighton8-209/+212
LsaLookupSids etc from within SamrQueryAliasMembers, for example. fnum is now a parameter to client functions. thanks to mike black for starting the ball rolling. (This used to be commit bee8f7fa6b0f7f995f71303f4e14a4aaed0c2437)
1998-12-07- lib/unix_sec_ctxt.cLuke Leighton2-4/+375
attempt at taking lib/uid.c and getting a unix security context change module that is independent of "cnums" and "snums". a security context is needed for pipes, not just IPC$ or other services. - group database API added add_group/alias_member, del_group/alias_member, del_group/alias_entry functions. del_builtin_entry() is deliberately set to NULL to cause an exception, you cannot delete builtin aliases. - parse_lsa.c srv_lsa.c fixed lookup_names code, it was a load of trash and didn't do anything. - cmd_samr.c rpcclient.c srv_samr.c added "deletegroup", "deletealias", "delaliasmem", "delgroupmem", "addgroupmem", "addaliasmem", "createalias", "creategroup", to both client and server code. server code calls into unix stubs right now, which don't actually do anything. the only instance where they are expected to do anything is in appliance mode NOT even in the ldap code or anything. client code modified to call samr_lookup_names() for group code (because we can) and lsa_lookup_names() for alias code (because we have to). - srv_lookup.c oops, lookup on unsplit name, we got lookup on DOMAIN, DOMAIN\name instead of DOMAIN, name. (This used to be commit b8175702ef61b8b37b078f38e81452c00a5e2986)
1998-12-04fixing "addgroupmem" and "enumgroups -m" commands, samr_open_group()Luke Leighton1-4/+5
needed a flags fields as you get 0x0000 0010 and 0x0000 001f unknown values for different purposes, no-one's going to tell us what they are and i don't CARE! (This used to be commit aabb4b3bc5119ef317b5697ae6fcf5d36c2d474e)
1998-12-04- oops, i got "add alias member" and "delete alias member" swapped.Luke Leighton2-1/+3
- samr_enum_dom_users, the first 4 bytes is some sort of garbage, nt5-beta2 clears them out to zeros whereas nt4 does not. fixed bug where we were assuming that the first 4 bytes of a response _had_ to be non-zero. - cli_lsarpc.c: forgot to append the rid on the lsa_lookup_names() client call. - added in "addaliasmem" and "addgroupmem" commands. the addaliasmem command actually turned out to be a "delaliasmem" :-) :-) - parse_lsa.c: moved assert array check to after the size of useable array space is set... (This used to be commit 165b15a8cacc4bc7cf8cc0b9aaabb6b92cef7fdb)
1998-12-04- renamed do_samr_xxx to samr_xxxLuke Leighton2-37/+624
- renamed do_lsa_xxx to lsa_xxx - added "enumgroups [-m]" command, enumerates groups, shows members. - added cmd_sam_add_groupmem(), need to call these in rpcclient.c - added cmd_sam_add_aliasmem(), need to call these in rpcclient.c - modified "enumaliases [-m]" command - improved "enumgroups" and "enumaliases" to display names not just RIDS/SIDs. - renamed "samr_unknown_12" to "samr_lookup_rids". - added the following client-side functions: get_samr_query_groupmem() get_samr_query_aliasmem() get_samr_query_groupinfo() samr_enum_dom_groups() samr_enum_dom_aliases() samr_add_aliasmem() samr_add_groupmem() - improved display output (display.c) (This used to be commit eacc5e581af2b4de24186b9be3238b352c54effe)
1998-12-03added createalias command to rpcclientLuke Leighton1-1/+209
(This used to be commit 4771d5451b49375cc2fd4246d7d746b0d03cd5ba)
1998-12-03create domain group command (creategroup) added to rpcclient.Luke Leighton1-69/+278
renamed do_samr_xxxx to samr_xxxx. (This used to be commit 1e5d81c154740349a2cda4c1892b33a21c0683a8)
1998-12-02jeremy's going to do me in, again.Luke Leighton1-14/+14
jean-francois' going to get annoyed, again. andrew's going to threaten to take cvs access away, again. missed compilation of this file when updating sam_unknown_12 call. (This used to be commit 74f826af36a7af4e91f9325d11ef8432d343c3bd)
1998-12-02issues spotted by andrej: %s\\%s not %s\%sLuke Leighton1-0/+1
(This used to be commit 779a7aa30d4b8a3c8ca1d817a3fd9886c0437def)
1998-11-30- adding builtin[alias]db.Luke Leighton1-3/+4
- lib/sids.c: generate_sam_sid() modified to take a domain name: it now generates "DOMAIN_NAME.SID". reasons: 1) if you run multiple samba servers on the same machine under different netbios names as members of a domain, they won't all use the same SID, which is a _big_ mistake but it would happen _by default_. 2) we have (had) a problem with sid_to_string() and string_to_sid() which cause SIDs to be incorrectly read. one of the major reasons for *NOT* making this change was so as not to disrupt existing users. but as they will be anyway by this bug, we might as well go ahead. - passdb/smbpass.c: wanted to change the meaning of the name in the smbpasswd file to an "nt" name not a "unix" name. this is probably not a good idea: reverted this. - output formatting / bug-fixing in rpcclient query_useraliases code. (This used to be commit e4930f5f48f8246ceec8add8bf769954a963190c)
1998-11-29weekend work. user / group database API.Luke Leighton3-8/+69
- split sam_passwd and smb_passwd into separate higher-order function tables - renamed struct smb_passwd's "smb_user" to "unix_user". added "nt_user" plus user_rid, and added a "wrap" function in both sam_passwd and smb_passwd password databases to fill in the blank entries that are not obtained from whatever password database API instance is being used. NOTE: whenever a struct smb_passwd or struct sam_passwd is used, it MUST be initialised with pwdb_sam_init() or pwd_smb_init(), see chgpasswd.c for the only example outside of the password database APIs i could find. - added query_useraliases code to rpcclient. - dealt with some nasty interdependencies involving non-smbd programs and the password database API. this is still not satisfactorily resolved completelely, but it's the best i can do for now. - #ifdef'd out some password database options so that people don't mistakenly set them unless they recompile to _use_ those options. lots of debugging done, it's still not finished. the unix/NT uid/gid and user-rid/group-rid issues are better, but not perfect. the "BUILTIN" domain is still missing: users cannot be added to "BUILTIN" groups yet, as we only have an "alias" db API and a "group" db API but not "builtin-alias" db API... (This used to be commit 5d5d7e4de7d1514ab87b07ede629de8aa00519a1)
1998-11-25LsaLookupNames client call (first used as lookupnames command in rpcclient).Luke Leighton1-6/+127
(This used to be commit 68342a29a892e515cf2b22d759476d61944bcd59)
1998-11-20acconfig.h configure configure.in include/config.h.in: Added -lsec and ↵Jeremy Allison1-0/+7
-lsecurity checks in a more sane way. rpc_client/cli_netlogon.c: Removed correct bits check to see if this works with an NT3.51 PDC. rpc_parse/parse_samr.c: Fixed compile warnings. Jeremy. (This used to be commit 34d8f4b1c4d59ab3c009360fc67eef9361dd859b)
1998-11-17- group database API. oops and oh dear, the threat has been carried out:Luke Leighton4-5/+1
the pre-alpha "domain group" etc parameters have disappeared. - interactive debug detection - re-added mem_man (andrew's memory management, detects memory corruption) - american spellings of "initialise" replaced with english spelling of "initialise". - started on "lookup_name()" and "lookup_sid()" functions. proper ones. - moved lots of functions around. created some modules of commonly used code. e.g the password file locking code, which is used in groupfile.c and aliasfile.c and smbpass.c - moved RID_TYPE_MASK up another bit. this is really unfortunate, but there is no other "fast" way to identify users from groups from aliases. i do not believe that this code saves us anything (the multipliers) and puts us at a disadvantage (reduces the useable rid space). the designers of NT aren't silly: if they can get away with a user- interface-speed LsaLookupNames / LsaLookupSids, then so can we. i spoke with isaac at the cifs conference, the only time for example that they do a security context check is on file create. certainly not on individual file reads / writes, which would drastically hit their performance and ours, too. - renamed myworkgroup to global_sam_name, amongst other things, when used in the rpc code. there is also a global_member_name, as we are always responsible for a SAM database, the scope of which is limited by the role of the machine (e.g if a member of a workgroup, your SAM is for _local_ logins only, and its name is the name of your server. you even still have a SID. see LsaQueryInfoPolicy, levels 3 and 5). - updated functionality of groupname.c to be able to cope with names like DOMAIN\group and SERVER\alias. used this code to be able to do aliases as well as groups. this code may actually be better off being used in username mapping, too. - created a connect to serverlist function in clientgen.c and used it in password.c - initialisation in server.c depends on the role of the server. well, it does now. - rpctorture. smbtorture. EXERCISE EXTREME CAUTION. (This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-13Makefile.in configure configure.in include/config.h.in: Changes for DGUX and ↵Jeremy Allison2-2/+2
UNIXWARE. groupdb/aliasdb.c groupdb/aliasfile.c groupdb/groupfile.c: Don't use snprinf, use slprintf. include/includes.h: Fix YP problem. include/smb.h: Fix ZERO_STRUCTP. lib/util_sock.c: Added strerror() in debugs. passdb/ldap.c: Don't use snprinf, use slprintf. rpc_client/cli_lsarpc.c rpc_client/cli_pipe.c rpc_parse/parse_sec.c rpc_server/srv_pipe.c: Don't use snprinf, use slprintf. script/installman.sh: DGUX changes. smbd/open.c smbd/oplock.c: Fixed gcc warnings. web/swat.c: Changes USER to SWAT_USER. (This used to be commit 4c2b5a00983501e5d4aad1456ba8b5ab0dfd9b4c)
1998-11-13security descriptorsLuke Leighton1-1/+16
(This used to be commit 9412edfd4c11a26e4ef290839375e3959cf70a7e)
1998-11-12security descriptors.Luke Leighton1-2/+2
kanji const char* warnings. (This used to be commit 06abdfd68e1d7fa8741afc3f56ec7a13b5fa4ccc)
1998-11-12cleaning up conflicts between group code not yet committed andLuke Leighton2-4/+52
changes from yesterday by me, jeremy and andrew. jeremy, your ACB_PWNOTREQ mod would have caused a crash if the user didn't exist (first check should be for smb_pass != NULL) (This used to be commit cbac0f165d351ba9497c222e55e453d781376e58)
1998-11-12Moved some code (NTLMSSPcalc) out of smbdes and inline for paranioaJeremy Allison1-4/+31
resons and my own piece of mind... Jeremy. (This used to be commit 45131501f23ce1eec2f23fe2c1060cd5a2736ec9)
1998-11-11clearing up security descriptorLuke Leighton1-0/+4
(This used to be commit abdc9d790b7d27b70aaf88451f5c82c99c94ca6e)
1998-11-11changed syntax of registry commands so keys can start with HKLM or HKU.Luke Leighton2-52/+110
sorted lookupsids command (This used to be commit 13a0ee851fe0ce9acddfe57f9aba19fc78085c39)
1998-11-11Makefile.in: Added target for makeyodldocs - not used by default.Jeremy Allison1-5/+5
rpc_client/cli_reg.c: The perils of cut-n-paste coding include using variables before they are initialised :-). script/makeyodldocs.sh: Remove the intermediate files. Jeremy. (This used to be commit 88031bca5c528157ef2fe1d976a245b186ff8959)
1998-11-11registry delete value command: "regdeleteval".Luke Leighton1-0/+54
this is just so unbelievably simple to do... (This used to be commit c05254a15076711d382a58b85b5f08bf81cb1560)
1998-11-11renamed unk_1b to flush_keyLuke Leighton1-9/+9
(This used to be commit ddfdb6534671a0e9bbbefe555a92925d41abaddf)
1998-11-11- renamed open_policy to open_hklm.Luke Leighton1-21/+78
- renamed open_unk_4 to open_hku - fixed createkey issue spotted by phil cox (This used to be commit 7df85b956787f02d022b34ef8cfc13fc967ae89c)
1998-11-10rpcclient registry key delete command: "regdeletekey".Luke Leighton1-0/+54
(This used to be commit 20987b6105d42f3404ff009cc27e73a1823cd495)
1998-11-10registry modification requires a "sync" or "refresh" on the parent key.Luke Leighton1-0/+56
opcode 0xb added to do this. a likely candidate name is "RegFlushKey". (This used to be commit 5e9567e3c7d4ee8624a448fcccfcd8003913dbbf)