| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
This patch is a backport of original written by Ralf Haferkamp.
Addtional parameter "populate_members" for save_group() and save_groups()
to indicate that the "member" attribute of the groups is populated
with sysdb DNs of the members (instead of LDAP DNs).
|
| |
|
| |
|
|
|
|
|
| |
Previously, it assumed that all members were users. This changes
the interface so that either a user or a group can be specified.
|
| |
|
|
|
|
|
|
|
|
| |
This first approach handles the non-optimized "pure" RFC2307bis
case. It recursively calls into nested groups until it it has
found them all or hits the pre-defined nesting limit.
It then saves all member users first, then all groups to the sysdb
|
|
|
|
|
| |
If we send a zero num_users value, we should just immediately
return success, rather than starting a useless transaction
|
| |
|
|
|
|
|
|
|
|
|
| |
If during initgroups operation we find out that any of the groups
the user is a member of is not cached yet we add a incomplete,
expired group entry. That way, we save ourselves from looking up and
saving all the potential user entries the group may also consist of.
Because the group is expired, it will be refreshed during the next
getgrgid/getgrnam call and correct member list will be returned.
|
|
|
|
| |
Useful for optimizing the initgroups operation.
|
| |
|
|
|
|
|
| |
sss_hash_create() produces a dhash table living in the talloc
hierarchy.
|
|
|
|
|
|
|
|
|
| |
Erase events on LDAP socket when backend is offline and an event appears on the socket.
Normally this would lead to infinite loop, because event is present on the fd,
but instead of being processed, an error log is written and the program continues to wait
for the event.
Ticket: #599
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
We tried to be too clever and only requested the name of the group,
but we require the objectClass to validate the results.
https://fedorahosted.org/sssd/ticket/622
|
| |
|
| |
|
|
|
|
|
| |
Some LDAP servers allow binding with blank passwords. We should
not allow a blank password to authenticate the SSSD.
|
|
|
|
|
|
|
| |
The initial verification of the old password was returning an
error because we were not explicitly setting dp_err to
DP_ERR_SUCCESS and it was initialized earlier in the function to
DP_ERR_FATAL.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Instead of recursively updating all users of each group the user
being queried belongs to, just add or remove membership for the
requested user.
Fixes https://fedorahosted.org/sssd/ticket/478
|
|
|
|
|
|
|
|
| |
This function will take a user, a list of groups that this user
should be added to and a list of groups the user should be removed
from and will recursively call sysdb_[add|remove]_group_member
Includes a unit test
|
| |
|
| |
|
|
|
|
| |
Includes a unit test
|
| |
|
|
|
|
|
|
|
| |
Currently the PAM and NSS client just return an error if there are
problems on an open socket. This will lead to problems in long running
programs like gdm if sssd is restarted, e.g. during an update. With this
patch the socket is closed and reopened.
|
|
|
|
|
| |
Also adds support for detecting LDAPS errors by adding a check for
SDAP_DIAGNOSTIC_MESSAGE after ldap_search_ext()
|
|
|
|
|
| |
We will now emit a level 0 debug message on keytab errors, and
also write to the syslog (LOG_DAEMON)
|
| |
|
|
|
|
|
| |
Right now, this log function writes to the syslog. In the future,
it could be modified to work with ELAPI or another logging API.
|
|
|
|
|
|
|
|
|
|
|
| |
In violation of the standard, some LDAP servers control access to
the RootDSE, thus preventing us from being able to read it before
performing a bind.
This patch will allow us to continue on if the RootDSE was
inaccessible. All of the places that we use the return value of
the RootDSE after this are already checked for NULL and use sane
defaults if the RootDSE is unavailable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Operational attributes are not returned in searched requests unless
explicitly requested according to RFC 4512 section 5.1. Therefore to
get several standard attributes of root DSE we have to request for
them. The requested attrs are:
- altServer
- namingContexts
- supportedControl
- supportedExtension
- supportedFeatures
- supportedLDAPVersion
- supportedSASLMechanisms
Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
If sdap_mark_offline() is called before a live connection is
established, sdap_fd_events could be NULL, causing a segfault when
remove_ldap_connection_callbacks() attempts to free the
sdap_fd_events->conncb
https://fedorahosted.org/sssd/ticket/545
|
|
|
|
|
| |
ldap_get_option() can only fail if the option we're removing has
already been removed. It is sufficient to log this and continue.
|
|
|
|
| |
https://fedorahosted.org/sssd/ticket/515
|
| |
|
|
|
|
|
| |
Creates a new function - sss_ncache_prepopulate() - that can be
shared with other responders, such as PAM.
|
|
|
|
|
| |
Rename functions from nss_ncache_* to sss_ncache_*
Move negative cache to responder/common and rename as negcache.c/h
|