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

129 Commits

Author SHA1 Message Date
Andrew Bartlett
dd711fee21 r1170: Remove bogus part of previous commit - session keys, even in NTLMSSP
are variable length.

Remove extra casts

Andrew Bartlett
(This used to be commit 84f86b83f88cea5564347f3aa623be2d9feeb4b3)
2007-10-10 12:56:43 -05:00
Andrew Bartlett
e6ac4b0552 r1169: Some more updates to the NTLMSSP NTLM2 code:
- implement key weakening
 - don't create large 'hashes' when we only want a key (signing subkeys)
 - make more useful debugs.

NTLM2 is still off by default, till I figure out how to do NTLM2 signing.

Andrew Bartlett
(This used to be commit 079c2654851536b0a7918d408ac9597abbab8fd2)
2007-10-10 12:56:43 -05:00
Andrew Tridgell
791ee4a581 r1134: added a TODO regarding schannel credentials
(This used to be commit 17dacf494ac25bb6d9f6dea8cb81968ea2b84c55)
2007-10-10 12:56:39 -05:00
Andrew Tridgell
4d050d4920 r1131: remove an error msg for failing to open unexpected.tdb
(This used to be commit ae393c2ed6b6039d28bb02d5e5104a6d25368ce6)
2007-10-10 12:56:39 -05:00
Andrew Bartlett
9f38798509 r1129: Remove unused function.
Andrew Bartlett
(This used to be commit 4d23b9e039872273f3ef433d94d24759bcb87c30)
2007-10-10 12:56:39 -05:00
Jeremy Allison
73c077d37b r1091: Added in timing tests for deferred opens. Added extra debug info to signing
mistakes.
Jeremy.
(This used to be commit 5c3a2417cfe1bdbdfb35d933d49f77f6696790b3)
2007-10-10 12:56:37 -05:00
Andrew Bartlett
f3826432fb r1080: Make sure to initialise all the returned elements in the SamLogon
reply also initialise the LM session key, when we have it (was failing
because the auth code was setting it's length wrong).

Andrew Bartlett
(This used to be commit de97d9df224f769953e850a276515923a830839c)
2007-10-10 12:56:37 -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 Tridgell
a38f529fd5 r1043: allocate signature from the right mem_ctx. Samba4 now passes the schannel torture test.
(This used to be commit 95599e3ef79bf5cafb556121c99ffc5c3a8f3314)
2007-10-10 12:56:34 -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
Andrew Bartlett
c455b0a935 r1028: More consistancy fixes, which should also fix the build.
Andrew Bartlett
(This used to be commit 0d2ae66d3a82134d86084f63c05214e03dfcb48b)
2007-10-10 12:56:30 -05:00
Andrew Bartlett
ae067cdaf7 r1024: Use samr_Password for the machine password here - this ensures we can
never pass in something of the wrong length.

Andrew Bartlett
(This used to be commit d6999ea9c07d8652b0d63147e7294bc35e7063fe)
2007-10-10 12:56:29 -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
Stefan Metzmacher
8f84a98e29 r1001: in samba4 we don't(shouldn't) use typedef's anymore...
metze
(This used to be commit ac5f6f7e511a730448012c8a709887827aea2281)
2007-10-10 12:56:25 -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
Andrew Tridgell
dfbf620129 r975: slight improvemet to nt_errstr(), still needs to be fixed properly
(getting rid of the static buffer)
(This used to be commit 86a6236c2ad14fe94f5d7c488bfdbfb329d2a0bb)
2007-10-10 12:56:24 -05:00
Stefan Metzmacher
770e3307ce r962: convert 'unsigned' and 'unsigned int' to uint_t
metze
(This used to be commit 57151e80eb1090281401930c8fe25b20a8cf3a38)
2007-10-10 12:56:23 -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
Stefan Metzmacher
fa2e9ec311 r960: convert 'unsigned int' to uint_t in the most places
metze
(This used to be commit 18062d2ed9fc9224c43143c10efbf2f6f1f5bbe0)
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
db3c011977 r917: - added the start of a LSA server to samba4.
- added start of QueryDomainInfo in samr server

