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

309 Commits

Author SHA1 Message Date
Andrew Bartlett
26abe13ff7 r2220: Updates to the NETLOGON torture test. This copes with 'long'
passwords - where the LM hash is invalid.

Also, we now drive all the logon levels and validation levels from the
outer loop, so we can check the expected return values (rather than
overwriting them).

Andrew Bartlett
(This used to be commit f7f7c3de23ffb042f7cf7b4fa42b6b18c205719d)
2007-10-10 12:58:32 -05:00
Andrew Tridgell
eaab3ed2d2 r2185: add a callback function to the dcerpc async API
also add a demonstration of its use in the netlogon async example
(This used to be commit f2a0438c66b999189c1a2ad726e91efd0748eb90)
2007-10-10 12:58:30 -05:00
Andrew Tridgell
58bb944d81 r2181: an rpc async test on the netlogon pipe
(This used to be commit 4c370c3c917f399497f936a2037ea2868b2196d2)
2007-10-10 12:58:29 -05:00
Stefan Metzmacher
8aa051c7b2 r2071: - change smbtorture to use the popt_common stuff
this means -U DOM\\user is know allowed

- torture:userdomain is a new smb.conf parameter
  because lp_workgroup is not the domain of the user

- we use torture:userdomain now in the tests instad of lp_workgroup

- for backward compat the userdomain is lp_workgroup() by default and
  not lp_netbios_name(), which my change later to match 'net' and 'smbclient'..

- we now have dublicate options e.g. -N -s ...
  tridge: can we change this?

metze
(This used to be commit 4733dcbf5f17422a8a4c9f99664270b3aa66c586)
2007-10-10 12:58:23 -05:00
Andrew Bartlett
5e34ee629a r2035: Fix spelling.
Andrew Bartlett
(This used to be commit 4e2c5a5fb3e428ffcdeef3b95fab644a420cc20c)
2007-10-10 12:58:19 -05:00
Stefan Metzmacher
8460fc7df9 r1995: a ndrdump file from abartlet make it clear that this isn't a pointer
to a uint32, there're two uint32 with 0x00000000

metze
(This used to be commit 80f27766cb6d2c4e00232f7e3d5cde75ad84d094)
2007-10-10 12:58:16 -05:00
Stefan Metzmacher
ae24bf5251 r1647: destroy mem_ctx
metze
(This used to be commit 973ac69a012e579a09807d635061ff3550a10719)
2007-10-10 12:57:46 -05:00
Andrew Bartlett
f607197054 r1498: (merge from 3.0)
Rework our random number generation system.

On systems with /dev/urandom, this avoids a change to secrets.tdb for every fork().

For other systems, we now only re-seed after a fork, and on startup.
No need to do it per-operation.  This removes the 'need_reseed'
parameter from generate_random_buffer().

This also requires that we start the secrets subsystem, as that is
where the reseed value is stored, for systems without /dev/urandom.

In order to aviod identical streams in forked children, the random
state is re-initialised after the fork(), at the same point were we do
that to the tdbs.

Andrew Bartlett
(This used to be commit b97d3cb2efd68310b1aea8a3ac40a64979c8cdae)
2007-10-10 12:57:35 -05:00
Andrew Bartlett
d46b9aa96f r1189: Now that we use a common 'base' return structure for the SamLogon
call, avoid code duplication in the torture suite.

Andrew Bartlett
(This used to be commit b6128c2a9d8e23dad0b14106f45a0638655d6cd7)
2007-10-10 12:56:44 -05:00
Andrew Tridgell
5b044b30ca r1150: - fixed interactive sam logon in the rpc server
- added a torture test for interactive login in smbtorture

