summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* WPHEADmasterDmitri Pal2010-08-3014-165/+691
|
* [INI] Introducing configuration file objectDmitri Pal2010-08-1010-100/+1325
| | | | | | | | 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.
* [INI] Starting to consolidate the new interface in one placeDmitri Pal2010-08-107-225/+180
| | | | | | | | | | 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.
* [INI/COLLECTION] Correcting library and project versionsDmitri Pal2010-08-104-4/+4
|
* [INI] New INI parserDmitri Pal2010-08-105-10/+1219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [INI] The beginning of the new INI interfaceDmitri Pal2010-08-104-0/+292
| | | | | | | | * 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.
* [INI] Fixes to the value objectDmitri Pal2010-08-104-117/+98
| | | | | | | | | | | | * 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.
* [INI] Add error codes for the new parserDmitri Pal2010-08-102-5/+12
|
* [INI] Extend the comment interfaceDmitri Pal2010-08-102-10/+38
| | | | | Take advantage of the already known string length instead of counting bytes once more.
* [INI] More config files for testingDmitri Pal2010-08-103-7/+158
|
* [BASICOBJ] Added a convenience functionDmitri Pal2010-08-103-0/+55
| | | | | | | Added a function to add a string to the buffer. Allows adding const strings to the buffer. This solution eliminates all the hassle of type casting that was needed before.
* [COLLECTION] Allow destroying collection with a callbackDmitri Pal2010-08-108-18/+134
| | | | | | | | Addresses ticket #572 Bumps the library and interface version. Updates the docs. [COLLECTION] Changed callback signature
* [INI] Introducing Value objectDmitri Pal2010-08-104-6/+1585
| | | | | | | | | | | | | Value object is an object that combines a potentially multiline value comment and some statistical information regarding a configuration value. Patch includes: Source Header Unit test Makefile changes
* [INI] Refining comment objectDmitri Pal2010-08-103-22/+139
| | | | Comment object should store lengths of the lines.
* [REFARRAY] Fixing the cleaup codeDmitri Pal2010-08-101-4/+6
| | | | | | It turned out that the array cleanup was assuming that the data always requires cleanup. In case of array of numbers it is a false assumtion.
* [BO] Adding basic objects to common buildDmitri Pal2010-08-102-3/+5
|
* [BO] Introducing basic objectsDmitri Pal2010-08-108-0/+2056
| | | | The first basic object is extensible buffer.
* [TRACE] New wrapper macros for function entry and exitDmitri Pal2010-08-101-0/+7
|
* Memory leak in case of empty valueDmitri Pal2010-06-282-0/+44
| | | | | | | | Addressing coverity issue. Ticket #513. The memory was really leaked when the configuration value was empty. Added unit test that confirmed the bug. MANUAL MERGE.
* Fixing NULL dereferencing in ini_configDmitri Pal2010-06-281-22/+32
| | | | | | | | Addressing ticket #504 Conflicts: common/ini/ini_config.c
* Fixing memory leaks in the unit test.Dmitri Pal2010-06-281-3/+9
|
* Fixing types in queue and stack interfacesDmitri Pal2010-06-286-18/+18
|
* Bump libini_config version to 0.6.0Stephen Gallagher2010-06-281-1/+1
|
* Addressing initialization issues.Dmitri Pal2010-06-101-6/+6
| | | | | Fixing bug found by coverity. Tciket #519
* Don't leak directory access resources on errors in directory_list()Stephen Gallagher2010-06-101-0/+8
| | | | https://fedorahosted.org/sssd/ticket/514
* Adding support for explicit 32/64 types (attempt 2).Dmitri Pal2010-05-175-5/+400
| | | | | This is a reworked patch to add support for explicit 32 and 64 bit values in the config files.
* Introducing a comment objectDmitri Pal2010-04-305-6/+804
| | | | | | | | | Comment object will store the comments found in the INI file. It is based on the ref_array interface. Fixing review comments for comment obj.
* Extending refarray interfaceDmitri Pal2010-04-303-1/+563
| | | | | | | | Added functions to inert, delete, replace swap the array elements. Unit test and docs have been updated accordingly. Fixing review comments for refarray.
* Code restructuringDmitri Pal2010-04-2610-1472/+1705
| | | | | | | | | | | | | | | Time came to split ini_config.c into many much smaller pieces. 1) ini_parse.c - will have parsing functions 2) ini_get_value.c - will have single value interpretation functions 3) ini_get_array.c - will have array interpretation functions. 4) ini_print.c - error printing 5) ini_defines.h - common constants 6) ini_parse.h header for parsing functions 7) ini_list.c - will have list processing functions
* Fixing buildDmitri Pal2010-04-143-5/+6
|
* Fix ini_config unit testStephen Gallagher2010-04-141-1/+4
| | | | | | | | | | | When running 'make distcheck', the entire source directory is set to read-only, to ensure that the build process only has write access to $builddir. As a result, this was causing the unit test for file mode to fail, since the file it was testing resides in the $srcdir. This patch guarantees that the test file has the correct permissions prior to running the access test.
* Add ability to trace 64bit numbersDmitri Pal2010-04-142-2/+58
| | | | [TRACE] Adding macros for signed numbers
* Acess control and config change checksDmitri Pal2010-04-144-38/+684
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Fixed the issue that metadata was saved as numbers. Was supposed to be saved as strings. 2) Added two functions. One is to check permissions on the config file. Another to check if the file has changed and thus the cinfiguration needs to be reread. 3) Added unit test will sample code and comments how to use the functions. 4) Added doxygen description in the comments. 5) Fixed couple typos and ommisions here and there. [INI] Fixing crash detected on 64-bit system This patch corrects original code to be more on the safe side and check parameters before using. Instead of dereferencing metadata it is now passed as reference to the next level. It is not used there yet so no other new changes needed so far. [INI] Addressing review comments [INI] Addressing comments.
* Resolve paths for reporting purposesDmitri Pal2010-04-142-4/+21
|
* Adding content to the metadataDmitri Pal2010-04-144-13/+140
| | | | | | This patch implements function that collects stats and saves them in the ACCESS section inside metadata.
* Adding metadata interfaceDmitri Pal2010-04-147-277/+915
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch: 1) Adds the definition of the metadata interface to the header file. The functions that were exposed for no good reason are now hidden. 2) Previously exposed functions and their descriptions are removed from the public header and placed into the source code for now. 3) The function that reads the config file no longer tries to close file in case of error. 4) Lines collection is still passed in into the reading function but as a collection itself not as a pointer to it. 5) All the parts related to processing lines are currently ifdefed using HAVE_VALIDATION that is currently is not defined. This is done to disable creation of the lines collection utill it is actually needed. I did not want to blindly remove it though and loose already done work that will be useful in future. 6) Version of the library and interface is updated 7) New header and source modules are introduced to hold functions related to the meta data. They are mostly stubbed out. This is incomplete patch. It builds and make check runs. It is created just to simplify the review a bit.
* Support docdir and abs_builddirStephen Gallagher2010-04-121-0/+6
| | | | | | | | Old versions of autoconf (before 2.60) did not include support for the docdir and abs_builddir variables. This patch emulates support for them. Fixes https://fedorahosted.org/sssd/ticket/422
* Adding interface documentationDmitri Pal2010-04-085-20/+1727
| | | | Package refarray documentation by default
* Fix path_utils_ut segfaultStephen Gallagher2010-03-251-2/+3
| | | | | | | | | In the case where the allocated buffer is not large enough to hold the resulting absolute path, we were writing out a null terminator outside of the buffer, instead of at its beginning. Also fixes potential issue where split_path would not initialize the count to zero if it returned a failure.
* Generate doxygen documentation for path_utilsJakub Hrozek2010-03-255-113/+1848
|
* Unit tests for path_utilsJakub Hrozek2010-03-253-0/+741
| | | | Fixes: #81
* Fixes for path_utilsJakub Hrozek2010-03-251-63/+109
| | | | | | | | | * Do not segfault on passing NULL path to get_{dir,base}name * There is no way dirname can return "..", remove that code * Buffer overflow in path_concat * Expand . in get_basename * Return NULL rather than crash in split_path on passing NULL path * Be more defensive in directory_list
* Fixing type conversion in INI interface.Dmitri Pal2010-03-173-35/+197
| | | | Additional changes.
* Convert collection to use sized values.Dmitri Pal2010-03-153-75/+83
| | | | | | | This patch replaces int with int32_t, unsigned with uint32_t, long with int64_t, unsigned long with uint64_t as values that collection can store and hold.
* Build and package libini_config docsStephen Gallagher2010-03-152-2/+1
|
* Adding interface description using doxygen.Dmitri Pal2010-03-154-161/+2728
|
* Fixing verbosity and formatting of the INI unit test.Dmitri Pal2010-03-121-132/+197
|
* Do not generate man pages for COLLECION for now.Dmitri Pal2010-03-121-2/+2
|
* Package libcollection documentation into libcollection-develStephen Gallagher2010-03-082-2/+6
|
* Documentation for collection interfaceDmitri Pal2010-03-089-880/+5171
| | | | | Passed through the interface and changed the comments to comply with the collection interface.