summaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)AuthorFilesLines
2009-09-11Add 'make tests' targetStephen Gallagher8-0/+21
2009-09-11ELAPI Better separation from collection internals.Dmitri Pal1-20/+24
This patch eliminates the need to include collection's private header and uses only public interface.
2009-09-11COLLECTION Functions to deal with hashDmitri Pal3-17/+71
The hashing logic was internal to the collection item. But if someone wants to effectively deal with the items and compare the property to a string he should compare hashes first. But it was not possible without the provided functions. As a result some of the ELAPI modules had to take advantage of knowledge of the item structure. This is bad. So this patch lays foundation for refactoring of the ELAPI code that was using internals of the item directly (file_util.c mostly). Also patch adds a unit test that was required for testing new functionality and for ticket #83
2009-09-10COLLECTION Improvements to copy functionsDmitri Pal4-51/+191
This patch adds better options for copying collections in flat mode. It allows caller of the interface to control prefixing of the fields when one collection is appended to another. It also avoids creating prefixes when the collection is simply copied in flat mode. Also for ELAPI I realized that the most efficient way to deal with the "resolved" event (event where all templeted values are actually replaced with the real values) is to add a callback capability to a copy collection function so that the callback can be used to modify the data (resolve it) while the copy operation is in progress. This approach eliminates the need for separate set of lookups after the event is already copied.
2009-09-09COLLECTION Copy collection flat with concatenated namesDmitri Pal5-239/+365
This patch addresses several issues: a) Adds capability to add or copy the collections in flattened mode but construct names of attributes in dotted notation. For example when you append collection "sub" with items "foo" and "bar" previously you could add them as "foo" and "bar" not you can flatten them and the names will be "sub.foo" and "sub.bar" this allows better processing of the attributes in the elapi message. b) Removes old implemntation of the copy collection function. c) Removes the col_set_timestamp, this functionality has been moved to ELAPI long ago. d) Updates collection unit test. e) Updates elapi to use new functionality f) Updates elapi unit test Have run under valgrind with no problems.
2009-09-08ELAPI Laying foundation for the async processingDmitri Pal6-90/+175
A relatively small patch aligning headers and a small portion of code for upcoming implementation of the async event processing. Cleanup of the test config file.
2009-09-08ELAPI Adding file provider and CSV formatDmitri Pal20-139/+2250
This patch creates the infrastructure for logging of the event from the top of the interface to the bottom. It is a start. A lot of functionality is left aside. The attempt of this patch is pass event from caller of the ELAPI interface via targets to sinks then to providers and do serialization creating entity that is ready to be written to a file. It also implements more specific provider related configuration parameters. Also it addresses couple suggestions that were brought up against previous patch. ELAPI Correcting issues This patch addresses the issues found during the review of the previous patches and addresses ticket #166.
2009-09-08ELAPI sinks and providersDmitri Pal9-143/+1016
This patch drills down to the next level of ELAPI functionality. I adds the creation and loading of the sinks. It also implements a skeleton for the first low level provider which will be capable of writing to a file. The configuration ini file is extended to define new configuration parameters and their meanings.
2009-09-03configure cleanupsSumit Bose5-5/+7
- replaced mailing list address - let sssd base components read version from VERSION
2009-08-21ELAPI Shortening namesDmitri Pal4-154/+152
Per ticket #118 shortened naimes of some functions and structs I added into ELAPI during last big functional patch . There is no plan to do a global shortening of all names but miving forward I will try to make them shorter than I used to.
2009-08-20COMMON Fixes to return values, errno, leaksDmitri Pal7-62/+69
Started looking at the ticket #107 related to traverse functions. Realized that the return values are not consistent. That ovelapped with the work that I wanted to do for ticket #103 - errno cleanup. So I (across collection, INI and ELAPI): * Made the return codes consistent (where found) * Removed errno where it is not needed While was testing used valgrind and found a nasty problem when the value was added to collection with overwriting duplicates the count was decreased improperly. Fixing collection.c to not decrease count made valgrind happy. While I was debugging this I also spotted several build warnings in trace statements when the " exp ? v1 : v2 " was used. Fixed those. In ini_config.c there was a trace stament that used variable after it was freed. Removed trace stament.
2009-08-20ELAPI: Adding concept of targetsDmitri Pal15-162/+899
The targets are the destinations which caller wants to send the events to. The sinks are now on the second level under targets and constitute a so called fail over chain for a target. Such approach eliminates the need for complex routing function. The dispatcher keeps the list of targets in a collection. The element in the collection is the target context. Also gispatcher keeps the list of the sinks in a separate collection. Each target context has a list of the sinks associated with this target. But those are just pointers (at least for now) to the sinks form the list kept by dispatcher. I had to add some internal debug callbacks to be able to see that all the internals of the dispatcher are actually in order. See the conttent of config file for more comments. Also see information posted on SSSD wiki. https://fedorahosted.org/sssd/wiki/WikiPage/ELAPIInterface
2009-08-17TRACE: Making sure trace is safe to output NULL stringsDmitri Pal2-99/+6
Patch adds checks for NULL to the trace macros. It also eliminates the unused trace.h in the collection directory.
2009-08-12ELAPI Next round of functionality - logging part of the interfaceDmitri Pal14-263/+1522
a) Added the main logging interface which allows creating dispatcher and logging messages or events. Can't actully log anything yet since the sinks are stubbed out. b) Made default template be a part of the default dispatcher. c) Updated UNIT test. d) Some of the calls are stubbed out but they are there to indicate where next round of work will be.
2009-08-12INI Simple fix to properly process multi value config parameters.Dmitri Pal2-2/+3
Also fixed a typo in the header file.
2009-07-20Fix typo in elapi's Makefile.am that breaks 'make dist'Stephen Gallagher1-1/+1
2009-07-20COLLECTION & INI CleanupDmitri Pal5-86/+113
I started to cleanup the unit tests from the type cust around NULL and found several problems that I had to address: 1) The choice of the "." as a search separator turned out to be a poor choice. The problem was that the file name has "." and INI was relaying on files to be used as property names. I corrected that part in the INI but after discussion with Simo we decided to switch from "." to "!" as special symbol anyways. 2) Found that the property rename was not reinitializing the hash. Corrected. Added ticket to add unit tests around it (#83).
2009-07-16COLLECTION Improving searchesDmitri Pal2-9/+181
Addressing ticket #71. The searches were not taking advantage of the hashes, now they are.
2009-07-16Run ini_config unit test with "make check"Stephen Gallagher2-2/+19
Also adds support for running ini_config_ut under a parallel build directory.
2009-07-16Run libcollection unit tests with 'make check'Stephen Gallagher1-1/+3
2009-07-16COLLECTION Add remove item functionsDmitri Pal4-31/+146
The remove functions extract and remove items, they act differently from the way the delete_property function works. The new functions allow deletion with the disposition while the delete_property only deletes specified property. The delete_property function is left as is since there are some use cases when it is more efficient to use it rather than new remove_item_xxx ones.
2009-07-16INI Refactoring code a bitDmitri Pal2-42/+16
The inefficient function from ini_config.c is replaced with the function provided now by the collection interface. Also the unit test is updated to run from the local directory.
2009-07-15ELAPI First part of the interfaceDmitri Pal12-4/+1655
This is just a part of the interface, a beginning. Most likely some of the functions will be altered but it is a starting point. For example in future there will be a way to override some of the parts of the default template using the application configuration file. Removed obfuscation of the data types based on discussion with Simo.
2009-07-15COLLECTION Fixed: iterator_up and insert_into_currentDmitri Pal3-17/+83
During a review of the previous patch the two issues were found: a) The col_iterator_up function was not implemented properly so it got reworked. New implementation changes the way error condition is handled. Comments were updated accordingly. b) There was a mising check for validity of the argument in the col_insert_into_current function. Check was added. c) Unit test modified to reflect the change in functionality.
2009-07-15COLLECTION Adding flat traversal & copyDmitri Pal5-99/+598
The collection is hearachical. The flattening of the collection was not implemented before both for traversal and copying. This patch introduces functionality to traverse or iterate through collection as flat set and also copy collection into another flattening it and automatically resolving conflicts. Also imptoved tracability and fixed memory leak in unbind iterator code.
2009-07-15add path_utils filesystem path manipulation utility functionsJohn Dennis8-2/+840
remove trace macro, not needed modifications to satisfy Stephen's checkin review correct spelling of PATH_UTILS_ERROR_NOT_FULLY_NORMALIZED add checks for truncation, return error add checks for getcwd errors modify (dst >= dst_end) test to be (dst > dst_end) remove all use of tabs remove all trailing whitespace add missing truncation check after strncpy() Fix path_utils.pc Also correct a minor typo.
2009-07-13Build all SSSD components with warnings enabledStephen Gallagher6-3/+33
Previously, only the SSSD server components were being built with compile-time warnings enabled. This patch will ensure that all components in common and sss_client are also built the same way.
2009-07-06COLLECTION Removing static placeholder structure.Dmitri Pal2-5/+20
There was a static global structure used in iteration and in traversing the collection. It has been removed and replaced with a better solution.
2009-07-03Clean up warnings in common/Simo Sorce16-108/+110
Fix consts and function declarations
2009-07-02Adding wrappers to free data in INI API.Dmitri Pal3-58/+91
See ticket #37 in sssd track.
2009-07-02Changing function names for collection API.Dmitri Pal14-2698/+2778
Patch prepends prefix "col_" to all functions related to collection. This caused some formatiing issues so the alignement was addressed too.
2009-07-02New deletion unit test.Dmitri Pal2-2/+36
Adds a unit test for deletion and re-adding of the elements to collection. Small syntactical fix in "stack".
2009-07-02Queue and stack APIs using collection.Dmitri Pal8-2/+1081
Patch adds two interfaces for stack and queue using collection as underlaying implementation. It also fixes a bug in the insterion code - the unsigned properties were created as long.
2009-07-02FORMATTING - minor cleanup of the unit test.Dmitri Pal1-254/+283
This patch adds formatting changes to better follow the style guidelines in the collection unit test. No logical changes to the code. I was planning to do it for a while per Simo's comment when he accepted the core of the collection code but indicated that the unit test should be cleaned later. Later has come.
2009-07-01Adding INSERT into collection functionality.Dmitri Pal7-850/+2791
Add was always insterting at the end of the collection. With this change one can control where the item is inserted and deal with the duplicates too. Also one now can extract items from collection using absolute and relative disposition. Using more advanced hashing function.
2009-06-02Enable quiet build for automake >= 1.11Stephen Gallagher3-0/+9
If automake 1.11 or higher is available, use of the configure option '--enable-silent-rules' will suppress most build messages and replace them with lines such as CC sysdb.o This affects libtool as well.
2009-05-26Clean up automake build to work on older versions of libtoolStephen Gallagher7-28/+25
LT_INIT is supported only on Libtool >= 2.0, so I reverted it to using AC_PROG_LIBTOOL. Also reorganized how the common libraries were being built. Now they are treated as libtool convenience libraries instead of installable libraries (the --with-singlelib configure flag can still be used to generate a combined, installable DSO) I cleaned up the set of files being installed by automake, so the list of things we need to remove before packaging the RPM is now only the .la files associated with our own plugins.
2009-05-26more autotools cleanupSumit Bose1-1/+1
2009-05-19Fix RPM generation issues with sssdStephen Gallagher3-6/+9
Ensures that the common libraries build statically. Also ensures that the sssd.spec creates the SYSV init script with the appropriate permissions. Cleans up the useless rpmdist target that was obsolete. Adds the *.so.N.0.0 files to the RPM, as the .so and .so.N files were dangling symlinks.
2009-05-19Use freeipa-devel@redhat.com for bug reportsStephen Gallagher3-4/+4
2009-05-19Enable parallel builds for the common librariesStephen Gallagher5-8/+103
2009-05-17Build fixesSimo Sorce1-0/+20
Comment out unused function in pam_sss Add missing configure.ac to common/ini
2009-05-14Enable building a single libsssd_utils.so from commonStephen Gallagher3-6/+38
2009-05-14Enable modular build of common SSSD librariesStephen Gallagher14-10/+55
Allow configuration and build of individual SSSD utility libraries from their own subdirectories. Building all utilities is still possible recursively from the common root.
2009-04-22add dynamic hash table data structure implementationJohn Dennis8-2/+1903
Apply suggested fixes by Simo after code review * return statements no longer use () unless it's an expression * remove all use of assert() in library * use bool,true,false instead of int,TRUE,FALSE * add check for NULL hash table in public entry points * example code in header file now a seperate file * assure consistent use of unsigned long data type * add more debugging support * break out generation of integer key into convert_key() function * table parameters now tunable rather than hardcoded * table can now accept custom alloc()/free() functions * add function create_table_ex() to pass extra table parameters * remove MUL(), DIV(), MOD() macros * hash statistics now separate struct which can be queried * test program now accepts tuning parameters, iteration count; has better error checking and reporting fix min/max load factor comman line args in test program
2009-04-17INI parser. Fix for line numbers.Dmitri Pal1-1/+4
Realized that I need to differentiate sections and attributes. To do this the line numbers for sections will be negative.
2009-04-17INI parser. Adding comments to avoid confusion.Dmitri Pal1-0/+2
There was a confusion about the functions that were recently added. They are incomplete. New added comments make it clear.
2009-04-17INI parser. Removing inlines.Dmitri Pal1-17/+17
There is controversy about the inlines so they are removed.
2009-04-16INI parser. Cleanup. Prep for INI validation.Dmitri Pal3-189/+460
This patch addresses several issues: a) Cleaning unit test to match coding standard b) Replace tabs with spaces - I do not know where they came but there were some. c) Allowing to read file and keep aside a collection of K-V pairs where key is the key in the INI file and value is the line number on which line the key apears. d) There will be different kinds of errors so error printing function was abstracted. g) Placeholders for other printing functions have been introduced.
2009-04-15INI parser. Better error handling if something bad happens.Dmitri Pal1-6/+21
Tried to use the INI interface and saw that the list of parsing errors can be not NULL but the actual data is cleaned.