1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

3265 Commits

Author SHA1 Message Date
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
4629acd6f5 moving create user function into msrpc_samr.c
(This used to be commit e885027eb705ab13c2800b8995661accad841643)
1999-11-21 17:09:20 +00:00
Luke Leighton
387cc182e6 oops, #ifdef'd cli_shutdown out, as the fun has _already_ started:
NT refuses to play nice, and establish a trust relationship.
(This used to be commit 98c42764fba365d612a8ae4b3172b03367066112)
1999-11-20 22:05:31 +00:00
Luke Leighton
27b8df4d9b attempting to establish inter-domain trust relationships. modified
smbpasswd so it can be used to set up inter-domain trust account.
(This used to be commit 99ec0620c3bf4af96440c684f880d414659de2e9)
1999-11-20 21:59:16 +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
ef8ced0ca6 dynamic memory allocation i added a month ago: forgot to ZERO_STRUCT()
some of the server-side stuff.  Realloc() was being used, so it
Realloc()d some random area of memory.  oops.dynamic memory allocation i added a month ago: forgot to ZERO_STRUCT()
some of the server-side stuff.  Realloc() was being used, so it
Realloc()d some random area of memory.  oops.dynamic memory allocation i added a month ago: forgot to ZERO_STRUCT()
some of the server-side stuff.  Realloc() was being used, so it
Realloc()d some random area of memory.  oops.
(This used to be commit a51f62f4cf610c23e45251cedb543144747a3e54)
1999-11-20 18:17:29 +00:00
Luke Leighton
476828342b adding bits about SAM database security, and what the SAM commands are
actually for.
(This used to be commit f973195b5cf9631bdb0206bf0fd16e23d5e70e4e)
1999-11-20 17:57:28 +00:00
Luke Leighton
8702a73d67 explicit reference to tell people that rpcclient doesn't work with
Windows 95.  i can just imagine some people saying "it dunna wurk on
my box at home", and me having to reply, "i dunna care".
(This used to be commit b31de1640728ebcdc87cdb887cd74a288e180ed7)
1999-11-20 17:41:35 +00:00
Luke Leighton
5b6e24e051 yodl update
(This used to be commit 28a63ac24d7d2344f005440ca099b255be04521b)
1999-11-20 17:35:54 +00:00
Luke Leighton
8e9bb53722 oops.
(This used to be commit d8d1daff6f84e95b9e34ec96ed6bd6ccc0ea9623)
1999-11-20 17:00:33 +00:00
Luke Leighton
963bb8454a adding some command descriptions behind the rpcclient commands.
(This used to be commit 3a6900ad7ba0719806d05ae90bbf8b3323ee551f)
1999-11-20 16:57:38 +00:00
Luke Leighton
69fb70bea5 yodl update - rpcclient
(This used to be commit 9eef1817f8f29c2d69832806b394658cf2cce5e9)
1999-11-19 23:26:42 +00:00
Luke Leighton
01072b78e6 added an rpcclient man page. wow!
(This used to be commit a46b33079fdcdbbbd622002cb790e20ed25ccd03)
1999-11-19 23:18:00 +00:00
Luke Leighton
e1820455c2 nt5rc2 falling over because the LsaQueryInfoPolicy() response _must_
have the string max length = string length + 1.

if not, then it gets its knickers in a twist over whether the string
is NULL-terminated or not.

four days.

four days i spent on this one.
(This used to be commit 9795e5948c698115e34c28993cdb82ba31377f5d)
1999-11-19 02:05:19 +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
eb8c70cb66 - surprise! the number of UNICODE strings that didn't have alignment
after them is incredible.  how did we get away with this for so long?
(This used to be commit 3152bde7d855d189f6f8ab9e6291828579cde2d0)
1999-11-19 01:24:41 +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
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 4aea261cb0e5f34255ff83271eb5cadb0eb78bc9)
1999-11-18 23:15:45 +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
82f1f32ff7 added another dummy key so that NT5 can check in the registry whether
password changes are allowed or not.  *dur*!!!!
(This used to be commit b51fa05c820c4629b278dc294ad0a405ee470a6e)
1999-11-16 17:25:45 +00:00
Luke Leighton
01e61554ca oops, mistake in parsing command-arguments. repeated calls to
next_token() should not have line to parse as first arg.  oops.
(This used to be commit 3273bc068d0e0a8eefc92f9b21db47f239b76d21)
1999-11-16 17:15:45 +00:00
Luke Leighton
774d2d7366 Shirish Kalele <kalele@veritas.com> noticed that NT workstations are
sending anonymous NTLMSSP user credentials to set up \PIPE\samr.
added anonymous NTLMSSP sessions.
(This used to be commit df5ee2bd427ccd5fcf27fd3c366e06e037bc4f1e)
1999-11-16 15:39:09 +00:00
Richard Sharpe
8a84d000c9 Changes to implement NET_AUTH based on NET_AUTH2, to get Win2000
happier in joining a Samba domain.
(This used to be commit 70274b5253182f3541584ecd844f07376a3d3df9)
1999-11-16 14:10:23 +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
4c479f0574 split array-handling functions into separate module.
(This used to be commit cc2ce2b755b12cb3d97522aaee69b93309571abc)
1999-11-12 15:37:05 +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
97398b4c74 riccardo sibilia spotted line 1884 has uint32 group_rid[0] not group_rid[1]
oops!
(This used to be commit ea1d5af105cc0df8d6523d0a734827ee47e1f58c)
1999-11-09 17:39:21 +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
21d1d4a2e2 const feeding frenzy
(This used to be commit 6d27c5f32dab7607398ae907eadb1c27a416da0d)
1999-11-08 19:32:05 +00:00
Tim Potter
6fce41df88 Fixed typo in automatic printer install share name.
Removed confusing 'writeable = no' parameter from example [printers]
entry.
(This used to be commit 31f0a7a334a2075c7a3998531b55fb4def0106cf)
1999-11-08 03:34:35 +00:00
Luke Leighton
23dc6eb70d horrible code to do SMBwriteX / SMBreadX for large MSRPC reads. ARGH!
(This used to be commit 0f9d661ca2560e88a04bc529ba41ac4cf1579fa4)
1999-11-06 22:45:31 +00:00
Luke Leighton
2c3fdead4d missed mem_grow_data call
(This used to be commit 681cbb9ec1310fa81f4da40ef0cfed92500b5f4e)
1999-11-06 21:25:52 +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