These changes allow winxp to perform an interactive login (a login on
the winxp console) against a Samba4 DC. Our netlogon server code is
still filling in many of the fields incorrectly, but it fills in
enough that winxp can login.
(This used to be commit db9ea488b047b5f0f7538fd75fb7dde8277eb06b)
2007-10-10 12:56:41 -05:00
Andrew Tridgell
7ae1735798 r1141: - consolidated the netr_SamInfo structures using a netr_SamBaseInfo
structure (andrew, this is the type of structure consolidation I think
  you were asking about. It's possible here in NDR as it isn't in the
  top level fn code)

- added validation level 6 in sam logon

With these changes I can successfully authentication smbclient to a
winxp server, with the winxp server using a Samba4 ADS DC for account
auth
(This used to be commit 705205083a6e2430c420f44436a1d1ff8826bc73)
2007-10-10 12:56:40 -05:00
Andrew Tridgell
19f3bfc0ac r1140: added IDL and test code for validation level 6 in sam logon
(This used to be commit c8541098436d2cd83538375889560405ecb50034)
2007-10-10 12:56:40 -05:00
Andrew Tridgell
02781a30bf r1137: - added torture test for netr_LogonGetDomainInfo() call
(This used to be commit fdf6e4169d531c4a7d4e1b937abd3eb3af03c860)
2007-10-10 12:56:39 -05:00
Andrew Bartlett
46c88d561f r1061: The start of the SamLogon call for the NETLOGON pipe.
Changes:

- Check for a valid 'pipe_state' in netr_ServerAuthenticate3 before
  we dereference it

- removes the expansionroom[7] in the netr_SamInfo* structs to 7
individual elements.
- renames netr_SamInfo -> netr_SamInfo2
          netr_SamInfo2 -> netr_SamInfo3
  - Having the thing we always called an 'info3' being 'netr_SamInfo2'
    was just too confusing.

- Expand and fill in extra details about users from the SAM, into
  the server_info, for processing into the SamLogon reply.

- Add a dum_sid_dup() function to duplicate a struct dom_sid

The SamLogon code currently does not return supplementary groups, and is
only tested with Samba4 smbtorture.

Andrew Bartlett
(This used to be commit 6c92563b7961f15fc74b02601e105d5e1d04f04d)
2007-10-10 12:56:35 -05:00
Andrew Bartlett
bcac502d44 r1058: The start of work on the SamLogon call for NETLOGON.
This starts to store information about the user in the server_info
struct - like the account name, the full name etc.

Also, continue to make the names of the structure elements in the
logon reply more consistant with those in the SAMR pipe.

Andrew Bartlett
(This used to be commit 3ccd96bd945e0fd95e42c69ad8ff07055af2e62b)
2007-10-10 12:56:35 -05:00
Andrew Tridgell
a1318baa55 r1041: - pulled the domain join code out of the netlogon test and made it a separate utility function, to allow
multiple torture tests to temporarily join a domain

- fixed a session key size problem

- added a schannel test suite

- allow schannel to work with ncacn_ip_tcp
(This used to be commit 36f05e4d575099fcb957b8a55781c38dcd2e1177)
2007-10-10 12:56:33 -05:00
Tim Potter
21aaa719b5 r1026: Spelling.
(This used to be commit b7fe73613acf5423b77fd91c56849351bf386960)
2007-10-10 12:56:30 -05:00
Andrew Bartlett
5b04ca8080 r1025: Rename (across the samr and netlogon pipes, so far)
pwd -> password
passwd -> password

username -> account_name

Also work on consistant structure feild names between these two pipes,
and fix up some callers to use samr_Password for the netlogon
credential code.

Andrew Bartlett
(This used to be commit 4e35418c2776f7b79be5b358ffd077754685d1ac)
2007-10-10 12:56:30 -05:00
Andrew Bartlett
9eb6afb00d r1009: Make all users of NT and LM passwords use the samr_Password structure.
This includes the netlogon pipe, for the machine account password
change system.

