| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| | |
This uses information from the deref control (if available) to get the
username for each of the members of the group. Any missing deref member
attribute values will be seen as nested groups and will be traversed if
nested group support is enabled.
|
| |
| |
| |
| |
| |
| |
| | |
This function looks for deref response controls (LDAP_CONTROL_X_DEREF)
in the entry and returns the information from the dereferenced attribute
in two lists: dereferenced values and attribute values that could not be
dereferenced.
|
| |
| |
| |
| |
| |
| |
| | |
This changes the group by member searches to not request the member
attributes. This will speed up result parsing by a fraction because less
data is transferred but will also cause the deref control not to be
added to these searches.
|
| |
| |
| |
| |
| |
| | |
This adds a test for a bug in OpenLDAP that allocated a
LDAP_CONTROL_PAGEDRESULTS control instead of a LDAP_CONTROL_X_DEREF
control.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This uses the LDAP_CONTROL_X_DEREF control as descibed in
draft-masarati-ldap-deref-00 to request the LDAP server to dereference
member attribute values to uid attribute values in order to avoid doing
extra searches.
This control is currently only added for group search by looking for the
member attribute in the search.
|
| |
| |
| |
| |
| |
| | |
This changes entrye->rangedattributevalues to entry->buffers because the
propery is not only used for ranged attribute values but for anything
that can be freed with free().
|
| |
| |
| |
| |
| | |
Since we could get arbitrray controls and are only interested in page
controls we ignore failures to find page controls.
|
|/
|
|
|
| |
This also changes do_try_search() to support building continued paged
controls and lays the groundwork for adding more search controls.
|
|
|
|
|
|
| |
This allows remapping the member attribute to an empty string which
removes support for that attribute. This can reduce the number of search
operations if the attribute is not used.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some pieces of code did not properly free() the value returned by
set_pop().
The leak in group code was related to the introduction of nested group
functionality in 41ba574 (merged in 3daa68d) so should only be present
in releases 0.9.0 forward.
The leak in the netgroup code only ended up in the Solaris version of
the NSS module and was introduced in 4ea9ad1 (merged in 5c8779d). This
leak is present in all releases from 0.8.0 forward.
|
| |
|
|\
| |
| |
| |
| | |
This removes a race condition between the exit of the initial nslcd
process (as started by the init script) and nslcd services being ready.
|
| | |
|
| |
| |
| |
| |
| | |
This tries to avoid child processes ending up with a copy of the pipe
file descriptor that is used to signal readiness of the daemon.
|
|/
|
|
|
|
|
|
|
|
|
| |
This introduces a new daemonize module that provides functions for
closing all file descriptors, redirecting stdin/stdout/stderr to
/dev/null and a function for backgrounding an application while only
exiting the original process after the daemon process has indicated
readiness.
This is used to exit the original process only after the listening
socket has been set up and the worker threads have been started.
|
| |
|
|\
| |
| |
| |
| | |
This introduces a new cache configuration option that allows setting
positive and negative cache lifetimes for the dn2uid cache.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
The configuration values are used in the cache to determine positive and
negative hit TTLs. This also allows completely disabling the cache.
|
| |
| |
| |
| |
| | |
This adds the cache nslcd.conf configuration option to configure the
dn2uid cache in nslcd with a positive and negative cache lifetime.
|
|/
|
|
|
| |
The positive value determines the time a found entry is valid, the
negative timeout determines the lifetime of not found entries.
|
|
|
|
| |
This fixes 2caeef4.
|
|
|
|
|
|
| |
Common buffer sizes are now stored centrally so it can be easily and
consistently updated if required. Some buffers remain with locally
defined sizes that do not match a global buffer size.
|
|
|
|
|
|
| |
This checks whether pam_get_item() takes a const void ** or void ** item
value argument and defines a PAM_ITEM_CONST macro that is const when it
should. This avoids some compiler warnings.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This mostly tries to reduce the influences of the test environment
(local users and groups) on the tests. This uses another username
(vsefcovic) in the PAM tests instead of the user arthur to avoid clashes
with existing users.
The PAM tests are skipped if passwd claims that it cannot modify LDAP
passwords (for FreeBSD).
|
|
|
|
|
| |
This includes a number of small fixes for issues that were formerly
masked by the incorrect AC_LANG_PROGRAM check.
|
| |
|
|
|
|
|
| |
Apparently the macro got changed a long time ago to provide a main()
definition. This bug caused the extra warning flags to not be added.
|
|
|
|
|
| |
This provides compatibility definitions for systems that don't have
these functions (some Solaris flavours).
|
|
|
|
|
|
| |
This causes the pidfile to be written as the first thing after
daemonising nslcd to minimise the race between service script completion
and pidfile being locked.
|
| |
|
| |
|
|
|
|
|
|
| |
This also invalidates the caches configured with reconnect_invalidate on
the first successful search. This should handle the case more gracefully
where caches were filled with negative hits before nslcd was running.
|
| |
|
|
|
|
|
|
|
|
|
| |
This supports old ldapsearch commands that don't support the -x and -H
options and ldapsearch commands that don't exit with a failure code if
nothing is found.
This also switches the test_myldap test to use the testenv check for the
LDAP server.
|
|
|
|
|
|
|
| |
This extends test_pamcmds to handle other pam/su/passwd errors and
responses (as seen on CentOS 5). Also switch to stronger password when
changing the test user's password to avoid problems with password
strength checks.
|
|
|
|
|
| |
This changes the in_testenv.sh script into testenv.sh which has more
checks and a few functions to configure the test environment.
|
| |
|
|
|
|
|
| |
This refreshes the documentation of the tests, especially the test
environment.
|
|
|
|
|
|
| |
The setup_slapd.sh script can be used to set up and start a slapd
instance in a single (temporary) directory. The slapd instance is
configured and loaded with test data for use in the test environment.
|
|
|
|
|
|
|
|
|
| |
This fixes an issue with the sortgroup function which failed to handle a
group line with only two colons correctly. Such group entries have been
seen in the wild on FreeBSD.
Also, comment lines in group files are now ignored (also seen on
FreeBSD).
|
|
|
|
|
|
| |
This slightly modifies the string hashing function to use the djb2 hash.
This hash is supposed to be reasonably fast and have reasonably few
collisions.
|
|
|
|
| |
This allows more search bases which may be useful in some environments.
|
| |
|
| |
|
|
|
|
|
| |
This avoids having to have all modules installed in the build
environment. A Python version is still required during build.
|
| |
|