POST handler of auction_brandt extension now parses JSON transcript and
passes JSON via stdin to external program. Reads result via stdout.
TODOs:
- check signatures in transcript
- parse JSON output of replay progam
- add configuration to to auction_brandt:
- types of auctions
- max. concurrent users
- max. number of prices
- maximum price
- fees
- add timeout handler for replay program execution
- (maybe) sign output of exchange by master-key
- (maybe) add GET handler with information re: auction_brandt?
- added an extension to handle auctions via libbrandt
- /extensions/auction_brandt GET and POST handler defined
- initial parsing of transcript.json implemented, yet WiP
- multiple cleanups and changes to extension handling
- Extensions are now compiled as shared libraries and loaded at runtime
according to the TALER configuration.
- So far, only age restriction is loaded as extension.
- Groundwork for extension auction_brandt started.
The new name now matches the documentation and the header file.
* src/extensions/extension_age_restriction.c (TALER_age_mask_to_string):
Rename param ‘m’ to ‘mask’; update all references.
Age restriction support for
- withdraw is done and tested
- deposit is done and tested
TODOs:
- melt/refresh/reveal
- link
------
Added functions
- TALER_age_restriction_commit
- TALER_age_commitment_derive
- TALER_age_commitment_hash
- TALER_age_restriction_commitment_free_inside
- Hash of age commitment passed around API boundaries
Exchangedb adjustments for denominations
- all prepared statements re: denominations now handle age_mask
- signature parameters adjusted
Hash and signature verification of /keys adjusted
- Hashes of (normal) denominations and age-restricted denominations are
calculated seperately
- The hash of the age-restricted ones will then be added to the other
hash
- The total hash is signed/verified
Tests for withdraw with age restriction added
- TALER_EXCHANGE_DenomPublickey now carries age_mask
- TALER_TESTING_cmd_withdraw_amount* takes age parameter
- TALER_TESTING_find_pk takes boolean age_restricted
- WithdrawState carries age_commitment and its hash
- withdraw_run derives new age commitment, if applicable
- Added age parameter to testing (13 as example)
Various Fixes and changes
- Fixes of post handler for /management/extensions
- Fixes for offline tool extensions signing
- Slight refactoring of extensions
- Age restriction extension simplified
- config is now global to extension
- added global TEH_age_restriction_enabled and TEH_age_mask in
taler-exchange-httpd
- helper functions and macros introduced
- major refactoring of extensions
- extensions live now in a separate library, libtalerextensions
- refactored all components using age_restriction accordingly
- plumbing for plugin support for extensions roughly layed down