Andrew Bartlett
(This used to be commit 49d545a82057ee8b60d50aa55e908efe59875150)
2007-10-10 12:56:26 -05:00
Andrew Tridgell
8087d844ef r995: - renamed many of our crypto routines to use the industry standard
names rather than our crazy naming scheme. So DES is now called
  des_crypt() rather than smbhash()

- added the code from the solution of the ADS crypto challenge that
  allows Samba to correctly handle a 128 bit session key in all of the
  netr_ServerAuthenticateX() varients. A huge thanks to Luke Howard
  from PADL for solving this one!

- restructured the server side rpc authentication to allow for other
  than NTLMSSP sign and seal. This commit just adds the structure, the
  next commit will add schannel server side support.

- added 128 bit session key support to our client side code, and
  testing against w2k3 with smbtorture. Works well.
(This used to be commit 729b2f41c924a0b435d44a14209e6dacc2304cee)
2007-10-10 12:56:25 -05:00
Stefan Metzmacher
98d291423f r961: convert 'uchar' to 'uint8_t'
metze
(This used to be commit 9f914e4af99e18b469d4cf9d8b1514a2bd28ddec)
2007-10-10 12:56:23 -05:00
Andrew Tridgell
6a0ce94d02 r950: - added netr_ServerAuthenticate3(). This is used by WinXP clients who try to login to Samba4, as
WinXP sees us as an ADS server.

Unfortunately WinXP also uses a set of negotiate_flags that we don't
support yet. Some crypto work needed.
(This used to be commit 2d740b65706fb5b4ebc138587472a885d680517f)
2007-10-10 12:56:21 -05:00
Stefan Metzmacher
45e93c19ef r943: change samba4 to use 'uint8_t' instead of 'unsigned char'
metze
(This used to be commit b5378803fdcb3b3afe7c2932a38828e83470f61a)
2007-10-10 12:56:21 -05:00
Andrew Tridgell
d9538e7412 r937: - added a simple QuerySecurity implementation in samr server
- moved some sec desc defines into misc.idl

 - fixed pw_len field in UserInfo26

 - made some pipes available on TCP

 - added netr_DsrEnumerateDomainTrusts() to netlogon

 - added templates for remaining netlogon IDL calls (from ethereal)

 - added a unistr_noterm vs unistr error detector in ndr basic decoder

 - added torture test for netr_DsrEnumerateDomainTrusts()
(This used to be commit ae5a5113fb83640dcb9ae4642c1b9eaf28487956)
2007-10-10 12:56:20 -05:00
Stefan Metzmacher
fcd718c7d8 r890: convert samba4 to use [u]int8_t instead of [u]int8
metze
(This used to be commit 2986c5f08c8f0c26a2ea7b6ce20aae025183109f)
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
f9d8f8843d r884: convert samba4 to use [u]int32_t instead of [u]int32
metze
(This used to be commit 0e5517d937a2eb7cf707991d1c7498c1ab456095)
2007-10-10 12:56:15 -05:00
Andrew Bartlett
5b0ab386cb r874: This patch is a pile of work on NTLMSSP:
Samba's NTLMSSP code is now fully talloc based, which should go a long
way to cleaning up the memory leaks in this code.  This also avoids a
lot of extra copies of data, as we now allocate the 'return' blobs on
a caller-supplied context.

I have also been doing a lot of work towards NTLM2 signing and
sealing.  I have this working for sealing, but not for the verifier
(MD5 integrity check on the stream) which is still incorrect.

(I can aim a rpcecho sinkdata from a Win2k3 box to my server, and the
data arrives intact, but the signature check fails.  It does however
match the test values I have...).

The new torture test is cludged in - when we get a unit test suite
back, I'll happliy put it in the 'right' place....

Andrew Bartlett
(This used to be commit 399e2e2b1149b8d1c070aa7f0d5131c0b577d2b9)
2007-10-10 12:56:14 -05:00
Andrew Tridgell
579c13da43 r873: converted samba4 to use real 64 bit integers instead of
structures. This was suggested by metze recently.

