1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

33 Commits

Author SHA1 Message Date
Jeremy Allison
e948458a79 r1215: Intermediate checkin of the new keytab code. I need to make sure I
haven't broken krb5 ticket verification in the mainline code path,
also need to check with valgrind. Everything now compiles (MIT, need
to also check Heimdal) and the "net keytab" utility code will follow.
Jeremy.
(This used to be commit f0f2e28958)
2007-10-10 10:52:00 -05:00
Jeremy Allison
160d3e2a9c Fix for a bug where the mutex could be left locked. Also remove the
memory keytab code which has no effect. Driven by bug report from
"Rob J. Caskey" <rcaskey@uga.edu>.
Jeremy.
(This used to be commit 4cb8facbf9)
2004-02-03 03:23:18 +00:00
Andrew Bartlett
333b356b92 Fix segfualt caused by incorrect configuration. If lp_realm() was not set,
but security=ADS, we would attempt to free the principal name that krb5
never allocated.

Also fix the dump_data() of the session key, now that we use a data_blob to
store that.

Andrew Bartlett
(This used to be commit 4ad67f1340)
2004-01-06 23:57:12 +00:00
Andrew Bartlett
fcbfc7ad06 Changes all over the shop, but all towards:
- NTLM2 support in the server
 - KEY_EXCH support in the server
 - variable length session keys.

In detail:

 - NTLM2 is an extension of NTLMv1, that is compatible with existing
domain controllers (unlike NTLMv2, which requires a DC upgrade).

 * This is known as 'NTLMv2 session security' *

(This is not yet implemented on the RPC pipes however, so there may
well still be issues for PDC setups, particuarly around password
changes.  We do not fully understand the sign/seal implications of
NTLM2 on RPC pipes.)

This requires modifications to our authentication subsystem, as we
must handle the 'challege' input into the challenge-response algorithm
being changed.  This also needs to be turned off for
'security=server', which does not support this.

- KEY_EXCH is another 'security' mechanism, whereby the session key
actually used by the server is sent by the client, rather than being
the shared-secret directly or indirectly.

- As both these methods change the session key, the auth subsystem
needed to be changed, to 'override' session keys provided by the
backend.

- There has also been a major overhaul of the NTLMSSP subsystem, to merge the 'client' and 'server' functions, so they both operate on a single structure.  This should help the SPNEGO implementation.

- The 'names blob' in NTLMSSP is always in unicode - never in ascii.
Don't make an ascii version ever.

- The other big change is to allow variable length session keys.  We
have always assumed that session keys are 16 bytes long - and padded
to this length if shorter.  However, Kerberos session keys are 8 bytes
long, when the krb5 login uses DES.

 * This fix allows SMB signging on machines not yet running MIT KRB5 1.3.1. *

- Add better DEBUG() messages to ntlm_auth, warning administrators of
misconfigurations that prevent access to the privileged pipe.  This
should help reduce some of the 'it just doesn't work' issues.

- Fix data_blob_talloc() to behave the same way data_blob() does when
passed a NULL data pointer.  (just allocate)


REMEMBER to make clean after this commit - I have changed plenty of data structures...
(This used to be commit f3bbc87b0d)
2003-11-22 13:19:38 +00:00
Tim Potter
72b9e5571a Add configure test for krb5_keytab_entry keyblock vs key member. Bug #636.
(This used to be commit 3daefe9d17)
2003-10-17 04:59:07 +00:00
Jim McDonough
d517c1d613 Try to add memory keytab support. It also includes much of the generic
keytab support code, but it won't be enabled until we add that to smb.conf.
Adapted from the work of Guenther Deschner (gd@suse.com).

Please hammer on this...
(This used to be commit a26fa5bee2)
2003-09-03 00:45:15 +00:00
Volker Lendecke
51dfb55b8a Fix segfault. krb5_free_ticket does not check if it got a NULL ticket.
(This used to be commit 97e4778103)
2003-08-25 09:13:20 +00:00
Volker Lendecke
c9aa836204 Fix memleaks.
Currently I'm compiling against MIT Kerberos 1.2.8.

Anthony, you said you have a heimdal installation available. Could you
please compile this stuff with krb and check it with valgrind?

Thanks,

Volker
(This used to be commit d8ab446859)
2003-08-15 01:46:09 +00:00
Volker Lendecke
bb6dff2cb1 In ads_verify_realm, all we use in the ADS_STRUCT is the
auth.realm. So directly pass that instead of setting up and tearing
down the ADS_STRUCT.

Volker
(This used to be commit ce5b8d2ec2)
2003-08-14 21:07:49 +00:00
Jeremy Allison
316c77ed0b Don't revert something until you've seen if volker has already fixed it :-).
Jeremy.
(This used to be commit d57d9b99df)
2003-07-30 16:34:14 +00:00
Jeremy Allison
f5799f2db2 Comment out mutex until I get dependencies sorted out...
Jeremy
(This used to be commit 382d1732ca)
2003-07-30 15:30:36 +00:00
Jeremy Allison
1b89b58475 Put mutex around access of replay cache for krb5 tickets. krb5 replay cache
is not multi-process safe.
Jeremy.
(This used to be commit 9e0534a1b6)
2003-07-29 21:32:36 +00:00
Jeremy Allison
b40d1a2a76 Typo on my part. I typed KRB5_KDB_BAD_ENCTYPE when I meant to type KRB5_BAD_ENCTYPE.
Heimdal has the latter, not the former.
Jeremy.
(This used to be commit e8425df77c)
2003-07-29 17:03:51 +00:00
Jim McDonough
15188bcb02 Fix the build on Heimdal. KRB5_KDB_BAD_ENCTYPE doesn't exist on Heimdal, and
it's a different rc than KRB5_BAD_ENCTYPE (which exists on both MIT and
Heimdal).  This will just make the debug show up at level 3 always.

