Capture whence information in all Serval logging API entry points.
Introduce the LogLevel enum type to avoid exposing internal C API
details in the Swift API.
Rename Swift API methods and types to use camelCase naming style, to
distinguish it from the C API, which uses under_score naming style.
Add servald_features.o to the libservaldaemon.a static library (was only
in libservaldaemon.so before), and create the "servald_features.h"
public header so that an iOS app's Swift code can simply refer to the
servald_features() function in order to link in all the Serval DNA
daemon features.
The iOS build now produces two frameworks instead of one:
- 'serval_dna' is the C API
- 'ServalDNA' is the Swift API (daemon)
The top-level modulemap file now produces a C API module called
'serval_dna' (renamed the library to libserval_dna.a) so that the Swift
API code can be identical for iOS and non-iOS targets.
On iOS, the log outputter uses Apple's Unified Logging System, but on
Mac OS, the logger uses the older Syslog API so that it will compile on
platforms older than macOS 10.13 High Sierra.
Fixes a bug that appeared in XCode 9.3, that wrapping clang and swiftc
with the xcrun(1) command no longer sets the #include root directory, so
compiling for iOS failed because it was using Mac OS header files.
To be consistent with documentation, the response must contain the
details of the locked identity. Added relevant assertions to the
lock/unlock test case.
Change the default 'rhizome.datastore_path' to "rhizome", ie, a sub-
directory of the instance directory.
Add a new erename() operation to "os.h".
Clean up the code around the fix 39f582cca (two commits ago) for a bug
introduced in 2014: the 'rhizome.db' file was always being created in
the instance directory, regardless of the setting of the
'rhizome.datastore_path' config option.
Whenever the Rhizome database is opened (by the server or by a CLI
invocation), if the database file does not exist but there is a
'rhizome.db' file in the legacy location, then move that file (and any
accompanying "blob" and "hash" sub-directories) to the configured
location.
Update copyright notices.