1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

1269 Commits

Author SHA1 Message Date
Andrew Bartlett
a0b0dc16a6 s4:auth handle addition of nested aliases of domain groups.
The challenge here is that we are asked not to add the domain groups
again, but we need to search inside them for any aliases that we need
to add.  So, we can't short-circuit the operation just because we found
the domain group.

Andrew Bartlett
2010-05-20 17:39:10 +10:00
Andrew Bartlett
9c6b637ce8 s4:auth Change auth_generate_session_info to take flags
This allows us to control what groups should be added in what use
cases, and in particular to more carefully control the introduction of
the 'authenticated' group.

In particular, in the 'service_named_pipe' protocol, we do not have
control over the addition of the authenticated users group, so we key
of 'is this user the anonymous SID'.

This also takes more care to allocate the right length ptoken->sids

Andrew Bartlett
2010-05-20 17:39:10 +10:00
Andrew Bartlett
3ff2766231 s4:auth Push check for messaging context into winbind backend
If we don't use the winbind backend, we don't (for now) need a
messaging context- and we don't have one in LDB at the moment.

Andrew Bartlett
2010-05-20 17:39:10 +10:00
Andrew Bartlett
feb9ffdac8 s4:auth Add dependency from the operational module onto auth
We had to split up the auth module into a module loaded by main deamon
and a subsystem we manually init in the operational module.

Andrew Bartlett
2010-05-20 17:39:10 +10:00
Andrew Bartlett
72ccbcacdd s4:auth Allow the operational module to get a user's tokenGroups from auth
This creates a new interface to the auth subsystem, to allow an
auth_context to be created from the ldb, and then tokenGroups to be
calculated in the same way that the auth subsystem would.

Andrew Bartlett
2010-05-20 17:39:10 +10:00
Andrew Bartlett
5f9024c8a4 s4:auth Move BUILTIN group addition into session.c
The group list in the PAC does not include 'enterprise DCs' and
BUILTIN groups, so we should generate it on each server, not in the
list we pass around in the PAC or SamLogon reply.

Andrew Bartlett
2010-05-20 17:39:09 +10:00
Jelmer Vernooij
b8268cf7b0 s3: Remove use of iconv_convenience. 2010-05-18 11:45:31 +02:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Andrew Bartlett
b183a30b2b s4:credentials Add in tracking of the password last set time
We perhaps need a more general API here, but for now extend the
credentials API to return the password last changed time that the
s3compat layer will need.

Andrew Bartlett
2010-05-18 13:20:22 +10:00
Andrew Bartlett
00b985def8 s4:auth Make it clear to the callers the talloc lifetime.
In other times, we might have used talloc_reference here, but this
isn't used as much these days.

Andrew Bartlett
2010-05-18 13:20:07 +10:00
Andrew Bartlett
b5dc394962 s4:gensec expose gensec_set_target_principal for use outside GENSEC
This allows for the rare case where the caller knows the target
principal.  The check for lp_client_use_spnego_principal() is moved to
the spengo code to make this work.

Andrew Bartlett
2010-05-14 23:25:45 +10:00
Andrew Bartlett
bb2f7e3aee s4:credentials Allow setting of an empty Kerberos CCACHE
This allows us to tell the credentials code where we want the
credentials put.

Andrew Bartlett
2010-05-14 23:25:45 +10:00
Andrew Bartlett
44e7ea6927 s4:credentials Make the CCACHE in credentials depend on the things that built it
This means that we consider the ccache only as reliable as the least
specified of the inputs we used.

This means that we will regenerate the ccache if any of the inputs change.

Andrew Bartlett
2010-05-02 06:54:23 +10:00
Andrew Bartlett
1ae9044b8e s4:gensec Use a different form of 'name' in GSSAPI import_name()
The idea here is to make it not dependent on the system's default
realm.

Andrew Bartlett
2010-04-27 16:41:51 +10:00
Andrew Bartlett
8c61477153 s4:kerberos Give a better error message than "Could not allocate memory"
Andrew Bartlett
2010-04-27 16:41:51 +10:00
Andrew Tridgell
f1c523939b pytalloc: ensure talloc_ctx is directly after PyObject_HEAD
the talloc python interface for tp_alloc and tp_dealloc relies on a
cast to a py_talloc_Object to find the talloc_ctx (see
py_talloc_dealloc). This means we rely on the talloc_ctx for the
object being directly after the PyObject_HEAD

