Please see the attached patches. I tried to split the patches logically
into manageable sets.
Unfortunately I made a minor mistake and I am afraid I will do something
wrong to fix it.
I merged two wrong patches. Fortunately it was three liner with 1 liner
so it is not a big of the deal but I am really scared that I will do
something wrong and loose the work I have done.
So I hope it is Ok to send it as is.
0001--INI-Making-Coverity-happy.patch <- this is the patch I submitted
earlier that I merged by mistake. I was supposed to merge it with patch
25 but picked the wrong one instead.
Patch 25 addresses the real issue found by Coverity as mentioned in
Stephen's review mail but it did not apply cleanly since it relies on
some code from the patches in the middle.
0002--INI-Adding-missing-function-declararion.patch <- this is the
patch that was rejected from the second set sent earlier. Fixed
according to review comment.
0003--BUILD-Allow-trace-per-component.patch <- This patch allows tracing
The following set of patches introduces the merging of sections during
the reading of the file:
Patches related porting of the meta data from old way of doing things to
the new way of doing things:
0021--INI-Avoid-double-free.patch <- patch related to 17 (missed check)
0024--INI-Rename-error-print-function.patch <- rename error printing
function for consistency with new interface
0025--INI-Initialize-variables-in-loops.patch <- Coverity issue
addressed. Related to patch 0001.
0026--INI-Exposing-functions.patch <- Make some internal functions reusable
There is also patch 27. It is a piece of new functionality. It is a
preview. Please see the comment before reviewing it.
Do I need to split it into multiple patches or it is Ok as is? It is
pretty big but all changes are in one file and logically related.
The UNIT test is missing so I am not claiming it actually works as
Sr. Engineering Manager IPA project,
Red Hat Inc.
Looking to carve out IT costs?
We have used the error status from c-ares to decide whether to mark the
request as failed or not. This is wrong, but mostly worked fine because
we have been getting some error code from c-ares in all situations until
we added the per-request timeouts. We should use the errno code and only
use the c-ares return code to print extended debugging information.
Attached are patches that fix some issues with service lookups and case
[PATCH 1/3] Add sss_get_cased_name_list utility function
This pattern would repeat in later patches
[PATCH 2/3] LDAP services: Save lowercased protocol names in case-insensitive
[PATCH 3/3] Proxy services: Save lowercased protocol names and
aliases in case-insensitive domains
I'm not sure if anyone is ever going to use case insensitive service
lookups in the proxy domain, but I think we should implement it for
This will eliminate the need for automake to build these files
for each backend that consumes LDAP and KRB5 functionality
(currently 'ldap', 'krb5' and 'ipa'; soon to include 'ad')
This will speed up builds slightly, since they won't need to compile
each of these files three times and it will make maintaining the list of
files in Makefile.am simpler, since we won't need to remember to update
three different places.
Also, if you're wondering, I left the src/util/sss_ldap.c and
src/util/sss_krb5.c off the list because they are sometimes included
where the rest of the routines are not (such as in the ldap_child and
the callers of sss_krb5_princ_realm() expect that realm and len will be
initialized. The attached patch tries to make sure that this is the case
even if krb5_principal_get_realm() is not available and
krb5_princ_realm() returns NULL.
The IPA provider has its own set of dp_option and sdap_attr_map mappings
that we need to make sure remain in-sync with the standard LDAP
provider. In the past, we've just kept a "magic number" in a header file
that we need to remember to bump up every time we add a new option (or
down if we were to remove one).
With these patches, we will now make the checks much more robust
(checking not only for attribute count but also ordering).
Patch 0001: Put the attribute maps into their own header files so they
can be included by test tools. There is no functional change in this
Patch 0002: Add a terminator for the dp_option maps. This will allow us
to test them more simply.
Patch 0003: Add some better dp_option tests, allowing us to walk through
the map and verify that the option count is the same and that they are
in the same order.
Patch 0004: Similar to patch 0002, but for sdap_attr_map maps.
Patch 0005: Similar to patch 0003, but for sdap_attr_map maps.
Patch 0006: Remove old code that relied on the magic numbers. This patch
also drops the runtime option-count check, since we are always
performing the more complete check at build-time (as part of 'make
check', which is always run during distribution-builds as well as during
We forgot to set the protocol member of a state structure which resulted
in a funny behaviour - if a service supported a protocol and another
protocol was requested, the sysdb entry for that service was removed.