1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-25 00:23:52 +03:00
Commit Graph

44 Commits

Author SHA1 Message Date
Andrew Bartlett
351f7040f7 r20640: Commit part 2/2
Update Heimdal to match current lorikeet-heimdal.  This includes
integrated PAC hooks, so Samba doesn't have to handle this any more.

This also brings in the PKINIT code, hence so many new files.

Andrew Bartlett
2007-10-10 14:37:20 -05:00
Andrew Bartlett
05421f45ed r19681: Update to current lorikeet-heimdal. I'm looking at using the realm
lookup plugin, the new PAC validation code as well as Heimdal's SPNEGO
implementation.

Andrew Bartlett
2007-10-10 14:25:31 -05:00
Stefan Metzmacher
dcec6eebf1 r19663: merge changes from lorikeet heimdal:
support for netbios domain based realms

metze
2007-10-10 14:25:26 -05:00
Andrew Bartlett
8117e76d2a r19644: Merge up to current lorikeet-heimdal, incling adding
gsskrb5_set_default_realm(), which should fix mimir's issues.

Andrew Bartlett
2007-10-10 14:25:24 -05:00
Andrew Bartlett
13c9df1d4f r19633: Merge to lorikeet-heimdal, removing krb5_rd_req_return_keyblock in favour of a more tasteful replacement.
Remove kerberos_verify.c, as we don't need that code any more.
Replace with code for using the new krb5_rd_req_ctx() borrowed from
Heimdal's accecpt_sec_context.c

Andrew Bartlett
2007-10-10 14:25:21 -05:00
Andrew Bartlett
7b7e1fe153 r19606: Remove generated files
Andrew Bartlett
2007-10-10 14:25:03 -05:00
Andrew Bartlett
4826f17351 r19604: This is a massive commit, and I appologise in advance for it's size.
This merges Samba4 with lorikeet-heimdal, which itself has been
tracking Heimdal CVS for the past couple of weeks.

This is such a big change because Heimdal reorganised it's internal
structures, with the mechglue merge, and because many of our 'wishes' have been granted:  we now have DCE_STYLE GSSAPI, send_to_kdc hooks and many other features merged into the mainline code.  We have adapted to upstream's choice of API in these cases.

In gensec_gssapi and gensec_krb5, we either expect a valid PAC, or NO
PAC.  This matches windows behavour.  We also have an option to
require the PAC to be present (which allows us to automate the testing
of this code).

This also includes a restructure of how the kerberos dependencies are
handled, due to the fallout of the merge.

Andrew Bartlett
2007-10-10 14:25:03 -05:00
Andrew Bartlett
90b01b8af2 r18826: Allow 'enterprise' principal names to log in.
These principals do not need to be in the same realm as the rest of
the ticket, the full principal name is in the first componet of the
ASN.1.

Samba4's backend will handle getting this to the 'right' place.

Andrew Bartlett
2007-10-10 14:19:14 -05:00
Gerald Carter
26a2fa97e4 r16100: Patch from Michael Wood <mwood@icts.uct.ac.za>: s/then/than/ for correct grammar 2007-10-10 14:08:59 -05:00
Andrew Bartlett
0132312124 r15515: Syncronsise with current lorikeet-heimdal.
Andrew Bartlett
2007-10-10 14:05:45 -05:00
Andrew Bartlett
120374f5f9 r15484: Make accept_security_context() more compatible with how Samba3 (and
similarly built clients) behave.

This is better than just ignoring the checksum, if it isn't the GSSAPI
checksum.  (Samba4 clients in Samba3 mode use more than just the MD5
checksum, and will use a signed AES checksum if available.  Actual
samba3 may well do the same in future, against a suitable KDC).

Also a change for easier debugging of checksum issues.

Andrew Bartlett
2007-10-10 14:05:39 -05:00
Andrew Bartlett
ef5604b877 r15481: Update heimdal/ to match current lorikeet-heimdal.
This includes many useful upstream changes, many of which should
reduce warnings in our compile.

