Age | Commit message (Collapse) | Author | Files | Lines |
|
Some reformatting to stay within 79 char line length.
Better definition of server vs. machine usage in failover section.
|
|
When the resolv context destructor is invoked, the callbacks for pending
queries could have been called with ARES_EDESTRUCTION and try to re-send
the query.
|
|
Since ares_process_fd() might also cause fd_event() to be called again,
calling ares_process_fd() is unwise. The bug will cause a crash if
c-ares is using tcp connections.
Fixes: #384
|
|
Since we only call c-ares to process input on FD when there is an
activity on them, c-ares never gets a chance to react to a timed-out
request. This caused SSSD to hang.
Fixes: #381
|
|
We will allow 5s per DNS server, no retries.
|
|
|
|
Fixes: #378
|
|
Update tests to reflect these removals.
|
|
|
|
|
|
Fixes CVE-2010-0014
|
|
|
|
|
|
Tevent frees timer handlers once done, so freeing the timer within the event is
going to cause double frees. Just attach the timer event to the request it
depends on and make sure to steal it on NULL if we are going to free the
request from within the handler.
|
|
|
|
This was missing from the SSSDConfig API, though it was supported
by the daemon.
|
|
|
|
|
|
|
|
The timeout handler was not a child of the request so it could fire even though
the request was already freed.
The code wouldn't use async writes to the children so it could incur in a short
write with no way to detect or recover from it.
Also fixed style of some helper functions to pass explicit paramters instead of
a general structure.
Add common code to do async writes to pipes.
Fixed async write issue for the krb5_child as well.
Fix also sdap_kinit_done(), a return statement was missing and we were mixing
SDAP_AUTH and errno return codes in state->result
Remove usless helper function that just replicates talloc_strndup()
|
|
Do not handle a missing ccache file as inactive by default, check if
there are still active processes of the user.
|
|
|
|
If pam_sm_chauthtok is called with the flag PAM_PRELIM_CHECK set we
generate a separate call to the sssd to validate the old password before
asking for a new password and sending the change password request.
|
|
|
|
We support installed access providers as well as permit and deny
|
|
This matches the DEBUG logging available for groups.
|
|
|
|
|
|
The first fix only fixed tight loops caused by setting 'timeout=0'
in services. This patch also fixes it for domains.
|
|
|
|
The DEBUG level of the result should not be lower than the DEBUG
level of the request. It generates too much noise when enumerate
is enabled or initgroups deals with groups with large numbers of
users.
|
|
|
|
Function definition was missing "void" to denote that it took no
arguments.
|
|
|
|
If the domain heartbeat time was explicitly set in the
configuration to 0, we would enter a tight loop in the heartbeat
check and never answer requests from the child processes.
|
|
|
|
Move the upgrade function first and check explicitly for the old ldb name.
Perform upgrades up to v02 first if necessary.
Then proceed as normal letting the normal init functions perform further
upgrades if necessary.
This now works also if there is no "local" provider in the current
configuration.
|
|
|
|
This is necessary so that any process managing our startup and
shutdown (e.g. authconfig) does not block and stall waiting for
stderr to terminate.
Fixes bug https://fedorahosted.org/sssd/ticket/324
|
|
|
|
|
|
|
|
This requires increasing the required autoconf version to 2.59 for
use of $(abs_builddir).
Fix uninstallation of python files as well
|
|
Test loops and _i are only available since 0.9.5.
|
|
Some newlines are added, too.
|
|
|
|
The logic of selecting the server to fail over to was changed so
that we start from the server next to the one that didn't work the last
time. This is because the status of a server that failed last time might
get reset before we try another one. This can cause that we try to use
the nonworking server repeatedly, not giving a chance to other servers.
Fixes: #321
|
|
There were two problems with the code. We were using
fo_set_server_status() instead of fo_set_port_status() when we failed to
connect to a service. This is a problem because if two services use the
same server, or we want to use one server with two different ports,
marking the whole server as bad is incorrect. The other problem was that
be_resolve_server_done() was comparing the hostent structures -- these
are, however, equal across multiple server:port pairs with the same
server addresses.
Fixes: #321
|
|
|
|
|