Improved debug output; turn off zeroconf; produce readable SQLite error
* Fix compilation problem (mysql_config not installed by default).
* Load HONGD in gdplogd (needed to parse its own name).
* Allow GINs returned by gdp_gin_create to be used immediately
for writing (had been setting up the signing context wrong).
2.3.0: add -b flag to gdp-reader to allow binary output.
Change mariadb_config to mysql_config --- how did this ever work?
Cobble up a way to set debug flags early in initialization. This is a
clumsy hack, but shouldn't be needed very often.
Add syntax to router name parsing to allow GDPnames to be associated
with the IP addresses. This is needed to support RtCerts. The syntax
is to include the base64-encoded GDPname after a slash, e.g.,
"gdp-01/0XwnpR-2F8dFikWnCpqTX4Bl7gzHTQlnER2pOH9qoOQ. For now the...
Version 2.2.3: Make failure to read a secret key for a writable log an
error instead of waiting for the first append to fail (this can be
turned off using gdp_open_info_set_no_skey_nonfatal, which causes
gdp_gin_open to return a warning instead of an error). Add a -S flag to...
Delete some assertions that had zero effect (unsigned >= 0 is always
true); change _gdp_chan_advert_commit to _gdp_chan_advert_flush to avoid
the confusing and inaccurate name.
Zeroconf cleanup, mostly making it possible to compile it out.
Be sure /usr/include/gdp exists when GDP dev files are installed.
Bump version to 2.2 to reflect the many significant changes.
Adjust install targets in Makefile to make Debian packaging easier.
It's very fine-grained now.
Don't use install to copy header and library files to avoid having them
Be sure to generate adm/gdp-version.sh before referencing it.
Change gdp-create to not leave .BAK files laying around. Can use
-DGDP_CF_CREATE_SAVE_BACKUP_KEY_FILE on compilation to get the old
r2.1.20: fix problem with handling of -K flag in gdp-create. Slight
change in semantics of -K: you can't create a new key and choose the new
file name (but you can select the directory).
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.
Version 2.1.18 --- fix problem with subscription renewals; be more
aggressive about printing non-default parameter settings to make it
easier to see a customer configuration.
Fix possible infinite loop when using gdp_event_next with a GIN
specified. Version 2.1.17.
Revision 2.1.16: fix data signature checking, HONGD compilation
Make it possible to force MariaDB to TCP; more user-friendly handling of
MariaDB account passwords; other miscellaneous fixes.
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
* Improvements on crypto checking of data (not yet complete).
* Advertisement debugging improvements.
* Better error message returns on crypto errors server->client.
* Add ep_time_parse_interval (as yet not used).
* Better management of external passwords, notably MySQL/MariaDB....
Add swarm.gdplogd.advertise.delay parameter to delay between
advertisements to avoid flooding the network when there are many logs on
a server. Defaults to 100 (microseconds).
Bump revision number (2.1.12).
Revision 2.1.11: documentation reorganization, add services/gdp-ribd,
which will replace gdp-directoryd.
Remove adm/gdp-version.txt in favor of adm/gdp-get-version.sh (more
flexible printing of various parts of the version number).
Updates for clean compile on Ubuntu 18.04, including finishing upgrade
of OpenSSL to 1.1.0. Changes were surprisingly large. Bump the patch
number for ease of identification (this version also includes updates
for log creation service).
Fix OpenSSL 1.1.0 incompatibility.
Bump version to 2.1.8 to reflect database connection pool changes.
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.
Update license date on all files. No functional changes.
Bump version to 2.1.6.
Create gdp-version.txt while creating gdp-version.sh for use in simple
places like Makefiles.
Relocate etc/ep_adm_params into etc/gdp/params so that the etc/gdp
subtree can be mounted easily into a docker container.
Move to version 2.1.4, incorporating Nitesh's updates to the Java
Bump version number to 2.1.3.
Bump GDP patch number before deployment to production servers.
Bump version number to 2.1.1 before deployment on production machines.
Improved version handling to avoid rebuilds when making docker
containers; don't include LDADD in LDFLAGS in ep and gdp because it
breaks building shared libraries when doing static linking.
Extend LDADD to other directories in which links happen.
libgdp doesn't need SQLite.
Bump the version number to 2.1 now that the new functionality is near
Cleanup for MariaDB on Ubuntu.
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).
Add SANITIZE variable to Makefiles to simplify adding -fsanitize=xxx.
Bump patch level to reflect asynchronous order changes.
Better logic about command retries; makes signature checking work. Now
Bump patch level.
Restructure signature verification code to move it from gdplogd into
libgdp in preparation for verifying signatures on reads. Version number
bumped to 2.0.4.
Merge branch 'master' of repo.eecs.berkeley.edu:projects/swarmlab/gdp
(with a few updates).
Make sure to include -luuid for libgdp.
Otherwise, libgdp has undefined symbols. Python complains about
these undefined symbols
Otherwise, libgdp has undefined symbols. Python complains about
these undefined symbols
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...
First cut at allowing gdp_gin_append_async take multiple datums in one
call. It isn't clear the semantics are right yet.
Bump version number to 2.0.2.
Bump patch level on version files (both ep and gdp).
Bump version number to 2.0.0.
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.
Merge branch 'master' into eric/temp
Fix DB_AUTO_COMMIT inconsistency in gdp-log-check.
First cut at running Layer 5 network protocol version 4 over old
(version 3) Layer 4 stack. Substantial parts are unimplemented,
including signature generation and checking, read or subscribe by
timestamp or hash, and others. No asynchronous operations including...
Merge branch 'master' into eric/net4
Bump version number to 0.9.1.
Snapshot. Compiles but doesn't work.
Snapshot. Not tested.
First cut at new net protocol. Compiles, but not yet tested (not even
once --- do not try to run this!).
Since prior commit changes semantics, change the version number to
First cut at separating GCL instances (GINs) from GDP Objects (GOBs).
This is intended to fix some semantic problems with subscriptions. End
users always use GINs (aliased to gdp_gcl_t for now for compatibility),
and there is one GIN for each call to gdp_gcl_open (i.e., no returning...
Merge branch 'eric/dev' including reliability improvements; push GDP
version number to 0.8.3.
Bump version number to 0.8.2.
Update version number to 0.8.1 (increase patch level); this reflects
Bump version number to 0.8.0 to reflect addition of unsubscribe.
Include INSTALLFLAGS in install targets in Makefiles.
Split out GCL management to bring related routines into one source file.
No semantic changes.
Bump gdp patch level.
Update Makefiles to include /usr/local/opt/openssl as a local search
directory. This is only for Homebrew on MacOS, which refuses to install
openssl into system directories.
Attempt to do a better job getting the git information into the binary
--- it failed to recreate git-version.txt in some circumstances, even
though the code had been changed.
Update licenses to 2017.
Update Makefiles to modern conventions.
Respect environmental CFLAGS in Makefile (use += rather than =). Fixes
Bumped to version 0.7.2
Bump version to 0.7.1
Clean up Makefiles for consistency and proper use of LDLIBS.
Make rebuilding after version changes slightly more automatic.
Updated version to 0.7.0
Updated instructions for compiling using brew under Darwin.
Update ep and gdp Makefiles to use new libs/makelinks.sh semantics.
gdp/Makefile now houses the master version number; everything else is
Put git commit id into generated binaries.
Make Makefiles a bit more portable; notably, they always search
/usr/local and /opt/local for include files and libraries (since both
directories are used on various systems). Addresses Issue #10.
Change handling of shared libraries so links are created dynamically in
libs directory rather than being stored (with version numbers) in git.
Move "-g" flag into a Makefile macro to make it easier to change debuggers.
Makefile cleanup to simplify installation of new library versions.
Clean up installation targets.
Fix some problems that caused Jenkins complain.