5b78fff78bb44d1af5420db23b02210f755f5f17 |
|
15-Jan-2018 |
Sumit Bose <sbose@redhat.com> |
sysdb: add userMappedCertificate to the index
Related to https://pagure.io/SSSD/sssd/issue/3503
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
2927da49dd8a16fff6312d89ad43cc355655800c |
|
27-Nov-2017 |
Sumit Bose <sbose@redhat.com> |
sysdb: remove IDXONE and objectClass from users and groups
This patch does the needed sysdb update for the previous to patches. It
removes the one-level search index IDXONE and replaces objectClass with
objectCategory in the user and group objects.
Related to https://pagure.io/SSSD/sssd/issue/3503
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
a02a5ed51178b2cbede0396d66aed716b8898096 |
|
25-Oct-2017 |
René Genz <liebundartig@freenet.de> |
Fix minor spelling mistakes
Merges: https://pagure.io/SSSD/sssd/pull-request/3556
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
9acdf51bf32d7b4389f3faea0fc6b73c56b6da71 |
|
14-Sep-2017 |
Sumit Bose <sbose@redhat.com> |
sysdb: add missing indices
Resolves https://pagure.io/SSSD/sssd/issue/3472
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
347be58e1769ba90b49a7e5ec1678ef66987f6cd |
|
15-Jun-2017 |
Fabiano Fidêncio <fidencio@redhat.com> |
SYSDB: Internally expose sysdb_search_ts_matches()
This function will be used in the follow-up patches. As it's going to be
"exposed", let's also rename it from search_ts_matches() to
sysdb_search_ts_matches().
Related:
https://pagure.io/SSSD/sssd/issue/3369
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
a63d74f65db2db7389cd373cb37adcdaaa2d56ea |
|
29-Mar-2017 |
Michal Židek <mzidek@redhat.com> |
SUBDOMAINS: Allow use_fully_qualified_names for subdomains
Allow option use_fully_qualified_names in subdomain section.
This option was recently added to subdomain_inherit.
Resolves:
https://pagure.io/SSSD/sssd/issue/3337
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> |
8718ff9ccd29f6431bfa8630bfa3576b2692c9ee |
|
02-Mar-2017 |
Jakub Hrozek <jhrozek@redhat.com> |
UTIL: Store UPN suffixes when creating a new subdomain
We used to store UPN suffixes pointer into the domain structure only if
the domain changed, not when a new domain was created. As an effect, the
enterprise principals flag was not enabled unless a domain changed,
preventing logins with enterprise principals.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
8531bd4585f9135ffd4cbb9bb4c880dc77b5adc4 |
|
07-Jul-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Upgrade sysdb to use qualified names for users and groups, sudo rules and override objects
Runs a sysdb upgrade that changes objects that represent users, groups,
sudo rules and overrides to the new schema, which uses the fully
qualified names.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
6d66c2c465861ff2558f2574eddf8315628ccc6d |
|
07-Jul-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Allow passing a context to sysdb upgrade functions
We decide on whether to upgrade or not based on a pointer value, not a
boolean. This pointer points to a structure that the upgrade invoker
(typically the monitor) can use to fill auxilary data the sysdb upgrade
has no means of instantiating.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
5d0d0f8067fb53285a38fe978cfa36dbeb53be9b |
|
06-Jul-2016 |
Lukas Slebodnik <lslebodn@redhat.com> |
sysdb: Use ldb_result as output in sysdb_search_ts_{users,groups}
Passing address of unsigned to the output argument size_t causes
access out of boundaries for type unsigned and and wrong data
on big endian. It looks like functions sysdb_search_ts_{users,groups}
need to store results in structure ldb_result anyway for further processing.
Therefore it will be better to convert output arguments
size_t* + ldb_message*** into structure ldb_result and avoid using
additional helper variable with type size_t before each invocation
of these functions.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
40de79d69860ec7f04bf7795bd88b641ec42fd23 |
|
23-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Check if group attributes differ before saving a group
Adds a new function sysdb_entry_attrs_diff() used in group saving code.
This function is used to check if the result of updating a group would
result in actually changing the sysdb entry -- often, we would try to
dump the same data to the cache during update. If that's the case, the
update code now only updates the timestamp cache, avoiding costly
writes.
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> |
dd285415d7a8d8376207960cfa3e977524c3b98c |
|
23-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Search the timestamp caches in addition to the sysdb cache
When a sysdb entry is searched, the sysdb cache is consulted first
for users or groups. If an entry is found in the sysdb cache, the
attributes from the timestamp cache are merged to return the full and
up-to-date set of attributes.
The merging is done with a single BASE search which is a direct lookup
into the underlying key-value database, so it should be relatively fast.
More complex merging is done only for enumeration by filter which is
currently done only via the IFP back end and should be quite
infrequent, so I hope we can justify a more complex merging there.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
f983b400bf4f6fb14a2174d6f58071e06e9ec832 |
|
23-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Open a timestamps cache for caching domains
For all domain types, except the local domain, open a connection to a
new ldb file located at /var/lib/sss/db names timestamps_$domain.ldb.
Constructs the ldb file path manually in sysdb_check_upgrade_02() but
that should be acceptable because nobody should be running such an old
cache these days anyway.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
f21b3cce14055e77af8ccb98dd8e0fa1ec1f7944 |
|
23-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Add a second, timestamp-only ldb cache
Uses the generic functions in sysdb_init.c to open a new ldb database.
The path to the database and the ldb context are stored in the
sysdb_ctx. The database will be used to store ephemeral attributes such
as timestamps. Because these attributes are not required for SSSD
operation and the intent is for writes to this cache to be very fast,
the database is opened with LDB_FLG_NOSYNC flag. At the same time, none
of the attributes of the cache is required for sssd operation, so if we
fail to open the database, we just start over.
Adds a separate base LDIF with attributes that are supposed to be
indexed in the timestamp database as well as a separate timestamp cache
version.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
72dbcd0a3361f1c0f0c3e348aa2fbcabd926188b |
|
23-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Refactor database connection
Changes the functions in sysdb_init.c so that the functions are usable
to initialize a second cache to store timestamps. In particular,
functions that operated on sysdb->ldb now operate on a generic ldb
context so that a new ldb_ts context can be used later. Existing
functions that initialize the sysdb cache call the generic functions
with sysdb->ldb as a parameter.
Splits out a function to initialize an empty ldb database with a generic
LDIF.
Splits out the sysdb upgrade function because the upgrade will only be
used by the sysdb cache, the timestamp cache will start with a different
version and might receive separate upgrade functions in the future.
The ldb connection function accepts ldb flags parameter, currently
unused.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
bd93ef2db6d24946ebf98a23fa18d34d45f6b072 |
|
10-Jun-2016 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Track transaction nesting in sysdb_ctx
Adds an integer that tracks how deeply nested we are in sysdb
transactions. This will become useful later, because generally we are
only interested in level-0 transactions when probing, so we'll want to
pass the transaction nesting to the systemtap probes.
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> |
49d84c926b00ba1368372cdec255bceb58d66f43 |
|
31-May-2016 |
Fabiano Fidêncio <fidencio@redhat.com> |
sysdb: add sysdb_{add,replace,delete}_ulong()
As the add_ulong() convenience can add, replace or remove a unsigned
long according to the operation received as its argument, some confusion
can easily happen due to its misleading name.
In order to improve the explicitness of our code, let's introduce
sysdb_add_ulong(), sysdb_replace_ulong() and sysdb_delete_ulong().
These new functions are basically wrappers of add_ulong() (now
sysdb_ldb_msg_ulong_helper()), calling it using the proper flag
according to each function.
Any code previously using add_ulong() is now adapted to use these brand
new functions.
Related: https://fedorahosted.org/sssd/ticket/1656
Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>
Reviewed-by: Petr Cech <pcech@redhat.com> |
a928f7a6bd7681db6e26cba3eb7da22d14288737 |
|
31-May-2016 |
Fabiano Fidêncio <fidencio@redhat.com> |
sysdb: add sysdb_{add,replace,delete}_string()
As the add_string() convenience can add, replace or delete a string
according to the operation received as its argument, some confusion can
easily happen due to its misleading name.
In order to improve the explicitness of our code, let's introduce
sysdb_add_string(), sysdb_replace_string() and sysdb_delete_string().
These new functions are basically wrappers of add_string() (now
sysdb_ldb_msg_string_helper()), calling it using the proper flag
according to each function.
Any code previously using add_string() is now adapted to use these brand
new functions.
Resolves: https://fedorahosted.org/sssd/ticket/1656
Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>
Reviewed-by: Petr Cech <pcech@redhat.com> |
e61b0e41cb44004d2b260ad9d05802995f7bcb2e |
|
19-Aug-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: Index the objectSIDString attribute
Reviewed-by: Michal Židek <mzidek@redhat.com> |
50936fc7230a9b3f01e285e72c4182013542f53e |
|
14-Jun-2015 |
Jakub Hrozek <jhrozek@redhat.com> |
UTIL/SYSDB: Move new_subdomain() to sysdb_subdomains.c and make it private
In order to make updating the subdomain list a two-step process.
Therefore we need to make sure that update_subdomains() is the only
interface towards the SSSD that changes the subdomain list.
Move the new_subdomain() function to sysdb_subdomains.c and only make it
available through a private header so it's usable by unit tests.
Reviewed-by: Sumit Bose <sbose@redhat.com> |
9ad2756fcf4df945f4cd09238e3f9fe707b0b70c |
|
20-Jun-2014 |
Sumit Bose <sbose@redhat.com> |
sysdb: make canonicalUserPrincipalName case-insensitive
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> |
b353437811527daf305fceef5f07e990c50d62ca |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Kill sysdb->domain
Finally remove this upside-down dependency. |
c14184c07634801cda7864aa17c6fa8dc9ab43d1 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Move mpg flag to the domain where it belongs
A sysdb contains now multiple domains, but the mpg property is a
property of a specific domain not of the underlying database. |
46675b5033169e1e954cd570413ce85b2c5e11fc |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Pass the domain to upgrade functions |
73120327cc136229d56d08f7f8c5e8df4129c1e3 |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
Upgrade DB and move ranges into top level object |
f2ce4a4a45bfc0c9ba6d1a13348494dd4c49d4fb |
|
15-Jan-2013 |
Simo Sorce <simo@redhat.com> |
The Big sysdb/domain split-up!
This commit is the first of a complex work of untangling domain and sysdb.
It turns out the idea of keeping a reference to the domain within the sysdb was
a poor one so we need to split the domain out and change all functions that
needs one to get it explicitly from their callers. |
d096233fe7610186ee12f41f97ca9602a3768405 |
|
19-Nov-2012 |
Simo Sorce <simo@redhat.com> |
Handle conversion to fully qualified usernames
In subdomains we have to use fully qualified usernames.
Unfortunately we have no other good option than simply removing
caches for users of subdomains.
This is because the memberof plugin does not support the rename operation. |
3882325ff60f89d0c312e9519bdfd1351978fd73 |
|
05-Oct-2012 |
Jan Cholasta <jcholast@redhat.com> |
SSH: Expire hosts in known_hosts |
77f445dbaecc8e792e1ad42e3742800ad141bee0 |
|
24-Sep-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
AUTOFS: convert the existing autofs entries during a sysdb upgrade |
c193cdcb43bffc1eac1bde6dfb0311e033e0c12f |
|
31-May-2012 |
Jan Zeleny <jzeleny@redhat.com> |
Ghost members - sysdb upgrade routine
It is remotely possible to have sysdb in an inconsistent state that
might need upgrade. Consider scenario when user asks for group
information. Some fake users are added as a part of this operation.
Before users can be fully resolved and stored properly, SSSD is shut
down and upgrade is performed.
In this case we need to go over all fake user records (uidNumber=0) and
replace each of them with ghost record in all group objects that are stated in
its memberof attribute. |
25a9a1768d2e3587cc68b76a0a5df1e42a2c89ab |
|
01-Feb-2012 |
Jakub Hrozek <jhrozek@redhat.com> |
SYSDB: index sudoUser
Most of the the searches in the Sudo responder include the sudoUser
attribute. Indexing it will make the responder faster. |
ff907ba7a9b5e429de086515642f97a0447e546a |
|
27-Jan-2012 |
Stephen Gallagher <sgallagh@redhat.com> |
SYSDB: Add indexes for servicePort and serviceProtocol |
8941d820e05e6a93225b45021dcc314a004f20bc |
|
23-Jan-2012 |
Stephen Gallagher <sgallagh@redhat.com> |
SYSDB: Move add_string and add_ulong to sysdb_private.h |
8f525c7c87647f8f9312b4ffa1b5c2461d390cd4 |
|
28-Nov-2011 |
Jan Zeleny <jzeleny@redhat.com> |
Fixed a typo in sysdb_upgrade_07() declaration |
0387564f38698c5301b76b24eda000c448174171 |
|
02-Nov-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
SYSDB: add index for nameAlias |
c2352a73f52f600d95966ebe0b0819649ba923fa |
|
07-Oct-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
SYSDB: New source file for sysdb upgrade routines |
9dfa22c3925792204b22962851dd44175e1b5735 |
|
04-May-2011 |
Jan Zeleny <jzeleny@redhat.com> |
Make sysdb_ctx_list public structure
Also create a routine to initialize it |
cac20741b68bb87252ad6d98d64f91dbf4885ccf |
|
25-Apr-2011 |
Jan Zeleny <jzeleny@redhat.com> |
Added originalDN to attributes with case-insensitive search
https://fedorahosted.org/sssd/ticket/808 |
c210c160f6b82b6e2369f2a2fba6ea559ee54dbe |
|
03-Feb-2011 |
Stephen Gallagher <sgallagh@redhat.com> |
Add additional indexing for sysdb
Adds an index for dataExpireTimestamp
This is used for determining which users need to be removed during
the cleanup task. If enumeration is enabled (or huge numbers of
users have been cached), the cleanup task runs very slowly due to
the non-indexed search.
Also adds an index for ONELEVEL lookups, to speed up situations
where we would need to request all entries under a particular node
in the LDB. |
9db5a5140356479a58f2e7212fc5c4ad6135bb7f |
|
12-Apr-2010 |
Simo Sorce <ssorce@redhat.com> |
sysydb: Finally stop using a common event context
This commit completes the migration to a synchronous sysdb |
e5e32021c23f3726d68ee756e8e3de48b3214063 |
|
12-Apr-2010 |
Simo Sorce <ssorce@redhat.com> |
sysdb: remove remaining traces of sysdb_handle |
1c48b5a62f73234ed26bb20f0ab345ab61cda0ab |
|
18-Feb-2010 |
Stephen Gallagher <sgallagh@redhat.com> |
Rename server/ directory to src/
Also update BUILD.txt |