steamworks
2 years agoMerge branch 'polish-cmake' master
Adriaan de Groot [Thu, 23 May 2019 14:29:42 +0000 (16:29 +0200)]
Merge branch 'polish-cmake'

2 years agoPulley: C++ raw strings don't work that way
Adriaan de Groot [Thu, 23 May 2019 14:29:24 +0000 (16:29 +0200)]
Pulley: C++ raw strings don't work that way

2 years agoCMake: simplify build of dev-tools for pulleyscript
Adriaan de Groot [Thu, 23 May 2019 14:17:35 +0000 (16:17 +0200)]
CMake: simplify build of dev-tools for pulleyscript

 - just link to the static lib and let it take care of the rest
 - drop the OBJECT library
 - rely on the linker to handle squeal.c being compiled more than once.

2 years agoCMake: find sqlite3 and flex where needed
Adriaan de Groot [Thu, 23 May 2019 14:10:54 +0000 (16:10 +0200)]
CMake: find sqlite3 and flex where needed

 - needed by pulleyscript, so find there
 - add to the public link interface of the libraries, so
   we don't need to specify them elsewhere again.

2 years agoCMake: leverage FeatureSummary in pulleyscript
Adriaan de Groot [Thu, 23 May 2019 13:08:44 +0000 (15:08 +0200)]
CMake: leverage FeatureSummary in pulleyscript

2 years agoCMake: update copyright statements
Adriaan de Groot [Thu, 23 May 2019 13:04:53 +0000 (15:04 +0200)]
CMake: update copyright statements

2 years agoCMake: leverage FeatureSummary
Adriaan de Groot [Thu, 23 May 2019 12:54:58 +0000 (14:54 +0200)]
CMake: leverage FeatureSummary

 - Find all we can, and continue in the face of missing requirements
   so that the feature summary at the end can pick them all up.
 - Set requirements package properties for some of the requirements.

2 years agoCMake: bump ARPA2CM requirement and fix version scheme
Adriaan de Groot [Thu, 23 May 2019 12:42:26 +0000 (14:42 +0200)]
CMake: bump ARPA2CM requirement and fix version scheme

 - versioning according to ARPA2CM should be just major.minor
   (e.g. 0.93, not 0.92.0).

2 years agoRemoved a dubious syntax construct for sending lists to output drivers.
Rick van Rein [Fri, 19 Oct 2018 17:22:33 +0000 (17:22 +0000)]
Removed a dubious syntax construct for sending lists to output drivers.

/*
 * TODO: COMPLEX FUTURE ADDITION
 *
 * Not quite sure why we wanted this, and it is not documented :'-(
 * but it probably was to send out a SEQUENCE of variables, and allow
 * dynamic handling of such in the recipient.  Alas, for now this is
 * not yet supported.  Ask for it and it will be considered, as it is
 * possible and systems have a tendency to grow towards increased
 * dynamicity -- in this case we actually have an idea how and where.
 *
        drvout_vallist_s: BRA {
                drv_output_list_begin (prs->drvtab, prs->newdrv);
        } drvout_vallist KET {
                drv_output_list_end (prs->drvtab, prs->newdrv);
        }
 */

2 years agoValues no longer appear as external variable numbers
Rick van Rein [Fri, 19 Oct 2018 14:33:53 +0000 (14:33 +0000)]
Values no longer appear as external variable numbers
VARKIND_VARIABLE for the generator's set (var_x) and not (?003)
VARKIND_CONSTANT of VARTP_INTEGER, _FLOAT, _STRING, _BLOB map to SQL

2 years agoMost problems with PulleyScript syntaxis are resolved
Rick van Rein [Fri, 19 Oct 2018 13:18:08 +0000 (13:18 +0000)]
Most problems with PulleyScript syntaxis are resolved
 - TODO: Values like "7" appear as external variable numbers
 - TODO: Output drivers with value lists (?) make [ and ] show up as varidx -1
 - We now generate ?003 versus var_x as needed (opposite of what we did)
 - We now add a PARAM_OFS to ?003 to make it start from 001 not 000
 - Reinstated most (but not the TODO) cowerdly removed syntax challenges

2 years agoCowerdly corrected a syntactical challenge
Rick van Rein [Fri, 19 Oct 2018 06:30:12 +0000 (06:30 +0000)]
Cowerdly corrected a syntactical challenge
 - This cleans up the test suite for PulleyScript
 - There may be syntax problems that are not properly detected?!?

