1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00
Commit Graph

87 Commits

Author SHA1 Message Date
Luke Leighton
2803a72751 ok. *whew*. this is the first completed part of the restructure.
verified that lsaquery, lsalookupsids work, and found some bugs in the
parameters of these commands :-)

soo... we now have an lsa_* api that has the same arguments as the nt
Lsa* api!  cool!

the only significant coding difference is the introduction of a
user_credentials structure, containing user, domain, pass and ntlmssp
flags.
(This used to be commit 57bff6fe82)
1999-11-24 22:45:09 +00:00
Luke Leighton
f8b82a7b95 first stages of removing struct cli_state* and uint16 fnum from all
msrpc client code.  the intent is to hide / abstract / associate
connection info behind policy handles.

this makes the msrpc functions look more and more like their nt equivalents.

who-hou!
(This used to be commit c01b18e632)
1999-11-24 20:24:33 +00:00
Luke Leighton
511b2d6736 oops, freed argc,argv arguments twice.
(This used to be commit 447143be81)
1999-11-23 23:14:10 +00:00
Luke Leighton
7bd8fd1a10 adding svcctl 0x1b function
(This used to be commit d5869df371)
1999-11-23 18:57:07 +00:00
Luke Leighton
aa12f3e0e9 okay :) all cmd_() functions now take int argc, char **argv :) that
means that some commands need more work, as they still use next_token(),
the use of which i wish to avoid.

plus, i was getting fed up of the poor command-line processing in some
of these commands.  i'm starting to need getopt() in them, especially
in samsetuser.

WARNING: only cmd_samr has been modded to use getopt() so far!  reg
commands won't work, esp.
(This used to be commit 9a1efa03c8)
1999-11-22 19:02:39 +00:00
Luke Leighton
dab1a12278 you know what? this sort of thing makes me laugh. hmm, what functions
have we got.  and what data do we have.  hmm.. i wonder what the NTLMv2
user session key can be... hmmm... weell.... there's some hidden data
here, generated from the user password that doesn't go over-the-wire,
so that's _got_ to be involved.  and... that bit of data took a lot of
computation to produce, so it's probably _also_ involved... and md4 no, md5?
no, how about hmac_md5 yes let's try that one (the other's didn't work)
oh goodie, it worked!

i love it when this sort of thing happens.  took all of fifteen minutes to
guess it.  tried concatenating client and server challenges.  tried
concatenating _random_ bits of client and server challenges.  tried
md5 of the above.  tried hmac_md5 of the above.  eventually, it boils down
to this:

kr = MD4(NT#,username,domainname)
hmacntchal=hmac_md5(kr, nt server challenge)
sess_key = hmac_md5(kr, hmacntchal);
(This used to be commit ab174759cd)
1999-11-21 19:24:01 +00:00
Luke Leighton
4629acd6f5 moving create user function into msrpc_samr.c
(This used to be commit e885027eb7)
1999-11-21 17:09:20 +00:00
Luke Leighton
a56bea383b doing a code reshuffle. want to add code to establish trust relationships.
(This used to be commit 3ec269b402)
1999-11-20 19:43:37 +00:00
Luke Leighton
da517a3ff4 responses to UDP samquery go back to SERVER<00> not DOMAIN<1c>, the
request name.

modified createuser rpcclient command to examine name being added.  if it
ends in a $, assume that a workstation trust account is being added.
(This used to be commit 4aea261cb0)
1999-11-18 23:15:45 +00:00
Luke Leighton
e3b2f276e0 added samuserset2 rpcclient command to test ACB_XXX bit-setting on
samr opcode 0x25.  _yet_ another failed attempt to get nt5rc2 to join
a samba domain.  what _is_ it with this stuff, dammit?
(This used to be commit c3913f8ae2)
1999-11-18 19:29:08 +00:00
Luke Leighton
98ee99eb72 added rpcclient "enumdomains" command. enumerates names of domains
for which a PDC is responsible.  typical answers are:
<Name of Domain> plus <Builtin>.

against a hierarchical, down-level-compatible NT5 PDC, there's likely to
be more than these two entries!!!!!
(This used to be commit 3146aa6b60)
1999-11-15 22:43:08 +00:00
Luke Leighton
97398b4c74 riccardo sibilia spotted line 1884 has uint32 group_rid[0] not group_rid[1]
oops!
(This used to be commit ea1d5af105)
1999-11-09 17:39:21 +00:00
Luke Leighton
c6e3fc5838 const feeding frenzy
(This used to be commit e0eb390ab3)
1999-11-08 20:58:06 +00:00
Luke Leighton
0f18ca772d added rpcclient spoolenum command. enumerates printers.
spoolss_r_io_enumprinters doesn't decode strings correctly
as printer_info_1/2 code has only been written to write
structures, not read them.
(This used to be commit 135eaa9773)
1999-11-06 19:52:04 +00:00
Luke Leighton
fe8383382d samuserset <username> -p password. YESSSSS :)
you have to use "ntlmv1" at the moment (i.e set client ntlmv2 = no).
(This used to be commit f52504c553)
1999-11-04 21:41:36 +00:00
Luke Leighton
cae821d459 adding experimental set user password command to rpcclient, it returns
error wrong password against nt.  ????
(This used to be commit b3f16e6b5a)
1999-11-04 00:09:15 +00:00
Luke Leighton
37983b979f added samalias <aliasname> rpcclient command (shows info on alias)
added samaliasmem <aliasname> rpcclient command (shows members in alias)

