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

769 Commits

Author SHA1 Message Date
Andrew Bartlett
9a7481bcfe r7993: Further work on the Krb5 PAC.
We now generate the PAC, and can verifiy both our own PAC and the PAC
from Win2k3.

This commit adds the PAC generation code, spits out the code to get
the information we need from the NETLOGON server back into a auth/
helper function, and adds a number of glue functions.

In the process of building the PAC generation code, some hints in the
Microsoft PAC specification shed light on other parts of the code, and
the updates to samr.idl and netlogon.idl come from those hints.

Also in this commit:

The Heimdal build package has been split up, so as to only link the
KDC with smbd, not the client utils.

To enable the PAC to be veified with gensec_krb5 (which isn't quite
dead yet), the keyblock has been passed back to the calling layer.

Andrew Bartlett
(This used to be commit e2015671c2f7501f832ff402873ffe6e53b89466)
2007-10-10 13:18:57 -05:00
Andrew Bartlett
3ff7916571 r7969: It seems reasonable that our tickets be marked renewable, in the
absense of an apparent AD flag to control this behaviour.

Andrew Bartlett
(This used to be commit 9886aa6f0e64cdb30774bfba3f2c683a3dbec9c4)
2007-10-10 13:18:55 -05:00
Andrew Tridgell
b3e493470f r7911: task_terminate() is defined in the macosx headers, so change the name
to task_server_terminate()
(This used to be commit a7447e25ac203f0ee09ffdf72df1094eb70e7c0c)
2007-10-10 13:18:48 -05:00
Andrew Bartlett
f3661e2062 r7765: Thanks to Maurice Massar <massar@unix-ag.uni-kl.de> for spotting that
I missed one spot in moving from hdb_ent_type to the
internal-to-hdb-ldb hdb_ldb_ent_type, which results in a

Kerberos: Server has invalid flag set -- krbtgt/....@....

on kinit.

Andrew Bartlett
(This used to be commit 2358e0c0e4f2a3db78a8db360abc296f98bcb549)
2007-10-10 13:18:33 -05:00
Andrew Bartlett
363e1143de r7680: Move to using our own private enum for the principal type inside the
hdb-ldb module.  This removes the need for the KRBTGT case to exist in
the broader heimdal code.