This fixes the talloc free with references bug in samba_dnsupdate

The actual problem was the tp_alloc() call in
PyCredentialCacheContainer_from_ccache_container() which used a cast
from a py_talloc_Object to a PyCredentialCacheContainerObject. That
case effectively changed the parent/child relationship between the
talloc_ctx and the ccc ptr.

This patch changes all the structures that follow this pattern to put
the TALLOC_CTX directly after the PyObject_HEAD, to ensure that if
anyone else decides to do a dangerous cast like this that it won't
cause the same sort of subtle breakage.

Pair-Programmed-With: Rusty Russell <rusty@samba.org>
2010-04-20 15:50:27 +10:00
Andrew Tridgell
e6cbbd9640 s4-python: PyErr_SetString() will crash on NULL strings
use nt_errstr() when no error available
2010-04-19 16:34:14 +10:00
Andrew Bartlett
589a42e2da s4:auth Change auth_generate_session_info to take an auth context
The auth context was in the past only for NTLM authentication, but we
need a SAM, an event context and and loadparm context for calculating
the local groups too, so re-use that infrustructure we already have in
place.

However, to avoid problems where we may not have an auth_context (in
torture tests, for example), allow a simpler 'session_info' to be
generated, by passing this via an indirection in gensec and an
generate_session_info() function pointer in the struct auth_context.

In the smb_server (for old-style session setups) we need to change the
async context to a new 'struct sesssetup_context'.  This allows us to
use the auth_context in processing the authentication reply .

Andrew Bartlett
2010-04-14 10:30:51 +10:00
Andrew Bartlett
4e2384e242 s4:auth Allow the simple 'struct auth_session_info' generator for all users
This code isn't ideal, but it is better than needing to consult the
main SamDB in things like a torture test.

Andrew Bartlett
2010-04-14 10:28:35 +10:00
Matthias Dieter Wallnöfer
1bd4735d87 s4:auth/auth_sam_reply.c - fix counter types 2010-04-12 18:49:01 +02:00
Stefan Metzmacher
2a727ef6e7 lib/replace/wscript: inline LIBREPLACE_EXT into 'replace' as the autoconf system does
metze
2010-04-12 12:31:14 +02:00
Andrew Bartlett
2c193fe91a s4:auth Remove event context from anonymous_session()
This should always return a simple structure with no need to consult a
DB, so remove the event context, and simplfy to call helper functions
that don't look at privilages.

Andrew Bartlett
2010-04-11 13:36:04 +10:00
Andrew Bartlett
aecaddfa1b s4:credentials Add the functions needed to do S4U2Self with cli_credentials
A torture test to demonstrate will be added soon.

Andrew Bartlett
2010-04-10 21:40:58 +10:00
Andrew Bartlett
18f0e24f55 s4:credentials talloc_free() any previous salt_principal
This isn't used often, but it is generally better not to leak it onto
what may be a longer-term context.