added tab command-completion to SAM alias related commands (inc 2 above).
(This used to be commit 0c700fb609)
1999-11-02 23:47:17 +00:00
Luke Leighton
aa77f20a5b dynamic mem allocation in enum dom groups and enum dom aliases
(This used to be commit baa789fabc)
1999-11-02 23:31:16 +00:00
Luke Leighton
de573ca891 rewrote rpcclient enumaliases command.
(This used to be commit 492fdaaf20)
1999-11-01 21:09:24 +00:00
Luke Leighton
eae9b12ca5 general, drastic improvements to rpcclient.
added samgroup <groupname> command
added samgroupmem <groupname> command

added proper registry key completion

added sam command user-completion (e.g samuser [tab])

added sam command group-completion (e.g samgroup [tab])
(This used to be commit bc5d021916)
1999-10-30 20:32:40 +00:00
Luke Leighton
243feaa08c rewrite rpcclient sam enum user code to use higher order functions.
(This used to be commit b794ff2130)
1999-10-29 19:31:32 +00:00
Luke Leighton
a8b8b8ac3b using #defines for function prototypes
(This used to be commit 4a44cccf44)
1999-10-29 18:57:22 +00:00
Luke Leighton
d0fd259514 more reshuffling of enum groups code. more higher order functions.
(This used to be commit 497d423172)
1999-10-29 17:37:27 +00:00
Luke Leighton
97993e4973 using higher-order-function in enum groups as a test. makes it really
useful for doing things _other_ than just "print me".
(This used to be commit 229313de7d)
1999-10-29 16:19:17 +00:00
Luke Leighton
326b011b2d restructuring sam enum dom groups code to do multiple calls to
sam_enum_dom_groups.  enum dom aliases is still left to do (dom users
already done).
(This used to be commit 8d181924ce)
1999-10-28 20:34:28 +00:00
Luke Leighton
c7c77cbfd7 restructuring samr client code.
(This used to be commit a78607b5db)
1999-10-28 20:02:29 +00:00
Luke Leighton
640012d80b removed samr_* variables from info struct.
(This used to be commit 4d5b860802)
1999-10-28 19:02:23 +00:00
Luke Leighton
2222a306a8 rewrote samr enum groups code a bit.
(This used to be commit 3f99ab7720)
1999-10-28 17:52:12 +00:00
Luke Leighton
1298a3d1e0 created samr_query_groupmem() function from existing code.
(This used to be commit d2d5a853f8)
1999-10-26 20:03:48 +00:00
Luke Leighton
ea6592046f adding extra parameter back in to trust account functions (trust account name).
restoring opening S-1-5-20 in sam enum users code.
(This used to be commit 1be877114e)
1999-10-26 16:46:45 +00:00
Luke Leighton
fdf6383cbe signed / unsigned and typecast issues
(This used to be commit 6e22bf912c)
1999-10-25 17:10:54 +00:00
Luke Leighton
8e1f542ddf one of those wonderful moments when running against a different MSRPC
implementation (NT5) when you discover that your code is trash.
samr_enum_dom_users(), samr_enum_dom_aliases() and samr_enum_dom_groups()
all take a HANDLE for multiple-call enumeration purposes.
(This used to be commit 19490d8b4f)
1999-10-25 16:22:08 +00:00
Luke Leighton
45b794bdde the dynamic memory alloc blood-fest goes on...
(This used to be commit 134b20e2a7)
1999-10-21 19:02:57 +00:00
Luke Leighton
52fed795e1 turning some of the rpcclient functions dynamic. this is likely to
break a few things...
(This used to be commit 4b06f30323)
1999-10-21 18:25:12 +00:00
Luke Leighton
6f9105c853 various. debug levels changed. nmbd doesn't need libsmb/clienttrust.c.
samr_lookup_rids() moved to a dynamic memory structure not a
static one limited to 32 RIDs.  cli_pipe.c reading wasn't checking
ERRmoredata when DOS error codes negotiated (this terminates
MSRPC code with prejudice).
(This used to be commit 8976eca2db)
1999-10-21 16:53:50 +00:00
Luke Leighton
65ce93d549 splitting dom info into sam_query_dominfo function
(This used to be commit 39c367b8e9)
1999-10-01 18:44:33 +00:00
Luke Leighton
5b38ad78b8 permissions on SamrConnect changed to 0x02000000 (maximum allowed)
(This used to be commit cbc646b1d8)
1999-10-01 18:27:29 +00:00
Luke Leighton
860688f6e7 error-code checking in lsa_lookup_sids. anonymous connections for
domain info.  adjusting net_srv_get_info function.
(This used to be commit 42eb916fae)
1999-10-01 18:11:57 +00:00
Luke Leighton
6bf6b0ad44 added rpcclient SamrQueryDisplayInfo command "dispinfo"
(This used to be commit 6c98d6c9aa)
1999-09-14 21:04:02 +00:00
Luke Leighton
827599cbb2 restructuring
(This used to be commit 9d74161a92)
1999-09-12 23:59:09 +00:00
Luke Leighton
85f0d0bff3 using #define report
(This used to be commit 7fc2ee2f96)
1999-09-12 23:39:57 +00:00
Luke Leighton
736c507722 debugged enumgroups -g option
(This used to be commit 1cde47ba6a)
1999-08-30 17:15:59 +00:00
Luke Leighton
501acbba23 added call to samr_query_groupinfo in enumgroups command (-m option)
(This used to be commit e2a72e2c64)
1999-08-30 17:07:53 +00:00
Luke Leighton
42fdd41b1d improved "dominfo" rpcclient command
(This used to be commit 65a54b6e16)
1999-08-29 16:36:21 +00:00
Luke Leighton
53b4095d2c added experimental del_groupmem and del_aliasmem commands that were not
being called from rpcclient.c

improved add_groupmem command, but cannot test it against nt non-pdc!
(This used to be commit 7a383a2a02)
1999-08-29 13:18:10 +00:00
Matthew Chapman
7930cb0dfc Fixed rpcclient's samuser command.
(This used to be commit 60a8b478ac)
1999-04-11 02:34:44 +00:00
Luke Leighton
da4cd4f5a9 added a "createuser" command.
(This used to be commit fefb4bf191)
1999-03-19 21:20:19 +00:00
Luke Leighton
b6db424576 reverted access control flags in enum commands.
(This used to be commit 97a0b24955)
1999-03-09 01:17:16 +00:00
Luke Leighton
8cf03d5a39 - todd sabin spotted bugs in samr enum dom users / groups / aliases code:
last count (probably an ENUM / resume handle) should always be returned
  even if there are no items being returned.

- got fed up of seven intendation levels in cmd_samr.c, maximum recommended
  in *any* code is three!  made some sub-fns instead.
(This used to be commit 1c330d5682)
1999-03-08 19:19:01 +00:00
Matthew Chapman
05f772b431 Win9x user level security.
* 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 7d03e6e219)
1999-02-24 01:52:30 +00:00