2 years agoOutput production linkage and correctness.
Rick van Rein [Fri, 19 Oct 2018 02:45:47 +0000 (02:45 +0000)]
Output production linkage and correctness.
 - We connected through a TODO_produce_output, which was dropped
 - We generated FROM ... FROM ... NATURAL JOIN ... but now just one FROM

2 years agoLinking compiler.c to squeal.c ; small textual changes
Rick van Rein [Thu, 18 Oct 2018 20:29:55 +0000 (20:29 +0000)]
Linking compiler.c to squeal.c ; small textual changes

2 years agoRenamed Pulley's notion of "record" to "tuple".
Rick van Rein [Thu, 18 Oct 2018 18:08:56 +0000 (18:08 +0000)]
Renamed Pulley's notion of "record" to "tuple".
The idea being: Pulley manages a "tuple space".

2 years agoCMake: require consistent CMake versions
Adriaan de Groot [Tue, 16 Oct 2018 08:23:16 +0000 (10:23 +0200)]
CMake: require consistent CMake versions

3 years agoCMake: bump ARPA2CM requirement
Adriaan de Groot [Fri, 9 Feb 2018 09:50:07 +0000 (10:50 +0100)]
CMake: bump ARPA2CM requirement

3 years agoPulleyscript: reduce superfluous test failures.
Adriaan de Groot [Thu, 18 Jan 2018 15:52:15 +0000 (10:52 -0500)]
Pulleyscript: reduce superfluous test failures.

Compiling an empty file should not be an error (well, unless we say it
is). So when there are no drivers to generate, don't bother calling
the squeal routines. The squeal routines fail because they will try to
calloc 0 bytes -- numdrvs * sizeof(something).

3 years agoPulleyscript: be slightly more verbose when starting SQL generation
Adriaan de Groot [Thu, 18 Jan 2018 15:44:15 +0000 (10:44 -0500)]
Pulleyscript: be slightly more verbose when starting SQL generation

3 years agoPulleyscript: test script needs trailing /
Adriaan de Groot [Thu, 18 Jan 2018 15:39:25 +0000 (10:39 -0500)]
Pulleyscript: test script needs trailing /

3 years agoPulleyscript: add options to write squeal DB elsewhere
Adriaan de Groot [Thu, 18 Jan 2018 15:28:19 +0000 (10:28 -0500)]
Pulleyscript: add options to write squeal DB elsewhere

 - ALLOW_INSECURE_DB gives squeal.c a hook to change where it
   will write the database.
 - Build compiler and simple with flags and extern declarations
   to use that hook.
 - Update tests to use the hook (so we don't write stuff in the
   'real' db dir during testing).

3 years agoPulleyscript: additional indirection
Adriaan de Groot [Thu, 18 Jan 2018 12:46:17 +0000 (07:46 -0500)]
Pulleyscript: additional indirection

 - prep-work for allowing the DBdir to be switched at runtime.
   Whether this is possible depends on the compile-time option
   ALLOW_INSECUREDB.

3 years agoPulley: add tests
Adriaan de Groot [Thu, 18 Jan 2018 12:24:59 +0000 (07:24 -0500)]
Pulley: add tests

 - just try to compile the sample scripts

3 years agoPulley: declare yylex
Adriaan de Groot [Thu, 18 Jan 2018 11:06:33 +0000 (06:06 -0500)]
Pulley: declare yylex

 - fixes a compiler warning about undeclared yylex

3 years agoCrank: add a test-sequence
Adriaan de Groot [Thu, 4 Jan 2018 15:58:23 +0000 (16:58 +0100)]
Crank: add a test-sequence

3 years agoC++: switch to C++11 style and reduce warnings.
Adriaan de Groot [Thu, 4 Jan 2018 15:33:16 +0000 (16:33 +0100)]
C++: switch to C++11 style and reduce warnings.

Typedef'fed references don't consume const as expected.

3 years agoVerbDispatcher: switch to C++11 style
Adriaan de Groot [Thu, 4 Jan 2018 15:02:40 +0000 (16:02 +0100)]
VerbDispatcher: switch to C++11 style