Andrew Bartlett
2010-04-10 21:40:58 +10:00
Jelmer Vernooij
814e20e7da pynet: Create a net class. 2010-04-08 23:22:55 +02:00
Matthias Dieter Wallnöfer
b7b464eeee s4:auth/ntlm/auth_developer.c - "fixed_challenge_get_challenge" - fix the assignment of the challenge
This is a string buffer and not a DATA_BLOB.
2010-04-06 14:54:10 +02:00
Jelmer Vernooij
449bdf3543 s4-python: Move set_session_info to PySambaLdb. 2010-04-06 13:12:43 +02:00
Andrew Tridgell
553324bc10 s4-waf: move to a universal method of recursing into subdirs
This works with both standalone lib builds and bundled builds
2010-04-06 20:27:25 +10:00
Andrew Tridgell
b690fedef5 s4-waf: removed the AUTOGENERATED markers
we won't be using the mk -> wscript generator again
2010-04-06 20:27:16 +10:00
Andrew Tridgell
b0fb567f04 s4-waf: more dependencies on talloc
these are needed so we can support a system talloc without using the
bundled talloc.h
2010-04-06 20:27:13 +10:00
Andrew Tridgell
01682f797f s4-waf: fixed some deps now we don't auto-include tevent and replace
this is preparation for being able to use system versions of these
libraries
2010-04-06 20:27:12 +10:00
Andrew Tridgell
f9eae32f4b s4-waf: mark the wscript files as python so vim/emacs knows how to highlight them 2010-04-06 20:27:11 +10:00
Andrew Tridgell
bd44f14d8f s4-waf: enable the pc_files in the build rules 2010-04-06 20:27:10 +10:00
Andrew Tridgell
aa5e08eb83 s4-waf: install the rest of the headers 2010-04-06 20:27:09 +10:00
Andrew Tridgell
026690af00 s4-waf: remove the need for some of the lib aliases 2010-04-06 20:27:05 +10:00
Andrew Tridgell
81d155af96 build: check libc first for several libraries 2010-04-06 20:26:56 +10:00
Andrew Tridgell
5db5772db1 build: fixed the build without sasl libraries
We need to only enable the cyrus_sasl module if we have sasl/sasl.h
2010-04-06 20:26:49 +10:00
Andrew Tridgell
844acb2260 build: waf quicktest nearly works
Rewrote wafsamba using a new dependency handling system, and started
adding the waf test code
2010-04-06 20:26:48 +10:00
Andrew Tridgell
845e0cbe6f build: commit all the waf build files in the tree 2010-04-06 20:26:48 +10:00
Andrew Tridgell
64ba3c7672 build: check for libsasl2 2010-04-06 20:26:44 +10:00
Andrew Tridgell
71b5f97cd0 build: check for pam 2010-04-06 20:26:44 +10:00
Matthias Dieter Wallnöfer
6d6c551d26 Revert "s4:gensec_gssapi.c - make sure that "GSS_C_DELEG_POLICY_FLAG" is available"
This reverts commit 3e091a82167f51b7d9abf00755bede9354932c6b.

This should be fixed through the new build system when it lands in "master".
2010-04-05 12:06:49 +02:00
Jelmer Vernooij
aed295b97e s4-python: Remove convenience macro PyErr_SetStringError.
This macro assumed that all errors were runtime errors.
2010-04-04 00:22:29 +02:00
Matthias Dieter Wallnöfer
3e091a8216 s4:gensec_gssapi.c - make sure that "GSS_C_DELEG_POLICY_FLAG" is available
FreeBSD 7.2 needs this.
2010-03-30 17:42:51 +02:00
Andrew Tridgell
7ed349cace pytalloc: allow for using a system libtalloc-dev with pytalloc
When we have a system talloc library, we still need to grab pytalloc.h
from lib/talloc. We don't want to just use -Ilib/talloc, as otherwise
we'll get the in-tree talloc.h which may not be compatible with the
system talloc.h

So we need to give the path to pytalloc.h
2010-03-29 21:34:29 +11:00
Matthias Dieter Wallnöfer
d570a0af0b s4:auth/credentials/credentials.c - initialise more content
Now all data should be initialised
2010-03-26 18:14:11 +01:00
Andrew Tridgell
fae84f98e3 libutil: moved the networking defines to util_net.h
These were causing thousands of warnings on solaris8
2010-03-26 17:36:02 +11:00
Stefan Metzmacher
25a89b7015 s4:ntlmssp: move sign/seal states to a private ntlmssp_crypt_state union
metze

Signed-off-by: Günther Deschner <gd@samba.org>
2010-03-24 17:34:54 +01:00
Stefan Metzmacher
598bfdcfd8 s4:ntlmssp: make use of dump_arc4_state()
metze

Signed-off-by: Günther Deschner <gd@samba.org>
2010-03-24 17:34:54 +01:00
Stefan Metzmacher
48d8157879 s4:ntlmssp: copy dump_arc4_state() from source3
metze

Signed-off-by: Günther Deschner <gd@samba.org>
2010-03-24 17:34:53 +01:00