Make elapsed time reporting more generic & measure more operations.
Comment improvements for clarity.
Improved debugging output when resolving GDPnames.
Debug output improvements.
In gdp_name_parse the return value (*xnamep) was sometimes malloced,
gdp_name_parse wasn't always showing the fully qualified log name in
Add GDP_INIT_OPT_HONGDS and swarm.gdp.hongd.optional to not give an
error if HONGD is unavailable (i.e., the default has been changed to be
more restrictive); do stricter checking during initialization (and give
better error messages); bump version to 2.1.19.
HONGD compilation glitches.
Force MariaDB/MySQL to use a TCP connection instead of a named pipe;
refactor to centralize database initialization to make this easier;
using new interfaces, make gdp-name-add easier to use (notably password
Arrange for gdp-name-xlate to print the human name from HONGD if it can
find it. Also, add gdp-hongd-dump.sh to print entire contents of HONGD
using the parameters used by the C library.
Fix some helgrind problems that were innocuous but annoying.
First cut at a connection pool for MariaDB connections. This will
hopefully address some of the locking problems as well.
Do a simple hack to try to make MariaDB reconnect. Probably
insufficient; we really need to have a way to do retries if a
connection fails while a query is in progress.
Put mutex around HONGDS SQL queries. This should really be a connection
pool instead of forcing single threading, but I didn't have time to
finish the more complex algorithm.
Do primitive caching of default creation service name.
Be more vocal on startup errors (HONGDS unconfigured and router
Be much more explicit if HONGDS isn't properly configured.
Update license date on all files. No functional changes.
Tweak debug levels: some "errors" in gdp_name_parse aren't really errors
so shouldn't be printed at low debug values.
Improvements to gdp-name-xlate.
Make gdp-name-xlate work more sanely in the new world.
Put a default password on the gdp_user MariaDB user to avoid getting
caught by security scans.
Make some fixes for name parsing to handle warning returns from
gdp_name_parse (happens when falling back to SHA256 implementation).
Change default user for reading the Human-Oriented Name to GDPname
database from "anonymous" to "gdp_user", since setting up anonymous
access to MariaDB was causing me problems. That user has no password
(and only SELECT permission on the one table).
Cleanup on human-oriented name handling during creation, including
documentation. Big changes: don't allow a "human name" that looks like
a base-64-encoded name; use GDP_NAME_ROOT when creating a new log using
gdp-create; treat a zero-length GDP_NAME_ROOT as though the variable...
Make all references to the Human-Oriented Name to GDPname Directory
Service Database use "hongdb" in the name rather than "namedb" for
Make gdp-hongd.cs.berkeley.edu be the default database location for the
Human-Oriented Name to GDPname directory.
Standardize on user gdp being uid 133; consistent uids are important for
volumes in containers.
Mega-change: new object creation API with updated metadata; internal
name is hash of metadata, not hash of human name; query and maintain
human-oriented name to GDPname directory (HONGD).
First cut at external => internal name mapping using MySQL. It is
currently not an error if the mapping doesn't exist --- it just falls
back to the old SHA256 behavior --- and there is no automated addition
of the mapping to the database when you create a log. To make this work...
The grand renaming: GCL is (mostly) gone in favor of GOB and GIN.
Break out GDP name utility functions (parse, print, etc.) into a
separate file so Rick can use them in the router without dragging a lot
of cruft along.