Andrew Bartlett
(This used to be commit fb83465dbccae8af5eb26f735e60f3f40e944446)
2007-10-10 13:18:21 -05:00
Andrew Bartlett
10d8a860db r7651: Only convert SERVER requests to KRBTGT requests.
Andrew Bartlett
(This used to be commit a948e743bbc691798e6a956b35d8e09cfc91f988)
2007-10-10 13:18:17 -05:00
Andrew Bartlett
8cd7848b8f r7520: Fix memory leak in hdb-ldb.c
Andrew Bartlett
(This used to be commit 7f6a7f7fc521f41c811c51fb692f408dc570f4cd)
2007-10-10 13:18:05 -05:00
Andrew Bartlett
183cb2b939 r7508: Fix memory leak of outgoing packets in the KDC.
Andrew Bartlett
(This used to be commit 6f7bb00c7e59444cde0c25b6f83e1c335d86ee32)
2007-10-10 13:18:02 -05:00
Andrew Tridgell
6a4cb0e651 r7484: the previous bug can also affect the kdc
(This used to be commit ee8bf9db4a619b40ae71b5e97ea7640483587573)
2007-10-10 13:17:58 -05:00
Andrew Tridgell
bce8cda061 r7352: the internal heimdal build change. This changes quite a few things:
- if you want kerberos now, you need to unpack a lorikeet heimdal
   tree in source/heimdal/. If source/heimdal/ does not exist at
   configure time then all kerberos features are disabled. You cannot
   use an external kerberos library for now. That may change later.

 - moved lib/replace/ config stuff to lib/replace/ and create a
   lib/replace/replace.h. That allows the heimdal build to use our
   portability layer, and prevenets duplicate definitions of functions
   like strlcat()

 - if you do enable heimdal, then you will need to do 'make
   HEIMDAL_EXTERNAL' before you build Samba. That should be fixed once
   I explain the problem to jelmer (the problem is the inability to
   set a depend without also dragging in the object list of the
   dependency. We need this for building the heimdal asn1 compiler and
   et compiler.

 - disabled all of the m4 checks for external kerberos libraries. I
   left them in place in auth/kerberos/, but disabled it in
   configure.in

some of the heimdal_build/ code is still very rough, for example I
don't correctly detect the correct awk, flex, bison replacements for
heimdal_build/build_external.sh. I expect to fix that stuff up over
the next few days.
(This used to be commit d4648249b2c7fc8b5e7c0fc8d8f92ae043b5691f)
2007-10-10 13:17:45 -05:00
Andrew Bartlett
31cd6fd88d r7304: Make the libkdc actually work:
- Remove (some) excess logging
 - use samdb_connect() to hook into the right handling for multiple tdb handles
 - move the connect to the server startup, rather than per-packet.
 - Fix config.mk dependency

Tested with a WinXP domain join.

Andrew Bartlett
(This used to be commit 13cf51612d91385c6df5deadbf126bcc583f797d)
2007-10-10 13:17:39 -05:00
Stefan Metzmacher
2c499fe5aa r7303: autodetect the libkdc and our kdc support
btw: I use this for configuring heimdal

>>>
CONFIG="CFLAGS=\"-g -O -Wall -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wwrite-strings -Wdeclaration-after-statement\" \
	CC=gcc-4.0 \
	./configure -C --prefix=$HOME/prefix/heimdal-test \
	--sysconfdir=/etc \
	--enable-shared=no \
	--with-ldb=$HOME/prefix/ldb \
	--without-openldap \
	--without-openssl $@"

echo $CONFIG
eval $CONFIG
>>>

maybe you also want to use --disable-berkeley-db

metze
(This used to be commit 2aec140e00770df78ba31ef91109634ce0aa3d8a)
2007-10-10 13:17:39 -05:00
Stefan Metzmacher
ba30cbf67b r7297: make the code more readable
metze
(This used to be commit f9b4448ec536ea23699d959bcf44e359d5c4ba23)
2007-10-10 13:17:38 -05:00
Andrew Tridgell
68908f1712 r7272: this is a sample mk file for building a heimdal library using the
samba4 build system. It assumes we have source/heimdal/ with a current
lorikeet heimdal tree.

I haven't enabled this, its just an example of one possible approach
to heimdal integration.
(This used to be commit 0835d6a0d9490b79caabdda39b6fa0404bb2225f)
2007-10-10 13:17:35 -05:00
Andrew Bartlett
d26f46f72c r7270: A big revamp to the way we handle kerberos errors in Samba4. We now
fill in the function pointers to handle the logging, and catch all the
kerberos warnings. (Currently at level 3).

To avoid a memory leak, this requries a new function: krb5_freelog(),
which I've added to lorikeet/heimdal.

This also required a revamp to how we handle the krb5_context, so as
to make it easier to handle with talloc destructors.

Andrew Bartlett
(This used to be commit 63272794c41231b335b73e7ccf349282f295c4d2)
2007-10-10 13:17:34 -05:00
Andrew Tridgell
b7b7c46eb4 r7264: fix up the socket handling for abartlet. Still only udp, but it won't
be hard to do tcp as well.
(This used to be commit 7cbb95d3f55dbaf9ca606655377682841e4c534d)
2007-10-10 13:17:33 -05:00
Andrew Bartlett
6113066fa5 r7259: Move the recv handler out into a seperate function (suggestion from
tridge)

Andrew Bartlett
(This used to be commit 6329f2ee369533839d209a1c86fe7949a4037fbe)
2007-10-10 13:17:32 -05:00
Andrew Bartlett
089b538163 r7241: The KDC almost links...
Using current lorikeet/heimdal, and with the KDC module enabled (it is
disabled by default), I almost get the KDC to link.

(To enable the KDC for testing, comment out the only line in
smbd/config.m4, and add 'kdc' to the 'server services' line in
smb.conf).
(This used to be commit 26cd4b4f68a370390e08263067402c6c70e49ec8)
2007-10-10 13:17:30 -05:00
Andrew Bartlett
51fc684227 r7221: Add the start of a KDC service (to be built on a 'libkdc' from a to be
included Heimdal) to Samba4.

Andrew Bartlett
(This used to be commit 51ba3ea60c265b837821b6c3e031dfe229c10d6a)
2007-10-10 13:17:27 -05:00