It also includes a change to the HDB interface, which removes the need
for Samba4/lorikeet-heimdal to deviate from upstream for hdb_fetch().
The new flags replace the old entry type enum.

(This required the rework in hdb-ldb.c included in this commit)

Andrew Bartlett
2007-10-10 14:05:39 -05:00
Andrew Bartlett
f0e538126c r15192: Update Samba4 to use current lorikeet-heimdal.
Andrew Bartlett
2007-10-10 14:04:15 -05:00
Andrew Bartlett
a5c2b4cc92 r14635: - Remove lex.c from SVN (it is built anyway, and having it in SVN
confuses things)

- Update Samba4 from lorikeet-heimdal

- Remove generated symlink on make clean

Andrew Bartlett
2007-10-10 13:59:02 -05:00
Andrew Bartlett
97a0a0e2fa r14198: Update Samba4 to current lorikeet-heimdal.
Andrew Bartlett
2007-10-10 13:56:58 -05:00
Andrew Bartlett
849500d1aa r13107: Follow the lead of Heimdal's kpasswdd and use the HDB (hdb-ldb in our
case) as the keytab.

This avoids issues in replicated setups, as we will replicate the
kpasswd key correctly (including from windows, which is why I care at
the moment).

Andrew Bartlett
2007-10-10 13:51:26 -05:00
Jelmer Vernooij
6391761601 r12696: Reduce the size of include/structs.h 2007-10-10 13:49:40 -05:00
Andrew Bartlett
8fd5224c6b r12269: Update to current lorikeet-heimdal. This changed the way the hdb
interface worked, so hdb-ldb.c and the glue have been updated.

Andrew Bartlett
2007-10-10 13:47:26 -05:00
Andrew Bartlett
d5a2de8ef0 r12037: Fix malloc corruption caused by double-free(), where realloc(ptr, 0)
is equivilant to free().

This is the issue tridge was seeing in the MEMORY: keytab code.

Andrew Bartlett
2007-10-10 13:47:01 -05:00
Andrew Bartlett
2426581dfb r12000: Update to current lorikeet-heimdal, including in particular support
for referencing an existing in-MEMORY keytab (required for the new way
we push that to GSSAPI).

Andrew Bartlett
2007-10-10 13:46:57 -05:00
Andrew Bartlett
6b75573df4 r11995: A big kerberos-related update.
This merges Samba4 up to current lorikeet-heimdal, which includes a
replacement for some Samba-specific hacks.

In particular, the credentials system now supplies GSS client and
server credentials.  These are imported into GSS with
gss_krb5_import_creds().  Unfortunetly this can't take an MEMORY
keytab, so we now create a FILE based keytab as provision and join
time.

Because the keytab is now created in advance, we don't spend .4s at
negprot doing sha1 s2k calls.  Also, because the keytab is read in
real time, any change in the server key will be correctly picked up by
the the krb5 code.

To mark entries in the secrets which should be exported to a keytab,
there is a new kerberosSecret objectClass.  The new routine
cli_credentials_update_all_keytabs() searches for these, and updates
the keytabs.

This is called in the provision.js via the ejs wrapper
credentials_update_all_keytabs().

We can now (in theory) use a system-provided /etc/krb5.keytab, if

krb5Keytab: FILE:/etc/krb5.keytab

is added to the secrets.ldb record.  By default the attribute

privateKeytab: secrets.keytab

is set, pointing to allow the whole private directory to be moved
without breaking the internal links.
2007-10-10 13:46:56 -05:00
Andrew Bartlett
36973b1eef r11543: A major upgrade to our KDC and PAC handling.
We now put the PAC in the AS-REP, so that the client has it in the
TGT.  We then validate it (and re-sign it) on a TGS-REQ, ie when the
client wants a ticket.

