Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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.
|
|
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
|
|
Patch adds checks for NULL to the trace macros.
It also eliminates the unused trace.h in the collection directory.
|
|
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.
|
|
Also fixed a typo in the header file.
|
|
|
|
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).
|
|
Addressing ticket #71.
The searches were not taking advantage of the hashes,
now they are.
|
|
Also adds support for running ini_config_ut under a parallel build
directory.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
There was a static global structure used in iteration and in
traversing the collection. It has been removed and replaced with
a better solution.
|
|
Fix consts and function declarations
|
|
See ticket #37 in sssd track.
|
|
Patch prepends prefix "col_" to all
functions related to collection.
This caused some formatiing issues
so the alignement was addressed too.
|
|
Adds a unit test for deletion and re-adding
of the elements to collection.
Small syntactical fix in "stack".
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
Comment out unused function in pam_sss
Add missing configure.ac to common/ini
|
|
|
|
Allow configuration and build of individual SSSD utility libraries
from their own subdirectories. Building all utilities is still
possible recursively from the common root.
|
|
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
|
|
Realized that I need to differentiate
sections and attributes. To do this the
line numbers for sections will be negative.
|
|
There was a confusion about the functions that were
recently added. They are incomplete. New added
comments make it clear.
|
|
There is controversy about the inlines so they are removed.
|
|
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.
|
|
Tried to use the INI interface and saw that
the list of parsing errors can be not NULL
but the actual data is cleaned.
|
|
The read_line() function used an internal buffer allocated on stack
as temporary storage for a line read from file, then returned it.
read_line() now gets a buffer from the caller.
Fixed memory leaks in INI and Collection found by valgrind.
|
|
We were missing several BuildRequires for the autotools. Also, we
were linking against two external libraries in the common code
that we do not actually use.
|
|
Allows building shared or static libraries using autotools and
provides a pkg-config file to simplify inclusion into other parts
of the project (or other projects in the future)
For now, we will statically link the collection library and INI
parser.
|
|
|
|
|
|
Added a few new functions.
Cleaned code that was subject to conditional build.
Fixed the floating point conversion.
Keep const values as const.
|
|
|
|
|
|
|