I added test cases for the bug, of course, and I also needed to change
the definition and tests for RBTreeNodeChain::RBT_MAX_LEVEL because this
fix changed the tree structure when the root node is contained.
The special case in find() and insert() due to the root name is
counter intuitive, but for now we need it to make it work correctly.
In near future for performance enhancements, I have a plan to update
the internal to support the notion of "label sequences" where a
sequence may not always be terminated with ".". I expect we can
simply the code around this when this happens.
Proposed changelog:
{{{
195.? [bug] jinmei
b10-auth, src/lib/datasrc: the backend of the in-memory data
source could not handle the root name. As a result b10-auth could
not work as a root server when using the in-memory data source.
(Trac #683, git TBD)
}}}
If we ask python to import module.submodule, it gets the first module/
directory with __init__.py in it. This is a problem if our module
(actually bindctl program) has some generated and some ready files.
So this uses the module.submodule only for the not generated ones, and
has module/ directly in path for the generated (we import submodule, not
module.submodule). This is only in the test.
For testing purpose I also renamed bindctl-source.py to bindctl_main.py.
I needed to replace dash with underscore to use it in an import statement,
and _main seemed to better explain what it is than _source, so I also
renamed that part.
In a previous change, nothing was being returned to the client in
the UDOP send/receive test. This was only detected on the Mac.
This change fixes that problem.
Previously the client sent a message asynchronously to the server and the
server synchronously received it. Then the code waited for the client send
to complete. However, this hangs under Solaris. So now the wait occurs after
the asynchronous send but before the synchronous receive, which Solaris can
apparently cope with.
In the IOFetch unit test, modify the send buffer size to match the
size of the TCP socket send buffer in a bid to solve problems with
the test on FreeBSD.
The link was failing on Ubuntu because the loader was not able to
find some libraries referred to by libserver_common. Adding the
libries explicitly in the link solves this problem.
Listen on the IPv6 (::) and IPv4 (0.0.0.0) wildcard addresses
for b10-auth. This returns to previous behavior prior to
change #184. Document the listen_on configuration in manual.
(Trac #649)