Commit Graph

1490 Commits

Author SHA1 Message Date
Christian Grothoff
2faa711fba
actually install taler-config 2016-11-17 13:33:17 +01:00
Christian Grothoff
ff95ccfb10
add note on #4794 2016-11-17 12:07:16 +01:00
Christian Grothoff
18bec3eaa3
add note for #4792 2016-11-17 11:48:02 +01:00
Christian Grothoff
c2ead71600
three more missing rollbacks found 2016-11-17 11:36:05 +01:00
Christian Grothoff
bd096d3928 Merge branch 'master' of git+ssh://taler.net/exchange 2016-11-17 11:31:47 +01:00
Christian Grothoff
21037d013d
fix error handling path that resulted in non-aborted transaction persisting, causing subsequent transactions to fail (#4737) 2016-11-17 11:31:41 +01:00
Florian Dold
ed9f4f1d12 remove taler-arm, since we use taler-deployment-arm 2016-11-14 15:51:06 +01:00
Christian Grothoff
cd4616dc34
-only enable developer logic if MHD is recent enough 2016-11-11 15:46:09 +01:00
Christian Grothoff
1d740824fa
resolving merge issue 2016-11-07 14:39:15 +01:00
Christian Grothoff
6d6a9dac39
indentation 2016-11-07 14:36:06 +01:00
tg(x)
247b8e33b3 auditordb postgres plugin: auditor_progress implementation + tests 2016-11-06 14:24:17 +01:00
Christian Grothoff
02d28bc81c
add missing functions to deal with auditor_progress to the auditordb API 2016-11-06 13:39:22 +01:00
tg(x)
2a44112a25 Merge branch 'master' of taler.net:exchange 2016-11-04 20:38:50 +01:00
tg(x)
702c440849 auditordb test 2016-11-04 20:38:21 +01:00
tg(x)
21be6db318 auditordb postgres plugin: fix query param 2016-11-04 20:37:53 +01:00
tg(x)
5b8438d7e7 auditordb postgres plugin: fix field name 2016-11-04 20:28:27 +01:00
Marcello Stanisci
95a6d399f8 wget-ing /admin/add/incoming from bank-lib testcase 2016-11-04 20:04:31 +01:00
tg(x)
2db2f65aaf auditordb postgres plugin: amount param 2016-11-04 19:10:37 +01:00
Marcello Stanisci
1fe606a63b half baking #4756 2016-11-04 17:45:34 +01:00
Marcello Stanisci
4f304b2745 typo 2016-11-04 14:23:44 +01:00
Marcello Stanisci
7177c5c015 Merge branch 'master' of taler.net:exchange 2016-11-04 14:20:50 +01:00
Marcello Stanisci
1244bcf3a6 Adding error code for conflicting /track/transfer 2016-11-04 14:20:42 +01:00
tg(x)
f113c1ebd6 auditordb postgres plugin: set master_pub in result 2016-11-04 01:06:19 +01:00
tg(x)
160bff40d4 auditordb postgres plugin: amount param 2016-11-04 01:01:05 +01:00
tg(x)
616de7f401 auditordb postgres plugin: amount param 2016-11-04 00:51:17 +01:00
tg(x)
9ad83ae9bf auditordb test 2016-11-04 00:37:47 +01:00
tg(x)
59fa9d8255 auditordb postgres plugin: sql fixes, callback return value 2016-11-04 00:34:09 +01:00
tg(x)
176bd57550 auditordb postgres plugin: fix index 2016-11-03 21:43:09 +01:00
tg(x)
20a8a569ad auditordb postgres plugin 2016-11-03 13:01:36 +01:00
Marcello Stanisci
88df33632f typo 2016-10-27 11:07:29 +02:00
Christian Grothoff
ddb5987c66 NULL-terminate array 2016-10-24 12:40:28 +02:00
Marcello Stanisci
6cd80e71f8 Finishing with #4709 2016-10-20 23:55:19 +02:00
Marcello Stanisci
ac554444b1 Adding auditor-related db functions in testcase. Each cb is just a stub. 2016-10-20 23:28:36 +02:00
Christian Grothoff
f032706fef
fixing taler-benchmark build issues introduced by recent API changes 2016-10-20 21:20:31 +02:00
Christian Grothoff
19f4c50dab
rename and move TALER_EXCHANGE_json_get_error_code to TALER_JSON_get_error_code 2016-10-20 21:19:01 +02:00
Christian Grothoff
63c5706b64
remove redundant exchange_api_common.h header 2016-10-20 21:11:20 +02:00
Christian Grothoff
7341b21fa3
return taler-specific error codes from C API as well
(#4497/4705)
2016-10-20 21:00:40 +02:00
Christian Grothoff
e7875fb261
introducing error codes for the merchant backend 2016-10-20 15:11:12 +02:00
Christian Grothoff
c40a098a91 Merge branch 'master' of ssh://taler.net/exchange 2016-10-20 15:07:56 +02:00
Christian Grothoff
0f4160d4a4
introducing error codes for the merchant backend 2016-10-20 15:07:42 +02:00
Marcello Stanisci
9d5d092dc3 Reverting #4521, pay_deadline strictly regards merchant's policy. 2016-10-20 11:48:47 +02:00
Marcello Stanisci
0830751534 Merge branch 'master' of taler.net:exchange 2016-10-19 23:07:17 +02:00
Marcello Stanisci
9b6717ae3a addressing #4521 2016-10-19 23:07:07 +02:00
Christian Grothoff
8fe6f64db3
fix recently introduced JSON pack format string errors 2016-10-19 00:14:34 +02:00
Christian Grothoff
be055f1b92
fix recently introduced double-free 2016-10-19 00:09:10 +02:00
Christian Grothoff
70462f0b94
implement #4497/#4705 -- addition of unique numeric error codes -- for the server-side of the exchange 2016-10-18 23:05:29 +02:00
Marcello Stanisci
006177a01f @author 2016-10-18 12:34:57 +02:00
Marcello Stanisci
93f1fb5fc3 indent 2016-10-17 23:51:09 +02:00
Marcello Stanisci
c015ffc7fc closing #4709 2016-10-17 17:24:38 +02:00
Marcello Stanisci
f1f6e504d5 defining all but one exchangedb-for-audit functions 2016-10-17 16:39:56 +02:00
Marcello Stanisci
448a8be76d starting with #4709 2016-10-17 01:48:59 +02:00
Christian Grothoff
ecce56c052 Merge branch 'master' of git+ssh://taler.net/exchange 2016-10-14 01:45:27 +02:00
Christian Grothoff
6987837f08
fix #4730: amount coult end up being zero, so check should be for SYSERR, not for OK (as zero implies NO) 2016-10-14 01:43:55 +02:00
Florian Dold
b1afd5edfa logging for refresh 2016-10-13 23:27:21 +02:00
Christian Grothoff
32d23e7499 fix returning wrong status code to MHD on malformed /refresh/reveal request 2016-10-13 23:13:09 +02:00
Christian Grothoff
2948fd6466 fix disting: auditor.conf moved 2016-10-10 17:02:03 +02:00
Christian Grothoff
25618c561e check dbinit return value to not fail hard if DB not available 2016-10-10 16:54:37 +02:00
Christian Grothoff
808dc10bf4 add skeletons for new DB API functions 2016-10-09 01:17:37 +02:00
Christian Grothoff
6621ec8fb7 expanding exchange DB API to meet auditor requirements (not implemented, just adding the function signatures) 2016-10-09 00:57:31 +02:00
Christian Grothoff
8bbcf86678 more work on auditordb plugin API 2016-10-08 23:37:55 +02:00
Christian Grothoff
fa1ca946c9 actually, the auditor only sees the hash of the public keys initially 2016-10-08 19:11:54 +02:00
Christian Grothoff
42da43c18c add missing #include 2016-10-08 19:04:21 +02:00
Marcello Stanisci
f03c1175df typo 2016-10-07 18:21:12 +02:00
Christian Grothoff
56efe31c40 Merge branch 'master' of ssh://taler.net:/var/git/exchange 2016-10-07 02:52:39 +02:00
Christian Grothoff
f5a2134da8 move taler-auditor-sign tool to auditor/ direcotory 2016-10-06 16:38:42 +02:00
Christian Grothoff
26478f0f1f fix having multiple primary keys 2016-10-06 16:33:07 +02:00
Christian Grothoff
0394080600 first draft for an auditor table structure 2016-10-06 16:30:19 +02:00
Christian Grothoff
b68adb93c6 adding skeleton code for auditor 2016-10-06 15:17:10 +02:00
Marcello Stanisci
a42155d552 Adding struct to be signed over related to #4702 2016-10-03 14:08:14 +02:00
Marcello Stanisci
9cea8197b5 defining merchant's signature for successful payments 2016-10-03 10:32:17 +02:00
Christian Grothoff
f1a71f180c mint->exchange leftovers 2016-09-30 23:19:18 +02:00
Marcello Stanisci
f00a49e40c fixing aggregator hanging after bank's error 2016-09-30 13:47:46 +02:00
Christian Grothoff
e72a7188ac -stylistic improvement: use numbers for counters instead of GNUNET_OK, etc. 2016-09-29 16:30:57 +02:00
Marcello Stanisci
6082645d12 removing garbage from config file (made testcase fail) 2016-09-28 20:39:37 +02:00
Marcello Stanisci
81148fb6df typo 2016-09-28 20:32:34 +02:00
Marcello Stanisci
0b8081fe22 Adding receiver in TALER_ContractPS (#4651) 2016-09-26 16:55:10 +02:00
Christian Grothoff
77f11bcfac include execution time in signed message for /track/transfer (#4578) 2016-09-26 15:08:00 +02:00
Christian Grothoff
df8c011b95 return execution time also from exchange C API (#4578) 2016-09-26 14:58:44 +02:00
Christian Grothoff
302a08b701 implement that /track/transaction returns execution time (#4578) 2016-09-26 14:50:49 +02:00
Christian Grothoff
265fc74b65 check return values, fix use of uninit memory on certain error handling paths 2016-09-23 16:52:13 +02:00
Christian Grothoff
f43bac5894 fix #4673 2016-09-23 15:56:44 +02:00
Christian Grothoff
7234e063a7 Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange 2016-09-23 14:07:12 +02:00
Christian Grothoff
dc4cbbc060 reduce log level 2016-09-23 14:07:08 +02:00
Marcello Stanisci
64b7126234 strtol -> strtoll, which made the anchor (see signkey generation algorithm)
always point to the 70s, so new signkeys were always generated
2016-09-20 14:30:38 +02:00
Marcello Stanisci
b3c4803c55 renaming local variable 2016-09-20 13:11:39 +02:00
Florian Dold
1078a42847 Regenerate keys before withdraw period is over.
Before, we only would create new denomination keys when
the spending period is over.
2016-09-07 17:41:07 +02:00
Christian Grothoff
5a6a3da8e4 updating DB schema to profit from new KDF-based refresh variant 2016-08-11 23:28:33 +02:00
Christian Grothoff
dd724c009d finished implementing session-hash based reveal checking 2016-08-11 22:43:26 +02:00
Christian Grothoff
bcd5a51a7e Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-08-11 22:19:14 +02:00
Christian Grothoff
0bfc7bcbf9 re-compute refresh session hash in reveal step 2016-08-11 22:19:12 +02:00
Jeff Burdges
3115c6acc6 Kinda seems to work 2016-08-11 22:18:04 +02:00
Jeff Burdges
1f39f7e92b This might fix the compile error 2016-08-11 21:28:48 +02:00
Jeff Burdges
cdcd67a27d Use KDF better
We now send the secret_seed to the skm variable, while sending the
counter salt to the xts variable.  I have not check this with
http://eprint.iacr.org/2010/264 but it seems correct.

Indeed rsa_blinding_key_derive places the strong source of
randomness in skm too, and uses a constant string for xts.
2016-08-08 12:43:59 +02:00
Jeff Burdges
7958464696 Copy bit twiddling from libgcrypt/cipher/ecc.c
Reversed order buisness agrees with KC's experence from gnunet-rs
2016-08-08 10:38:07 +02:00
Christian Grothoff
0fd6cf19af mostly working migration of the DH-seeded refresh variant 2016-08-07 23:21:49 +02:00
Christian Grothoff
745719dbc1 first half of changing refresh protocol to derive all key data from DH 2016-08-05 16:08:19 +02:00
Christian Grothoff
e800772c85 Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange 2016-07-13 16:02:13 +02:00
Christian Grothoff
0973bca1e4 -be explicit about transaction mode 2016-07-13 16:02:08 +02:00
Marcello Stanisci
59c6856284 fixing #4594 2016-07-07 17:55:25 +02:00
Christian Grothoff
855b78f837 fix #4591 2016-06-26 13:44:22 +02:00
Christian Grothoff
9035b9d324 -distfix 2016-06-20 17:45:02 +02:00
Christian Grothoff
ffb6fb608a -bumps for release 2016-06-20 17:44:10 +02:00
Christian Grothoff
0fb17e2b70 now that we have a separate bind, do not check for perms anymore 2016-06-20 11:32:04 +02:00
Marcello Stanisci
17c8741e20 typo 2016-06-16 11:22:07 +02:00
Marcello Stanisci
c22a25c22b typo 2016-06-16 00:22:20 +02:00
Christian Grothoff
8c7406cb42 check refresh amounts add up correctly, fix linker issue 2016-06-15 22:55:05 +02:00
Christian Grothoff
c38a7c5518 more sanity checks, better clean up 2016-06-15 22:55:05 +02:00
Christian Grothoff
754c4ef24c nicer reports
-fix leak

-fix leaks
2016-06-15 22:55:02 +02:00
Christian Grothoff
0c3f6dde25 add support to collect basic metrics and to terminate automatically 2016-06-15 22:55:02 +02:00
Christian Grothoff
c2bb85ffdd first working version of benchmark logic 2016-06-15 22:55:01 +02:00
Christian Grothoff
f59246e763 clean up blobs
clean up blobs

clean up blobs

clean up blobs

pass -c option to taler services, ship with reasonable config

exclude live-keys from config
2016-06-15 22:54:58 +02:00
Christian Grothoff
3876b70eb4 merge refresh closure into struct Coin 2016-06-15 16:42:43 +02:00
Christian Grothoff
e4b9a151a6 restructure benchmark logic so that we can schedule each operation independently 2016-06-15 16:36:17 +02:00
Christian Grothoff
b31c62039d avoid passing int's as void*'s in benchmark logic 2016-06-15 16:04:29 +02:00
Christian Grothoff
7588f08238 make exchange URI a command-line option 2016-06-15 15:41:17 +02:00
Christian Grothoff
c32cc081ee misc minor stylistic fixes to benchmark tool: 2016-06-15 15:09:57 +02:00
Marcello Stanisci
7b9272d3e8 left=0 after successful reveal 2016-06-14 15:58:25 +02:00
Marcello Stanisci
1a7619d54e comments 2016-06-14 15:53:48 +02:00
Marcello Stanisci
a34a2873ca reconstructing array of denominations for coins gotten
by melting dynamically; as reported in msg (0010890) of
#4576'
2016-06-14 15:51:58 +02:00
Marcello Stanisci
0e9651210d Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-14 13:10:10 +02:00
Christian Grothoff
389c18c18c add file for error codes 2016-06-14 09:50:59 +02:00
Marcello Stanisci
18c22e3e2e fixing corrupted DLL (resulting from double call to json_decref()) 2016-06-13 23:40:00 +02:00
Christian Grothoff
62b7bbabed Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange 2016-06-13 16:36:13 +02:00
Christian Grothoff
6cd71bebbf implement #4569 2016-06-13 16:36:10 +02:00
Marcello Stanisci
738d0d008e adding re-withdrawing of spent and non-refreshed coins 2016-06-13 15:42:08 +02:00
Christian Grothoff
2a58f470af -indentation 2016-06-11 20:42:21 +02:00
Christian Grothoff
c668eace47 -indentation, dox 2016-06-11 19:58:06 +02:00
Christian Grothoff
030b7716ae Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-06-11 18:22:44 +02:00
Christian Grothoff
766fb6e282 fixing more leaks 2016-06-11 18:22:33 +02:00
Marcello Stanisci
23c6dba981 Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-11 18:03:30 +02:00
Marcello Stanisci
4f4bad310b placing refreshed coins where all coins are 2016-06-11 18:01:57 +02:00
Marcello Stanisci
6bd7d2fc85 defining struct for refreshed coins 2016-06-11 17:35:15 +02:00
Christian Grothoff
f4b013b3d4 fix leaks 2016-06-11 17:11:38 +02:00
Christian Grothoff
6fb30ce468 fix memory leaks 2016-06-11 16:59:03 +02:00
Christian Grothoff
63612f4976 Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-06-11 16:47:25 +02:00
Christian Grothoff
2886187a02 fix leaks 2016-06-11 16:47:13 +02:00
Marcello Stanisci
44f2ac5194 Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-11 16:31:44 +02:00
Marcello Stanisci
3d9e2b89be addressing #4572 2016-06-11 16:31:33 +02:00
Christian Grothoff
06622fbf8e Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-06-11 16:17:03 +02:00
Christian Grothoff
ce5587b427 fix memory leaks: json_array_append increments RC 2016-06-11 16:16:49 +02:00
Marcello Stanisci
afb10e1d9e fixing segfault (due to a double free) 2016-06-11 16:11:00 +02:00
Marcello Stanisci
809cf5d604 polishing comments 2016-06-11 16:07:33 +02:00
Marcello Stanisci
e52574e9b9 Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-11 14:34:04 +02:00
Marcello Stanisci
d7f38a845a addressing compiler warnings 2016-06-11 14:33:52 +02:00
Christian Grothoff
7dc075ae28 check return values of json_array_append 2016-06-11 13:54:11 +02:00
Christian Grothoff
5d28c01900 fix intent 2016-06-11 00:36:41 +02:00
Marcello Stanisci
dd7687a5f7 fixing segfault 2016-06-10 22:35:38 +02:00
Marcello Stanisci
1db423907e fixing melting according to the refresh_probability=1 used in debugging circumstances' 2016-06-10 16:27:31 +02:00
Christian Grothoff
0f85142d27 -do not ignore error code... 2016-06-10 16:07:51 +02:00
Christian Grothoff
96b6bca54d -do not ignore error code... 2016-06-10 16:06:27 +02:00
Marcello Stanisci
8c13b6242b first steps in refresh reveal in benchmark 2016-06-10 16:04:03 +02:00
Marcello Stanisci
2da3c046b2 melting logic (still no reveal) in benchmark 2016-06-10 15:22:32 +02:00
Marcello Stanisci
dafde95d85 addressing compilation warnings 2016-06-10 13:52:40 +02:00
Marcello Stanisci
621a8172a1 preparing refresh blob 2016-06-10 01:04:09 +02:00
Marcello Stanisci
9f23e213cf Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-09 23:35:35 +02:00
Marcello Stanisci
fc07c4c159 - picking needed JSONs from files instead of hardcoding
- populating (by hand) the array of denominations needed for refreshing
- minor fixes
2016-06-09 23:35:05 +02:00
Christian Grothoff
42e2d51e53 note similarity in code 2016-06-09 21:59:24 +02:00
Christian Grothoff
3f4d668463 refactor track_transfer 200 handling, fix minor leak 2016-06-09 21:51:49 +02:00
Christian Grothoff
4a412841ba -typo 2016-06-09 21:44:42 +02:00
Christian Grothoff
e484438837 rename source files to match API URIs 2016-06-09 21:43:26 +02:00
Christian Grothoff
3672005350 rename source files to match API URIs 2016-06-09 21:43:10 +02:00
Christian Grothoff
bb511560fe move TALER_TrackTransferDetails to taler_crypto_lib.h as it is not exchange-specific 2016-06-09 21:03:07 +02:00
Christian Grothoff
ecf0689c75 Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-06-09 19:18:30 +02:00
Christian Grothoff
75c04b8af2 rename /deposit/wtid and /wire/deposits to /track/{transaction,transfer} for improved consistency 2016-06-09 19:18:13 +02:00
Marcello Stanisci
d450303890 removing decref from wring place 2016-06-09 17:22:15 +02:00
Christian Grothoff
35f3c30717 exit aggregator if we failed to connect to DB 2016-06-09 15:39:54 +02:00
Christian Grothoff
421b4f403f integrate child_death_task with aggregator struct, and cancel it on error 2016-06-09 15:20:24 +02:00
Christian Grothoff
e1b2900ebe more verbose message to help diagnose issues 2016-06-09 14:54:50 +02:00
Christian Grothoff
c179734ccf make code build against revised GNUnet blind signing API 2016-06-09 14:52:00 +02:00
Christian Grothoff
3b9248e9c6 Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-06-08 22:14:24 +02:00
Christian Grothoff
536163746e check currency on /admin/add/incoming (#4565) 2016-06-08 22:14:15 +02:00
Marcello Stanisci
f50d4b0f35 json_decref in shutdown 2016-06-08 17:34:46 +02:00
Marcello Stanisci
feb60291b6 getting banking details through config file in benchmark 2016-06-08 17:11:33 +02:00
Marcello Stanisci
46c593f93e - calling exchange via GNUNET_OS_ interface
- getting currency via /keys
- adding -c option
(benchmark)
2016-06-08 16:12:31 +02:00
Christian Grothoff
a7379930d2 turn libfakebank into libtalerfakebank so we can use it for testcases in the merchant 2016-06-08 11:35:28 +02:00
Marcello Stanisci
7714356611 first steps in refreshing in benchmark 2016-06-07 17:41:16 +02:00
Marcello Stanisci
11703131a3 Merge branch 'master' of ssh://taler.net/var/git/exchange 2016-06-07 17:12:39 +02:00
Marcello Stanisci
ca8e309877 adding find_pk() to benchmark 2016-06-07 16:58:55 +02:00
Christian Grothoff
166352e87e add exchange_pub to callbacks 2016-06-07 15:14:44 +02:00
Christian Grothoff
8d329a0256 merge 2016-06-06 23:55:31 +02:00
Christian Grothoff
7d281b63be fixing compiler warnings, indentation, etc. 2016-06-06 23:53:54 +02:00
Marcello Stanisci
8c120f30f4 fixing segfault when shutting down benchmark, but now it hangs.. 2016-06-06 22:40:33 +02:00
Marcello Stanisci
2f6c57f351 spending logic in benchmark 2016-06-06 16:53:42 +02:00
Christian Grothoff
0fef44159a improve error message to diagnose #4559 2016-06-05 22:03:09 +02:00
Marcello Stanisci
69756317cd freeing in shutdown 2016-06-04 01:48:20 +02:00
Marcello Stanisci
f1858fc1f4 withdrawing coins and picking the ones to spend according to a given probability (see macro SPEND_PROBABILITY), for benchmarking 2016-06-04 01:29:42 +02:00
Marcello Stanisci
4843a41fc4 generating (global) blinding key for benchmark 2016-06-03 19:39:04 +02:00
Marcello Stanisci
a1029430b3 fixing benchmark compilation 2016-06-03 14:18:42 +02:00
Marcello Stanisci
9259c2bc69 anti-segfault comments, cancelling pending operation when shutting down benchmark 2016-06-03 02:28:57 +02:00
Marcello Stanisci
ece2f5f389 creating reserves for benchmark 2016-06-03 01:23:16 +02:00
Christian Grothoff
16bdd871f4 remove useless check 2016-06-02 10:02:07 +02:00
Christian Grothoff
df9a1770de remove useless check 2016-06-02 10:01:09 +02:00
Christian Grothoff
7680ebcbe1 check fcntl() return value 2016-06-02 09:36:24 +02:00
Christian Grothoff
06fe1d34f3 adding missing unlock 2016-06-02 09:06:03 +02:00
Christian Grothoff
71d05c6c93 adding missing va_end 2016-06-02 09:04:46 +02:00
Christian Grothoff
90aa044e61 remove duplciate check 2016-06-02 09:02:50 +02:00
Christian Grothoff
b405b02875 remove unnecessary check 2016-06-02 08:59:18 +02:00
Christian Grothoff
026673bd37 fix 2016-05-31 20:35:50 +02:00
Christian Grothoff
07449ce578 Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-05-31 18:59:19 +02:00
Christian Grothoff
bc7c9e686e implementing #3474 2016-05-31 18:58:59 +02:00