3 years agoFCGI: silence warning about printf parameters
Adriaan de Groot [Thu, 4 Jan 2018 14:54:59 +0000 (15:54 +0100)]
FCGI: silence warning about printf parameters

3 years agoCMake: fix build when log4cpp isn't found
Adriaan de Groot [Thu, 4 Jan 2018 14:32:29 +0000 (15:32 +0100)]
CMake: fix build when log4cpp isn't found

 - include for OpenLDAP was not added
 - on FreeBSD, happens to be same as for log4cpp

3 years agoCMake: don't use Quick-DER
Adriaan de Groot [Thu, 4 Jan 2018 14:26:00 +0000 (15:26 +0100)]
CMake: don't use Quick-DER

3 years agoLicensing: add SPDX, tidy CMakeLists a little
Adriaan de Groot [Fri, 22 Sep 2017 12:57:53 +0000 (14:57 +0200)]
Licensing: add SPDX, tidy CMakeLists a little

 - bump required CMake version to match ARPA2CM
 - fixup style of commenting in license
 - remove license of macro that moved to ARPA2CM
 - follow reuse.software guidelines

3 years agoMerge branch 'master' of github.com:arpa2/steamworks
Adriaan de Groot [Fri, 22 Sep 2017 12:15:01 +0000 (14:15 +0200)]
Merge branch 'master' of github.com:arpa2/steamworks

3 years agoCMake: use ARPA2CM
Adriaan de Groot [Thu, 31 Aug 2017 12:37:42 +0000 (14:37 +0200)]
CMake: use ARPA2CM

Remove own CMake modules in favor of the centraliesd ARPA2CM collection.
A more modern FindOpenLDAP is included there.

Keep FindFCGI because it is a bogus find module for the local bundled copy.

3 years agoSimplify C and C++ standard detection.
Adriaan de Groot [Fri, 18 Aug 2017 09:25:53 +0000 (11:25 +0200)]
Simplify C and C++ standard detection.

3 years agoRelease: give Steamworks a default version
Adriaan de Groot [Fri, 18 Aug 2017 09:06:17 +0000 (11:06 +0200)]
Release: give Steamworks a default version

 - This is used if git is not available
 - Also used when building from a tarball instead of git checkout

3 years agoDocumentation: mention Ubuntu packages, too
Adriaan de Groot [Thu, 17 Aug 2017 14:40:17 +0000 (16:40 +0200)]
Documentation: mention Ubuntu packages, too

3 years agoLogging: change misleading debug output
Adriaan de Groot [Fri, 14 Jul 2017 11:03:42 +0000 (13:03 +0200)]
Logging: change misleading debug output

3 years agoLogging: in examples, log plugin output to separate file
Adriaan de Groot [Fri, 14 Jul 2017 10:58:56 +0000 (12:58 +0200)]
Logging: in examples, log plugin output to separate file

3 years agoCrank: simplify examples Makefile, remove -Z
Adriaan de Groot [Thu, 13 Jul 2017 16:44:33 +0000 (18:44 +0200)]
Crank: simplify examples Makefile, remove -Z

3 years agoPulley: use a working script as example
Adriaan de Groot [Thu, 13 Jul 2017 16:39:26 +0000 (18:39 +0200)]
Pulley: use a working script as example

3 years agoPulley: add another example script
Adriaan de Groot [Thu, 13 Jul 2017 16:28:03 +0000 (18:28 +0200)]
Pulley: add another example script

3 years agoCMake: fix broken top-level argument handling
Adriaan de Groot [Thu, 13 Jul 2017 16:27:49 +0000 (18:27 +0200)]
CMake: fix broken top-level argument handling

3 years agoPulley: pulley also needs to give write_logger() to plugins
Adriaan de Groot [Thu, 13 Jul 2017 15:18:23 +0000 (17:18 +0200)]
Pulley: pulley also needs to give write_logger() to plugins

3 years agoLDAP: make TLS use depend on use of ldaps:// uri
Adriaan de Groot [Thu, 13 Jul 2017 15:09:46 +0000 (17:09 +0200)]
LDAP: make TLS use depend on use of ldaps:// uri

3 years agoExamples: adjust makefiles to match changed build
Adriaan de Groot [Thu, 13 Jul 2017 14:43:14 +0000 (16:43 +0200)]
Examples: adjust makefiles to match changed build

