Adriaan de Groot [Wed, 17 Aug 2016 15:39:58 +0000 (17:39 +0200)]
Pulleyback: add commit() and rollback() to instance methods.
Adriaan de Groot [Wed, 17 Aug 2016 15:34:31 +0000 (17:34 +0200)]
Pulleyback: call del in backends
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.
Adriaan de Groot [Wed, 17 Aug 2016 08:30:29 +0000 (10:30 +0200)]
Build: add a top-level clean target
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.
Adriaan de Groot [Sat, 13 Aug 2016 12:21:51 +0000 (14:21 +0200)]
NULL backend: log variables passed in to add()
Adriaan de Groot [Sat, 13 Aug 2016 12:13:05 +0000 (14:13 +0200)]
Pulleyscript: when opening an instance, pass in the number of generated (output) variables.
Adriaan de Groot [Sat, 13 Aug 2016 11:49:03 +0000 (13:49 +0200)]
Pulleyscript: test script outputs different numbers of vars to NULL backend.
Adriaan de Groot [Sat, 13 Aug 2016 11:48:37 +0000 (13:48 +0200)]
Pulleyscript: fix makefile wrt. simple compilation of Squeal now that it uses write_logger()
Adriaan de Groot [Sat, 13 Aug 2016 11:38:57 +0000 (13:38 +0200)]
NULL backend: for now, ignore DER encoding.
- take squeal_blob instead (this breaks tlspool backend)
- try printing expected variable count and actual vars
passed in when adding.
Adriaan de Groot [Sat, 13 Aug 2016 11:35:05 +0000 (13:35 +0200)]
Squeal: make squeal.h somewhat more self-supporting (so it can be included on its own)
Adriaan de Groot [Thu, 11 Aug 2016 22:19:53 +0000 (00:19 +0200)]
PulleyBack: call Instance::add() with data passed in from Squeal. Needs to be reencoded completely as DER, so pass NULL for now.
Adriaan de Groot [Thu, 11 Aug 2016 22:19:11 +0000 (00:19 +0200)]
PulleyBack: extend Instance API to call add() on the backend itself.
Adriaan de Groot [Thu, 11 Aug 2016 22:18:31 +0000 (00:18 +0200)]
PulleyBack: better logging in NULL backend (on allocation failure)
Adriaan de Groot [Thu, 11 Aug 2016 20:07:04 +0000 (22:07 +0200)]
PulleyBack: give instances (of backends) a name-accessor.
Adriaan de Groot [Thu, 11 Aug 2016 19:56:13 +0000 (21:56 +0200)]
Squeal: massage output from squeal so it goes to the loggers instead of stdout/stderr
Adriaan de Groot [Wed, 10 Aug 2016 15:52:18 +0000 (17:52 +0200)]
Squeal: additional debugging output
Adriaan de Groot [Wed, 10 Aug 2016 16:48:22 +0000 (18:48 +0200)]
Squeal: fix SQL API errors when inserting forks
- check for correct return-value from sqlite3_step()
- bail out on failure to get number of repeats
Adriaan de Groot [Wed, 10 Aug 2016 15:38:11 +0000 (17:38 +0200)]
Build: fix build parameters and DLL loading
- move definition for PULLEY_BACKEND_DIR down into pulleyscript
- need to allow dynamic resolution in plugins in the simple test-program too
Adriaan de Groot [Wed, 10 Aug 2016 15:47:26 +0000 (17:47 +0200)]
PulleyBack: set callback function for backend driver.
- Callback doesn't actually push to backend yet.
Adriaan de Groot [Wed, 10 Aug 2016 12:20:39 +0000 (14:20 +0200)]
PulleyBack: shuffle backend-loading into the pulleyscript/ directory.
- Move the backends and parameters again
- Keep track of loaded backends (cache)
- Keep driver-number in the backend-parameters, too
- Add accessor to check for validity of loader and instance
of a backend.
- Load backends from the parser while setting up SQL.
Adriaan de Groot [Wed, 10 Aug 2016 10:52:37 +0000 (12:52 +0200)]
PulleyBack: reshuffle backend-parameters again
- move the parameter class back to the parser, which is where
the information comes from.
- rename to BackendParameters
- add driver-name to parameter class
- add logging support to parameter class
- extend simple test with logging of backends from the script
Adriaan de Groot [Wed, 10 Aug 2016 11:32:04 +0000 (13:32 +0200)]
Build: make build-definitions visible at top-level
- PULLEY_SQUEAL_DIR
- PULLEY_BACKEND_DIR
These variables can be set in the CMake build; make them
visible at the top-level (Makefile) too.
Adriaan de Groot [Wed, 10 Aug 2016 08:35:55 +0000 (10:35 +0200)]
PulleyBack: minor variation in instantiating backends
Adriaan de Groot [Wed, 3 Aug 2016 12:54:15 +0000 (14:54 +0200)]
PulleyBack: the backend-parameter classes don't belong in pulleyscript itself (just the decoding).
Adriaan de Groot [Wed, 3 Aug 2016 11:54:32 +0000 (13:54 +0200)]
Pulley: store backend-parameters in the script (Parser)
Adriaan de Groot [Wed, 3 Aug 2016 11:21:10 +0000 (13:21 +0200)]
Pulley: simplify storage of vars-per-generator
Adriaan de Groot [Wed, 3 Aug 2016 11:00:59 +0000 (13:00 +0200)]
PulleyScript: decode backend-parameters
Adriaan de Groot [Wed, 3 Aug 2016 10:39:49 +0000 (12:39 +0200)]
PulleyScript: explain the resulting parameter-binding
Adriaan de Groot [Wed, 3 Aug 2016 10:39:20 +0000 (12:39 +0200)]
FIXUP test script
Adriaan de Groot [Wed, 3 Aug 2016 09:15:13 +0000 (11:15 +0200)]
PulleyScript: fix minor type-conversion
Adriaan de Groot [Wed, 3 Aug 2016 09:08:01 +0000 (11:08 +0200)]
PulleyScript: expand test-file for instantiating backend multiple times
Adriaan de Groot [Wed, 3 Aug 2016 09:06:54 +0000 (11:06 +0200)]
PulleyScript: set and get driver-parameters
Adriaan de Groot [Wed, 3 Aug 2016 08:45:10 +0000 (10:45 +0200)]
PulleyScript: save driver parameters
- Drop drv_setup_param(), as it was TODO
- (Ab?) Use binding actions to express the binding between parameters
and constant values.
Adriaan de Groot [Sat, 16 Jul 2016 07:44:33 +0000 (09:44 +0200)]
PulleyScript: minor debug-improvement after parsing; output driver info
Adriaan de Groot [Sat, 16 Jul 2016 07:43:59 +0000 (09:43 +0200)]
PulleyScript: minor debug-output improvement in compiler
Adriaan de Groot [Sat, 16 Jul 2016 07:37:41 +0000 (09:37 +0200)]
PulleyScript: add API to retrieve driver name by index
Adriaan de Groot [Sat, 16 Jul 2016 07:19:52 +0000 (09:19 +0200)]
PulleyScript: change output name in example, add parameters so its name is set.
Adriaan de Groot [Sat, 16 Jul 2016 07:12:59 +0000 (09:12 +0200)]
Squeal: fix up compilation with non-c99
Adriaan de Groot [Fri, 15 Jul 2016 15:13:21 +0000 (17:13 +0200)]
PulleyScript: add missing type for _gen_init()
Adriaan de Groot [Fri, 15 Jul 2016 15:01:38 +0000 (17:01 +0200)]
Squeal: allow compile-time setting of DB-dir
Adriaan de Groot [Fri, 15 Jul 2016 14:40:16 +0000 (16:40 +0200)]
Squeal: avoid memory leak when opening sqldb fails
Adriaan de Groot [Fri, 15 Jul 2016 14:55:54 +0000 (16:55 +0200)]
PulleyScript: improve logging, state handling in pulleyscript
Adriaan de Groot [Fri, 15 Jul 2016 14:26:13 +0000 (16:26 +0200)]
PulleyBack: log destruction of backends
Adriaan de Groot [Fri, 15 Jul 2016 14:20:20 +0000 (16:20 +0200)]
PulleyBack: in test-program, load multiple backend plugins
Adriaan de Groot [Fri, 15 Jul 2016 08:43:06 +0000 (10:43 +0200)]
PulleyBack: loading from PREFIX-location
Adriaan de Groot [Fri, 15 Jul 2016 08:17:26 +0000 (10:17 +0200)]
Meta: install SteamWorks components
- Installs crank, pulley, shaft executables
- Installs NULL pulley backend
Adriaan de Groot [Fri, 15 Jul 2016 08:10:22 +0000 (10:10 +0200)]
Meta: follow setting of PREFIX in top-level Makefile
Adriaan de Groot [Wed, 6 Jul 2016 21:06:07 +0000 (23:06 +0200)]
PulleyBack: add the rest of the API to the null backend.
Adriaan de Groot [Wed, 6 Jul 2016 21:00:06 +0000 (23:00 +0200)]
PulleyBack: load the rest of the PulleyBack API
Adriaan de Groot [Wed, 6 Jul 2016 19:56:31 +0000 (21:56 +0200)]
PulleyBack: refactor plugin-loader
- Loader class does the loading of the plugin API
from a DLL.
- Instance is an (open) instance of the plugin
Adriaan de Groot [Wed, 6 Jul 2016 19:19:08 +0000 (21:19 +0200)]
PulleyBack: Simplify code fetching functions from DLL
- First templated code in SteamWorks
- This allows a one-liner to grab the function pointer
with dlfunc() and store it in the correct place,
with validity being checked and set with each function;
if any one fails, the destructor (guaranteed to be
called) will reset all of the function pointers.
This saves a complicated test-set-and-cleanup construction
for each function pointer.
Adriaan de Groot [Wed, 6 Jul 2016 18:50:27 +0000 (20:50 +0200)]
PulleyBack: add test program to try plugin-loading
Adriaan de Groot [Wed, 6 Jul 2016 12:24:47 +0000 (14:24 +0200)]
PulleyBack: a null-backend (only part of the API)
Adriaan de Groot [Wed, 6 Jul 2016 18:53:15 +0000 (20:53 +0200)]
PulleyBack: Add backend classes
- loader class to open plugins
- forwarding to plugin-functions
Adriaan de Groot [Wed, 6 Jul 2016 12:13:25 +0000 (14:13 +0200)]
PulleyBack: import API header for Pulley backends from tlspool
- Add C-logging to pulleyback API
- remove duplicate include
- apply C linkage to plugins
Adriaan de Groot [Wed, 6 Jul 2016 18:43:28 +0000 (20:43 +0200)]
Logging: Add a (C-API) convenience logging function.
Adriaan de Groot [Wed, 6 Jul 2016 09:17:35 +0000 (11:17 +0200)]
Meta: generate HTML and man docs
Adriaan de Groot [Wed, 6 Jul 2016 08:52:07 +0000 (10:52 +0200)]
Meta: remove TODO, that is documented elsewhere (Trello, tickets)
Adriaan de Groot [Wed, 6 Jul 2016 08:51:21 +0000 (10:51 +0200)]
Meta: touch-up top-level READMEs
Adriaan de Groot [Wed, 6 Jul 2016 08:45:32 +0000 (10:45 +0200)]
Meta: touch-up AUTHORS file
Adriaan de Groot [Wed, 6 Jul 2016 08:32:31 +0000 (10:32 +0200)]
Meta: fix up some licensing texts, add the FCGI license
Adriaan de Groot [Mon, 4 Jul 2016 06:46:39 +0000 (08:46 +0200)]
PulleyScript: switch back to opening the DB in the default db directory
Adriaan de Groot [Mon, 4 Jul 2016 01:58:35 +0000 (03:58 +0200)]
PulleyScript: massage naming, remove TODOs that are now implemented.
Adriaan de Groot [Mon, 4 Jul 2016 01:55:14 +0000 (03:55 +0200)]
PulleyScript: use named constants for add-not-del
Adriaan de Groot [Mon, 4 Jul 2016 01:51:39 +0000 (03:51 +0200)]
PulleyScript: refactor insert/delete (now closely resembles squeal_produce_output())
Adriaan de Groot [Mon, 4 Jul 2016 01:37:59 +0000 (03:37 +0200)]
PulleyScript: fix parameter-naming for filling the drv_all hash-fields
Adriaan de Groot [Mon, 4 Jul 2016 01:30:12 +0000 (03:30 +0200)]
PulleyScript: take output rows and hand them off to deduplication, track hashes per output row
Adriaan de Groot [Mon, 4 Jul 2016 01:25:58 +0000 (03:25 +0200)]
PulleyScript: example expanded with a second output
Adriaan de Groot [Mon, 4 Jul 2016 01:05:27 +0000 (03:05 +0200)]
PulleyScript: correct documentation about memory layout
Adriaan de Groot [Mon, 4 Jul 2016 01:03:01 +0000 (03:03 +0200)]
PulleyScript: connect generator output-information to individual drivers
Adriaan de Groot [Mon, 4 Jul 2016 00:59:26 +0000 (02:59 +0200)]
PulleyScript: fix up peculiar use of calloc()
Adriaan de Groot [Mon, 4 Jul 2016 00:56:41 +0000 (02:56 +0200)]
PulleyScript: generate output rows from the forks of a given UUID
Adriaan de Groot [Mon, 4 Jul 2016 00:34:21 +0000 (02:34 +0200)]
PulleyScript: make SQL for (g, d) select from the generator-table, WHERE checks for uuid
Adriaan de Groot [Mon, 4 Jul 2016 00:18:50 +0000 (02:18 +0200)]
PulleyScript: on explain, show variable numbers as well
Adriaan de Groot [Mon, 4 Jul 2016 00:00:15 +0000 (02:00 +0200)]
PulleyScript: generate the SQL for (generator, outputdriver) pairs, and fix the structure allocation at the same time (now leaks memory instead).
Adriaan de Groot [Sun, 3 Jul 2016 23:55:38 +0000 (01:55 +0200)]
PulleyScript: drop x509ca variable from example tlspool script, since it isn't declared elsewhere.
Adriaan de Groot [Sun, 3 Jul 2016 23:28:42 +0000 (01:28 +0200)]
PulleyScript: delete from gen_<hash>
Adriaan de Groot [Sun, 3 Jul 2016 22:30:24 +0000 (00:30 +0200)]
PulleyScript: be chatty when SQL errors occur, number generator fork-insert parameters
Adriaan de Groot [Sun, 3 Jul 2016 22:25:06 +0000 (00:25 +0200)]
PulleyScript: fix up conversion to blob
Adriaan de Groot [Sun, 3 Jul 2016 22:10:07 +0000 (00:10 +0200)]
PulleyScript: in simple test program, try adding a JSON object as if it comes from LDAP
Adriaan de Groot [Sun, 3 Jul 2016 22:09:24 +0000 (00:09 +0200)]
PulleyScript: don't close DB after generating SQL statements; build blobs for inserting variable-tuples, and run them
Adriaan de Groot [Sun, 3 Jul 2016 21:17:42 +0000 (23:17 +0200)]
PulleyScript: function for inserting forks into the gen_<hash> tables
Adriaan de Groot [Sun, 3 Jul 2016 21:17:05 +0000 (23:17 +0200)]
JSON: fix iteration over dimensions with only constants
Adriaan de Groot [Sun, 3 Jul 2016 20:17:32 +0000 (22:17 +0200)]
JSON: fix multiiterator
- source code layout
- attribute names are case-insensitive in LDAP,
but were treated case-sensitive in the JSON
and in the interpreted pulleyscript.
Adriaan de Groot [Sun, 3 Jul 2016 19:57:12 +0000 (21:57 +0200)]
PulleyScript: while explaining the bindings for a generator, work the bindings backwars too to find the attribute name behind a variable.
Adriaan de Groot [Sun, 3 Jul 2016 15:27:07 +0000 (17:27 +0200)]
PulleyScript: extend squeal API
Modify generator_fork() so it can be called from
outside the opaque structures with a gennum_t.
Add it to the API.
Adriaan de Groot [Sun, 3 Jul 2016 15:26:03 +0000 (17:26 +0200)]
JSON: tidy MultiIterator
Adriaan de Groot [Sun, 3 Jul 2016 14:57:26 +0000 (16:57 +0200)]
PulleyScript: collect variable names (for applying to LDAP-data) per generator.
Adriaan de Groot [Sun, 3 Jul 2016 14:22:50 +0000 (16:22 +0200)]
PulleyScript: given lack of base/filter translation for multi-level script expression, drop the cn and ou bindings from the TLSpool example script
Adriaan de Groot [Sun, 3 Jul 2016 14:07:41 +0000 (16:07 +0200)]
PulleyScript: drop some inlines, leave that to the compiler
Adriaan de Groot [Sun, 3 Jul 2016 13:36:45 +0000 (15:36 +0200)]
PulleyScript: document my understanding of struct s3ins_generator
Adriaan de Groot [Sun, 3 Jul 2016 13:27:07 +0000 (15:27 +0200)]
PulleyScript: configure the gen_{add,del}_record SQL statements.
Adriaan de Groot [Sun, 3 Jul 2016 10:54:54 +0000 (12:54 +0200)]
PulleyScript: turn variable bindings into correctly-formatted LDAP filter conjunction
Adriaan de Groot [Sun, 3 Jul 2016 10:27:14 +0000 (12:27 +0200)]
PulleyScript: replace example TLSpool script with one distilled from the documentation
Adriaan de Groot [Sun, 3 Jul 2016 10:22:57 +0000 (12:22 +0200)]
PulleyScript: initialize retval, drop unused var
Adriaan de Groot [Sun, 3 Jul 2016 08:38:47 +0000 (10:38 +0200)]
PulleyScript: fix Squeal to prepare statements for out_hashes
- fix syntax error in table creation
- add squeal_configure to the squeal API
- report errors from preparation in squeal_configure()
- fixup SQL parameter-binding (? instead of ?hash, since
? is documented as taking a numeric suffix -- this may
be some other instance of sqlite interfaces changing
unexpectedly between the development-system and test-system).
- debug-output to distinguish prepare-sql from exec-sql
Adriaan de Groot [Fri, 1 Jul 2016 17:32:40 +0000 (19:32 +0200)]
JSON: different approach, iterate more directly on the JSON objects involved instead of needing a convert-to-vector-of-stringlists approach
Adriaan de Groot [Fri, 1 Jul 2016 09:16:20 +0000 (11:16 +0200)]
JSON: add a multi-iterator for attribute-iterations
Adriaan de Groot [Thu, 30 Jun 2016 23:14:32 +0000 (01:14 +0200)]
PulleyScript: reach the bit where the actual algorithm goes, mark it as TODO in pseudocode