87d85db07bdd39081f558e2f7e891cc0065e3a0a |
|
19-Dec-2016 |
Pavel Březina <pbrezina@redhat.com> |
responders: remove checks that are handled inside cache_req
Those checks were redundant, since they are already part of cache_req.
Resolves:
https://fedorahosted.org/sssd/ticket/3151
Reviewed-by: Lukáš Slebodník <lslebodn@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> |
4f3a9d837a55b49448eca3c713c85a406207e523 |
|
29-Jun-2016 |
Simo Sorce <simo@redhat.com> |
Responders: Make the client context more generic
This is useufl to allow reusing the responder code with other protocols.
Store protocol data and responder state data behind opaque pointers and
use tallog_get_type to check they are of the right type.
This also allows to store per responder state_ctx so that, for example,
the autofs responder does not have to carry useless variables used only
by the nss responder.
Resolves:
https://fedorahosted.org/sssd/ticket/2918
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
459f7de99ec65626be5ea6517d9d953c8714c327 |
|
11-May-2016 |
Petr Cech <pcech@redhat.com> |
RESPONDER: Removing ncache from pac_ctx
This patch switches ncache from pac_ctx to resp_ctx.
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> |
d0d7de66c9494621c1bc12384e41e5e38a77fbeb |
|
13-Apr-2016 |
Sumit Bose <sbose@redhat.com> |
PAC: only save PAC blob into the cache
Resolves https://fedorahosted.org/sssd/ticket/2158
Reviewed-by: Pavel Březina <pbrezina@redhat.com> |
87f8bee53ee1b4ca87b602ff8536bc5fd5b5b595 |
|
17-Mar-2015 |
Lukas Slebodnik <lslebodn@redhat.com> |
Add missing new lines to debug messages
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
b07a3b729892d2bc2ffa73d93de95e19003cc6c8 |
|
27-Jan-2015 |
Pavel Reichl <preichl@redhat.com> |
add missing '\n' in debug messages
Also reformat debug strings not to exceed 80 columns long lines.
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
4bbcc2d6d3f16b015796818746a45134861c93a4 |
|
17-Dec-2014 |
Pavel Reichl <preichl@redhat.com> |
SYSDB: sysdb_search_object_by_sid returns ENOENT
sysdb_search_object_by_sid returns ENOENT if no results are found.
Part od solution for:
https://fedorahosted.org/sssd/ticket/1991
Fixes:
https://fedorahosted.org/sssd/ticket/2520
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
609dca68b387ed6646f374545d381ca2ab8ff50a |
|
12-Oct-2014 |
Lukas Slebodnik <lslebodn@redhat.com> |
PAC: Check return value of function hash_entries
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
3c11d2418677e889f2eb38e30480e008b04c4140 |
|
10-Apr-2014 |
Pavel Reichl <preichl@redhat.com> |
PAC: fix clang warning
Return value of sss_dp_get_account_recv is checked and logging is done accordingly.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
a3c8390d19593b1e5277d95bfb4ab206d4785150 |
|
12-Feb-2014 |
Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com> |
Make DEBUG macro invocations variadic
Use a script to update DEBUG macro invocations to use it as a variadic
macro, supplying format string and its arguments directly, instead of
wrapping them in parens.
This script was used to update the code:
grep -rwl --include '*.[hc]' DEBUG . |
while read f; do
mv "$f"{,.orig}
perl -e \
'use strict;
use File::Slurp;
my $text=read_file(\*STDIN);
$text=~s#(\bDEBUG\s*\([^(]+)\((.*?)\)\s*\)\s*;#$1$2);#gs;
print $text;' < "$f.orig" > "$f"
rm "$f.orig"
done
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com> |
d115f40c7a3999e3cbe705a2ff9cf0fd493f80fb |
|
15-Nov-2013 |
Michal Zidek <mzidek@redhat.com> |
SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 2) |
4c08db0fb0dda3d27b1184248ca5c800d7ce23f0 |
|
15-Nov-2013 |
Michal Zidek <mzidek@redhat.com> |
SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 1) |
b3292840ebaa747a9fd596ff47cc5d18198361d0 |
|
15-Nov-2013 |
Michal Zidek <mzidek@redhat.com> |
SYSDB: Drop the sysdb_ctx parameter from the sysdb_search module |
4537e95f6741ae05ec620e5b46ca1d4a3a1ceae5 |
|
07-Nov-2013 |
Pavel Březina <pbrezina@redhat.com> |
free idmapped SIDs correctly
Resolves:
https://fedorahosted.org/sssd/ticket/2133 |
59a95122d6bf4e271e79443cfc8caab5831c2ae3 |
|
26-Aug-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
PAC: Skip SIDs that cannot be resolved to domain |
05cf2b70adde257df3657f449635c917b0e96a52 |
|
26-Aug-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: use SID instead of GID to search for groups
With the support of POSIX IDs managed on the AD side we may find
non-POSIX groups, i.e. groups which do not have a GID assigned in AD, in
the PAC. Since in this case all cached groups have a SDI attribute it is
more reliable to search the groups by SID instead of GID. |
76916fe11832bcd84e033c0cc2329def278d642d |
|
26-Aug-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: do not fail if a single group cannot be added/removed
When processing a list of groups we try to process as much as possible
only not stop on the first error. |
5aab4d1092681508cdf32777efdb2a7e5e6e3f0a |
|
26-Aug-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: read user DN instead of constructing it
To avoid issues with case-sensitivity it is more reliable to search the
user entry in the cache and use the returned DN instead of constructing
it. |
e5aa9ba0df9f30e32a86453727beabed8a9e4e27 |
|
26-Aug-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: handle non-POSIX groups in cache
Since the DN of the group is used to remove a membership it is not
necessary to check if the GID is valid. |
5c28b1bdb9f180590bdfec947bd2df52351912a8 |
|
26-Aug-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: do not create users with missing GID
If the user entry does not exist in the cache and a primary GID cannot
be found it does not make sense to create a user entry. |
1e9930690691360d8963eecea4918b36b6d51013 |
|
26-Aug-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: if user entry already exists keep it
Currently the PAC responder deletes a user entry and recreates it if
some attributes seems to be different.
Two of the attributes where the home directory and the shell of the
user. Those two attributes are not available from the PAC but where
generates by the PAC responder. The corresponding ID provider might have
better means to determine those attributes, e.g. read them from LDAP, so
we shouldn't change them here.
The third attribute is the user name. Since the PAC responder does
lookups only based on the UID we can wait until the ID provider updates
the entry.
Fixes https://fedorahosted.org/sssd/ticket/1996 |
0535ad2bee920be5c07ee207903c2196eb19c02f |
|
24-Jun-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: do not delete originalDN or cached password if present
If the PAC responder recognizes some attribute changes between the
cached user entry and the PAC data it quite crudely just removes the
cached entry and recreates it. While in most cases all needed data can
be recovered from the PAC data there is a case where it is not possible.
E.g the IPA HBAC code use the OriginalDN attribute to improve
performance when evaluating access rules. This patch makes sure this
attribute is not lost when the PAC responder updates the object. |
2f55d9738d66fa52c2d4332842b35e4174e45653 |
|
19-Jun-2013 |
Sumit Bose <sbose@redhat.com> |
PAC: do not expect that sysdb_search_object_by_sid() return ENOENT
sysdb_search_object_by_sid() does not return ENOENT if no related object
was found in the cache but EOK and an empty result list.
Fixes https://fedorahosted.org/sssd/ticket/1989 |
02d1cb8935d5c9b57cd05dfdbfe6ed38e0d61c28 |
|
07-Jun-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
New utility function sss_get_domain_name
Instead of copying a block of code that checks whether domain is a subdomain
and uses only name of FQDN as appropriate, wrap the logic into a function. |
92af6f25864b5c389b57d0f659686801b45ca58c |
|
06-Jun-2013 |
Sumit Bose <sbose@redhat.com> |
Enhance PAC responder for AD users
This patch modifies the PAC responder so that it can be used with the AD
provider as well. The main difference is that the POSIX UIDs and GIDs
are now lookup up with the help of the SID instead of being calculated
algorithmically. This was necessary because the AD provider allows
either algorithmic mapping or reading the value from attributes stored
in AD.
Fixes https://fedorahosted.org/sssd/ticket/1558 |
1987bff88e01c74d647dd2db4f541ac311537e1a |
|
30-May-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
Add utility functions for formatting fully-qualified names
Instead of using printf-like functions directly, provide two wrappers
that would encapsulate formatting the fully-qualified names. No
functional change is present in this patch. |
4668b4765530cf37289235e483f301100cc1ae21 |
|
02-May-2013 |
Sumit Bose <sbose@redhat.com> |
Remove unused TALLOC_CTX from responder_get_domain()
Recent refactoring removed the need to copy the domain info data of
sub-domains because the related objects will not be removed from memory
anymore. |
d29d5d9e0e9ee0396a46f4375092644f29024f25 |
|
21-Apr-2013 |
Sumit Bose <sbose@redhat.com> |
Fix and rename get_my_domain_data()
The task of get_my_domain_data() is to read some information about the
configured domain from the cache. While the sysdb interface was
redesigned some changes changed the behaviour so that the data of the
domain of the current request was read. If this domain is a sub-domain
the wrong data was read. As a result group-memberships of the configured
domain were not taken into account.
The original code didn't made it easy to see that always the parent
domain should be used here, because there was no comment indication this
and the function name get_my_domain_data() didn't made it clear either.
Additionally to fixing the issue this patch also adds a comment and
rename the function to get_parent_domain_data().
Fixes https://fedorahosted.org/sssd/ticket/1888 |
275102c8f332323571d55370a705d4610d24f510 |
|
04-Mar-2013 |
Jakub Hrozek <jhrozek@redhat.com> |
Remove unused functions |
4f118e3e6a25762f40a43e6dbefb09f44adbef32 |
|
10-Feb-2013 |
Simo Sorce <simo@redhat.com> |
Introduce IS_SUBDOMAIN() macro
Fixes https://fedorahosted.org/sssd/ticket/1766 |
3412d14d65490c32414e72ac20fe21bad53ceb45 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain argument to sysdb_delete_user()
Also remove sysdb_delete_domuser() |
6ac396bebb4cd3124711d26dce54263f6f9c7c45 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain argument to sysdb_store_user()
Also remove sysdb_store_domuser() |
5d72a91a37273c8c874640906fd2f7a70e606812 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain to sysdb_search_group_by_gid()
Also remove unused sysdb_search_domgroup_by_gid() |
a5a4e5b4836fdd693bab6e1c7f9d633d1440447d |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain to sysdb_search_user_by_uid()
Also remove unused sysdb_search_domuser_by_uid() |
c3ca06c011a34997cd6ec5d1e5927fee12bf2464 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Add domain argument to sysdb_initgroups() |
3613cc1eba1337256a2d06ba7a84532156139ccd |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Make sysdb_user_dn() require a domain explictly. |
ef7a4f1a831a15356edb8e571a8c6b36f6ace017 |
|
08-Jan-2013 |
Sumit Bose <sbose@redhat.com> |
Refactor gid handling in the PAC responder
Instead of using a single array of gid-domain_pointer pairs, Simo
suggested to use a gid array for each domain an store it with a pointer
to the domain. |
57a3f07fd9ff149156078caacb22aab9fd634f43 |
|
08-Jan-2013 |
Sumit Bose <sbose@redhat.com> |
PAC responder: check if existing user differs
If some of the Posix attributes of an user existing in the cache differ
from the data given in the current PAC the old user entry is drop and a
new one is created with the data from the PAC. |
f34ea77a5b87e778ece155485c36e756d5137686 |
|
08-Jan-2013 |
Sumit Bose <sbose@redhat.com> |
Remote groups do not have an original DN attribute
Groups from subdomains will not have an attribute holding the original
DN because in general it will not be available. This attribute is only
used by IPA HABC to improve performance and remote groups cannot be used
for access control. |
c9486b9a458be6bdbf5ab5aaf84a816419d7dcc5 |
|
08-Jan-2013 |
Sumit Bose <sbose@redhat.com> |
Save domain and GID for groups from the configured domain
Currently users from subdomains can only be members of groups from the
configured domain and to access those groups a pointer to the domain
struct of the configured domain is used. This patch sets the dom_grp
member of struct pac_grp to point to the domain struct of the configured
for groups from this domain. This is a first step to allow group
membership for groups from subdomains as well. For those groups a
pointer to the related subdomain structure will be saved. |
929e41b69350baa4d6577f29a738c3119dc4527b |
|
08-Jan-2013 |
Sumit Bose <sbose@redhat.com> |
Always get user data from PAC
Currently some user specific data from the PAC is only read when the
user is not already in the cache. Since some of this information is
needed later on, e.g. the domain SID the user belongs to, with this
patch the data is read always from the PAC. |
8d371b14623e1dced3ddc885ff7d8cd2cbf50604 |
|
08-Jan-2013 |
Sumit Bose <sbose@redhat.com> |
Use struct pac_grp instead of gid_t for groups from PAC
To be able to handle groupmemberships from other domains more data than
just the gid must be kept for groups given in the PAC. |
73cb66e832191041aeb31da5f2d88bf60580b5fa |
|
10-Dec-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
PAC: check the return value of diff_git_lists |
8455d5ab61184e0d126fc074a9ce6e98391eb909 |
|
20-Nov-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
LDAP: Only convert direct parents' ghost attribute to member
https://fedorahosted.org/sssd/ticket/1612
This patch changes the handling of ghost attributes when saving the
actual user entry. Instead of always linking all groups that contained
the ghost attribute with the new user entry, the original member
attributes are now saved in the group object and the user entry is only
linked with its direct parents.
As the member attribute is compared against the originalDN of the user,
if either the originalDN or the originalMember attributes are missing,
the user object is linked with all the groups as a fallback.
The original member attributes are only saved if the LDAP schema
supports nesting. |
8d9e0547a864cee05ab36bc988300c0cfa986025 |
|
19-Nov-2012 |
Simo Sorce <simo@redhat.com> |
Refactor the way subdomain accounts are saved
The original sysdb code had a strong assumption that only users from one
domain are saved in the databse, with the subdomain feature, we have
changed reality, but have not adjusted all the code arund the sysdb calls
to not rely on the original assumption.
One of the side effects of this incongrunece is that currently group
memberships do not return fully qualified names for subdomain users as they
should.
In oreder to fix this and other potential issues surrounding the violation
of the original assumption, we need to fully qualify subdomain user names.
By savin them fully qualified we do not risk aliasing local users and have
group memberhips or other name based matching code mistake a domain user
with subdomain usr or vice versa. |
891370856f6c797f959dab06b194e34102185d53 |
|
11-Nov-2012 |
Sumit Bose <sbose@redhat.com> |
Store the original group DN in the subdomain user object
For user of the local domain the server-side DN of the groups the user
is a member of is stored with the user object in the cache and used to
improve performance e.g. by the HBAC code. Since subdomain users should
be handled by HBAC as well the group DN is stored in the same way as for
users of the local domain.
This patch also adds code to remove the attribute from the user object
if the user is removed from the group. |
a0afedf608e07219fba20853fb5a9a1a9f1ce2e9 |
|
11-Nov-2012 |
Sumit Bose <sbose@redhat.com> |
Get lists of GIDs to be added and deleted and use them
Currently the user was just added to all local groups which are given in
the PAC. With this patch the user is added only to groups he is
currently not a member of and deleted from groups which are not found in
the PAC anymore. |
6722c85cb59c2d6fc223966c2b83cc3ea0d9aceb |
|
11-Nov-2012 |
Sumit Bose <sbose@redhat.com> |
Add pac_user_get_grp_info() to read current group memberships
To be able to efficiently store group memberships we need to know the
current memberships of a user. sysdb_initgroups() is used to read the
user entry together with all groups the user is a member of. Some of the
group attributes are kept to avoid additional lookups and speed up
further processing.
Currently sysdb_initgroups() does not return the original DN of the
group. Since it is needed to remove memberships later on it is added to
the list of requested attributes |
d9137b153f1266ee5659405b2d7bc11787dad817 |
|
26-Oct-2012 |
Sumit Bose <sbose@redhat.com> |
pac responder: add user principal and name alias to cached user object
The principal name for the user is generated with the user name and the
domain from the PAC. It is stored in the cache so that if e.g. can be
used by password authentication. Additionally the name alias is stored
to allow case-insensitive searches. |
f57808442ef362478320f5a142b40319608c583c |
|
26-Oct-2012 |
Sumit Bose <sbose@redhat.com> |
pac responder: use only lower case user name
Since winbind can only return lower-cased user name the pac responder
must do the same to avoid inconsistent behaviour. |
95f5e7963a36b7b68859ce91ae4b232088bbaa09 |
|
24-Sep-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Remove unnecessary domain parameter from several sysdb calls
The domain can be read from the sysdb object. Removing the domain string
makes the API more self-contained. |
e13baa8dab9741d9221d3794fd8abf3d461f8d6d |
|
21-Jun-2012 |
Sumit Bose <sbose@redhat.com> |
Add range support to PAC responder |
ee099cd5656b60c7384493b923ddf9af5cf5d4f5 |
|
21-Jun-2012 |
Sumit Bose <sbose@redhat.com> |
PAC responder: add the core functionality
This adds support for parsing PAC and storing information contained
within. In particular the user and all his memberships are stored. In
case it is necessary, getgrgid() requests are sent to provider for group
resolution. |
b9e5bd09a5ff7009537a18914dbebcf10498f592 |
|
21-Jun-2012 |
Sumit Bose <sbose@redhat.com> |
PAC responder: add basic infrastructure
This adds only the basic outline of the PAC responder, it won't support
any operations, it will just start and initialize itself. |