Age | Commit message (Collapse) | Author | Files | Lines |
|
* the internal request is now more generic and is decoupled from
account-specific data. There is a new sss_dp_issue_request() wrapper
that issues a BE request or registers a callback
* the public requests all use struct sss_dp_req_state as the tevent_req
state data. This allows to report back data from the internal request
even if the caller is just a callback notifier
* each specific request now uses an _info structure that contains all
the data necessary to construct a DBusMessage passed to provider
* each specific request now defines a sss_dp_get_$data_msg callback that
is called from the sss_dp_issue_request() common wraper. The purpose
of the wrapper is to construct a DBusMessage and bind it to a DBus
method so the message can be just sent over to back end
The miscellanous changes include:
* change SSS_DP_ constants to an enum. This way, a switch() would error
if a value is not handled.
* rename sss_dp_get_account_int_send() to sss_dp_internal_get_send()
request because the internal request is going to handle more than just
account data
* the DBus return values were renamed from err_maj, err_min to dp_err
and dp_ret respectively
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Move the debug statement identifying the DN to an earlier line, so
if we get a reply with no attributes, we know which entry is at
fault.
|
|
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()
|
|
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.
|
|
If we hit the "read too much, this should never happen" line, we
would write a NULL-terminator past the end of the static buffer.
Coverity 12472
|
|
Coverity 12480
|
|
|
|
|
|
Fixes https://fedorahosted.org/sssd/ticket/967
|
|
There were many places in the client code where we were
duplicating a loop to copy data in from the response buffer. This
patch turns those loops into a function for easier maintenance and
easier-to-read *readrep() routines.
|
|
|
|
|
|
|
|
|
|
https://fedorahosted.org/sssd/ticket/1110
Adds new configuration options:
- ldap_sudo_refresh_enabled - enable/disable periodical updates
- ldap_sudo_refresh_timeout - rules timeout (refresh period)
|
|
https://fedorahosted.org/sssd/ticket/1110
|
|
|
|
https://fedorahosted.org/sssd/ticket/1110
|
|
|
|
For older platforms, do not add the 'realm' line in
the update message
|
|
|
|
|
|
|
|
Also add comment that setting ipa_hbac_support_srchost to False disables
search filters given in ipa_host_search_base
|
|
Also fixes a return value bug where we were returning errno error
codes instead of nss_status codes.
Fixes https://fedorahosted.org/sssd/ticket/1135
|
|
In a heavy load environment, sometimes the failover service record
would be updated and free the URI value. We need to guarantee that
this URI string remains valid throughout the entire request.
https://fedorahosted.org/sssd/ticket/1139
|
|
|
|
|
|
This test always generate a random string so each time the test is run we will
test the hash function with a new value.
It also hashes the same string twice and compares the result so that we have a
chance of catching if uninitialized variables are getting mixed into the value
calculation and end up generating different results for the same input.
|
|
|
|
|
|
|
|
the sized_string structure makes it easier to keep track of string lengths
and makes passing around data more compat and readable.
|
|
|
|
https://fedorahosted.org/sssd/ticket/1131
|
|
https://fedorahosted.org/sssd/ticket/1130
|
|
|
|
|