| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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_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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
Take advantage of the already known string length instead
of counting bytes once more.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Addresses ticket #572
Bumps the library and interface version.
Updates the docs.
[COLLECTION] Changed callback signature
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Comment object should store lengths of the lines.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
The first basic object is extensible buffer.
|
| |
|
|
|
|
|
|
|
| |
The initial verification of the old password was returning an
error because we were not explicitly setting dp_err to
DP_ERR_SUCCESS and it was initialized earlier in the function to
DP_ERR_FATAL.
|
| |
|
|
|
|
|
|
|
|
| |
Instead of recursively updating all users of each group the user
being queried belongs to, just add or remove membership for the
requested user.
Fixes https://fedorahosted.org/sssd/ticket/478
|
|
|
|
|
|
|
|
| |
This function will take a user, a list of groups that this user
should be added to and a list of groups the user should be removed
from and will recursively call sysdb_[add|remove]_group_member
Includes a unit test
|
| |
|
| |
|
|
|
|
| |
Includes a unit test
|
| |
|
|
|
|
| |
Fixes: #587
|
|
|
|
|
|
|
| |
The value returned in the 'done:' label was always EOK which is wrong as
any parsing errors are not returned to the caller.
Fixes: #583
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
In addition to validating the keytab everytime a TGT is requested, we
also validate the keytab on back end startup to give early warning that
the keytab is not usable.
Fixes: #556
|
| |
|
| |
|
|
|
|
|
|
|
| |
Currently the PAM and NSS client just return an error if there are
problems on an open socket. This will lead to problems in long running
programs like gdm if sssd is restarted, e.g. during an update. With this
patch the socket is closed and reopened.
|
|
|
|
|
| |
- Ticket #567: Fix removal of obsolete HBAC host, rules and service records from sysdb.
- Ticket #565: When no HBAC host record is found return PAM_PERM_DENIED instead of PAM_SYSTEM_ERROR.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also adds support for detecting LDAPS errors by adding a check for
SDAP_DIAGNOSTIC_MESSAGE after ldap_search_ext()
|
|
|
|
|
| |
We will now emit a level 0 debug message on keytab errors, and
also write to the syslog (LOG_DAEMON)
|
| |
|
|
|
|
|
| |
Right now, this log function writes to the syslog. In the future,
it could be modified to work with ELAPI or another logging API.
|
| |
|
|
|
|
|
|
|
|
| |
Integrates libnl to detect adding routes. When a route is added, the
offline status of all back ends is reset. This patch adds no heuristics
to detect whether back end went offline.
Fixes: #456
|
| |
|
|
|
|
|
|
|
|
| |
There are some special cases where inotify cannot be used, even if
the host OS claims that it is supported. In these cases, it should
be possible to explicitly disable the use of inotify.
https://fedorahosted.org/sssd/ticket/484
|
| |
|
| |
|