Jan Cholasta noticed that our upstream builder wasn't producing
experimental packages into the ipa-devel repository. This was due to the
builders not setting the enable_experimental variable. Patch 0003 in
this set now makes that the default in the spec file. I left it
conditionalized so that it's easy for other packagers to take the spec
and turn the experimental features back off.
Patch 0001 makes a change that we made in Fedora some time ago to
properly handle filtering Provides: for our python library. The other
approach was long outdated and broke multilib on Fedora 17.
Patch 0002 is a cleanup patch to make the set of files we're installing
explicit, so we can easily catch mistakes. Previously we were installing
files by glob, which meant we could have missed some if we didn't notice
that they hadn't built.
Patch 0003 makes building the experimental features the default for
This patch makes several changes.
1) Change the behavior of path_concat so that it will always return an
empty string if it hits ENOBUFS.
2) Clean up the code, adding more comments.
3) Modify the unit tests to check for empty string and to make sure we
don't write past the allowed buffer if the input strings are too long.
4) Update the doxygen for path_concat so that it's clear that path will
be empty on failure.
[PATCH 1/2] Autofs: operate on contents of double-pointer, not address
This is a bad one, luckily the code is defensive later on and detects
that we have processed all the records and quits correctly.
[PATCH 2/2] Only free returned values on success
The pointers are set to NULL when the map is not found or the code
iterates over all the maps, but it is good manners to only free the data
when the caller is sure he received any.
The yesterday's fail over patch broke the IPA provider.. The IPA provider
is a special case because it uses fail over port 0 for both LDAP and
Kerberos. That is done to make sure that we never connect to LDAP port on
one host and Kerberos port on a different host.
However, the cycle detection in fail over tripped over this because when
performing a GSSAPI bind, we first request a server with port 0 to get
the LDAP server and before we can mark the server status (or go
offline), we also need to resolve the KDC, which, from fail over point
of view is also running on port 0...
The attached patch adds a boolean parameter to be_resolve_server_send()
and only performs the cycle check if the parameter is false, that is,
when requesting another server during the same operation.
The ding-libs development on master has been virtually stagnant for many
months now. Much of what is included on the master branch is
partially-completed concept work that was originally going to be done as
part of a nebulous 1.0 future.
Given that the ding-libs 1.0 has been effectively abandoned (and that
the ding_libs-0-1 branch has been remarkably stable for a long time),
I'd like to recommend that we branch the current master off (perhaps
name it 'experimental') and then reset the master branch to be identical
to the current contents of ding_libs-0-1.
I saw two compilation warnings when reviewing the recent path_utils
patches. The first hunk is a parameter that is unused, but set, the
second was an implicit function declaration due to forgotten private
Patch 0001: Handle off-by-one error in path_concat()
Patch 0002: While fixing the above error, I noticed that path_concat()
would also get it wrong if we passed "/" for head.
I was actually going back and forth on the implementation -- my first
approach was to separate requests for "beginning to resolve a service" and
"give me another server for this service".
I think that is more natural way to perform the resolution, but it turned out
that this approach would require bigger changes to the back ends and I'm not
sure if I can justify that just for the sake of nicer code at this point of
1.8 development. I still have a WIP patch that builds, should we decide that
it's actually better to separate requests for first and any next server..