1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00

681 Commits

Author SHA1 Message Date
Luke Leighton
0d44ff9a76 attempting to resolve the issue that multiple servers often specified in
parameters to connect to \PIPE\NETLOGON.
(This used to be commit d1986ade30bdcac1f49707221a3e5a5ae597ce62)
1999-11-29 21:47:14 +00:00
Luke Leighton
44334ace98 ok. got ntlogin command working. argh, it maintains a connection to
the remote machine, because i don't know what to _do_ with it!!!!

argh!!!
(This used to be commit 85cc680736f17e3f879895be5dac8f1427653919)
1999-11-29 21:16:12 +00:00
Luke Leighton
e302cb2b18 first attempt at getting \PIPE\NETLOGON working. it's pretty horrible.
(This used to be commit 44dd3efa6380544e9a515e91960f9271498cefaf)
1999-11-29 19:46:57 +00:00
Luke Leighton
9720774c6a well, i stuffed up the spooler commands.
(This used to be commit 7a696330586b9ad5157b0c1ab249cc66e9accef7)
1999-11-27 23:25:45 +00:00
Luke Leighton
ad1e5fdd96 moved browser command brsinfo over to new abstracted connection
(This used to be commit 601d217f44ea1ce3735b9267b6f829b472a982b4)
1999-11-27 22:53:28 +00:00
Luke Leighton
c80b85803b this one's a handle-based one (missed in the first round).
(This used to be commit 4c3556fae73c60693355f95f48ac63834ba4dd10)
1999-11-27 22:47:17 +00:00
Luke Leighton
e4a2e8e46f removed do_ prefix from srvsvc API
(This used to be commit e4e5743a407b60c3695410eaf3df4ca3de4a870e)
1999-11-27 22:35:58 +00:00
Luke Leighton
9fef73c27e updated \PIPE\wkssvc commands to use new abstracted connection system.
modified resolve_srv_name() to return dest host of *SMBSERVER if
server name is \\ip.add.ress.format
(This used to be commit 3204829225792974c8b20efb6ba6e24661a4f658)
1999-11-27 22:34:12 +00:00
Luke Leighton
4a6761a58d using "abstracted" cli_connection, got \PIPE\srvsvc commands up and running
again.
(This used to be commit 6b67d6164dbfda3ba690d86597ae560b7e5c7584)
1999-11-27 22:19:51 +00:00
Luke Leighton
3fc5ec73be further abstraction involving client states. main client-side code
is pretty much independent of SMB client states, which will make it
easier to add other transports.
(This used to be commit a1ff7e8fc3129ba4a04722f977bc2d3725d13624)
1999-11-27 21:50:11 +00:00
Luke Leighton
015dc121ea enhanced samuser command to do same thing as enumusers command (-g -u -a)
except with only one user.  done by sharing same code.
(This used to be commit 4e029d50fcb9148f2d65c6be2703b1003e68cec7)
1999-11-27 20:29:16 +00:00
Luke Leighton
4c92992b4e bug-fixing registry commands and the rpcclient "rpcclient" command.
the rpcclient "rpcclient" command allows user options to be reset
(e.g the username / password) _without_ terminating rpcclient.
try this:

rpcclient -S srv1 -U% -l log
srv1$ rpcclient -S srv2
srv2$

:-)
(This used to be commit c049865782d87ca09744ecdefb387b7852ec2ae7)
1999-11-27 00:02:03 +00:00
Luke Leighton
9b68305475 whoa. _major_ restructure of rpcclient. fixed some buuugs, created a few.
found out that getopt() _must_ have optind set to 0 before reuse.

still haven't decided what to do with the net* api yet...
(This used to be commit 29c480085e786905bfd92ea3cd93658f94e96e47)
1999-11-26 23:04:19 +00:00
Luke Leighton
30e8faaa8d previous commit added an abstraction function that didn't even have
struct cli_state, uint16 fnum into the code: rpc_hnd_api_req().
modified cli_lsarpc.c to use this.  the rest is const issues.
(This used to be commit c1ea396de21309c4cf19fd92f2573f5257c24588)
1999-11-25 05:34:12 +00:00
Luke Leighton
75bc100943 cool! completed a samr* API that _would_ look like an msdn samr* api...
if microsoft bothered to publish it.  actually, there are good reasons
for not publishing it: people might write programs for it, and then
those programs wouldn't work on nt5, for example...
(This used to be commit 8ce93b80d3b4e1c1e28aa1dde38cdef184eff3c1)
1999-11-25 05:26:48 +00:00
Luke Leighton
ac4dd24140 registry API moved over to new format. reg_connect() is the top-level
function, which takes \\server_name.