I checked on the build farm and all the machines we have support 64
bit ints, and support the LL suffix for 64 bit constants. I suspect
some won't support strtoll() and related functions, so we will
probably need replacements for those.
(This used to be commit 9a9244a1c66654c12abe4379661cba83a73c4c21)
2007-10-10 12:56:14 -05:00
Andrew Bartlett
93076cb9bc r816: - Make use of tridge's new samdb_result_sid_prefix() helper function.
- Remove legacy sid_to_string (which contained a memleak)

 - Remove some unused parts of lib/util_sid.c

Andrew Bartlett
(This used to be commit 7c69a85984e47c004ddfd9bb5eadcb3191b56f9d)
2007-10-10 12:53:52 -05:00
Andrew Tridgell
47a3f0cc38 r782: added torture test for level 6 logon level in netr_LogonSamLogon
(This used to be commit 770322bfdfad7d7d33de0c5bc95bb0f51f7409c7)
2007-10-10 12:53:50 -05:00
Andrew Bartlett
92dd542aa0 r754: Implement the SetPassword operation on the netlogon pipe.
This involves allowing the password set code in samdb to take an
already hashed password, and some fixes to our torture code.

Andrew Bartlett
(This used to be commit f9f581b5804a20785df06cde157b23c952edc2ce)
2007-10-10 12:53:48 -05:00
Andrew Bartlett
6703be3ef0 r752: Remove debugging hack (make sure the cleanup test account after we
leave) and test that the password change actually worked.

Andrew Bartlett
(This used to be commit a93c70154ac7126a7d6e638dcfdeef49d2966308)
2007-10-10 12:53:48 -05:00
Andrew Bartlett
064e7447be r743: Start on a NETLOGON server in Samba4.
Currently this only authentiates the machine, not real users.

As a consequence of running the Samba4 NETLOGON test against Samba4, I
found a number of issues in the SAMR server, which I have addressed.
There are more templates in the provison.ldif for this reason.

I also added some debug to our credentials code, and fixed some bugs
in the auth_sam module.

The static buffer in generate_random_string() bit me badly, so I
removed it in favor of a talloc based system.

Andrew Bartlett
(This used to be commit 94624e519b66def97758b8a48a01ffe9029176f0)
2007-10-10 12:53:46 -05:00
Andrew Bartlett
060f94b9fc r684: Note the fact that NTLMv2 provides a weath of futher testcases...
Andrew Bartlett
(This used to be commit d75558cdcbbb89dbe66287d7461b7abae14a8d36)
2007-10-10 12:53:42 -05:00
Andrew Bartlett
dce84ffd37 r610: - Merge the Samba3 'ntlm_auth --diagnostics' testsuite to Samba4.
- This required using NETLOGON_NEG_AUTH2_FLAGS for the
    SetupCredentials2 negotiation flags, which is what Samba3 does,
    because otherwise the server uses different crypto.
  - This tests the returned session keys, which we decrypt.

 - Update the Samba4 notion of a 'session key' to be a DATA_BLOB in
   most places.

 - Fix session key code to return NT_STATUS_NO_SESSION_KEY if none is
   available.

 - Remove a useless argument to SMBsesskeygen_ntv1

 - move netr_CredentialState from the .idl to the new credentials.h