3 years agoUpdate CMake system to match QD and LillyDAP
Adriaan de Groot [Fri, 30 Jun 2017 22:55:40 +0000 (00:55 +0200)]
Update CMake system to match QD and LillyDAP

3 years agoFCGI: reduce warnings, be modern.
Adriaan de Groot [Fri, 30 Jun 2017 13:39:07 +0000 (15:39 +0200)]
FCGI: reduce warnings, be modern.

3 years agoDe-cruft the CMakeLists
Adriaan de Groot [Fri, 30 Jun 2017 10:37:51 +0000 (12:37 +0200)]
De-cruft the CMakeLists

3 years agoAdjust FindFCGI for new top-level
Adriaan de Groot [Fri, 30 Jun 2017 10:37:36 +0000 (12:37 +0200)]
Adjust FindFCGI for new top-level

3 years agoUpdate ignore
Adriaan de Groot [Fri, 30 Jun 2017 09:52:34 +0000 (11:52 +0200)]
Update ignore

3 years agoReplace most of the stub-Makefile with QD/LD/LEAF version.
Adriaan de Groot [Fri, 30 Jun 2017 09:45:33 +0000 (11:45 +0200)]
Replace most of the stub-Makefile with QD/LD/LEAF version.

3 years agoAdd top-level CMake
Adriaan de Groot [Fri, 30 Jun 2017 09:42:41 +0000 (11:42 +0200)]
Add top-level CMake

3 years agoAdd LDIF updates to the example TLSPool config
Adriaan de Groot [Fri, 30 Jun 2017 09:26:51 +0000 (11:26 +0200)]
Add LDIF updates to the example TLSPool config

3 years agoAdd some dev-notes from way back
Adriaan de Groot [Fri, 30 Jun 2017 09:26:20 +0000 (11:26 +0200)]
Add some dev-notes from way back

4 years agoPulleyback: stub of documentation of the (example) backends and scripts.
Adriaan de Groot [Wed, 11 Jan 2017 13:58:49 +0000 (14:58 +0100)]
Pulleyback: stub of documentation of the (example) backends and scripts.

4 years agoUnbound: start article describing DNS-in-LDAP with Unbound + Pulley
Adriaan de Groot [Wed, 28 Dec 2016 15:41:16 +0000 (16:41 +0100)]
Unbound: start article describing DNS-in-LDAP with Unbound + Pulley

4 years agoPulley: also install API-header file
Adriaan de Groot [Wed, 28 Dec 2016 12:41:44 +0000 (13:41 +0100)]
Pulley: also install API-header file

4 years agoPackaging: FreeBSD packaging (ports Makefile).
Adriaan de Groot [Wed, 28 Dec 2016 12:23:38 +0000 (13:23 +0100)]
Packaging: FreeBSD packaging (ports Makefile).

4 years agoPackaging: documentation of packaging/ directory
Adriaan de Groot [Wed, 28 Dec 2016 11:50:25 +0000 (12:50 +0100)]
Packaging: documentation of packaging/ directory

4 years agoCrankFront: when not connected, offer a login box for connection info.
Adriaan de Groot [Wed, 24 Aug 2016 21:32:18 +0000 (23:32 +0200)]
CrankFront: when not connected, offer a login box for connection info.

4 years agoCrank: give a better status message when disconnected.
Adriaan de Groot [Wed, 24 Aug 2016 21:06:46 +0000 (23:06 +0200)]
Crank: give a better status message when disconnected.

4 years agoCrankFront: in demo, start Crank disconnected and unauthenticated
Adriaan de Groot [Wed, 24 Aug 2016 14:21:29 +0000 (16:21 +0200)]
CrankFront: in demo, start Crank disconnected and unauthenticated

4 years agoCrankFront: minor cosmetics
Adriaan de Groot [Wed, 24 Aug 2016 14:14:35 +0000 (16:14 +0200)]
CrankFront: minor cosmetics

4 years agoPulleyBack: make transactions C++-like with a BackendTransaction object.
Adriaan de Groot [Wed, 24 Aug 2016 13:08:47 +0000 (15:08 +0200)]
PulleyBack: make transactions C++-like with a BackendTransaction object.

4 years agoPulleyScript: add support for explicit transactions
Adriaan de Groot [Sun, 21 Aug 2016 22:12:34 +0000 (00:12 +0200)]
PulleyScript: add support for explicit transactions