This should also allow us to interop with windows KDCs.

If we get an invalid PAC at the TGS stage, we just drop it.

I'm slowly trying to move the application logic out of hdb-ldb.c, and
back in with the rest of Samba's auth system, for consistancy.  This
continues that trend.

Andrew Bartlett
2007-10-10 13:45:52 -05:00
Andrew Bartlett
dbf73a82fc r11542: Add the netbios name type. We will need it when we start to handle
allowedWorkstations on Krb5.

Andrew Bartlett
2007-10-10 13:45:51 -05:00
Andrew Bartlett
da0ff19856 r11529: Disable DNS lookups for forwarded credentials, unless really, really
wanted.  There is nothing that suggests that the host we forward
credentials to will not have other interfaces, unassoicated with their
service name.  Likewise, the name may be a netbios, not DNS name.

This should avoid some nasty DNS lookups.

Andrew Bartlett
2007-10-10 13:45:49 -05:00
Andrew Bartlett
d6928a3bf8 r11469: Fix typo, and use the correct (RFC4120) session key for delegating
credentials.  This means we now delegate to windows correctly.

Andrew Bartlett
2007-10-10 13:45:40 -05:00
Andrew Bartlett
55b89899ad r11452: Update Heimdal to current lorikeet, including removing the ccache side
of the gsskrb5_acquire_cred hack.

Add support for delegated credentials into the auth and credentials
subsystem, and specifically into gensec_gssapi.

Add the CIFS NTVFS handler as a consumer of delegated credentials,
when no user/domain/password is specified.

Andrew Bartlett
2007-10-10 13:45:38 -05:00
Andrew Bartlett
25d5ea6d72 r11314: Use a patch from lha to have the kerberos libs extract the PAC, rather
than doing ASN.1 parsing in Samba.

Also use the API function for getting a client from a ticket, rather
than just digging in the structure.

Andrew Bartlett
2007-10-10 13:45:18 -05:00
Andrew Bartlett
939d4f340f r11294: Update Heimdal in Samba4 to lorikeet-heimdal (which is in turn updated
to CVS of 2005-10-24).

Andrew Bartlett
2007-10-10 13:45:15 -05:00
Andrew Bartlett
1d7094b8df r10983: Another case were we want to avoid DNS for unqualified names.
Andrew Bartlett
2007-10-10 13:39:50 -05:00
Andrew Bartlett
3b09f9e8f9 r10561: This patch takes over KDC socket routines in Heimdal, and directs them
at the Samba4 socket layer.

The intention here is to ensure that other events may be processed while
heimdal is waiting on the KDC.  The interface is designed to be
sufficiently flexible, so that the plugin may choose how to time
communication with the KDC (ie multiple outstanding requests, looking
for a functional KDC).

I've hacked the socket layer out of cldap.c to handle this very
specific case of one udp packet and reply.  Likewise I also handle
TCP, stolen from the winbind code.

This same plugin system might also be useful for a self-contained
testing mode in Heimdal, in conjunction with libkdc.  I would suggest
using socket-wrapper instead however.

Andrew Bartlett
2007-10-10 13:39:04 -05:00
Andrew Bartlett
77aca9619d r10398: Don't do DNS lookups on short names (no .).
Andrew Bartlett
2007-10-10 13:38:39 -05:00
Andrew Bartlett
4d2a9a9bc4 r10386: Merge current lorikeet-heimdal into Samba4.
Andrew Bartlett
2007-10-10 13:38:38 -05:00
Andrew Bartlett
0f0b0021b7 r10382: In the absence of client support for the full KDC-side
canonicalisation code, I've hacked Heimdal to use the default realm if
no other realm can be determined for a given host.

Andrew Bartlett
2007-10-10 13:38:34 -05:00
Andrew Bartlett
de3ceab3d0 r10337: This grubby little hack is the implementation of a concept discussed
on the kerberos mailing lists a couple of weeks ago: Don't use DNS at
all for expanding short names into long names.

