| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Do not throw a DP error when failing to delete a nonexistent entity
Add debug logging to the negative cache
Fix a regression with the negative cache in multi-domain configurations
Fix regression where nonexistent entries were never added to the negative cache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
memberof: fix calculation of replaced members
We were skipping the check on the next value in the added list when a match
was found for the currentr value being checked.
memberof: free delete operation apyload once done
Large memberof delete operations can cause quite a number of searches
and the results are attached to a delop operation structure.
Make sure we free this payload once the operation is done and these
results are not used anymore so that we get a smaller total memory footprint.
|
|
|
|
|
| |
Now that gecos can come from either the 'gecos' or 'cn' attributes,
we need to ensure that we never remove it from the cache.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The failover code is not strictly in charge of resolving. Its main
function is to provide a server to connect to for a service.
It is legal, although not currently used, to have a server that has no
name (server->common == NULL). In this case, no resolving should be done
and it is assumed that the failover user, which are the SSSD back ends
in our case, would perform any resolving out of band, perhaps using the
user_data attribute of fo_server structure.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were not fully compliant with section 5.3 of RFC 2307 which
states:
An account's GECOS field is preferably determined by a value of the
gecos attribute. If no gecos attribute exists, the value of the cn
attribute MUST be used. (The existence of the gecos attribute allows
information embedded in the GECOS field, such as a user's telephone
number, to be returned to the client without overloading the cn
attribute. It also accommodates directories where the common name
does not contain the user's full name.)
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the loop ran through at least one
sdap_process_missing_member_2307() call and errored out later, we
were not canceling the transaction.
RFC2307: Ignore zero-length member names in group lookups
Mark transaction as done when cancelled
Fix typo in sdap_nested_group_process_step
|
| |
|
|
|
|
|
|
|
|
|
| |
sss_obfuscate: abort on ctrl+c
There is a python bug (http://bugs.python.org/issue11236) where
getpass.getpass() does not throw KeyboardInterrupt on ctrl+c. This
workaround is the closest we can get: if we detect the control
character in the string that we read, we'll cancel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't crash if we get a multivalued name without an origDN
Coverity 10740 and 10739
Don't crash on error if _name parameter unspecified
Coverity 10738
Check result of talloc_strdup() properly
Coverity 10737
|
|
|
|
|
|
| |
This routine will replace the use of sysdb_attrs_to_list() for any
case where we're trying to get the name of the entry. It's a
necessary precaution in case the name is multi-valued.
|
|
|
|
|
|
|
|
|
|
| |
Add originalDN to fake groups
Use fake groups during IPA schema initgroups
https://fedorahosted.org/sssd/ticket/822
Use sysdb_attrs_primary_name() in sdap_initgr_nested_store_group
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create sysdb_get_rdn() function
This function takes a DN formatted string and returns the RDN
value from it.
Add sysdb_attrs_primary_name()
This function will check a sysdb_attrs struct for the primary name
of the entity it represents. If there are multiple entries, it
will pick the one that matches the RDN. If none match, it will
throw an error.
Ignore aliases for users
Users in ldap with multiple values for their username attribute
will now be compared against the RDN of the entry to determine the
"primary" username. We will save only this primary name to the ldb
cache.
RFC2307: Ignore aliases for groups
Groups in ldap with multiple values for their groupname attribute
will now be compared against the RDN of the entry to determine the
"primary" group name. We will save only this primary group name
to the ldb cache.
RFC2307bis: Ignore aliases for groups
Groups in ldap with multiple values for their groupname attribute
will now be compared against the RDN of the entry to determine the
"primary" group name. We will save only this primary group name to
the ldb cache.
|
| |
|
| |
|
| |
|
|
|
|
| |
https://fedorahosted.org/sssd/ticket/824
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The previous version of the patch only expired a resolved host name
if the port was being reset. We want to always expire it so we notice
IP address changes even if the previous server is still up.
|
|
|
|
| |
https://fedorahosted.org/sssd/ticket/807
|
|
|
|
|
|
|
|
|
|
| |
https://fedorahosted.org/sssd/ticket/817
Refactor set_netgroup_entry()
To avoid wrong or missing netgroup names in the getent_ctx destructor
set_netgroup_entry() now takes the name out of the getent_ctx struct
instead of using a separate argument.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code assumed that only one server is given in the ipa_server
config option and fails if multiple servers were given. To fix this
nsupdate is first called without a server name assuming that nsupdate is
able to find the name of the master DNS server of the zone by reading
the SOA record. If this fails the IP address of the currently active
LDAP server is used and nsupdate is called again.
If there is no default realm given in /etc/krb5.conf nsupdate start
trying to find a realm based on the DNS domain which might lead to wrong
results. To be on the safe side the realm was added to the message send
to nsupdate.
|
|
|
|
| |
https://fedorahosted.org/sssd/ticket/809
|
|
|
|
|
|
|
|
|
|
| |
Previously, we were only constructing the basedn variable if the
ldap_search_base was not specified (which is unlikely to be in use
when using the IPA provier). However, if it did happen,
constrcuction of the compat search base for netgroups would be
using an uninitialized value.
Fixes https://fedorahosted.org/sssd/ticket/806
|
|
|
|
|
|
|
| |
Previously, this was only handled by the internal LDAP and Kerberos
providers, but this wasn't available early enough to properly
handle setting up the krb5_service for failover and creating the
krb5info files.
|
| |
|
|
|
|
|
|
| |
It is possible to set up FreeIPA servers where the Kerberos realm
differs from the IPA domain name. We need to allow setting the
krb5_realm explicitly to handle this.
|
|
|
|
|
|
|
| |
The IPA provider was not properly removing groups in the cache
that the user was no longer a member of.
https://fedorahosted.org/sssd/ticket/803
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
We don't yet have support for IPA's internal representation of
netgroups, so we need to use its compatibility mode for the time
being.
|
|
|
|
|
| |
This behavior was present for getpwnam() but was lacking for
initgroups.
|
| |
|
|
|
|
|
|
| |
In some automatic build environments the lists of translated man pages
were not generated properly because ls put multiple file names into a
single single.
|
| |
|
|
|
|
|
|
|
| |
Not all LDAP servers are capable of handling dual-encryption with
both TLS and SSL.
https://fedorahosted.org/sssd/ticket/795
|
|
|
|
| |
Fixes: https://fedorahosted.org/sssd/ticket/790
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the domain argument mandatory in sss_obfuscate
It doesn't make sense to set a "default" domain. We should require
that the domain always be specified.
Gracefully handle permission errors in sss_obfuscate
Make SSSDConfig API configuration readable
Previously, only root could read these files, but it makes sense
to allow non-root users to prototype sssd.conf files.
removing password option functionality
|
| |
|
|
|
|
|
| |
Option is named to discourage use in production environments and
is intentionally not listed in the SSSDConfig API.
|
|
|
|
|
|
|
| |
Currently we fail if attributes are empty. But there are some use cases
where requested attributes are empty. E.g Active Directory uses an empty
member attribute to indicate that a subset of the members are in a range
sub-attribute.
|
|
|
|
| |
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|