tested a _few_ functions.  found that regcreatekey receives a Fault PDU.
(This used to be commit 45e92258e7df84c21d23c0be7e1d85457ccac551)
1999-11-24 23:40:20 +00:00
Luke Leighton
a70a4626df service control manager API completed. svcenum -i works, but does not
do so twice.  possible memory corruption, revolving around getopt().
(This used to be commit 7cacf8bd026f1ee274f1d352c68cf79cf4f3b499)
1999-11-24 23:11:03 +00:00
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 57bff6fe82d777e599d535f076efb2328ba1188b)
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 c01b18e632aede6fce7264ef6971d7ddba945cfb)
1999-11-24 20:24:33 +00:00
Luke Leighton
2752e372b6 WARNING! MOVED rpc_server/srv_lsa_hnd.c TO lib/util_hnd.c
CVS UPDATE MAY ISSUE WARNING ABOUT lib/util_hnd.c MODIFICATION
DATE BEING IN THE FUTURE.  CVS CHECKOUT A NEW REPOSITORY MAY BE
SAFER.
(This used to be commit c26e8a6ac59934ae580077df937439c2c538dbdb)
1999-11-24 18:15:50 +00:00
Luke Leighton
d7889cd223 rewrote policy handle code to be generic (it's needed for client-side too)
attempted to fix regsetsec command
(This used to be commit eaac0923e0e5e3f4c3d944272a71f3235ac2a741)
1999-11-24 18:09:33 +00:00
Luke Leighton
6b91ecb417 attempted a svcset command. password is encrypted / messed up, therefore
command fails.
(This used to be commit 9193f0eff56399e9bc09787dbe785b603886eaa3)
1999-11-23 23:05:47 +00:00
Luke Leighton
14713d00b5 oops!!!! wrong command!!!
(This used to be commit cbbfef6d2a5335a6daa4fe09ea2d73197417894f)
1999-11-23 20:32:52 +00:00
Luke Leighton
7bd8fd1a10 adding svcctl 0x1b function
(This used to be commit d5869df3716fec21d3a4237dbf5d2417d3350e11)
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 9a1efa03c8bb86c9b7e73f102a9d48fb6a57a523)
1999-11-22 19:02:39 +00:00
Luke Leighton
32b9508d06 implement server-side generation of NTLMv2 session key. YESSS :-)
(This used to be commit 1092b4f6fbdf3770c0dab756b982a562def1738e)
1999-11-21 19:59:56 +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 ab174759cd210fe1be888d0c589a5b2669f7ff1e)
1999-11-21 19:24:01 +00:00
Luke Leighton
680dcc9341 hmmm... have to add client-side support in domain_client_validate() to
_use_ user session key.
(This used to be commit be6a6b13939798a9c7242b38864f0ce842391a74)
1999-11-21 17:27:20 +00:00
Luke Leighton
4081147c31 adding user session key into network netlogon response.
(This used to be commit c73f6b0d02fa7700319ba696f54296006167e5d1)
1999-11-21 17:11:00 +00:00
Luke Leighton
24a069eac3 modified domain_client_validate to take trust account name / type. this
is to pass DOMAIN_NAME$ and SEC_CHAN_DOMAIN instead of WKSTA_NAME$ and
SEC_CHAN_WKSTA.

modified check_domain_security to determine if domain name is own domain,
and to use wksta trust account if so, otherwise check "trusting domains"
parameter and use inter-domain trust account if so, otherwise return
False.
(This used to be commit 97ec74e1fa99d773812d2df402251fafb76b181c)
1999-11-20 20:54:29 +00:00
Luke Leighton
a56bea383b doing a code reshuffle. want to add code to establish trust relationships.
(This used to be commit 3ec269b402ba6898d905ea1029c427e1b645faf4)
1999-11-20 19:43:37 +00:00
Luke Leighton
3365a2fd23 The First Necessary UNICODE String Support.
the random workstation trust account password is TOTAL garbage.  i mean,
complete garbage.  it's nowhere CLOSE to being a UNICODE string.  therefore
we can't just take every second character.

created nt_owf_genW() which creates NT#(password) instead of NT#(Unicode(pw)).
followed through to the password setting in srv_samr.c
(This used to be commit 172601b84ae94044b27ded917d4e0e21e47a5a66)
1999-11-19 01:37:16 +00:00
Luke Leighton
161c11e4bc - bug in nmbd registering DOMAIN_NAME<1c> to WINS server; recursion
desired flag MUST be set in any NBT UDP packets sent to a WINS
  server, else they will go to the WINS client side of the NT NetBIOS
  kernel instead, and will get trashed.

