1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00

2531 Commits

Author SHA1 Message Date
Luke Leighton
70b218b3ea moved at command over to new abstract connection system. matthew, you
initialised dest_wks _after_ using it in at_soon() :-) so i fixed this :)
(This used to be commit 0aaf0c9c80b4a506955065e822a356b1c43a5ac5)
1999-11-27 22:58:11 +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
b9b04afc35 modified cli_connect_serverlist to take server list of format
\\server_name \\other_server etc.
(This used to be commit 4fd4aeb57455792bd8eaf81f8fa45bca6bd3e2e2)
1999-11-27 22:14:37 +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
d4bf1ca515 remove use of client_info lsa_info_pol.
(This used to be commit 2dad9d912dbc6c4a14af63715821a51c279584c6)
1999-11-27 20:34:32 +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
5e3bc78756 this file manages client states associated with handles.
(This used to be commit cda25778816f6d74f02c7e7c85e455b40e80bad2)
1999-11-26 22:47:50 +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
511b2d6736 oops, freed argc,argv arguments twice.
(This used to be commit 447143be81acbbcc148211183a512d4cab347ac7)
1999-11-23 23:14:10 +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
4c4af2ba5e shuffling msrpc code around so that it can be used independently of rpcclient
(This used to be commit e88e7d529b5bdf32ac3bc71fa8e18f6f2a98c695)
1999-11-23 18:56:26 +00:00
Luke Leighton
c5a6d0c84d the last one. that concludes the removal of all next_token() calls
from rpcclient/cmd_*.c.
(This used to be commit ca803c17fa51ace5f2b99b09f5c59893f43ba70d)
1999-11-22 20:14:13 +00:00
Luke Leighton
1ed8653112 another four next_token() removals (using getopt instead)
(This used to be commit 3e76ca9b172e1a6886e714d6a36453f30ff3e771)
1999-11-22 19:46:26 +00:00
Luke Leighton
288a5059a2 another two.
(This used to be commit b0f8ef6168d04d55d53fc2d02df5f54176e4f893)
1999-11-22 19:37:05 +00:00
Luke Leighton
bb876dc6c3 another one
(This used to be commit c1ba1bfd68fa96937decad8f1d7421daad6e30fe)
1999-11-22 19:26:56 +00:00
Luke Leighton
48a4df7dac moved two more commands over to getopt.
(This used to be commit de360d1e908b4e2e77cd028b19f3ccd07903a4dd)
1999-11-22 19:25:30 +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
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
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