"net rpc info" from samba3 now works against a samba4 server. I
suspect join will work fairly soon.
(This used to be commit 0a2c6a1062d0e364356853001f5f39bdb542f453)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
8b3f08cefc r898: - remove some unused macros
- remove unused lib/smbpasswd.c

- don't set the pkt size twice when doing SMB signing
(This used to be commit 69a2942f7987647a32d43c71f41ac1a82a82ccda)
2007-10-10 12:56:18 -05:00
Andrew Tridgell
47864891ff r893: a few more _t conversions
(This used to be commit 66eb46dbb1486c5916194bf6b303cf16373a272a)
2007-10-10 12:56:18 -05:00
Gerald Carter
e80dad7561 r891: fix compile
(This used to be commit 8b6c048a02b4be0ba9c67ed82973041dccdd5c51)
2007-10-10 12:56:17 -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
f88bf54c7f r889: convert samba4 to use [u]int16_t instead of [u]int16
metze
(This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
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
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
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
6b921d1d21 r719: Follow the trend - remove more unused functions.
Andrew Bartlett
(This used to be commit 62eef851fd79b2739b93b4ed7829514a3dcbf1d0)
2007-10-10 12:53:45 -05:00
Andrew Tridgell
5767c10773 r718: removed some more unused code, and two source files
(This used to be commit a9768c25fd32e76514c837f343f2b52bf0f0824d)
2007-10-10 12:53:44 -05:00
Andrew Bartlett
c727f2ec5e r708: Clean up copyright headers, to reflect code that has come and gone
over time.

Andrew Bartlett
(This used to be commit 1a53e5c8296a7c09563abde1eb4a66ce9cf45473)
2007-10-10 12:53:44 -05:00
Stefan Metzmacher
90cde0acd1 r702: fix krb5 linking
metze
(This used to be commit d0145cec9f757d8867d54b1019a3060995a95072)
2007-10-10 12:53:43 -05:00
Stefan Metzmacher
ace1c1f816 r697: make use of SMB_EXT_LIB for LDAP and KRB5
metze
(This used to be commit b054f7d4906d1d2b96b352af09c6bdcf96553c2a)
2007-10-10 12:53:43 -05:00
Stefan Metzmacher
f236700ef6 r665: merge over the new build system from my tmp branch
to the main SAMBA_4_0 tree.

NOTE: that it's not completely ready, but it's functional:-)

metze
(This used to be commit c78a2ddb28ec50d6570a83b1f66f18a5c3621731)
2007-10-10 12:53:36 -05:00
Andrew Bartlett
59c8f48f0d r611: Fix breakage from my last commit:
Now that all session keys are DATA_BLOBs, fix the callers.

This assumes some things about the behaviour of certain crypto
algorithms, without the ability to test it on session keys != 16 bytes
in length.  We will just need to retest when we get the KRB5 support
in (DES keys are 8 bytes).

Andrew Bartlett
(This used to be commit e4355a7ec1eba92bdecef8cc478272897276dbae)
2007-10-10 12:51:51 -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 Bartlett
d8bb3d81a6 r451: More NTLMSSP work.
The work here is trying to get the LM_KEY option for NLTMSSP
operating, however until that functions properly, it is now controlled
by some new smb.conf options, defaulting off.

Andrew Bartlett
(This used to be commit c63eb35b45c6db6e4c5302d1832bb5cef49a14f6)
2007-10-10 12:51:43 -05:00
Andrew Bartlett
9f084101dd r443: Update Samba4 to the auth and NTLMSSP code from Samba3.
Not all the auth code is merged - only those parts that are actually
being used in Samba4.

