Age | Commit message (Collapse) | Author | Files | Lines |
|
Simplify code by removing stuff that is never used or redundant.
|
|
Watches and Timeouts are now unified under one implementation that covers
both dbus server and connections.
In watches do not keep removing and adding file events simply toggle the
appropriate flags.
Also streamline some memory management within both timeout and watch related
functions, checking allocations and freeing the whole context not just
the events.
|
|
Minor style cleanups, and some name consistency cleanups that make
some names a bit more meaningful and/or shorter.
|
|
ifndef doesn't work for those functions that aren't already macro definitions in
tevent.h like tevent_req_data. However if tevent_req_data is defined in
tevent.h, all other functions are available as well. So just check for
tevent_req_data and define all of them if it is not available.
This should fix compiling on distros with the latsest tevent.
|
|
Allow adding users into different domains not only by specifying
ID directly but also by specifying fully qualified name. Exit when
both specifications are used in conflict.
|
|
|
|
|
|
|
|
Retrieving ldap results and storing users could sometimes results in race
conditions where the final ldap result was retrieved before the store operations
where finished resulting in the operations to be aborted before termination.
Implement a serialization mechanism per operation.
|
|
|
|
When looking for the local domain in the tools, do so by looking
on provider value, not domain name. Also removes one redundant lookup
of local domain.
|
|
Fixes: RHBZ #513247, RHBZ #513250
|
|
Some code paths that should exit with an error used potentionally
incorrect return code.
|
|
Also add tests
|
|
Fixes:
* RHBZ 513282 - Error Message Incorrect when Trying to add Group with GID
already in use
* RHBZ 513284 - Error Message Incorrect when Trying to add User with
UID already in use
* RHBZ 513242 - Better error Message when modifying a user that doesn't exist
* RHBZ 513244 - Better error Message when adding a user to a group that doesn't
exist
|
|
Fix incorrect error code return in local_handler_callback
|
|
Add some basic unit tests of the async resolver module.
One of the tests resolves a name on the Internet, therefore it is
off by default and is turned on with the -n switch.
|
|
This patch adds ares parsing functions that are not yet upstreamed
together with a private ares header file (ares_dns.h) that contains
some necessary macros for parsing common structures in the replies.
Users of these two parsing functions must also include the header files
ares_parse_{srv,txt}_reply.h that contain the function and structures
declarations that should eventually end up in upstream ares.h
|
|
Integrates the c-ares asynchronous resolved library into SSSD.
|
|
The sdap_handle might be freed when processing a message.
Rearrange data flow so that the sdap_handle is never used after
a message is processed but a new event (dependent on the handle) is
instead scheduled. If the sdap_handle is freed, the scheduled event
is also removed and not fired
|
|
1) Forgot to check for successful allocation
2) Used the wrong mem_ctx when allocating a timer event.
|
|
- make pam_sss work with pam_cracklib and similar pam modules
- clean up the if-&&-else-|| jungle to make clear what is happening
|
|
|
|
|
|
|
|
The way openldap libraries work, require to have a single engine per
connection as all replies are read at the same time. So we need to
always read anything that comes in from the wire and then loop to
dispatch results to the requests that are waiting.
|
|
|
|
use '--debug-timestamps' at the command line
or set 'debug-timestamps = TRUE' in the configuration file.
|
|
|
|
|
|
Fix ldb debug to avoid printing the debug function name, it's useless.
|
|
There is a lot of duplication in user tools.
First steps to remove as much duplication as possible.
|
|
|
|
This patch updates the monitor_config_file() functions so that
they can monitor any number of files and invoke a specified
callback whenever they are modified.
When inotify is available, we will add an additional watch
descriptor to the inotify file descriptor.
When inotify is not available, the polling function will simply
loop to check each file in the monitor list.
When changes are discovered in resolv.conf, the monitor will send
a "resInit" signal to all of its known children. They are only
required to handle this function if they need updated DNS
information. Services that do not implement resInit should return
DBUS_ERROR_UNKNOWN_METHOD (rather than timing out) with no ill
effects.
|
|
1) Some text editors will create a new file and move it into place
on top of the existing file. When this happens, the kernel issues
an IN_IGNORE inotify event and automatically removes the watch
descriptor for that file. We'll handle the event and create a new
watch descriptor for the new file. We will attempt to rewatch the
file six times at five-second intervals.
2) Some scripts may append new data to the config file in several
steps (such as calling echo "foo" >> sssd.conf several times). In
order to handle these scripts safely, we'll defer processing of
inotify events for one second after the first is detected. This
should be ample time for the remainder of the script to complete.
|
|
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.
|
|
|
|
|