Using the 'override krb5_init_context' code already in the tree, this
removes the DNS lag on a kerberos session setup/connection.

Andrew Bartlett
2007-10-10 13:38:29 -05:00
Andrew Bartlett
b9695d5e7c r10149: Update Samba4 to current lorikeet-heimdal.
Andrew Bartlett
2007-10-10 13:38:03 -05:00
Andrew Bartlett
a3aba57c00 r10066: This is the second in my patches to work on Samba4's kerberos support,
with an aim to make the code simpiler and more correct.

Gone is the old (since the very early Samba 3.0 krb5 days) 'iterate over
all keytypes)' code in gensec_krb5, we now follow the approach used in
gensec_gssapi, and use a keytab.

I have also done a lot of work in the GSSAPI code, to try and reduce
the diff between us and upstream heimdal.  It was becoming hard to
track patches in this code, and I also want this patch (the DCE_STYLE
support) to be in a 'manageable' state for when lha considers it for
merging.  (metze assures me it still has memory leak problems, but
I've started to address some of that).

This patch also includes a simple update of other code to current
heimdal, as well as changes we need for better PAC verification.

On the PAC side of things we now match windows member servers by
checking the name and authtime on an incoming PAC.  Not generating these
right was the cause of the PAC pain, and so now both the main code and
torture test validate this behaviour.

One thing doesn't work with this patch:
 - the sealing of RPC pipes with kerberos, Samba -> Samba seems
broken.  I'm pretty sure this is related to AES, and the need to break
apart the gss_wrap interface.

Andrew Bartlett
2007-10-10 13:36:33 -05:00
Andrew Bartlett
506a7b67ae r10035: This patch removes the need for the special case hack
'MEMORY_WILDCARD' keytab type. (part of this checking is in effect a
merge from lorikeet-heimdal, where I removed this)

This is achieved by correctly using the GSSAPI gsskrb5_acquire_cred()
function, as this allows us to specify the target principal, regardless
of which alias the client may use.

This patch also tries to simplify some principal handling and fixes some
error cases.

Posted to samba-technical, reviewed by metze, and looked over by lha on IRC.

Andrew Bartlett
2007-10-10 13:36:31 -05:00
Andrew Bartlett
6aef275efd r9931: Make use of new 'norealm' parsing functions rather than strchr(p '@').
Merge these norealm functions from lorikeet-heimdal.

Andrew Bartlett
2007-10-10 13:36:23 -05:00
Andrew Bartlett
cc35cd5ee2 r9696: Update prototypes for new name of short parsing function.
Andrew Bartlett
2007-10-10 13:34:42 -05:00
Andrew Bartlett
913924a499 r9680: Update Heimdal to current lorikeet-heimdal (which was itself updated
to Heimdal CVS as of 2005-08-27).

Andrew Bartlett
2007-10-10 13:34:39 -05:00
Andrew Bartlett
d5fb30fb0c r9413: Bring Samba4 back up to date with lorikeet-heimdal.
Delete test_crypto_wrapping.c, previously included but unbuilt.

Andrew Bartlett
2007-10-10 13:33:35 -05:00
Andrew Bartlett
9a1d2f2fec r9221: Try to merge Heimdal across from lorikeet-heimdal to samba4.
This is my first attempt at this, so there may be a few rough edges.

Andrew Bartlett
2007-10-10 13:31:33 -05:00
Andrew Tridgell
ba621d1c55 r8310: replace the heimdal networking interface scanning code with glue code that uses the Samba
interfaces list. This makes heimdal obey the 'interfaces=' smb.conf option, and should also
fix the portability problems with the heimdal code
2007-10-10 13:20:04 -05:00
Heimdal Import User
118be28a7a r8302: import mini HEIMDAL into the tree 2007-10-10 13:19:33 -05:00