<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sssd.git/common/ini, branch master</title>
<subtitle>Unnamed repository; edit this file to name it for gitweb.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/'/>
<entry>
<title>WP</title>
<updated>2010-08-30T14:10:02+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-08-30T14:10:02+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=8ed793f9cdf2b7ccc90b3d2d6319a58f7843991a'/>
<id>8ed793f9cdf2b7ccc90b3d2d6319a58f7843991a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] Introducing configuration file object</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-08-03T01:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=1e137bae0f30ff57636a2c9489992050e5a9515a'/>
<id>1e137bae0f30ff57636a2c9489992050e5a9515a</id>
<content type='text'>
The patch contains two major pieces of work:
* The beginning of the new INI interface
  significantly re-thought and reworked.
* The implementation of the file object.
  Parsing was adjusted to use this object.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The patch contains two major pieces of work:
* The beginning of the new INI interface
  significantly re-thought and reworked.
* The implementation of the file object.
  Parsing was adjusted to use this object.
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] Starting to consolidate the new interface in one place</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-30T18:05:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=3f87dcf6c1986e031807ca1afb2cdc3e9e40e1de'/>
<id>3f87dcf6c1986e031807ca1afb2cdc3e9e40e1de</id>
<content type='text'>
I realized that the new high level interface should be
defined in one file instead of being scattered in many headers.
I would have to eventuallu eliminate ini_configobj.h too
and move everything to the new interface in ini_config.h.

This patch renames couple functions to be consistent
with the naming convention and removes ini_parse.h header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I realized that the new high level interface should be
defined in one file instead of being scattered in many headers.
I would have to eventuallu eliminate ini_configobj.h too
and move everything to the new interface in ini_config.h.

This patch renames couple functions to be consistent
with the naming convention and removes ini_parse.h header.
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI/COLLECTION] Correcting library and project versions</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-29T02:49:02+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=a55980ddf7cb6c8a1252c7d891fe95b6713b2431'/>
<id>a55980ddf7cb6c8a1252c7d891fe95b6713b2431</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] New INI parser</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-06-19T15:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=ca581776574bee1f3260a5547c1f017733d24a68'/>
<id>ca581776574bee1f3260a5547c1f017733d24a68</id>
<content type='text'>
The parser is added to the existing module.
The old parsing functuion will be removed when we
switch to the new interface.

Parser logic:
* There is one high level function that wraps the
  parser interface. It is at the bottom of the module.
  ini_parse_config();
* Internally it creates a perser object
  and then runs parser on it.
* At the end parser object is destroyed.
* This object stores the state of the parser.
* The parser has an action queue
* There are several actions that parser can perform
  - read line
  - inspect read line
  - record an error
  - process last comment in the file (POST)
* Each action handler determines what to do next
  depending upon what has happened.
* Read handler reads lines and enqueues inspection action
  in case of success or error action in case of failure.
* Inspection action parses last read line and
  treats it either is a:
  * Comment
  * Section
  * New key + value
  * Continuation of the value
  In case of error the error action is enqueued.
* Error can be fatal or non fatal. It depend on the error_level
  flag passed in. If the error is non fatal the read action is
  enqueued otherwise parser stops.
* The POST action is a special action to handle comment at
  the bottom of the file. The comment is stored with the
  value it preceeds so in case there is a comment at
  the bottom of the file a special value needs to be created
  to hold just the comment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The parser is added to the existing module.
The old parsing functuion will be removed when we
switch to the new interface.

Parser logic:
* There is one high level function that wraps the
  parser interface. It is at the bottom of the module.
  ini_parse_config();
* Internally it creates a perser object
  and then runs parser on it.
* At the end parser object is destroyed.
* This object stores the state of the parser.
* The parser has an action queue
* There are several actions that parser can perform
  - read line
  - inspect read line
  - record an error
  - process last comment in the file (POST)
* Each action handler determines what to do next
  depending upon what has happened.
* Read handler reads lines and enqueues inspection action
  in case of success or error action in case of failure.
* Inspection action parses last read line and
  treats it either is a:
  * Comment
  * Section
  * New key + value
  * Continuation of the value
  In case of error the error action is enqueued.
* Error can be fatal or non fatal. It depend on the error_level
  flag passed in. If the error is non fatal the read action is
  enqueued otherwise parser stops.
* The POST action is a special action to handle comment at
  the bottom of the file. The comment is stored with the
  value it preceeds so in case there is a comment at
  the bottom of the file a special value needs to be created
  to hold just the comment.
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] The beginning of the new INI interface</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-28T20:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=d603d8cf9bfb282aba05ea368ac1512015fffe8b'/>
<id>d603d8cf9bfb282aba05ea368ac1512015fffe8b</id>
<content type='text'>
* ini_config_priv.h - private header
* ini_configobj.h - future public header for the new interface
* ini_configobj.c - just constructor/decructor for now
* ini_serialize.c - code to serialize the configuration
                    into a buffer so it can be written somewhere.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ini_config_priv.h - private header
* ini_configobj.h - future public header for the new interface
* ini_configobj.c - just constructor/decructor for now
* ini_serialize.c - code to serialize the configuration
                    into a buffer so it can be written somewhere.
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] Fixes to the value object</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-28T20:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=d5a0a555074a7f9c529ae98a6a65f168f02a04c9'/>
<id>d5a0a555074a7f9c529ae98a6a65f168f02a04c9</id>
<content type='text'>
* Removed the annoyong type casting in the serialization
  since there is a new function in the simplebuffer to
  addstring.
* Changed the serialization code to not create simple
  buffer object but rather add to the passed in one.
* Added serialization of the value that stores section
* Started cleaning constants but then stopped since
  this effor should be done a bit later when the new
  high level ini config interface is better baked.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Removed the annoyong type casting in the serialization
  since there is a new function in the simplebuffer to
  addstring.
* Changed the serialization code to not create simple
  buffer object but rather add to the passed in one.
* Added serialization of the value that stores section
* Started cleaning constants but then stopped since
  this effor should be done a bit later when the new
  high level ini config interface is better baked.
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] Add error codes for the new parser</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-28T20:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=3b39c023b8462d134c45540342193a154ee1a169'/>
<id>3b39c023b8462d134c45540342193a154ee1a169</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] Extend the comment interface</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-28T20:24:36+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=e1005dcb23f724fe4af14b2c4ebe288eb33d06ed'/>
<id>e1005dcb23f724fe4af14b2c4ebe288eb33d06ed</id>
<content type='text'>
Take advantage of the already known string length instead
of counting bytes once more.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Take advantage of the already known string length instead
of counting bytes once more.
</pre>
</div>
</content>
</entry>
<entry>
<title>[INI] More config files for testing</title>
<updated>2010-08-10T16:51:32+00:00</updated>
<author>
<name>Dmitri Pal</name>
<email>dpal@redhat.com</email>
</author>
<published>2010-07-28T20:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/dpal/public_git/sssd.git/commit/?id=c3d525af687e5d6023c65443736d9c05ee2f042f'/>
<id>c3d525af687e5d6023c65443736d9c05ee2f042f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