- added \PIPE\browser server-side code.
(This used to be commit 8e406c1fa296c3f97b1cd7ddde7b5aeb9232b26e)
1999-11-19 01:01:07 +00:00
Luke Leighton
1c6c4e7e39 added \PIPE\browser plus experimental brsinfo command. you wouldn't
believe the XXXX that MIGHT be involved in getting nt5rc2 to join
a samba domain...
(This used to be commit 569babb3935950c1b64396955541abf276cc1d92)
1999-11-19 00:12:16 +00:00
Luke Leighton
4245278ca3 set "key does not exist" response to reg_query_val() (win32 status code
of 0x2).  [p.s. getting REALLY bored of this nt5rc2->samba domain stuff].
(This used to be commit a8801942f72b2394a54e4a46546029fac70efeed)
1999-11-18 22:03:47 +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 c3913f8ae272c496fc4519141accf01ee9f1e49e)
1999-11-18 19:29:08 +00:00
Luke Leighton
a394a4a8fa updating reg_value_info() parsing code to take BUFFER2 instead of just
a char*.  now copes with multiple types.
(This used to be commit 3df7c903c5b70f336294a95ad864aedbacf544b0)
1999-11-18 17:57:21 +00:00
Luke Leighton
ccc8585567 added regqueryval command (experimental) to get reg_io_q_info() and
reg_io_r_info() working properly.  previously they weren't well
understood (well, they were the first of the registry functions i did,
back in december 97, ok??? :-)

set ntversion to 0x1 in SAMQUERY, so that we reply same as NT4 srv.
(This used to be commit 98ddeaf442cb30972cb281bf0489a6e5f7eb2883)
1999-11-18 00:26:11 +00:00
Luke Leighton
cc8df5ce49 attempting to get nt5 wksta to join domain.
1) had to fix samr "create user" and "set user info" (level 23).

2) had to fix netlogon enum trust domains

3) registry key needed \\ in it not \.
(This used to be commit 70b2c1ecbb4fbbb86fea676c80754485aae5ab13)
1999-11-16 21:14:53 +00:00
Luke Leighton
6b56ebb7cf added two new params: "trusted domains" and "trusting domains".
these _may_ not actually ever get used, as trust relationships
really need to be established with shared secrets, and you need
to get the SID of the trusted and trusting domains, so this
may have to go in a private/xxx.mac file.
(This used to be commit 71f12138679251a9ebcada35969d9baea286a3e9)
1999-11-16 17:27:41 +00:00
Luke Leighton
089b57b5b4 added server-side samr enum domains. fixed some parsing issues, server-side.
(This used to be commit 60b0840106a6f5c283a8339428f3cfeb62398355)
1999-11-15 23:46:27 +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 3146aa6b6049a0d996e9abbe7dbee8526550e7e0)
1999-11-15 22:43:08 +00:00
Luke Leighton
b231d2fafa - added DCE/RPC "fault" PDU support.
- disabled (AGAIN) the GETDC "if (MAILSLOT\NTLOGON)" code that will get
NT5rc2 to work but WILL break win95 (AGAIN).  this needs _not_ to be
re-enabled but to be replaced with a better mechanism.

- added SMBwrite support (note: SMBwriteX already existed) as NT5rc2 is
sending DCE/RPC over SMBwrite not SMBwriteX.
(This used to be commit 25c70e3c984c4fed19763ed405741e83fe14f87e)
1999-11-15 22:11:10 +00:00
Luke Leighton
826ad16b36 debugging rpcclient spoolenum and spooljobs commands. oh, did i forget
to mention, there's a spooljobs <printer name> command, and it uses
command-line completion?  prints out NT print jobs really nicely, too.
(This used to be commit e6e5caf16c8d120f0c11fa63061f2786098e3357)
1999-11-09 19:35:30 +00:00
Luke Leighton
702b085293 preparation for doing a spoolss enum jobs command. had to rewrite
spoolss_enumjobs parsing code to do read / writes not just writes.
(This used to be commit bc659a09f9103eee9616279e27fafacf89dcd9b9)
1999-11-08 22:00:41 +00:00
Luke Leighton
c6e3fc5838 const feeding frenzy
(This used to be commit e0eb390ab3e2a0cce191e78ea4ff90d088a8895c)
1999-11-08 20:58:06 +00:00
Luke Leighton
514be1cf73 added command-completion printer enum code.
(This used to be commit 6947f8fac7d6d643a265fdcb56b2a390b9a9a1c0)
1999-11-06 21:08:35 +00:00
Luke Leighton
4dbd1c135c fixed string function for reading in printer_info_N.
(This used to be commit 0249ae50ad8135cf3fd11a3b85f771f2347fcb29)
1999-11-06 20:36:07 +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 135eaa977385cdd5f572a51f654f14d893347d7b)
1999-11-06 19:52:04 +00:00
Luke Leighton
bd6467154e spoolss openprinterex / closeprinter client-code.
experimental spoolopen <printer name> command added.

jean-francois, f.y.i. i changed the #define for SPOOLSS_OPENPRINTEREX from
op code 0x44 to 0x45.
(This used to be commit ef7fa58fd3c259c765c3bc82424d4c0f192ec90e)
1999-11-06 18:11:19 +00:00