<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sssd.git/src/db/sysdb_init.c, branch jhrozek_sysdb_fqdn</title>
<subtitle>Unnamed repository; edit this file to name it for gitweb.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/'/>
<entry>
<title>SYSDB: Upgrade sysdb to use qualified names for users and groups, sudo rules and override objects</title>
<updated>2016-07-06T15:40:22+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-07-05T10:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=3612c827757821622daa51ebb9841699b9b07272'/>
<id>3612c827757821622daa51ebb9841699b9b07272</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Remove the timestamps cache on update</title>
<updated>2016-07-06T15:40:22+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-06-29T16:37:02+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=fc69c7e376390b62581966dadf73fd6d451f206c'/>
<id>fc69c7e376390b62581966dadf73fd6d451f206c</id>
<content type='text'>
When the cache is upgraded, we want to avoid upgrading the timestamps
cache, because it was only introduced recently in Beta, so it doesn't
make senes to write complex code to change the format.

This patch rather removes the cache during upgrade, it will be recreated
with later lookups anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the cache is upgraded, we want to avoid upgrading the timestamps
cache, because it was only introduced recently in Beta, so it doesn't
make senes to write complex code to change the format.

This patch rather removes the cache during upgrade, it will be recreated
with later lookups anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Fix small issues during db upgrade</title>
<updated>2016-07-06T15:40:22+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-06-29T15:03:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=bcbf6855477af41db9bd6bf4d49a04f6c2a64f27'/>
<id>bcbf6855477af41db9bd6bf4d49a04f6c2a64f27</id>
<content type='text'>
This patch fixes several issues introduced during the recent sysdb
upgrade:
    1) The upgrade code often accesses sysdb-&gt;ldb, but at this point,
    the ldb pointer might not be initialized yet. As a kind of an ugly,
    yet functional workaround, we pass in the ldb pointer that we
    received from the caller as part of the sysdb structure.

    2) the version that sysdb_domain_cache_upgrade() returns is not a
    talloc pointer, so the upgrade was crashing when we tried to steal
    it.

    3) the ldb pointer sysdb_cache_connect() returns was kept allocated
    on the tmp_ctx. We need to steal it instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes several issues introduced during the recent sysdb
upgrade:
    1) The upgrade code often accesses sysdb-&gt;ldb, but at this point,
    the ldb pointer might not be initialized yet. As a kind of an ugly,
    yet functional workaround, we pass in the ldb pointer that we
    received from the caller as part of the sysdb structure.

    2) the version that sysdb_domain_cache_upgrade() returns is not a
    talloc pointer, so the upgrade was crashing when we tried to steal
    it.

    3) the ldb pointer sysdb_cache_connect() returns was kept allocated
    on the tmp_ctx. We need to steal it instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Allow passing a context to sysdb upgrade functions</title>
<updated>2016-07-06T15:40:22+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-06-29T14:30:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=190e68d96b287c00be6bd5a4603884e74141bbe7'/>
<id>190e68d96b287c00be6bd5a4603884e74141bbe7</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Remove useless parameter from sysdb_init()</title>
<updated>2016-07-06T15:40:22+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-06-29T14:18:12+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=dde89d133dfb38351656195bcf024f6df9c76a0d'/>
<id>dde89d133dfb38351656195bcf024f6df9c76a0d</id>
<content type='text'>
The function sysdb_init() is never used to allow upgrade, so the
allow_upgrade parameter was pointless.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function sysdb_init() is never used to allow upgrade, so the
allow_upgrade parameter was pointless.
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Open a timestamps cache for caching domains</title>
<updated>2016-06-23T11:40:11+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-21T11:48:04+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=f983b400bf4f6fb14a2174d6f58071e06e9ec832'/>
<id>f983b400bf4f6fb14a2174d6f58071e06e9ec832</id>
<content type='text'>
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 &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Add a second, timestamp-only ldb cache</title>
<updated>2016-06-23T11:40:11+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-21T09:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=f21b3cce14055e77af8ccb98dd8e0fa1ec1f7944'/>
<id>f21b3cce14055e77af8ccb98dd8e0fa1ec1f7944</id>
<content type='text'>
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 &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Refactor database connection</title>
<updated>2016-06-23T11:40:11+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-20T15:06:03+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=72dbcd0a3361f1c0f0c3e348aa2fbcabd926188b'/>
<id>72dbcd0a3361f1c0f0c3e348aa2fbcabd926188b</id>
<content type='text'>
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-&gt;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-&gt;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 &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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-&gt;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-&gt;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 &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>UTIL: Add error codes for sysdb too old or too new</title>
<updated>2016-06-23T11:40:11+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-20T13:49:11+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=e732d23f3ec986a463d757781a334040e03d1f59'/>
<id>e732d23f3ec986a463d757781a334040e03d1f59</id>
<content type='text'>
We used really strange errno codes for detecting whether the database is
too old or too new. We should use our sssd-specific error coded instead.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We used really strange errno codes for detecting whether the database is
too old or too new. We should use our sssd-specific error coded instead.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Move sysdb initialization into a new module sysdb_init.c</title>
<updated>2016-06-23T11:40:05+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-20T13:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=6e9d7cbe43fdfc866b18f9ef0779bbfc10ad6f3a'/>
<id>6e9d7cbe43fdfc866b18f9ef0779bbfc10ad6f3a</id>
<content type='text'>
The sysdb initialization was in the sysdb.c module. With adding
initialization of the timestamp cache, this module would become too big
with too many private functions meant only for initialization.

This patch only moves code around, there are no functional changes to
the initialization.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sysdb initialization was in the sysdb.c module. With adding
initialization of the timestamp cache, this module would become too big
with too many private functions meant only for initialization.

This patch only moves code around, there are no functional changes to
the initialization.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