Jeremy, you may want to revisit this, but it's probably not worth the hassle.
(This used to be commit 4ff322ccf9)
2003-07-29 16:34:31 +00:00
Jeremy Allison
05875e573c Improved debug messages whilst trying to track down kerb issues.
Jeremy.
(This used to be commit 29dd71ddea)
2003-07-29 00:31:44 +00:00
Jeremy Allison
4632786cfb W00t! Client smb signing is now working correctly with krb5 and w2k server.
Server code *should* also work (I'll check shortly). May be the odd memory
leak. Problem was we (a) weren't setting signing on in the client krb5 sessionsetup
code (b) we need to ask for a subkey... (c). The client and server need to
ask for local and remote subkeys respectively.
Thanks to Paul Nelson @ Thursby for some sage advice on this :-).
Jeremy.
(This used to be commit 3f9e3b6070)
2003-07-25 23:15:30 +00:00
Jeremy Allison
9c15a65dc3 Fixed memory leaks, added krb5 replay cache. Now I need to add code to check
the incoming addresses....
Jeremy.
(This used to be commit 4e9359a1f6)
2003-07-12 00:27:22 +00:00
Jeremy Allison
ce72beb2b5 Removed strupper/strlower macros that automatically map to strupper_m/strlower_m.
I really want people to think about when they're using multibyte strings.
Jeremy.
(This used to be commit ff222716a0)
2003-07-03 19:11:31 +00:00
Andrew Bartlett
adb710d028 No matter how special this session key is, it's not worth a level 0.
Hide it behind a level 10, with #ifdef DEBUG_PASSWORD instead.

Andrew Bartlett
(This used to be commit 9d4e327850)
2003-06-06 10:22:48 +00:00
Jim McDonough
4f276f9696 More on bug 137: rename more of krb5_xxx functions to not start with krb5_
(This used to be commit 10f1da3f4a)
2003-05-30 20:11:34 +00:00
Andrew Bartlett
f071020f5e Merge from HEAD - save the type of channel used to contact the DC.
This allows us to join as a BDC, without appearing on the network as one
until we have the database replicated, and the admin changes the configuration.

This also change the SID retreval order from secrets.tdb, so we no longer
require a 'net rpc getsid' - the sid fetch during the domain join is sufficient.
Also minor fixes to 'net'.

Andrew Bartlett
(This used to be commit 876e00fd11)
2003-04-21 14:09:03 +00:00
Jim McDonough
bdaac40746 Move PAC decoding over from HEAD.
(This used to be commit b0fd4e5555)
2003-04-16 16:57:01 +00:00
Andrew Bartlett
f06d1b240a The kerberos_verify compoenent of the SessionSetup sync with HEAD.
Andrew Bartlett
(This used to be commit 64796ed27a)
2003-03-17 22:46:12 +00:00
Jim McDonough
83a11f7f0e Sync with HEAD for verifying kerberos tickets.
(This used to be commit 77e1178a88)
2003-02-19 15:48:12 +00:00
Jeremy Allison
32bfb31947 Revert tpot's HEAD merge which broke the Heimdal build.
Jeremy.
(This used to be commit 1298ecd0b8)
2003-01-30 18:03:34 +00:00
Tim Potter
cf292aead6 Sync of Heimdal kerberos stuff with HEAD. If this breaks I'm blaming
the dog again.
(This used to be commit 6f89ee2c9d)
2003-01-30 04:40:12 +00:00
Jeremy Allison
755e33ee3f Get smbd to link with Heimdal. Still missing some client progs...
Jeremy.
(This used to be commit 85dda43476)
2003-01-28 00:33:21 +00:00
Jeremy Allison
6cf8ac019e Thanks Meeester Potter, for reverting *all* my Heimdal changes because
I mistyped a comma :-).
Jeremy.
(This used to be commit 04cc149c75)
2003-01-23 18:15:18 +00:00
Tim Potter
c79eccad91 Merge of kerberos changes to make this branch build again!
(This used to be commit 51b319f57f)
2003-01-22 23:32:33 +00:00
Jeremy Allison
e545fe3c0a Get closer to Heimdal compile... Damn. HEAD has different code in
kerberos_verify...
Jeremy.
(This used to be commit e8c4098da6)
2003-01-21 20:43:26 +00:00
Jeremy Allison
2f194322d4 Removed global_myworkgroup, global_myname, global_myscope. Added liberal
dashes of const. This is a rather large check-in, some things may break.
It does compile though :-).
Jeremy.
(This used to be commit f755711df8)
2002-11-12 23:20:50 +00:00
Jelmer Vernooij
b2edf254ed sync 3.0 branch with head
(This used to be commit 3928578b52)
2002-08-17 17:00:51 +00:00
Andrew Bartlett
0327428f27 Break up samba's object dependencies, and its prototype includes.
Now smbclient, net, and swat use their own proto files - now the global
proto.h

The change to libads/kerberos.c was to break up the dependency on secrets.c -
we want to be able to write an ADS client that doesn't need local secrets.

I have other breakups in the works - I will remove the dependency of
rpc_parse on passdb (and therefore secrets.c) shortly.

(NOTE:  This patch does *not* break up includes.h, or other such forbidden
actions).

Andrew Bartlett
(This used to be commit edb41dad2d)
2002-06-25 02:29:09 +00:00