677a31351c80453d9ce006481364399a96312052 |
|
29-Jan-2018 |
René Genz <liebundartig@freenet.de> |
Fix minor spelling mistakes in responder/*
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
177ab84f0e336b75289a3ac0b2df25bd5ab5198b |
|
13-Nov-2017 |
Sumit Bose <sbose@redhat.com> |
pam: filter certificates in the responder not in the child
With the new selection option and the handling of multiple certificates
in the PAM responder it is not needed anymore to filter the certificates
in p11_child but the matching rules can be applied by the PAM responder
directly.
Related to https://pagure.io/SSSD/sssd/issue/3560
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Tested-by: Scott Poore <spoore@redhat.com> |
fd6f4047b58686bd4057c9859c3c804a77b136d8 |
|
13-Nov-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: allow missing logon_name during certificate authentication
If only one certificate is available and the logon_name is the user is
not given the PAM responder already tried to find the name during the
pre-auth step. With multiple certificates this might cause useless extra
effort and the name should be determined after the certificate is
selected in the authentication step. This might currently only happen
with GDM because all other PAM clients will prompt for the user name
unconditionally.
New unit tests are added to cover this new case.
Related to https://pagure.io/SSSD/sssd/issue/3560
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Tested-by: Scott Poore <spoore@redhat.com> |
0bdd8800c16f39b8fe308d20694ad905c669dff3 |
|
13-Nov-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: handled multiple certs in the responder
This patch refactors the handling of the certificate and the attributes
to address the certificate on the Smartcard (module name, token name and
key id). Instead of using individual variables the values are put into a
new struct cert_auth_info. Since the new struct can be used as a list
the PAM responder can now handle multiple certificates on the Smartcard
and can send the needed data to pam_sss with multiple SSS_PAM_CERT_INFO
messages.
Unit tests are added to confirm the expected behavior.
Related to https://pagure.io/SSSD/sssd/issue/3560
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Tested-by: Scott Poore <spoore@redhat.com> |
82464078c0d38421b788393838ebfa401aa1391e |
|
09-Oct-2017 |
Fabiano Fidêncio <fidencio@redhat.com> |
PAM: Avoid overwriting pam_status in _lookup_by_cert_done()
In case add_pam_cert_response() failed pam_status has to be set to
PAM_AUTHINFO_UNAVAIL. Although it's done properly in the code,
pam_status was overwritten just after the if block with PAM_SUCCESS.
The original faulty code was added as part of 32474fa2f0.
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Sumit Bose <sbose@redhat.com> |
49d24ba630544632e29ed397627c97352523165d |
|
27-Jul-2017 |
Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com> |
PAM: Export original shell to tlog-rec-session
Add exporting of original user shell (as returned by NSS) as an
environment variable for use by tlog-rec-session, when session recording
is enabled for the user. This lets tlog-rec-session start the actual
user shell, after tlog-rec-session is started in its place.
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
1b3ca692bb8f93b87703447904bda80d45a75835 |
|
11-Jul-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: make sure the files provider uses the right auth provider
Only the 'local' provider will use the 'local' auth provider, for all
other id providers the configured auth provider in the backend should
be checked.
Resolves https://pagure.io/SSSD/sssd/issue/3447
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
32474fa2f0a6dc09386bab405fc3461cb3dd12ac |
|
01-Jun-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: send user name hint response when needed
If the PAM client didn't send a user name and promtusername is enable
the PAM responder will tell pam_sss to ask for an optional user name as
well.
Resolves:
https://pagure.io/SSSD/sssd/issue/3395
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
6073cfc40747cd6d3142f0f98b880fc390dd7aad |
|
01-Jun-2017 |
Sumit Bose <sbose@redhat.com> |
add_pam_cert_response: add support for SSS_PAM_CERT_INFO_WITH_HINT
Related to https://pagure.io/SSSD/sssd/issue/3395
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
29d063505c07127f7747405b1a61d8f782673645 |
|
23-May-2017 |
Sumit Bose <sbose@redhat.com> |
pam: properly support UPN logon names
Many logon applications like /bin/login or sshd canonicalize the user
name before they call pam_start() and hence the UPN is not seen by
SSSD's pam responder. But some like e.g. gdm don't and authentication
might fail if a UPN is used.
The reason is that currently the already parsed short name of the user
was used in the cache_req and hence the cache_req was not able to fall
back to the UPN lookup code. This patch uses the name originally
provided by the user as input to allow the fallback to the UPN lookup.
Resolves https://pagure.io/SSSD/sssd/issue/3240
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
92d8b072f8c521e1b4effe109b5caedabd36ed6f |
|
04-May-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: check matching certificates from all domains
Although the cache_req lookup found matching in multiple domains only
the results from the first domain were used. With this patch the results
from all domains are checked.
Resolves https://pagure.io/SSSD/sssd/issue/3385
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
3e789aa0bd6b7bb6e62f91458b76753498030fb5 |
|
30-Mar-2017 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Add application services
Related to:
https://pagure.io/SSSD/sssd/issue/3310
Adds a new PAM responder option 'pam_app_services'. This option can hold
a list of PAM services that are allowed to contact the application
non-POSIX domains. These services are NOT allowed to contact any of the
POSIX domains.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
cee85e8fb9534ec997e5388fce59f392cf029573 |
|
30-Mar-2017 |
Jakub Hrozek <jhrozek@redhat.com> |
CACHE_REQ: Domain type selection in cache_req
Related to:
https://pagure.io/SSSD/sssd/issue/3310
Adds a new enumeration cache_req_dom_type. It is a tri-state that
allows the caller to select which domains can be contacted - either only
POSIX, only application domains or any type.
Not all plugins of cache_req have the new parameter added -- only those
that are usable/useful in a non-POSIX environment. For example, it makes
no sense to allow the selection for calls by ID because those are
inherently POSIX-specific. Also, services or netgroups are supported
only coming from POSIX domains.
At the moment, the patch should not change any behaviour as all calls
default to contacting POSIX domains only.
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
16c9d63d96ce8dc7517ae16502e9ec72d6a58d6c |
|
10-Mar-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: allow muliple users mapped to a certificate
Related to https://pagure.io/SSSD/sssd/issue/3050
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
c99bcc91e58988ff37403d362d4322469413c2ff |
|
03-Mar-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: Improve debugging on smartcard creds forward
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
ed891c0c55985cd25de05f65e82debf4452987e1 |
|
03-Mar-2017 |
Fabiano Fidêncio <fidencio@redhat.com> |
PAM: Use cache_req to perform initgroups lookups
PAM responder has been already taking advantage of the cache_req
interface, so this patch is just replacing some code that performs
initgroups lookups by using cache_req to do so.
Resolves:
https://fedorahosted.org/sssd/ticket/1126
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Sumit Bose <sbose@redhat.com>
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
52f45837ded98564968da42229b37db6a36ad627 |
|
23-Feb-2017 |
Sumit Bose <sbose@redhat.com> |
pam: enhance Smartcard authentication token
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
ead25e32c52c8c2f5fd9abd179e9e81de58f9ca3 |
|
23-Feb-2017 |
Sumit Bose <sbose@redhat.com> |
p11: return name of PKCS#11 module and key id to pam_sss
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
82c5971fafe6063a90289ebba08035fc49ae8590 |
|
23-Feb-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: forward Smartcard credentials to backends
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
f561c2bd3c72631ccb7ad6d0b5f6541b27b0922d |
|
23-Feb-2017 |
Sumit Bose <sbose@redhat.com> |
PAM: store user object in the preq context
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
87d85db07bdd39081f558e2f7e891cc0065e3a0a |
|
19-Dec-2016 |
Pavel Březina <pbrezina@redhat.com> |
responders: remove checks that are handled inside cache_req
Those checks were redundant, since they are already part of cache_req.
Resolves:
https://fedorahosted.org/sssd/ticket/3151
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
b206e1abb7f6ea373d12537b3338552aed6b656d |
|
19-Dec-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: encapsulate output data into structure
In enumeration calls we want to get objects from all domains, not
only from the first matched domain. We move the cache search result
into a structure that contains combination of domain and ldb_result.
This is preparation for enumeration support inside cache_req.
Resolves:
https://fedorahosted.org/sssd/ticket/3151
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
ce43f710c9638fbbeae077559cd7514370a10c0c |
|
02-Nov-2016 |
Sumit Bose <sbose@redhat.com> |
PAM: add pam_response_filter option
Currently the main use-case for this new option is to not set the
KRB5CCNAME environment varible for services like 'sudo-i'.
Resolves https://fedorahosted.org/sssd/ticket/2296
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
c8fe1d922b254aa92e74f428135ada3c8bde87a1 |
|
02-Nov-2016 |
Sumit Bose <sbose@redhat.com> |
PAM: add a test for filter_responses()
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
4169fb26ea2ff93c19ecdad6e09382732ea5deeb |
|
20-Oct-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: switch to new code
This patch switch the old switch-based cache req code to
the new plugin-based.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
b9941359b3181c42f415530d5ccad0f4664d85fa |
|
21-Sep-2016 |
Lukas Slebodnik <lslebodn@redhat.com> |
Remove double semicolon at the end of line
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
5cda8428d23266aaaf4d7cddba50311202365c16 |
|
08-Aug-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Do not act on ldb_message in case of a failure
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
9b8fcf685c5ca70a5067a621385bcdc8d9fd6469 |
|
29-Jul-2016 |
Sumit Bose <sbose@redhat.com> |
PAM: Fix domain for UPN based lookups
Since sysdb_search_user_by_upn() searches the whole cache we have to set
the domain so that it matches the result.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
3381d9736b698d6111d10e219a0b5b898a4c757c |
|
29-Jul-2016 |
Sumit Bose <sbose@redhat.com> |
PAM: continue with UPN/email search if name was not found
Currently we only search for UPNs if the domain part of the name was not
know, with Kerberos aliases and email addresses we have to do this even
if the domain name is a know domain.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
2b62d5a414b8b7dba4f714dc5033e28dc4b1f4fe |
|
07-Jul-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Use qualified names internally in the PAM responder
The name is converted from whatever we receive on input to the internal
format before processing the data further.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
4f3a9d837a55b49448eca3c713c85a406207e523 |
|
29-Jun-2016 |
Simo Sorce <simo@redhat.com> |
Responders: Make the client context more generic
This is useufl to allow reusing the responder code with other protocols.
Store protocol data and responder state data behind opaque pointers and
use tallog_get_type to check they are of the right type.
This also allows to store per responder state_ctx so that, for example,
the autofs responder does not have to carry useless variables used only
by the nss responder.
Resolves:
https://fedorahosted.org/sssd/ticket/2918
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
8110a8e2369e49c288ede1473657be9451a244e5 |
|
11-May-2016 |
Petr Cech <pcech@redhat.com> |
RESPONDER: Removing ncache from pam_ctx
This patch switches ncache from pam_ctx to resp_ctx.
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
beb07d2f45856d4f3135f173cce551a2aa878f57 |
|
11-May-2016 |
Petr Cech <pcech@redhat.com> |
RESPONDER: Removing neg_timeout from pam responder
It removes neg_timeout parameter from struct pam_ctx. Timeout is
handled by context of negative cache internally.
This patch additioanlly removes neg_timeout from struct cache_req_state.
Resolves:
https://fedorahosted.org/sssd/ticket/2317
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
0393f0d44ac92035de29a8bc8b2005db6d90b640 |
|
11-May-2016 |
Petr Cech <pcech@redhat.com> |
NEGCACHE: Removing timeout from sss_ncache_check_*
It removes timeout parameter from check functions of negative cache.
Timeout is set ny init function and it is handled internally.
API change:
* int sss_ncache_check_...(struct sss_nc_ctx *ctx,
int ttl, <----- timeout vanished
struct sss_domain_info *dom,
...);
Resolves:
https://fedorahosted.org/sssd/ticket/2317
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
4180d485829969d4626cc7d49d2b5f7146512f21 |
|
17-Feb-2016 |
Pavel Reichl <preichl@redhat.com> |
PAM: Pass account lockout status and display message
Tested against Windows Server 2012.
Resolves:
https://fedorahosted.org/sssd/ticket/2839
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
6499d0b915209b670f8e337c4fe76a8be9fa6576 |
|
28-Jan-2016 |
Simo Sorce <simo@redhat.com> |
Util: Improve code to get connection credentials
Adds support to get SELINUX context and make code more abstract so
that struct ucred (if availale) can be used w/o redefining uid,gid,pid to
int32. Also gives a layer of indirection that may come handy if we want
to improve the code further in the future.
Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com>
Reviewed-by: Michal Židek <mzidek@redhat.com> |
544a20de7667f05c1a406c4dea0706b0ab507430 |
|
26-Nov-2015 |
Sumit Bose <sbose@redhat.com> |
p11: enable ocsp checks
This patch enables the Online Certificate Status Protocol in NSS and
adds an option to disable it if needed. To make further tuning of
certificate verification more easy it is not an option on its own but an
option to the new certificate_verification configuration option.
Resolves https://fedorahosted.org/sssd/ticket/2812
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
4b12be504e20173e0629835818e4db6a9617a9a4 |
|
12-Nov-2015 |
Pavel Reichl <preichl@redhat.com> |
pam-srv-tests: Add UT for cached 'online' auth.
Extend PAM responder unit test to check 'online' cached authentication.
Resolves:
https://fedorahosted.org/sssd/ticket/2697
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
877b92e80bde510d5cd9f03dbf01e2bcf73ab072 |
|
23-Oct-2015 |
Michal Židek <mzidek@redhat.com> |
util: Update get_next_domain's interface
Update get next domain to be able to
include disbled domains and change the
interface to accept flags instead of
multiple booleans.
Ticket:
https://fedorahosted.org/sssd/ticket/2673
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
b1bc8836c82290238cf3bb32b27686d25e6226a8 |
|
20-Oct-2015 |
Pavel Reichl <preichl@redhat.com> |
PAM: remove unused parameter cdb
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
2e76b32e74abedb23665808bacc73cafd1097c37 |
|
02-Oct-2015 |
Sumit Bose <sbose@redhat.com> |
PAM: only allow missing user name for certificate authentication
Resolves:
https://fedorahosted.org/sssd/ticket/2811
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
d85be8ad409c9efa9cf9e9ab6f9c2d911b01e5c1 |
|
23-Sep-2015 |
Michal Židek <mzidek@redhat.com> |
PAM: Make p11_child timeout configurable
Ticket:
https://fedorahosted.org/sssd/ticket/2773
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Reviewed-by: Pavel Reichl <preichl@redhat.com> |
9da121c08b785b56733a11fa46e14c708dda62e9 |
|
17-Aug-2015 |
Michal Židek <mzidek@redhat.com> |
pam: Incerease p11 child timeout
Ticket:
https://fedorahosted.org/sssd/ticket/2746
It was timeouting often in CI machines.
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
a8d887323f83984679a7d9b827a70146656bb7b2 |
|
31-Jul-2015 |
Sumit Bose <sbose@redhat.com> |
PAM: add certificate support to PAM (pre-)auth requests
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
7e798b94cfffe7bf8f7b477d540b95d52ca1f6e4 |
|
06-Jul-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Only cache first-factor
Reviewed-by: Sumit Bose <sbose@redhat.com> |
0aa18cc0bf3447ca734476926724f1632e160807 |
|
06-Jul-2015 |
Pavel Reichl <preichl@redhat.com> |
PAM: authenticate agains cache
Enable authenticating users from cache even when SSSD is in online mode.
Introduce new option `cached_auth_timeout`.
Resolves:
https://fedorahosted.org/sssd/ticket/1807
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
32cc237aa0f3c70a4e0bc0491ec0cba0016aaf5a |
|
06-Jul-2015 |
Pavel Reichl <preichl@redhat.com> |
sysdb: new attribute lastOnlineAuthWithCurrentToken
Introduce new user attribute lastOnlineAuthWithCurrentToken.
This attribute behaves similarly to lastOnlineAuth but is set to NULL
after password is changed.
This attribute is needed for use-case when cached authentication is used, to
request online authentication after password is locally changed.
Resolves:
https://fedorahosted.org/sssd/ticket/1807
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
219f5b698fa72c0d5a8da2b0dd99daec3f924c94 |
|
08-May-2015 |
Sumit Bose <sbose@redhat.com> |
2FA offline auth
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
fb045f6e5a9a7f8936ad6f89c28862dcd035a4fe |
|
08-May-2015 |
Sumit Bose <sbose@redhat.com> |
Add pre-auth request
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
ea98a7af0584d7667b6c07c19a4b22942c94ca5d |
|
08-May-2015 |
Sumit Bose <sbose@redhat.com> |
pam: handle 2FA authentication token in the responder
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
7bbf9d1d054f0571fa90ff5dd400a6f4a5a7f6c8 |
|
13-Mar-2015 |
Sumit Bose <sbose@redhat.com> |
PAM: use the logon_name as the key for the PAM initgr cache
Currently the name member of the pam_data struct is used as a key but it
can change during a request. Especially for sub-domain users the name is
changed from the short to the fully-qualified version before the cache
entry is created. As a result the cache searches are always done with
the short name while the entry was written with the fully-qualified name.
The logon_name member of the pam_data struct contains the name which was
send by the PAM client and is never changed during the request.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
c5290f2175845f2c5e3f35ce279b6f52b1d51275 |
|
27-Feb-2015 |
Pavel Reichl <preichl@redhat.com> |
PAM: check return value of confdb_get_string
Coverity found this neglect.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
bdc2aced1185c4ee36921fa01b8dc01789a63900 |
|
25-Feb-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: print the pam status as string, too
On several places, let's add a pam_strerror() call so that it's easier
to debug user problems.
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com> |
f3c2dc1f9ccdf456fd78ed96197b9bf404cc29fc |
|
23-Feb-2015 |
Pavel Reichl <preichl@redhat.com> |
PAM: warn all services about account expiration
if pam_verbose is above one then output warning about account
expiration for all services.
Resolves:
https://fedorahosted.org/sssd/ticket/2050
Reviewed-by: Sumit Bose <sbose@redhat.com> |
e039f1aefecc65a7b3c2d4a13a612bff1dd367c8 |
|
23-Feb-2015 |
Pavel Reichl <preichl@redhat.com> |
PAM: new option pam_account_expired_message
This option sets string to be printed when authenticating using SSH
keys and account is expired.
Resolves:
https://fedorahosted.org/sssd/ticket/2050
Reviewed-by: Sumit Bose <sbose@redhat.com> |
a61d6d01a4e89ec14175af135e84f1cac55af748 |
|
23-Feb-2015 |
Pavel Reichl <preichl@redhat.com> |
PAM: do not reject abruptly
If account has expired then pass message.
Resolves:
https://fedorahosted.org/sssd/ticket/2050
Reviewed-by: Sumit Bose <sbose@redhat.com> |
fa0a9bad84d060a1adf8dd44f35d366e14f54d58 |
|
18-Feb-2015 |
Lukas Slebodnik <lslebodn@redhat.com> |
RESPONDERS: Warn to syslog about colliding objects
Resolves:
https://fedorahosted.org/sssd/ticket/2203
Reviewed-by: Pavel Reichl <preichl@redhat.com> |
0453f1a262aadffec2574f93faf28b339d5ed394 |
|
13-Dec-2014 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Domain names are case-insensitive
The pam_public_domains option and matching the domain requested by a
trusted process was done in a case-sensitive manner which is different
from how we match domain names in SSSD normally.
Reviewed-by: Pavel Reichl <preichl@redhat.com> |
ff7481ff6f75d92470cff56632ad06ff7f10e895 |
|
25-Nov-2014 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Move is_uid_trusted from pam_ctx to preq
Keeping a per-request flag in a global structure is really dangerous.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
fb106682e0277955e203ad074a368ddeb121fed3 |
|
25-Nov-2014 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Check for trusted domain before sending the request to BE
https://fedorahosted.org/sssd/ticket/2501
Moving the checks to one place has the advantage of not duplicating
security decisions. Previously, the checks were scattered all over the
responder code, making testing hard.
The disadvantage is that we actually check for the presence of the user,
which might trigger some back end lookups. But I think the benefits
overweight the disadvantage.
Also only check the requested domains from a trusted client. An untrusted
client should simply have no say in what domains he wants to talk to, it
should ignore the 'domains' option.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
ca92e649ed6501c225782f59914a2c506026c10c |
|
24-Nov-2014 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Make pam_forwarder_parse_data static
Reviewed-by: Pavel Reichl <preichl@redhat.com> |
c2788a00c49b14fc56690af93dc1ac60d6ee6c70 |
|
20-Oct-2014 |
Sumit Bose <sbose@redhat.com> |
pam: make pam responder aware if views
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
95ef1bd1c06163492e285fa9d8e2fa81f99d39d2 |
|
01-Oct-2014 |
Sumit Bose <sbose@redhat.com> |
pam: sub-domain authentication fix
With a recent patch sysdb_getpwnam() was replaced by
sysdb_get_user_by_name() in the PAM responder. Unfortunately both behave
differently with respect to sub-domain users. As a consequence the PAM
responder was not able to resolve users from sub-domains. This patch
reverts this change and uses sysdb_getpwnam() again.
Reviewed-by: Alexander Bokovoy <abokovoy@redhat.com> |
663fd9bcdcc6b299785ba3434532cd7e6c462bff |
|
29-Sep-2014 |
Daniel Gollub <dgollub at brocade.com> |
PAM: Add domains= option to pam_sss
Design document:
https://fedorahosted.org/sssd/wiki/DesignDocs/RestrictDomainsInPAM
Fixes:
https://fedorahosted.org/sssd/ticket/1021
Signed-off-by: Pavel Reichl <preichl@redhat.com>
Reviewed-by: Sven-Thorsten Dietrich <sven@brocade.com>
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
830ded27453015080a54d6ba85fd4999ee7e9af1 |
|
29-Sep-2014 |
Pavel Reichl <preichl@redhat.com> |
PAM: new options pam_trusted_users & pam_public_domains
pam_public_domains option is a list of numerical UIDs or user names
that are trusted.
pam_public_domains option is a list of domains accessible even for
untrusted users.
Based on:
https://fedorahosted.org/sssd/wiki/DesignDocs/RestrictDomainsInPAM
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
899d1bdc048cd74518170d7d9535d76d3f46d4af |
|
01-Sep-2014 |
Sumit Bose <sbose@redhat.com> |
PAM, NSS: allow UPN login names
With this patch the NSS and PAM responders can handle user principal
names besides the fully qualified user names.
User principal names are build from a user name and a domain suffix
separated by an '@' sign. But the domain suffix does not necessarily has
to be the same as the configured domain name in sssd.conf of the
dynamically discovered DNS domain name of a domain. The typical use case
is an Active Directory forest with lots of different domains. To not
force the users to remember the name of the individual domain they
belong to the AD administrator can set a common domain suffix for all
users from all domains in the forest. This is typically the domain name
used for emails to make it even more easy to the users to remember it.
Since SSSD splits name and domain part at the '@' sign and the common
domain suffix might not be resolvable by DNS or the given user is not a
member of that domain (e.g. in the case where the forest root is used as
common domain suffix) SSSD might fail to look up the user.
With this patch the NSS and PAM responder will do an extra lookup for a
UPN if the domain part of the given name is not known or the user was
not found and the login name contained the '@' sign.
Resolves https://fedorahosted.org/sssd/ticket/1749 |
17c4d901ecf62fa9d641d46c9e92032b0deaaa36 |
|
01-Sep-2014 |
Sumit Bose <sbose@redhat.com> |
PAM: remove ldb_result member from pam_auth_req context
This member was used only in a single call where a local variable suits
better. |
cda952ca3e00d324c7e53eeaeda394eb0d142818 |
|
01-Sep-2014 |
Sumit Bose <sbose@redhat.com> |
PAM: extract checks from parsing routines
This patch saves the original name given at a login prompt and send to
the PAM responder in the logon_name member of the pam_data struct for
later use.
Additionally it separates the parsing of the data send by the PAM client
and the checks of this data. |
0fcc9ed1c66bed7ef3a0bcd6c517280a82391d2b |
|
13-Aug-2014 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Use the override_space option
https://fedorahosted.org/sssd/ticket/2397
When using the override_default_space option, this patch allows to log
in using both the original name (space user) as well as the normalized
name (space_user).
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
83bf46f4066e3d5e838a32357c201de9bd6ecdfd |
|
12-Feb-2014 |
Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com> |
Update DEBUG* invocations to use new levels
Use a script to update DEBUG* macro invocations, which use literal
numbers for levels, to use bitmask macros instead:
grep -rl --include '*.[hc]' DEBUG . |
while read f; do
mv "$f"{,.orig}
perl -e 'use strict;
use File::Slurp;
my @map=qw"
SSSDBG_FATAL_FAILURE
SSSDBG_CRIT_FAILURE
SSSDBG_OP_FAILURE
SSSDBG_MINOR_FAILURE
SSSDBG_CONF_SETTINGS
SSSDBG_FUNC_DATA
SSSDBG_TRACE_FUNC
SSSDBG_TRACE_LIBS
SSSDBG_TRACE_INTERNAL
SSSDBG_TRACE_ALL
";
my $text=read_file(\*STDIN);
my $repl;
$text=~s/
^
(
.*
\b
(DEBUG|DEBUG_PAM_DATA|DEBUG_GR_MEM)
\s*
\(\s*
)(
[0-9]
)(
\s*,
)
(
\s*
)
(
.*
)
$
/
$repl = $1.$map[$3].$4.$5.$6,
length($repl) <= 80
? $repl
: $1.$map[$3].$4."\n".(" " x length($1)).$6
/xmge;
print $text;
' < "$f.orig" > "$f"
rm "$f.orig"
done
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com> |
a3c8390d19593b1e5277d95bfb4ab206d4785150 |
|
12-Feb-2014 |
Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com> |
Make DEBUG macro invocations variadic
Use a script to update DEBUG macro invocations to use it as a variadic
macro, supplying format string and its arguments directly, instead of
wrapping them in parens.
This script was used to update the code:
grep -rwl --include '*.[hc]' DEBUG . |
while read f; do
mv "$f"{,.orig}
perl -e \
'use strict;
use File::Slurp;
my $text=read_file(\*STDIN);
$text=~s#(\bDEBUG\s*\([^(]+)\((.*?)\)\s*\)\s*;#$1$2);#gs;
print $text;' < "$f.orig" > "$f"
rm "$f.orig"
done
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com> |
b7f47840ab580833d3747881e1d0348fd154e8f0 |
|
03-Dec-2013 |
Michal Zidek <mzidek@redhat.com> |
responder: Use SAFEALIGN macro when checking pam data validity.
resolves:
https://fedorahosted.org/sssd/ticket/1359 |
d115f40c7a3999e3cbe705a2ff9cf0fd493f80fb |
|
15-Nov-2013 |
Michal Zidek <mzidek@redhat.com> |
SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 2) |
4c08db0fb0dda3d27b1184248ca5c800d7ce23f0 |
|
15-Nov-2013 |
Michal Zidek <mzidek@redhat.com> |
SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 1) |
b3292840ebaa747a9fd596ff47cc5d18198361d0 |
|
15-Nov-2013 |
Michal Zidek <mzidek@redhat.com> |
SYSDB: Drop the sysdb_ctx parameter from the sysdb_search module |
0e65abe5cf2abf5d4b431cf6bd161b419f07901d |
|
11-Sep-2013 |
Lukas Slebodnik <lslebodn@redhat.com> |
Fix formating of variables with type: size_t |
8f1ba6b89634aebdb7fa2dff72aeed9b3058c765 |
|
22-Aug-2013 |
Michal Zidek <mzidek@redhat.com> |
pam: Bad debug message format and parameter. |
efa8ca8cea5fb6153a42799544ab45fc96bc7ea5 |
|
08-Aug-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Set negcache if user is not found after provider check |
ddbe6bc5595767e52a3893355515fc260b8f4be4 |
|
08-Aug-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Check negcache when searching for fully qualified users, too |
680ddbdf8478f26cbb5efc9b712ea35714e089ba |
|
29-Jul-2013 |
Lukas Slebodnik <lslebodn@redhat.com> |
Remove unused memory context |
3df593099ecb4b7570548bc14ca58960f79bc9b2 |
|
18-Jul-2013 |
Ondrej Kos <okos@redhat.com> |
Do not try to set password when authtok_length is zero
https://fedorahosted.org/sssd/ticket/1814
When the authtok_length is zero, it shouldn't call
sss_authtok_set_password, because it tries to determine lenght of passed
string by itself and would read parts of DBus message behind boundaries
of authtok. |
7486dea9f5f7b2a6fbbacc6db740a82140b6377c |
|
20-May-2013 |
Lukas Slebodnik <lslebodn@redhat.com> |
Fixing critical format string issues.
--missing arguments.
--format '%s', but argument is integer.
--wrong format string, examle: '%\n' |
4668b4765530cf37289235e483f301100cc1ae21 |
|
02-May-2013 |
Sumit Bose <sbose@redhat.com> |
Remove unused TALLOC_CTX from responder_get_domain()
Recent refactoring removed the need to copy the domain info data of
sub-domains because the related objects will not be removed from memory
anymore. |
a28391f68a09eaedbe1a515f513ca56bbb94d7a5 |
|
08-Apr-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
Allocate PAM DP request data on responder context
https://fedorahosted.org/sssd/ticket/1869
Currently the private data passed to the PAM request is a structure
allocated on the client context. But in the odd case where the back end
would be stopped or stuck until the idle timeout hits, the DP callback
would access data that were freed when the client timed out.
This patch introduces a new structure allocated on responder context,
whose only purpose is to live as long as the request is active. |
9acfb09f7969a69f58bd45c856b01700541853ca |
|
02-Apr-2013 |
Lukas Slebodnik <lslebodn@redhat.com> |
Making the authtok structure really opaque.
Definition of structure sss_auth_token was removed from header file
authtok.h and there left only declaration of this structure.
Therefore only way how to use this structure is to use accessory function from
same header file.
To creating new empty authotok can only be used newly created function
sss_authtok_new(). TALLOC context was removed from copy and setter functions,
because pointer to stuct sss_auth_token is used as a memory context.
All declaration of struct sss_auth_token variables was replaced with
pointer to this structure and related changes was made in source code.
Function copy_pam_data can copy from argument src which was dynamically
allocated with function create_pam_data() or zero initialized struct pam_data
allocated on stack.
https://fedorahosted.org/sssd/ticket/1830 |
53b58615fbc13eddcd6e2f28066b67cb5f16b6d3 |
|
02-Apr-2013 |
Lukas Slebodnik <lslebodn@redhat.com> |
Reusing create_pam_data() on the other places.
Function create_pam_data() should be only one way how to create new
struct pam_data, because it also initialize destructor to created
object. |
b42bb7d9dbf9a4c44a03e7bf1bab471a8a85e858 |
|
19-Mar-2013 |
Michal Zidek <mzidek@redhat.com> |
Move SELinux processing to provider.
The SELinux processing was distributed between provider and
pam responder which resulted in hard to maintain code. This
patch moves the logic to provider.
IT ALSO REQUIRES CHANGE IN THE SELINUX POLICY, because
the provider also writes the content of selinux login
file to disk (which was done by responder before).
https://fedorahosted.org/sssd/ticket/1743 |
6d678b590c0fca3f942e6ab1e4b6156d478a97e9 |
|
04-Mar-2013 |
Michal Zidek <mzidek@redhat.com> |
Use the same dbg level for all ncache hits.
We used different debug levels for messages informing
about negative cache hits (old levels 2,3,4). Now it is
only SSSDBG_TRACE_FUNC (same level is used in nsssrv_services.c
and proposed in the ticket bellow).
https://fedorahosted.org/sssd/ticket/1771 |
24a913f47cc883903fbc71e180250da2530eba4a |
|
26-Feb-2013 |
Pavel Březina <pbrezina@redhat.com> |
if selinux is disabled, ignore that selogin dir is missing
https://fedorahosted.org/sssd/ticket/1817 |
0232747f04b650796db56fd7b487aee8a96fab03 |
|
10-Feb-2013 |
Simo Sorce <simo@redhat.com> |
Add function get_next_domain()
Use this function instead of explicitly calling domain->next
This function allows to get the next primary domain or to descend into the
subdomains and replaces also get_next_dom_or_subdom() |
740870643f337ce70d85f25f9ed057cd1f91028c |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain argument to sysdb selinux functions |
74ac1c2834cd8961ed9e7cadcfe28b113bffe4de |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain argument to sysdb_cache_auth() |
3f94d6718d44185137e13b6d326dfd63e8dc61c6 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain argument to sysdb_set_user_attr() |
58fd3aa25c5292bc67432647ab7e5059439fcc6d |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Pass domain to sysdb_get<pw/gr>nam() functions
Also allows us to remove sysdb_subdom_get<pw/gr>nam() wrappers and restore
fqnames proper value in subdomains, by testing for a parent domain being
present or not. |
64af76e2bef2565caa9738f675c108a4b3789237 |
|
10-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Change pam data auth tokens.
Use the new authtok abstraction and interfaces throught the code. |
c83e409297711e6012a164cc929c758a3f38e9b9 |
|
10-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Code can only check for cached passwords
Make it clear to the API users that we can not take arbitrary auth tokens.
We can only take a password for now so simplify and clarify the interface. |
8d9e0547a864cee05ab36bc988300c0cfa986025 |
|
19-Nov-2012 |
Simo Sorce <simo@redhat.com> |
Refactor the way subdomain accounts are saved
The original sysdb code had a strong assumption that only users from one
domain are saved in the databse, with the subdomain feature, we have
changed reality, but have not adjusted all the code arund the sysdb calls
to not rely on the original assumption.
One of the side effects of this incongrunece is that currently group
memberships do not return fully qualified names for subdomain users as they
should.
In oreder to fix this and other potential issues surrounding the violation
of the original assumption, we need to fully qualify subdomain user names.
By savin them fully qualified we do not risk aliasing local users and have
group memberhips or other name based matching code mistake a domain user
with subdomain usr or vice versa. |
6c7584a32899bf573f62cf8c3fb37410a8ec05bb |
|
12-Nov-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Do not always return PAM_SYSTEM_ERR when offline krb5 authentication fails |
a97f6203967b801d666ac686cdb7c76a7dfe55a9 |
|
02-Nov-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Do not leak fd after SELinux context file is written
https://fedorahosted.org/sssd/ticket/1619
We don't close the fd when we write the selinux login file in the pam
responder. This results in a fd leak. |
1542b85f13d72329685bdd97aa879c36d11f81be |
|
01-Oct-2012 |
Sumit Bose <sbose@redhat.com> |
Add new option default_domain_suffix |
ebb1f28998c06984765e3e78d30911c1c3ec84e2 |
|
13-Sep-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
SELinux: Always use the default if it exists on the server
https://fedorahosted.org/sssd/ticket/1513
This is a counterpart of the FreeIPA ticket https://fedorahosted.org/freeipa/ticket/3045
During an e-mail discussion, it was decided that
* if the default is set in the IPA config object, the SSSD would use
that default no matter what
* if the default is not set (aka empty or missing), the SSSD
would just use the system default and skip creating the login
file altogether |
3d038d2e0dc7af04ec2f7c85ae325accb39f6237 |
|
04-Sep-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Check if the SELinux login directory exists
https://fedorahosted.org/sssd/ticket/1492 |
f004e23af14fe020d81b8f97f30b448105b79606 |
|
16-Aug-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Only create the SELinux login file if there are mappings on the server
https://fedorahosted.org/sssd/ticket/1455
In case there are no rules on the IPA server, we must simply avoid generating
the login file. That would make us fall back to the system-wide default
defined in /etc/selinux/targeted/seusers.
The IPA default must be only used if there *are* rules on the server,
but none matches. |
79402313dc0d7f854b4334dd427e03b7baf0b9db |
|
16-Aug-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Do not try to remove the temp login file if already renamed
write_selinux_string() would try to unlink the temporary file even after
it was renamed. Failure to unlink the file would not be fatal, but would
produce a confusing error message.
Also don't use "0" for the default fd number, that's reserved for stdin.
Using -1 is safer. |
af824bac568ebe8a03273f73246ac78b415ea756 |
|
16-Aug-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Build SELinux code in responder conditionally
https://fedorahosted.org/sssd/ticket/1480 |
39b20025db12d88cd564666b3de0dbe0ce09ff2c |
|
01-Aug-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Fix bad check |
300c772767c1b12077cac1d148ac89738b058f97 |
|
27-Jul-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Write SELinux config files in responder instead of PAM module |
7016947229edcaa268a82bf69fde37e521b13233 |
|
27-Jul-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Move SELinux processing from session to account PAM stack
The idea is to rename session provider to selinux provider. Processing
of SELinux rules has to be performed in account stack in order to ensure
that pam_selinux (which is the first module in PAM session stack) will
get the correct input from SSSD.
Processing of account PAM stack is bound to access provider. That means
we need to have two providers executed when SSS_PAM_ACCT_MGMT message
is received from PAM responder. Change in data_provider_be.c ensures
just that - after access provider finishes its actions, the control is
given to selinux provider and only after this provider finishes is the
result returned to PAM responder. |
5266c7472ffb94504b8249310aee5c8a5511a922 |
|
18-Jul-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Fix off-by-one-error in the SELinux session code |
8bbf89c5ab798c112773fe23515c3a9df56dde71 |
|
18-Jul-2012 |
Nick Guay <nguay@redhat.com> |
Fix uninitialized values
https://fedorahosted.org/sssd/ticket/1379 |
538006b5ebead2198a2ca7aa082873c772472a99 |
|
25-Jun-2012 |
Jan Zeleny <jzeleny@redhat.com> |
SELinux user maps: pick just one map
This patch modifies behavior of SSSD when putting together content of
the file for pam_selinux. SSSD will now pick only the first user map in
the priority list which matches to the user logging in. Other maps are
ignored.
https://fedorahosted.org/sssd/ticket/1360 |
065771c9859df9c4137daa5187be3aa5633b3cd5 |
|
21-Jun-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Fix re_expression matching with subdomains
This patch fixes an issue which resulted in a need to initialize
responder with data from local domain, otherwise it would not correctly
detect requests for subdomains. Similar situation can occur if new
subdomain is added at runtime.
The solution is to ask for a list of subdomains in case there is a
candidate domain identified in the process of matching re_expressions
with given name. |
3c60433641ce2e86b9b04778c8f8652ef0d097e4 |
|
13-Jun-2012 |
Stef Walter <stefw@gnome.org> |
Make re_expression and full_name_format per domain options
* Allows different user/domain qualified names for different
domains. For example Domain\User or user@domain.
* The global re_expression and full_name_format options remain
as defaults for the domains.
* Subdomains get the re_expression and full_name_format of
their parent domain.
https://bugzilla.redhat.com/show_bug.cgi?id=811663 |
d1b9cd8de7b10f5d54501aace8731db9abbcc0b1 |
|
10-Jun-2012 |
Stephen Gallagher <sgallagh@redhat.com> |
PAM: Better pam_reply message |
bf8cce77a35cb0a3cdb0d21fb9c39b7b6372bc11 |
|
04-May-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Modify behavior of pam_pwd_expiration_warning
New option pwd_expiration_warning is introduced which can be set per
domain and can override the value specified by the original
pam_pwd_expiration_warning.
If the value of expiration warning is set to zero, the filter isn't
apllied at all - if backend server returns the warning, it will be
automatically displayed.
Default value for Kerberos: 7 days
Default value for LDAP: don't apply the filter
Technical note: default value when creating the domain is -1. This is
important so we can distinguish between "no value set" and 0. Without
this possibility it would be impossible to set different values for LDAP
and Kerberos provider. |
8aec6ca927c4cb08933d3725447765d08553c4de |
|
24-Apr-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Send PAM requests for subdomains to the right provider |
6fdde3913a11cd6148627696fa8717c34e8460fc |
|
24-Apr-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Modified responder_get_domain()
Now it checks for subdomains as well as for the domain itself |
bd09ead65cded3207cf228c44a31bbc87c2979bd |
|
18-Apr-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Prevent printing NULL from DEBUG messages |
b7b50b21d2254a079b1b1c299909483d23db1512 |
|
29-Feb-2012 |
Sumit Bose <sbose@redhat.com> |
Remove sysdb_get_ctx_from_list() |
3bea01f01d76e1e95a8239c0d3f67073992136a1 |
|
22-Feb-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Don't give memory context in confdb where not needed |
2a283b7f55508f05e58e61490208b8464731dc40 |
|
10-Feb-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
Only fetch SELinux string if the user is found |
45fea2d9ec14f49d6d88b28958b28d580d7116b3 |
|
06-Feb-2012 |
Jan Zeleny <jzeleny@redhat.com> |
SELinux support in PAM responder |
ab2d04a1c6c8b2a618813f3e066de0e2b07f44e9 |
|
27-Jan-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Do not overwrite ret |
9d1d6019a27a0ed70a665700a9f6acc55f874811 |
|
23-Jan-2012 |
Stephen Gallagher <sgallagh@redhat.com> |
DP: Fix bugs in sss_dp_get_account_int
The conversion to the tevent_req style introduced numerous bugs
related to memory management of the various client requests. In
some circumstances, this could cause memory corruption and
segmentation faults in the NSS responder. This patch makes the
following changes:
1) Rename the internal lookup from subreq to sidereq, to indicate
that it is not a sub-request of the current lookup (and therefore
is not cancelled if the current request is).
2) Change the handling of the callback loops since they call
tevent_req_[done|error], which results in them being freed (and
therefore removed from the cb_list. This was the source of the
memory corruption that would occasionally result in dereferencing
an unreadable request.
3) Remove the unnecessary sss_dp_get_account_int_recv() function
and change sss_dp_get_account_done() so that it only frees the
sidereq. All of the waiting processes have already been signaled
with the final results from sss_dp_get_account_int_done() |
0c7aa697991ea9df960fae14fd567ebdda3b4ff4 |
|
21-Jan-2012 |
Stephen Gallagher <sgallagh@redhat.com> |
RESPONDER: Extend sss_dp_account_send() to include extra data
Some NSS maps such as 'services' require more values to be passed
to the data provider than just the name or ID. In these cases, we
will amend an optional component to filter value to pass to the
data provider backend. |
6e24ec9a44cd78cfc6aedc2eff6bfa5e82202411 |
|
18-Jan-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
PAM: Fix reversed logic |
c7d387aaaa3d3470dec55a5ca0612873e6354ba8 |
|
21-Dec-2011 |
Jakub Hrozek <jhrozek@redhat.com> |
sss_get_cased_name utility function |
d844aab866ae237844360cea70e2dccdc90c783d |
|
20-Dec-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
PAM: make initgroups timeout work across multiple clients
Instead of timing out the initgroups lookup on a per-cctx basis,
we will maintain a hash table of recently-seen users and use this
instead. This will allow SSSD to handle user's logging into
multiple services simultaneously more graciously, as well as
playing nicer with SSH (which makes calls to PAM both before and
after a fork).
https://fedorahosted.org/sssd/ticket/1063 |
b3b42c49656e192787a983aaa8b9ec744ba4cb9d |
|
16-Dec-2011 |
Jakub Hrozek <jhrozek@redhat.com> |
Use the case sensitivity flag in responders |
df5adbad4f5e938a000aee6527628ad63a0bd4c3 |
|
16-Dec-2011 |
Jakub Hrozek <jhrozek@redhat.com> |
Canonicalize username in PAM provider |
247a7056af42fc50bbc896cddb66a60154ca12e9 |
|
16-Dec-2011 |
Jakub Hrozek <jhrozek@redhat.com> |
Responders: Split getting domain by name into separate function |
d22a6b9feb74bd630ab25dd6c32da6ae88b4fc33 |
|
05-Dec-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
Ignore NULL-terminator when checking UTF8-validity
Glib fails if the NULL-terminator is included when a length is
specified. |
069a5fe72d38f8e15b4416992453ac41a425ce9a |
|
29-Nov-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
RESPONDER: Refactor DP requests into tevent_req style |
872f2d32d979a1dd2145667487f170fec8b5189a |
|
18-Nov-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
RESPONDER: Ensure that all input strings are valid UTF-8 |
e79d23932ef9d52cf4eb32ddec2d0a9b3af9a9eb |
|
15-Aug-2011 |
Jan Zeleny <jzeleny@redhat.com> |
sysdb refactoring: memory context deleted
This patch deletes memory context parameter in those places in sysdb
where it is not necessary. The code using modified functions has been
updated. Tests updated as well. |
8a1738f9379a1b8fb5c95c3df649e014ff5a1434 |
|
15-Aug-2011 |
Jan Zeleny <jzeleny@redhat.com> |
sysdb refactoring: deleted domain variables in sysdb API
The patch also updates code using modified functions. Tests have also
been adjusted. |
7d81ad0206e14c298a6e0fe194a2442fe0cb5d6a |
|
04-Aug-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
Revert "Allow LDAP to decide when an expiration warning is warranted"
This reverts commit b0b9c38dfce3e3ccbfaa4d00fdf2ea08a70d41a6. |
b0b9c38dfce3e3ccbfaa4d00fdf2ea08a70d41a6 |
|
01-Aug-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
Allow LDAP to decide when an expiration warning is warranted
Previously, we were only displaying expiration warnings if the
password was going to expire within a day. We'll allow LDAP to
make this decision (by whether it passes us the expiration time).
In the future, we can add an option to clamp this down to a
shorter period if the local admin prefers it. |
df33bc1ede96f57f2b8be1fa6f8a1f7451bf051f |
|
08-Apr-2011 |
Jakub Hrozek <jhrozek@redhat.com> |
Fix unchecked return values of pam_add_response
https://fedorahosted.org/sssd/ticket/798 |
2f21344ef45ffa9327346037da0c65731734d747 |
|
21-Feb-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
Perform initgroups lookups for all domains
Previously, we were setting the client context PAM lookup timeout
after the first domain replied. However, if the user wasn't a
member of the first domain, their information wasn't being
updated.
This patch ensures that we only set this timeout after the user
has been found or all domains were searched. |
aab009992cc8fbc66d5c07ff501b6788144afe61 |
|
21-Jan-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
Perform initgroups lookup for PAM
Previously we were only looking up the user, but we need to make
sure that all groups are available for use by access providers. |
e9691a80bc55e5545ab8cfe1103407d27c965db1 |
|
19-Jan-2011 |
Sumit Bose <sbose@redhat.com> |
Use DEFAULT_PAM_VERBOSITY if config value cannot be retrieved |
67aa400d9ce91705225e51010e832877511cb7d4 |
|
19-Jan-2011 |
Sumit Bose <sbose@redhat.com> |
Add pam_pwd_expiration_warning config option |
f15683b4b100351e24e305d25bd4785c79ac8f55 |
|
11-Jan-2011 |
Sumit Bose <sbose@redhat.com> |
Validate user supplied size of data items
Specially crafted packages might lead to an integer overflow and the
parsing of the input buffer might not continue as expected. This issue
was identified by Sebastian Krahmer <krahmer@suse.de>. |
c71ff1e4615ec8560b90ca7d4827d99424ad0355 |
|
22-Dec-2010 |
Stephen Gallagher <sgallagh@redhat.com> |
Update the ID cache for any PAM request
Also adds an option to limit how often we check the ID provider,
so that conversations with multiple PAM requests won't update the
cache multiple times.
https://fedorahosted.org/sssd/ticket/749 |
7da6ae5558059218d660d879057f6e39864c3493 |
|
22-Dec-2010 |
Stephen Gallagher <sgallagh@redhat.com> |
Ensure ID is checked in all domains for PAM
Previously, this was initialized to zero, so the first domain in
the list wouldn't be checked for ID updates in
pam_check_user_search. This initializes the first domain to check
the provider. |
28a8ae09e78f145aa24f53a8997a4232b4d64587 |
|
14-Dec-2010 |
Stephen Gallagher <sgallagh@redhat.com> |
Eliminate possible NULL-dereference in pam_check_user_search
https://fedorahosted.org/sssd/ticket/719 |
d2d23847f879712d6e191134018a8bff70a5e2ab |
|
03-Dec-2010 |
Sumit Bose <sbose@redhat.com> |
Add support for server-side pam response messages |
9468a58f9bd191ef80c114943a288037c635a835 |
|
15-Nov-2010 |
Sumit Bose <sbose@redhat.com> |
Introduce pam_verbosity config option
Currently we display all PAM messages generated by sssd to the user. But
only some of them are important and others are just some useful
information.
This patch introduces a new option to the PAM responder which controls
what kind of messages are displayed. As an example the 'Authenticated
with cached credentials' message is used. This message is only displayed
if pam_verbosity=1 or if there is an expire date. |
4b498111c49b254e9aa5e2b0d4fcc1ba24a04236 |
|
15-Nov-2010 |
Sumit Bose <sbose@redhat.com> |
Avoid long long in messages to PAM client use int64_t |
6d65f4d78567cdcab9b0ab52e1f08ad054278cc7 |
|
17-Jun-2010 |
Stephen Gallagher <sgallagh@redhat.com> |
Honor filter_users in PAM |
02e38eae1b9cb5df2036a707dafd86f6047c17de |
|
26-May-2010 |
Sumit Bose <sbose@redhat.com> |
Add support for delayed kinit if offline
If the configuration option krb5_store_password_if_offline is set to
true and the backend is offline the plain text user password is stored
and used to request a TGT if the backend becomes online. If available
the Linux kernel key retention service is used. |
7ffaa2afb9e03a6f0b9c602c0f03b2074ea33eac |
|
12-Apr-2010 |
Simo Sorce <ssorce@redhat.com> |
sysdb: convert sysdb_getpwnam |
d8d877a5fcde1defdd1a438df020e087339873a0 |
|
12-Apr-2010 |
Simo Sorce <ssorce@redhat.com> |
Remove remaining use of sysdb_transaction_send |
c38706faa07a380c542cd1bda3ee54edfaf275d4 |
|
12-Apr-2010 |
Simo Sorce <ssorce@redhat.com> |
sysdb: convert sysdb_cache_auth |
506d34d2e84268c6589f613de0cb3992b8fb87a6 |
|
12-Apr-2010 |
Simo Sorce <ssorce@redhat.com> |
sysdb: convert sysdb_set_entry/user/group_attr |
f8c6a449412c6d5aa86609584fe4e530fd51a4b1 |
|
23-Feb-2010 |
Jakub Hrozek <jhrozek@redhat.com> |
Store lastLogin attribute when authenticating online |
953e07b7c43bc9bb7c7616180b1ba1730e22c59a |
|
19-Feb-2010 |
Sumit Bose <sbose@redhat.com> |
Remove unneeded items from struct pam_data |
1c48b5a62f73234ed26bb20f0ab345ab61cda0ab |
|
18-Feb-2010 |
Stephen Gallagher <sgallagh@redhat.com> |
Rename server/ directory to src/
Also update BUILD.txt |