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

31 Commits

Author SHA1 Message Date
Andrew Bartlett
305d1421ef r22115: I don't like the DOMAIN environment variable. It really isn't a good
match for what we are using it for here.

Andrew Bartlett
2007-10-10 14:49:51 -05:00
Andrew Bartlett
3430d8c072 r21736: Fix the smbclient test to do something more interesting with the last
few authentication tests.  Now that the tests correctly 'fail', I was
able to fix the credentials subsystem to honour USER and PASSWD.

To get --machine-pass working, I needed ldb to always load it's static
modules, so I put this in ldb_connect().

Andrew Bartlett
2007-10-10 14:49:20 -05:00
James Peach
73cea4e0c6 r21668: Add SMB_QFS_POSIX_WHOAMI to trans2.h so it's easy to find. Add
convenience API to create an anonymous credential. Don't clobber
cmdline_credentials in the UNIX-WHOAMI test.
2007-10-10 14:49:07 -05:00
Stefan Metzmacher
426238eb45 r21451: if kerberos is requested ( -k yes ), we should use authentificated connections
metze
2007-10-10 14:48:37 -05:00
Andrew Bartlett
6ce557a1af r21135: Instead of having hooks to update keytabs as an explicit thing, update
them as a hook on ldb modify, via a module.

This should allow the secrets.ldb to be edited by the admin, and to
have things update in the on-disk keytab just as an in-memory keytab
would.

This isn't really a dsdb plugin, but I don't have any other good ideas
about where to put it.

Andrew Bartlett
2007-10-10 14:44:31 -05:00
Stefan Metzmacher
a91dc4a02a r20135: attach default gensec features to the cli_credentials structure,
so make it possible to force encryption or signing.

metze
2007-10-10 14:29:12 -05:00
Andrew Bartlett
2b569c42e0 r19598: Ahead of a merge to current lorikeet-heimdal:
Break up auth/auth.h not to include the world.

Add credentials_krb5.h with the kerberos dependent prototypes.

Andrew Bartlett
2007-10-10 14:25:00 -05:00
Andrew Bartlett
d5fc88c936 r16218: If a connection is forced as 'anonymous', don't treat it as
'authentication requested'...

Andrew Bartlett
2007-10-10 14:09:06 -05:00
Andrew Bartlett
f9bcfb04aa r15498: Initialise the callback_running field, and get the flag set/clear the
right way around for all the callers.

Andrew Bartlett
2007-10-10 14:05:42 -05:00
Jelmer Vernooij
edf0701e87 r15422: Fix issues with functions being called recursively in the credentials
callback code.
2007-10-10 14:05:35 -05:00
Andrew Bartlett
f989927789 r15421: Correct function comments.
Andrew Bartlett
2007-10-10 14:05:35 -05:00
Andrew Bartlett
4c4b8e4b39 r15420: Add a new function to print a the 'unparsed' string format for usernames.
This is used in the password prompt, and should be reversable by the
parse string function.

Also, don't look at the ccache, even for the guess code, if kerberos
is disabled.

Andrew Bartlett
2007-10-10 14:05:35 -05:00
Andrew Bartlett
3a4ddc8f59 r15415: Use Jelmer's new credentials 'wrong password' code to give the user 3
attempts for the password, when talking to a remote CIFS server.

Andrew Bartlett
2007-10-10 14:05:34 -05:00
Jelmer Vernooij
5de894fb8b r15414: Support retrying different username/password combinations 2007-10-10 14:05:34 -05:00
Jelmer Vernooij
3dd477ca51 r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
try to include just the BASENAME.h files (containing only structs)
2007-10-10 13:57:27 -05:00
Jelmer Vernooij
1a16a6f1df r14380: Reduce the size of structs.h 2007-10-10 13:57:16 -05:00
Jelmer Vernooij
1228358767 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
2007-10-10 13:52:24 -05:00
Andrew Bartlett
1ac7976ea6 r13206: This patch finally re-adds a -k option that works reasonably.
From here we can add tests to Samba for kerberos, forcing it on and
off.  In the process, I also remove the dependency of credentials on
GENSEC.

This also picks up on the idea of bringing 'set_boolean' into general
code from jpeach's cifsdd patch.

Andrew Bartlett
2007-10-10 13:51:33 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -05:00
Andrew Bartlett
f34ede763e r12310: Link simple bind support in our internal LDAP libs to LDB and the
command line processing system.

This is a little ugly at the moment, but works.  What I cannot manage
to get to work is the extraction and propogation of command line
credentials into the js interface to ldb.

Andrew Bartlett
2007-10-10 13:47:28 -05:00
Andrew Bartlett
ae2f3a64ee r12227: I realised that I wasn't yet seeing authenticated LDAP for the ldb
backend.

The idea is that every time we open an LDB, we can provide a
session_info and/or credentials.  This would allow any ldb to be remote
to LDAP.  We should also support provisioning to a authenticated ldap
server.

(They are separate so we can say authenticate as foo for remote, but
here we just want a token of SYSTEM).

Andrew Bartlett
2007-10-10 13:47:22 -05:00
Andrew Bartlett
11c7a89e52 r12060: Work towards allowing the credentials system to allow/deny certain
GENSEC mechansims.  This will allow a machine join to an NT4 domain to
avoid even trying kerberos, or a sensitive operation to require it.

Andrew Bartlett
2007-10-10 13:47:02 -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
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
76c2d204d0 r11401: A simple hack to have our central credentials system deny sending LM
authentication for user@realm logins and machine account logins.

This should avoid various protocol downgrade attacks.

Andrew Bartlett
2007-10-10 13:45:31 -05:00
Andrew Bartlett
82527491b2 r11358: Ensure domains are always upper-case as well. Helps NTLMv2.
Andrew Bartlett
2007-10-10 13:45:24 -05:00
Andrew Bartlett
cc9d167bab r11220: Add the ability to handle the salt prinicpal as part of the
credentials.  This works with the setup/secrets.ldif change from the
previous patch, and pretty much just re-invents the keytab.

Needed for kpasswdd work.

Andrew Bartlett
2007-10-10 13:45:04 -05:00
Andrew Bartlett
205f77c579 r11200: Reposition the creation of the kerberos keytab for GSSAPI and Krb5
authentication.  This pulls the creating of the keytab back to the
credentials code, and removes the special case of 'use keberos keytab
= yes' for now.

This allows (and requires) the callers to specify the credentials for
the server credentails to GENSEC.  This allows kpasswdd (soon to be
added) to use a different set of kerberos credentials.

The 'use kerberos keytab' code will be moved into the credentials
layer, as the layers below now expect a keytab.

We also now allow for the old secret to be stored into the
credentials, allowing service password changes.

Andrew Bartlett
2007-10-10 13:45:00 -05:00
Stefan Metzmacher
d9d3fe1b8a r11058: remove useless talloc context
metze
2007-10-10 13:44:43 -05:00
Andrew Bartlett
09c9576330 r10981: Pull code to decide between and implement NTLMv2, NTLM and LM
authentication out of the various callers and into the kitchen
sink.. err, credentials subsystem.

This should ensure consistant logic, as well as get us one step closer
to security=server operation in future.

Andrew Bartlett
2007-10-10 13:39:50 -05:00
Andrew Bartlett
2e76a4b8ef r10596: Move the credentials code into it's own subsystem, and push it under auth/
Andrew Bartlett
2007-10-10 13:39:09 -05:00