4 years agoPulleyScript: call transaction-support functions in the backends after an add() or...
Adriaan de Groot [Sun, 21 Aug 2016 21:34:53 +0000 (23:34 +0200)]
PulleyScript: call transaction-support functions in the backends after an add() or del()

4 years agoSqueal: be more forgiving of / in PULLEY_SQUEAL_DIR (or whatever else is passed in...
Adriaan de Groot [Sun, 21 Aug 2016 20:10:14 +0000 (22:10 +0200)]
Squeal: be more forgiving of / in PULLEY_SQUEAL_DIR (or whatever else is passed in to squeal)

4 years agoValgrind: cleanup blob-variable storage.
Adriaan de Groot [Sun, 21 Aug 2016 16:42:52 +0000 (18:42 +0200)]
Valgrind: cleanup blob-variable storage.

4 years agoValgrind: don't leak bitsets
Adriaan de Groot [Sun, 21 Aug 2016 16:34:23 +0000 (18:34 +0200)]
Valgrind: don't leak bitsets

4 years agoValgrind: don't leak variables or drivers
Adriaan de Groot [Sun, 21 Aug 2016 16:27:06 +0000 (18:27 +0200)]
Valgrind: don't leak variables or drivers

4 years agoValgrind: don't leak generator table memory
Adriaan de Groot [Sun, 21 Aug 2016 16:22:45 +0000 (18:22 +0200)]
Valgrind: don't leak generator table memory

4 years agoValgrind: don't leak driver callback-parameter memory.
Adriaan de Groot [Sun, 21 Aug 2016 16:12:45 +0000 (18:12 +0200)]
Valgrind: don't leak driver callback-parameter memory.

4 years agoValgrind: don't leak memory when configuring generators.
Adriaan de Groot [Sun, 21 Aug 2016 14:45:25 +0000 (16:45 +0200)]
Valgrind: don't leak memory when configuring generators.

4 years agoValgrind: free driver structures on exit.
Adriaan de Groot [Sun, 21 Aug 2016 14:25:30 +0000 (16:25 +0200)]
Valgrind: free driver structures on exit.

4 years agoValgrind: fix der_dump(), which decoded length improperly.
Adriaan de Groot [Sun, 21 Aug 2016 14:16:22 +0000 (16:16 +0200)]
Valgrind: fix der_dump(), which decoded length improperly.

4 years agoValgrind: avoid uninitialized pointers
Adriaan de Groot [Sun, 21 Aug 2016 14:03:23 +0000 (16:03 +0200)]
Valgrind: avoid uninitialized pointers

4 years agoPulleyScript: make test-program read multiple values to add or remove.
Adriaan de Groot [Sun, 21 Aug 2016 13:50:56 +0000 (15:50 +0200)]
PulleyScript: make test-program read multiple values to add or remove.

4 years agoBuild: yet another qsort_r thing: split off to separate file.
Adriaan de Groot [Sat, 20 Aug 2016 12:57:11 +0000 (14:57 +0200)]
Build: yet another qsort_r thing: split off to separate file.

4 years agoBuild: fix up qsort_r() parameter order checks
Adriaan de Groot [Sat, 20 Aug 2016 12:10:04 +0000 (14:10 +0200)]
Build: fix up qsort_r() parameter order checks

4 years agoBuild: check qsort_r() parameter order
Adriaan de Groot [Sat, 20 Aug 2016 11:58:18 +0000 (13:58 +0200)]
Build: check qsort_r() parameter order

4 years agoBuild: start of a cmake-check to detect parameter-order in qsort_r
Adriaan de Groot [Sat, 20 Aug 2016 11:24:21 +0000 (13:24 +0200)]
Build: start of a cmake-check to detect parameter-order in qsort_r

4 years agoBuild: soothe the compiler, but retain the problem: qsort_r has variable interfaces...
Adriaan de Groot [Sun, 10 Jul 2016 04:28:47 +0000 (06:28 +0200)]
Build: soothe the compiler, but retain the problem: qsort_r has variable interfaces that sometimes swap thunk and comparator-func

4 years agoBuild: reduce conversion warnings
Adriaan de Groot [Sun, 10 Jul 2016 04:16:00 +0000 (06:16 +0200)]
Build: reduce conversion warnings

4 years agoBuild: apply POSIX_C (for sigaction) only to os_unix.c
Adriaan de Groot [Sat, 20 Aug 2016 10:23:50 +0000 (12:23 +0200)]
Build: apply POSIX_C (for sigaction) only to os_unix.c

4 years agoBuild: pslib uses qsort_r, assume GNU_SOURCE
Adriaan de Groot [Sun, 10 Jul 2016 03:52:26 +0000 (05:52 +0200)]
Build: pslib uses qsort_r, assume GNU_SOURCE

4 years agoBuild: c99 and GNU source fixups
Adriaan de Groot [Sun, 10 Jul 2016 03:16:24 +0000 (05:16 +0200)]
Build: c99 and GNU source fixups

 - Use gnu99 / c99 if possible
 - .. but c99 doesn't give us all of POSIX, so re-add that for sigaction
 - h_addr is a FreeBSD or GNU backwards-compatibility thing.

4 years agoCMake: tidy includes, module uses
Adriaan de Groot [Sun, 10 Jul 2016 03:10:17 +0000 (05:10 +0200)]
CMake: tidy includes, module uses

4 years agoBuild: on Linux, -ldl is needed for dynamic loading.
Adriaan de Groot [Sun, 10 Jul 2016 03:08:34 +0000 (05:08 +0200)]
Build: on Linux, -ldl is needed for dynamic loading.

4 years agoBuild: remove logging-code when NDEBUG is set
Adriaan de Groot [Sun, 10 Jul 2016 02:52:48 +0000 (04:52 +0200)]
Build: remove logging-code when NDEBUG is set

4 years agoBuild: fix build on non-FreeBSD
Adriaan de Groot [Sun, 10 Jul 2016 02:15:37 +0000 (04:15 +0200)]
Build: fix build on non-FreeBSD

 - update Debian dependency list in README.Linux
 - building on Debian/g++ fixes:
   - missing includes
   - move dlfunc() check to where it's needed
   - add a simple dlfunc() implementation, from stackoverflow.

4 years agoBuild: dlfunc() isn't portable
Adriaan de Groot [Sat, 20 Aug 2016 08:09:23 +0000 (10:09 +0200)]
Build: dlfunc() isn't portable

4 years agoPulleyback: in NULL-backend, dump passed-in DER data
Adriaan de Groot [Fri, 19 Aug 2016 18:59:49 +0000 (20:59 +0200)]
Pulleyback: in NULL-backend, dump passed-in DER data

4 years agoBuild: add top-level test target
Adriaan de Groot [Fri, 19 Aug 2016 18:43:33 +0000 (20:43 +0200)]
Build: add top-level test target

4 years agoPulley: test program return code reflects plugin-loading status.
Adriaan de Groot [Fri, 19 Aug 2016 18:41:39 +0000 (20:41 +0200)]
Pulley: test program return code reflects plugin-loading status.

4 years agoPulleyBack: extend test program
Adriaan de Groot [Wed, 17 Aug 2016 15:59:06 +0000 (17:59 +0200)]
PulleyBack: extend test program

 - arguments are now a single script file + a single JSON data file
 - JSON is read and passed as argument to script (which calls the
   relevant backends).

4 years agoPulleyback: add commit() and rollback() to instance methods.
Adriaan de Groot [Wed, 17 Aug 2016 15:39:58 +0000 (17:39 +0200)]
Pulleyback: add commit() and rollback() to instance methods.

4 years agoPulleyback: call del in backends
Adriaan de Groot [Wed, 17 Aug 2016 15:34:31 +0000 (17:34 +0200)]
Pulleyback: call del in backends

4 years agoBuild: propagate PREFIX, make it easier to set up PULLEY_SQUEAL_DIR from the make...
Adriaan de Groot [Wed, 17 Aug 2016 14:11:30 +0000 (16:11 +0200)]
Build: propagate PREFIX, make it easier to set up PULLEY_SQUEAL_DIR from the make command-line.

4 years agoBuild: add a top-level clean target
Adriaan de Groot [Wed, 17 Aug 2016 08:30:29 +0000 (10:30 +0200)]
Build: add a top-level clean target

4 years agoPulleyback: reencode Squeal blob to DER, pass that into the backends.
Adriaan de Groot [Sun, 14 Aug 2016 21:45:16 +0000 (23:45 +0200)]
Pulleyback: reencode Squeal blob to DER, pass that into the backends.