Andrew Bartlett
(This used to be commit 44f8b5b53e6abd4de8a676f78d729988fadff320)
2007-10-10 12:51:51 -05:00
Andrew Tridgell
810831434a r582: added the LMSessKey in SamInfo and SamInfo2, thanks to work by abartlet
added test code for SamLogon validation level 2 and 3, so we test both
SamInfo and SamInfo2
(This used to be commit 321dbb61cc0743379ceb6b8fff6a0ca37f308bc2)
2007-10-10 12:51:48 -05:00
Andrew Tridgell
16d3528ebc r372: automatically create a fake BDC machine account and delete it
afterwards for the RPC-NETLOGON test. This makes it much simpler to
run the test and also means that it doesn't distrurb any existing
domain join you might have.
(This used to be commit feac996794d5cc16e3612fb2901668a9b1e1d274)
2007-10-10 12:51:35 -05:00
Andrew Tridgell
72daedbeb7 r133: don't try to do a database deltas with a -1 seq num
(This used to be commit dcb172d207ca0b56e62165633b2f7f7fcc188f7c)
2007-10-10 12:51:10 -05:00
Stefan Metzmacher
0b4da9d7e0 - add 'print' to the DCERPC binding strings
e.g.
  ncacn_np:myserver:[samr,sign,print]

  will now enable the packet debugging

  and the debugging is not bound anymore to the debuglevel >= 2
  in the torture tests

- also the dcesrv_remote module now supports debugging of the packets
  use the 'dcerpc_remote:binding' smb.conf parameter.

metze
(This used to be commit 40abf3c584efed7f977ddd688ea064540e5a5b13)
2004-02-03 14:56:07 +00:00
Andrew Tridgell
ea507ee605 added netr_LogonControl2Ex()
I also added IDL for netr_DatabaseRedo() but I don't yet know how it
works

thats the last of the netlogon IDL !
(This used to be commit 387d8f25ff4858943d1389974127d03a58bf4c8f)
2003-12-02 12:16:08 +00:00
Andrew Tridgell
de32d669c6 added netr_DatabaseSync2()
(This used to be commit 0f6af0c4bde0eb3758192b74dab797b558c944a1)
2003-12-02 12:01:10 +00:00
Andrew Tridgell
9ebe4489e7 added netr_LogonControl2() and netr_ServerAuthenticate2()
(This used to be commit cc4123db4baec6a217500dc55113f89e1ea8ef61)
2003-12-02 11:43:09 +00:00
Andrew Tridgell
10ad200350 added netr_LogonControl() and netr_GetAnyDCName()
(This used to be commit 17b2be4e859bd7f625214d7e7de9758b5ab5fb90)
2003-12-02 10:34:06 +00:00
Andrew Tridgell
02df116352 added netr_GetDcName() - quite a useful call
(This used to be commit 63f46b223e16a3495b4a4a48c6489f1f0d7d84c4)
2003-12-02 10:08:26 +00:00
Andrew Tridgell
16c688c9ea added netr_AccountSync(), another NT_STATUS_NOT_IMPLEMENTED call
according to w2k3
(This used to be commit b2ca00ebc57774000af2de6132c29db4c6daae28)
2003-12-02 10:04:10 +00:00
Andrew Tridgell
9ec4269760 added netr_AccountDeltas(), which w2k3 gives
"NT_STATUS_NOT_IMPLEMENTED" for
(This used to be commit aaf776a1c134d7b6112932f880e09ba497e8ebcf)
2003-12-02 09:52:15 +00:00
Andrew Tridgell
cea22e94fc netr_DatabaseDeltas() now works. We ask for the deltas associated with
the last two sequence numbers on each database.
(This used to be commit f9377c860315a8a4f380d70ff97309d3ffdb5c26)
2003-12-02 08:04:37 +00:00
Andrew Tridgell
399496d9d9 netr_DatabaseSync() now works fully for databases 0, 1 and 2
(This used to be commit c4c09e9413d3886e030e98739121bbae81f80ca5)
2003-12-02 04:59:18 +00:00
Andrew Tridgell
9632db5a19 netr_DatabaseSync() now works fully for database 0
(This used to be commit 360d03bb56ec7d129ec0d62a701f4bf0ff3876af)
2003-12-02 04:33:57 +00:00
Andrew Tridgell
f9419900d3 initial netlogon database sync partly works - needs some IDL tweaks
(This used to be commit 75ea276c147e2b4b0617eb0b77276d5fb5da2043)
2003-12-02 04:05:05 +00:00