57c5ea8825c7179fd93382dbcbb07e828e5aec19 |
|
29-Jan-2018 |
René Genz <liebundartig@freenet.de> |
Fix minor spelling mistakes in tests/cmocka/*
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
2af80640f18966d65cf82106059ce3c060df93bf |
|
11-Dec-2017 |
amitkuma <amitkuma@redhat.com> |
cache: Check for max_id/min_id in cache_req
The cache_req code doesn't check the min_id/max_id
boundaries for requests by ID.
Extending the .lookup_fn function in each plugin
that searches by ID for a check that returns non-zero
if the entry is out of the range and 0 if not.
Resolves: https://pagure.io/SSSD/sssd/issue/3569
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
f2a5e29f063f9d623c1336d76f4b2bc500c1a5e2 |
|
06-Dec-2017 |
Jakub Hrozek <jhrozek@redhat.com> |
CACHE_REQ: Use the domain-locator request to only search domains where the entry was found
Uses the internal cache_req interface around the getAccountDomain to only
search the domain returned by the cache_req_locate_domain_recv() request.
If that request returns that no domain matched, all domains (belonging
to the currently processed main domain) are skipped by setting the
per-type negative cache.
if a domain is reported as containing an object, all domains except that
one are marked with the negative cache entries.
Resolves:
https://pagure.io/SSSD/sssd/issue/3468
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Reviewed-by: Sumit Bose <sbose@redhat.com> |
6cd367da68ff56eb48b8b4167dbdd5e53992d194 |
|
06-Dec-2017 |
Jakub Hrozek <jhrozek@redhat.com> |
TESTS: Add tests for the object-by-id cache_req interface
This interface will be extended in later patches, but had no tests at
all.
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Reviewed-by: Sumit Bose <sbose@redhat.com> |
cee85e8fb9534ec997e5388fce59f392cf029573 |
|
30-Mar-2017 |
Jakub Hrozek <jhrozek@redhat.com> |
CACHE_REQ: Domain type selection in cache_req
Related to:
https://pagure.io/SSSD/sssd/issue/3310
Adds a new enumeration cache_req_dom_type. It is a tri-state that
allows the caller to select which domains can be contacted - either only
POSIX, only application domains or any type.
Not all plugins of cache_req have the new parameter added -- only those
that are usable/useful in a non-POSIX environment. For example, it makes
no sense to allow the selection for calls by ID because those are
inherently POSIX-specific. Also, services or netgroups are supported
only coming from POSIX domains.
At the moment, the patch should not change any behaviour as all calls
default to contacting POSIX domains only.
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
54039570d26e29444c398aa4ad6ba638f1713566 |
|
02-Mar-2017 |
Sumit Bose <sbose@redhat.com> |
cache_req: use own namespace for UPNs
If the UPN use the same domain name as the configured domain an
unsuccessful lookup by name will already create an entry in the negative
cache. If the lookup by UPN would use the same namespace the lookup will
immediately be finished because there would already be an entry in the
negative cache.
Resolves:
https://pagure.io/SSSD/sssd/issue/3313
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
4df7aec645f87342f3a5146062abcb15f71f4fd9 |
|
08-Feb-2017 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: move dp request to plugin
This will allow to use cache req even for object that do not use
account request such as hosts.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
b206e1abb7f6ea373d12537b3338552aed6b656d |
|
19-Dec-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: encapsulate output data into structure
In enumeration calls we want to get objects from all domains, not
only from the first matched domain. We move the cache search result
into a structure that contains combination of domain and ldb_result.
This is preparation for enumeration support inside cache_req.
Resolves:
https://fedorahosted.org/sssd/ticket/3151
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
4169fb26ea2ff93c19ecdad6e09382732ea5deeb |
|
20-Oct-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: switch to new code
This patch switch the old switch-based cache req code to
the new plugin-based.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
d20a56f2f05a011e62ba921e70124583e3c5b652 |
|
07-Jul-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
RESPONDERS: Return the sysdb name from cache_req
name.name is the input name. Since cache_req is an internal interface,
we need to return the sysdb name instead.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
187f65802ed26c49dbac2fba5e7cd1508f3db1e8 |
|
07-Jul-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
RESPONDER: Use fqnames for cache_req lookups of users and groups
When looking up users or groups by name, qualify the name into the
internal format before the lookup.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
a257259b05d62ebe548b6c798a3aa03a97dbc0c2 |
|
23-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: If modifyTimestamp is the same, only update the TS cache
Resolves:
https://fedorahosted.org/sssd/ticket/2602
If the entry being saved contains the original modifyTimestamp attribute
and the modifyTimestamp attribute is the same as the one we already
saved to the timestamp cache, only the expire timestamps in the
asynchronous timestamp cache will be bumped and the sysdb code will
avoid writes to the main cache completely. If the modifyTimestamp is
either missing or differs, we assume the entry had changed and do a full
write to the main cache.
Also amends the generic sysdb_set_attrs* and similar functions that
their results is also reflected in the timestamps cache.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
e7ccfb139388c947ec2dee16cfe3005f5643b90d |
|
10-Jun-2016 |
Petr Cech <pcech@redhat.com> |
RESPONDERS: Negative caching of local users
This patch adds new option 'neg_cache_locals_timeout' into section
of NSS responder. It allows negative caching of local groups and
users. Default value is 0 which means no caching.
Resolves:
https://fedorahosted.org/sssd/ticket/2928
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
beb07d2f45856d4f3135f173cce551a2aa878f57 |
|
11-May-2016 |
Petr Cech <pcech@redhat.com> |
RESPONDER: Removing neg_timeout from pam responder
It removes neg_timeout parameter from struct pam_ctx. Timeout is
handled by context of negative cache internally.
This patch additioanlly removes neg_timeout from struct cache_req_state.
Resolves:
https://fedorahosted.org/sssd/ticket/2317
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
39d36216a1692eee6cc5359f6c7ccaa7789be76d |
|
11-May-2016 |
Petr Cech <pcech@redhat.com> |
NEGCACHE: Adding timeout to struct sss_nc_ctx
It adds timeout of negative cache to handling
struct sss_nc_ctx.
There is one change in API of negatice cache:
* int sss_ncache_init(TALLOC_CTX *memctx,
uint32_t timeout, <----- new
struct sss_nc_ctx **_ctx);
There is also one new function in common/responder:
* errno_t responder_get_neg_timeout_from_confdb(struct confdb_ctx *cdb,
uint32_t *ncache_timeout);
Resolves:
https://fedorahosted.org/sssd/ticket/2317
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
0d111f6975c7e132bf1069d6d7bd6d6afd2127df |
|
14-Mar-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req test: add lookup by sid
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
8be4efb91f9af1bf49628c497a9de4b258bb893e |
|
14-Mar-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req tests: improve user and group creation
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
c19374b2a9b676ca534f52ef76d80f0945fe8fb2 |
|
14-Mar-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req tests: use leak check in test fixtures
To ensure no memory is leak on long living context such as rctx.
Resolves:
https://fedorahosted.org/sssd/ticket/2869
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
9fc9365da3ff8e52814b7924d65c68eef72c484d |
|
14-Mar-2016 |
Pavel Březina <pbrezina@redhat.com> |
cache_req tests: remove unused users and groups
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
16212bbb2aaa55d0587515e72c0018479ae51be9 |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Add test_groups_by_recent_filter_valid
Test groups_by_filter_valid() was removed in past. We will add two new
tests instead of it. Logic of those tests is connected to RECENT
filter. It returns only records which have been wrote or updated after
filter was created (or another given time).
groups_by_filter_valid() --> group_by_recent_filter_valid()
grous_by_recent_filter_valid()
The first of new tests, group_by_recent_filter_valid(), counts with two
groups. One is stored before filter request creation and the second
group is stored after filter request creation. So filter returns only
one group.
The second of new tests, groups_by_recent_filter_valid(), counts with
three users. One is stored before filter request creation and two
groups are stored after filter request creation. So filter returns two
groups.
This patch adds groups_by_recent_filter_valid().
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
5928fcbb57b92bfd18ad15aaaf4a5e1ab8dabe61 |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Refactor of test_responder_cache_req.c
We need little more in backroung of responder_cache_req tests. There
will be tests which will use three test groups. This patch add support
for it.
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
fe6dd669d1e8606862879127f92c177bb7fdc1bd |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Add test_group_by_recent_filter_valid
Test groups_by_filter_valid() was removed in past. We will add two new
tests instead of it. Logic of those tests is connected to RECENT
filter. It returns only records which have been wrote or updated after
filter was created (or another given time).
groups_by_filter_valid() --> group_by_recent_filter_valid()
grous_by_recent_filter_valid()
The first of new tests, group_by_recent_filter_valid(), counts with two
groups. One is stored before filter request creation and the second
group is stored after filter request creation. So filter returns only
one group.
The second of new tests, groups_by_recent_filter_valid(), counts with
three users. One is stored before filter request creation and two
groups are stored after filter request creation. So filter returns two
groups.
This patch adds group_by_recent_filter_valid().
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
a6a5a08a357d2adbb653b81bacc602ca3543c4c4 |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Add test_users_by_recent_filter_valid
Test users_by_filter_valid() was removed in past. We will add two new
tests instead of it. Logic of those tests is connected to RECENT
filter. It returns only records which have been wrote or updated
after filter was created (or another given time).
users_by_filter_valid() --> user_by_recent_filter_valid()
users_by_recent_filter_valid()
The first of new tests, user_by_recent_filter_valid(), counts with
two users. One is stored before filter request creation and the second
user is stored after filter request creation. So filter returns only one
user.
The second of new tests, users_by_recent_filter_valid(), counts with
three users. One is stored before filter request creation and two
users are stored after filter request creation. So filter returns two
users.
This patch adds users_by_recent_filter_valid().
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
c4d4fe1603420fe8f3d256a3a446974699563ff3 |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Refactor of test_responder_cache_req.c
We need little more in background of responder_cache_req tests. There
will be tests which will use three test users. This patch add support
for it.
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
b0e8c1802557645e2ff6a88c54c520b0f0ff9ebb |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Refactor of test_responder_cache_req.c
This patch only defines constant TEST_USER_PREFIX. So code will be more
redeable.
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
da79bee1472a06b89be2df903fb0bd8ce600c610 |
|
14-Nov-2015 |
Petr Cech <pcech@redhat.com> |
TEST: Add test_user_by_recent_filter_valid
Test users_by_filter_valid() was removed in past. We will add two new
tests instead of it. Logic of those tests is connected to RECENT
filter. It returns only records which have been wrote or updated after
filter was created (or another given time).
users_by_filter_valid() --> user_by_recent_filter_valid()
users_by_recent_filter_valid()
The first of new tests, user_by_recent_filter_valid(), counts with two
users. One is stored before filter request creation and the second user
is stored after filter request creation. So filter returns only one
user.
The second of new tests, users_by_recent_filter_valid(), counts with
three users. One is stored before filter request creation and two users
are stored after filter request creation. So filter returns two users.
This patch adds user_by_recent_filter_valid().
Resolves:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
df9e9a1f9b7dc255eb62c390163c25917b08f5a2 |
|
10-Nov-2015 |
Lukas Slebodnik <lslebodn@redhat.com> |
TESTS: Fix warnings -Wshadow
src/tests/cmocka/test_sss_sifp.c: In function 'test_sss_sifp_strdup_valid':
src/tests/cmocka/test_sss_sifp.c:153: warning: declaration of 'dup' shadows a global declaration
/usr/include/unistd.h:528: warning: shadowed declaration is here
src/tests/cmocka/test_sss_sifp.c: In function 'test_sss_sifp_strdup_null':
src/tests/cmocka/test_sss_sifp.c:163: warning: declaration of 'dup' shadows a global declaration
/usr/include/unistd.h:528: warning: shadowed declaration is here
src/tests/cmocka/test_sdap.c: In function '__wrap_ldap_next_attribute':
src/tests/cmocka/test_sdap.c:203: warning: declaration of 'index' shadows a global declaration
/usr/include/string.h:489: warning: shadowed declaration is here
src/tests/cmocka/test_responder_cache_req.c: In function 'prepare_user':
src/tests/cmocka/test_responder_cache_req.c:163: warning: declaration of 'time' shadows a global declaration
/usr/include/time.h:186: warning: shadowed declaration is here
src/tests/cmocka/test_responder_cache_req.c: In function 'prepare_group':
src/tests/cmocka/test_responder_cache_req.c:244: warning: declaration of 'time' shadows a global declaration
/usr/include/time.h:186: warning: shadowed declaration is here
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
6c2e507bd1571f9c7e26c5c9d60753b29fb75578 |
|
09-Oct-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
tests: Fix compilation warning
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
3688374991afb34bbaf2b7843683fc13dd77879d |
|
08-Oct-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req tests: reduce code duplication
Reviewed-by: Sumit Bose <sbose@redhat.com> |
28ebfa4373d1e7ce45b5d70a3619df1c074a661e |
|
08-Oct-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: add support for UPN
Reviewed-by: Sumit Bose <sbose@redhat.com> |
50c9d542e8bf641412debaa82a4dcf67ddb72258 |
|
18-Sep-2015 |
Lukas Slebodnik <lslebodn@redhat.com> |
tests: Use unique name for TEST_PATH
We had a cases in patch where two tests were using the same TEST_PATH
and therefore they were stepping each other to the same files
which caused failures. These failures are not easy to reproduce.
This patch uses macro BASE_FILE_STEM for unique name. It should prevent
copy&paste problem resulting to intermittent failures.
@see also
https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
bdf422fde0fd6b40b3412bad3b200f8fd7ea8693 |
|
31-Aug-2015 |
Petr Cech <pcech@redhat.com> |
TESTS: Removing part of responder_cache_req-tests
If you call cache_req_[user|group]_by_filter_send() it than later calls
updated_[users|groups]_by_filter(), which adds filter that is called
"recent". This filter causes that only [users|groups] added after the
request started are returned.
This patch removes tests which use
cache_req_[user|group]_by_filter_send(), because the logic of those
tests is corrupted. The tests create [users|groups] and after it, they
call cache_req_[user|group]_by_filter_send(). So it is obvious that it
is not in the right manner.
Possible fix is rewrite the tests to create the entries in the callback.
Works around:
https://fedorahosted.org/sssd/ticket/2730
Reviewed-by: Michal Židek <mzidek@redhat.com> |
e1aed98d7c195f844ac8e85050d04f3ca5f899b3 |
|
27-Jul-2015 |
Sumit Bose <sbose@redhat.com> |
negcache: allow domain name for UID and GID
Related to https://fedorahosted.org/sssd/ticket/2731
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
fd04b25eaa5cd105da4122854d8bc1e702760e60 |
|
15-Jul-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
cache_req: Extend cache_req with wildcard lookups
Related:
https://fedorahosted.org/sssd/ticket/2553
Adds two new functions to the cache_req API:
- cache_req_user_by_filter_send
- cache_req_group_by_filter_send
These functions can be used to retrieve users or groups that match a
specified filter.
Also renames a variable to avoid constant confusion -- the variable is
only used for debug output.
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
e87b2a6e94c1066b3044fe683825ff5b4f8716c2 |
|
13-Mar-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: parse input name if needed
The input name is now parse automatically by cache_req if
none particullar domain is specified. The parsed named is
returned from _recv as an output parameter.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
71965bb18407ff45ada9e47cb6def086e48663c6 |
|
13-Mar-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: add support for group by id
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
641d684ee88c6540a4cf1d74d258614f615699fe |
|
13-Mar-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: add support for group by name
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44 |
|
13-Mar-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req: add support for user by uid
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
bbc34d5a6e84d6c337bd89a22d33e365eb466226 |
|
13-Mar-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req tests: define user name constant
Using a constant here is better since the name is shared between
the test function and testing _done function.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
54ed1b1214dbf9da1f481e8d193c81ce4312516b |
|
13-Mar-2015 |
Pavel Březina <pbrezina@redhat.com> |
cache_req tests: rename test_user to test_user_by_name
This is done in order to distinguish those tests from other
user tests that are about to come. For example: test_user_by_id.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
4e5e846de22407f825fe3b4040d79606818a2419 |
|
11-Mar-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
tests: convert all unit tests to cmocka 1.0 or later
All tests now use the cmocka-1.0-compatible API.
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
360a4be4266d6a72be99dfd252623dc0527f5b84 |
|
09-Jan-2015 |
Pavel Březina <pbrezina@redhat.com> |
responders: new interface for cache request
Many areas of responders performs an expiration check and refresh
of cached objects during single or multiple domain search. This code
is duplicated on many areas of the code with small or none
modifications.
This interface aims to reduce code duplication between responders,
by providing one universal API for requesting cached objects.
This API will take care of cache lookup, expiration check, cache
refresh, out of band cache request, negative cache in both single
and multi domain searches.
Reviewed-by: Michal Židek <mzidek@redhat.com> |