Age | Commit message (Collapse) | Author | Files | Lines |
|
Two new options are added to the LDAP access provider to allow a broader
range of access control rules to be evaluated.
'ldap_access_order' makes it possible to run more than one rule. To keep
compatibility with older versions the default is 'filter'. This patch
adds a new rule 'expire'.
'ldap_account_expire_policy' specifies which LDAP attribute should be
used to determine if an account is expired or not. Currently only
'shadow' is supported which evaluates the ldap_user_shadow_expire
attribute.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A temporary signal handler for SIGTERM is set up in server_setup()
that calls exit() from within a pure signal handler. This causes a
race condition where it's possible that if the SSSD is restarted
immediately while it is still initializing the sysdb caches for
the first time, it can leave the cache in a corrupt and unusable
state.
https://bugzilla.redhat.com/show_bug.cgi?id=658444
|
|
|
|
There is a race condition where if we send a SIGTERM before the
kernel has scheduled the child, it may be lost, and the child will
not terminate and will leave the monitor hung in wait().
This patch alters this behavior so that we will send the SIGTERM
again every 10ms and check the wait() in a nonblocking manner.
|
|
|
|
|
|
sdap_cli_connect_recv_ext() checks if the failover server is not set to
determine if the backend is offline. To make this work properly if
multiple servers are defined the failover server must be set to NULL if
all servers are checked.
|
|
Before setting the backend to online during a reset offline request the
check_online method if the ID provider is called. If the check_online
method returns that the ID provider is still not reachable the backend
stays offline. Otherwise the backend is switched to online and the
related callbacks are run.
Additionally the check online test is called during the res_init request
because a change in /etc/resolve.conf might also make a server reachable
which was assumed offline before.
|
|
|
|
https://fedorahosted.org/sssd/ticket/691
|
|
https://fedorahosted.org/sssd/ticket/686
|
|
All errnum values passed into this function throughout the code
are PAM error codes, but we were passing them through strerror()
to print them, which is only meaningful for ERRNO error codes.
This patch changes dp_err_to_string() to use pam_strerror() and
renames it to dp_pam_err_to_string() for clarity.
https://fedorahosted.org/sssd/ticket/636
|
|
|
|
|
|
Add mutexes around nss operations and serialize them.
This is necessary because nss operations may have global state.
For pam it is sufficient to protect socket operations instead.
As pam functions use only the provided pam handler.
Fixes: https://fedorahosted.org/sssd/ticket/640
|
|
|
|
https://fedorahosted.org/sssd/ticket/665
|
|
|
|
Currently sssd does not support authentication via GSSAPI. I think it
is not necessary to support it, because if GSSAPI is possible Kerberos
should be use for authentication.
|
|
|
|
Previously, there was a race-condition where the monitor might
terminate before its children.
|
|
|
|
We weren't decrementing the count of in-progress authentication
request child processes when they completed successfully. With
this patch, we will now guarantee that the process count is
accurate and that queued requests will be started when a slot is
freed up.
|
|
|
|
|
|
https://fedorahosted.org/sssd/ticket/657
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
https://fedorahosted.org/sssd/ticket/458
|
|
Also allow it to be disabled entirely
|
|
|
|
|
|
|
|
|