There is a lot more work to do in the NTLMSSP area, and I hope to
develop that work here.  There is a start on this here - splitting
NTLMSSP into two parts that my operate in an async fashion (before and
after the actual authentication)

Andrew Bartlett
(This used to be commit 5876c78806e6a6c44613a1354e8d564b427d0c9f)
2007-10-10 12:51:42 -05:00
Andrew Tridgell
493a37ba66 r335: added much better handling of servers that die unexpectedly during a
request (a dead socket). I discovered this when testing against Sun's
PC-NetLink.

cleaned up the naming of some of the samr requests

add IDL and test code for samr_QueryGroupMember(),
samr_SetMemberAttributesOfGroup() and samr_Shutdown().  (actually, I
didn't leave the samr_Shutdown() test in, as its fatal to windows
servers due to doing exactly what it says it does).
(This used to be commit 925bc2622c105dee4ffff809c6c35cd209a839f8)
2007-10-10 12:51:33 -05:00
Andrew Tridgell
2b9fb9618a r324: - don't reseed on every password generate
- check for overflow (very unlikely) in random buffer generation
(This used to be commit 548ec1efefa6f337a362cbadae74f177774e9e29)
2007-10-10 12:51:32 -05:00
Andrew Tridgell
5f545543f0 r305: - added IDL and test code for samr_RidToSid()
- completed the IDL and test code for the various set user password
  mechanisms in samr. Three password mechanisms are now working, the
  UserInfo24 method, the OemChangePasswordUser2() method (which only
  sets the LM password) and the ChangePasswordUser2() method which sets
  both the LM and NT passwords.

- updated some crypto routines to support the password change tests
(This used to be commit 051efa2abf9d1fbbf783df411c02f2714027f813)
2007-10-10 12:51:19 -05:00
Andrew Tridgell
8fce9e3c54 r275: added IDL and test code for samr_QueryDisplayInfo3(),
samr_AddMultipleMembersToAlias(),
samr_RemoveMultipleMembersFromAlias(), samr_OemChangePasswordUser2(),
and samr_ChangePasswordUser2()

The password change functions don't actually work yet (but should
soon). At this stage I have just completed the IDL for them. Next step
is to get the hash verifiers right and the torture test should be able
to do password changes.
(This used to be commit 849d0d314a2add80f2b2be6b503fea05973f998e)
2007-10-10 12:51:19 -05:00
Andrew Tridgell
b9411f8aca r265: fixed a bug in the string to sid conversion code
(This used to be commit 117aa5cab7783ea741d4840ea5ced00cf34868a3)
2007-10-10 12:51:18 -05:00
Jeremy Allison
763c4bc9ac r204: Turns out that the string in the SEARCH unix_info level is that
rare thing, a non-length string (ie. not a WIRE_STRING) but a null
terminated char string. There wasn't a good interface to pull that
out of a blob (all the string interfaces assumed WIRE_STRINGS). Added
a new one, only used for this call. Sucks, I know - but the alternatives
suck more. Added tests for some of the unix info returned.
Jeremy.
(This used to be commit 4d0ed04c54b105789ffd32334c3b0e544f02418c)
2007-10-10 12:51:16 -05:00
Jeremy Allison
00cedc0c04 r189: Added UNIX search into tests - added client library parse code.
Jeremy.
(This used to be commit a25ae9addbb362abf67a0cbd6e62bf4cbe06d8b7)
2007-10-10 12:51:15 -05:00
Andrew Tridgell
ac193579e7 r152: a quick airport commit ....
added ldbedit, a _really_ useful command

added ldbadd, ldbdel, ldbsearch and ldbmodify to build

solved lots of timezone issues, we now pass the torture tests with
client and server in different zones

fixed several build issues

I know this breaks the no-LDAP build. Wait till I arrive in San Jose for that
fix.
(This used to be commit af34710d4da1841653624fe304b1c8d812c0fdd9)
2007-10-10 12:51:11 -05:00