Commit Graph

136 Commits

Author SHA1 Message Date
Christian Grothoff
f3a4b00907
adapt to latest GNUnet API: GNUNET_JSON_spec_mark_optional() changed 2022-04-05 17:15:50 +02:00
Christian Grothoff
074ea7502e
centralize exchange online signature logic 2022-03-29 15:21:49 +02:00
Christian Grothoff
427417b835
towards support for new reserve history/status APIs 2022-03-20 13:20:45 +01:00
Christian Grothoff
dee45bf022
return new global fees from /keys 2022-03-20 09:44:42 +01:00
Christian Grothoff
938db9ac56
-fix memory leak introduced by Oec 2022-03-19 16:04:41 +01:00
Christian Grothoff
c4690a44bc
-minor code cleanup 2022-03-19 15:54:05 +01:00
Christian Grothoff
280f94c3a6
improve style of some SQL queries (no semantic change) 2022-03-19 08:27:01 +01:00
Christian Grothoff
544ba42f44
-big renaming of structs for consistent naming with P suffix 2022-02-21 00:23:23 +01:00
Christian Grothoff
a351bfc4b4
-fix CS nonce reuse check logic 2022-02-17 15:18:09 +01:00
8bdf6ab19d
[age restriction] progress 14/n - withdraw and deposit
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
2022-02-16 22:01:05 +01:00
8684a9bfea
[age_restriction] progress 13/n
- 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
2022-01-23 01:36:21 +01:00
0b56de6c99
[age restriction] progress 12/n
- taler-offline-tool now handles extensions
  - command "extensions" added with subcommands "show" and "sign"
  - parses extensions from taler config
  - shows and signs of extensions and their configurations
  - creates signed set of configurations for upload
  - added test for retrieval of extension config

- simplified signature verification for extensions
  - remove per-extension signatures, also from DB schema
  - adjust prepared statements accordingly
  - adjust DB event handler for extensions
  - allow NULL for config for extension in DB schema
  - handler for /management/extensions adjusted to new datastructures

- changed test for TALER_denom_blind/TALER_denom_sign_blinded with and
  without TALER_AgeHash

- minor updates and various fixes
2022-01-21 15:41:02 +01:00
e30989c930
[age restriction] progress 11/n
Parse age restriction information from "/keys"
- parse "age_restriction" extension, extract mask for age groups
- parse denominations from "age_restricted_denoms", too, if available
2022-01-10 00:04:23 +01:00
Christian Grothoff
87376e02eb
protocol v12 changes (/recoup split, signature changes) plus database sharding plus O(n^2)=>O(n) worst-case complexity reduction on coin balance checks 2021-12-25 13:56:40 +01:00
Christian Grothoff
1a1fafbd43
introducing GNUNET_TIME_Timestamp, recoup now with amounts 2021-12-14 16:04:40 +01:00
Christian Grothoff
a25429cadd
fix #7123 2021-12-11 20:06:15 +01:00
Christian Grothoff
2e6e2387b8
logging 2021-12-08 14:53:22 +01:00
Christian Grothoff
32e185978f
tolerate missing 'Expire' header better 2021-12-08 14:33:13 +01:00
Christian Grothoff
f493122033
fix #7105 (for exchange) 2021-11-25 23:24:04 +01:00
Christian Grothoff
4599fc2d5e
protocol bump, ignore eintr 2021-11-23 21:39:26 +01:00
Christian Grothoff
bdaaa0f6cb
-fix misc. compiler warnings 2021-11-19 10:57:27 +01:00
Christian Grothoff
77142acbe8
fix lib/ FTBFS 2021-10-27 13:42:54 +02:00
Christian Grothoff
b148a5a81a
rename fest 2021-10-27 13:23:14 +02:00
Christian Grothoff
58ea04167c
-fix misc FTBFS 2021-10-27 09:23:13 +02:00
Christian Grothoff
464c1f806c
-more changes towards fixing FTBFS 2021-10-27 09:23:12 +02:00
Christian Grothoff
7ed66e1e2c
-fix null deref 2021-10-19 21:06:36 +02:00
Christian Grothoff
d1992e5983
new configuration option: wallet balance threshold 2021-10-16 19:24:08 +02:00
Christian Grothoff
8951abfc50
-finish implemnetation of /kyc-check client library 2021-10-10 17:18:24 +02:00
Christian Grothoff
7d809d1f4c
-even better 2021-08-07 16:33:33 +02:00
Christian Grothoff
3cdf7dfaaa
-use new GNUNET_TIME_relative_is_zero API 2021-08-07 16:31:33 +02:00
Christian Grothoff
1d54400a02
-more eliminations of json_pack 2021-07-31 20:27:16 +02:00
Christian Grothoff
42decef957
fix #6939 in exchange 2021-07-24 09:00:35 +02:00
Christian Grothoff
be62bc5734
-not a protocol violation, can happen if auditor signed denominations that are valid for deposit but not withdraw 2021-05-28 21:30:55 +02:00
Christian Grothoff
35ce352b16
deal more nicely with /keys failures where no JSON is returned 2021-05-27 11:19:56 +02:00
Christian Grothoff
453d122c30
do not repeatedly append the same auditor signature 2021-04-14 17:39:13 +02:00
Christian Grothoff
7c485a2153
fix overflow 2021-04-01 10:57:04 +02:00
Christian Grothoff
71f00b3764
improve version number format check 2021-03-13 23:03:06 +01:00
Christian Grothoff
d1c5337a88
improve version number format check 2021-03-13 23:02:46 +01:00
Christian Grothoff
ca5f0c4d6f
fix #6786: do not die on bogus URL 2021-03-05 21:41:55 +01:00
Sebastian
2ed7eb7a8b
free currency memory on free_key_data(), ref #6744 2021-02-16 11:20:42 -03:00
Christian Grothoff
e6c5262c9e
fix currency parsing in deserialization logic (resolves #6744) 2021-02-15 22:05:37 +01:00
Sebastian
c1a58ef343
added missing currency in ser/deser, see #6744 2021-02-15 17:03:44 -03:00
Christian Grothoff
2b35e3796f
strptime is locale-dependent, re-implement for C locale-only 2021-01-26 14:10:06 +01:00
Christian Grothoff
6cd6582a4f
improve logging 2021-01-26 12:38:54 +01:00
Christian Grothoff
c630487dfc
nah, also on internal server errors and anything I can imagine we should backoff, not just on timeout 2021-01-16 22:36:30 +01:00
Christian Grothoff
8c4bc1121a
remove dead field 2021-01-16 22:33:25 +01:00
8f887a215e
dynamic curl timeouts for /keys and /wire requests 2021-01-12 15:12:26 +01:00
Christian Grothoff
e50f85e6c3
bump protocol version 2021-01-01 15:50:58 +01:00
Christian Grothoff
95333b4223
only log with json_dumpf() if explicitly compiled via DEBUG #define 2020-12-20 20:05:48 +01:00
Christian Grothoff
4b9fb610d8
do not log error on MHD_HTTP_GONE status code, revocation is a legitimate reply 2020-12-20 20:03:59 +01:00