Commit Graph

687 Commits

Author SHA1 Message Date
Florian Dold
c805e9cf20
DCE: we never have to derrive the wire_gateway_url from the payto URI 2020-01-18 00:43:29 +01:00
Florian Dold
7378b5a081
amount rounding a la Christian 2020-01-17 18:59:15 +01:00
Christian Grothoff
a9ae2171b8
reuse TALER_url_join 2020-01-16 21:57:40 +01:00
Florian Dold
a358360fb3
remove wallet-specific code 2020-01-16 13:48:35 +01:00
Florian Dold
da5b3ba8ae
round amounts based on config, do unit test for rounding 2020-01-15 15:17:25 +01:00
Christian Grothoff
b37fff0d5b
ftbfs 2020-01-15 14:58:10 +01:00
Christian Grothoff
4547bfb318
fix fakebank account vs. full payto confusion 2020-01-15 11:48:49 +01:00
Florian Dold
4c488a1d0e
buffer lib has moved to GNUnet 2020-01-15 11:46:05 +01:00
Christian Grothoff
bf3c7dd10f
expand test suite 2020-01-14 23:59:16 +01:00
Christian Grothoff
0805c62aee
split off buffer logic 2020-01-14 23:57:35 +01:00
Christian Grothoff
1d9049ab99
add payto URL test, fix payto parser implementation 2020-01-14 23:54:43 +01:00
Christian Grothoff
2edee5ac4a
refactor uri parsing logic, prepare for unit test 2020-01-14 15:57:36 +01:00
Christian Grothoff
7b1909bc99
make fakebank and banklib match specifified new API 2020-01-13 22:01:45 +01:00
Christian Grothoff
4d6ef1da29
eliminate libtalerwire 2020-01-13 18:16:01 +01:00
Florian Dold
499cff87bf
remove patch_private_key, as it doesn't make any sense
In particular, we were patching the EdDSA private keys, which are
*hashed* before doing the curve multiplication.  Thus clearing the bits
*before* the hashing doesn't make any sense at all.  These bits are
cleared anyway when deriving the public key.
2019-11-28 00:24:05 +01:00
Christian Grothoff
77b0e836d1
fix off by one: reserve space for 0-termination 2019-11-09 21:36:19 +01:00
Florian Dold
29fac256fa
fix path concatenation 2019-11-01 17:09:52 +01:00
Christian Grothoff
385b3e77df
tighten formatting rules 2019-10-31 12:59:50 +01:00
Christian Grothoff
36efe024f5
fix type and indentation 2019-10-29 17:56:00 +01:00
Florian Dold
d6ca052d27
implement buffer API and use it for URL construction 2019-10-17 19:20:15 +05:30
Florian Dold
c944a5703a
add helper function to detect http/https on an MHD connection 2019-10-05 22:32:31 +05:30
Christian Grothoff
b46fe9aa21
reindenting with uncrustify 2019-10-05 15:42:08 +02:00
Florian Dold
5e859bae09
make URL joining more restrictive to avoid mistakes 2019-09-23 17:23:54 +02:00
Christian Grothoff
f552d0c8fb
add libasan to the LD_PRELOAD path if it was in gnunet-config 2019-09-15 11:57:59 +02:00
Marcello Stanisci
4428469556
FPRINTF -> fprintf 2019-09-13 13:01:28 +02:00
Christian Grothoff
5fa4a0e7e1
fix warnings 2019-09-05 11:23:24 +02:00
Christian Grothoff
b9dee3a1d5
fix compiler warnings, add assertions 2019-09-05 11:11:30 +02:00
Christian Grothoff
4dcd2294f6
update to match recent GNUnet changes 2019-09-01 15:04:53 +02:00
Florian Dold
eb55997084
re-format code 2019-08-25 16:18:24 +02:00
Christian Grothoff
dbea8baaff
detect plain http server 2019-08-21 18:28:26 +02:00
Christian Grothoff
4bf425c902
remove currency field from databases 2019-08-17 21:35:21 +02:00
Christian Grothoff
30903b9386
reduce code duplication 2019-06-18 13:20:43 +02:00
Christian Grothoff
de9fdf860a
replace denom_pub with denom_pub_hash in exchange API to reduce bandwidth 2019-05-02 21:16:51 +02:00
ng0
d55c2acbd5
refactor util/test_crypto.c for GNUNET_memcmp 2019-04-08 14:58:21 +00:00
Marcello Stanisci
1f007d83fd
4692. Fix global return code. 2019-02-11 19:55:00 +01:00
Christian Grothoff
a56e2e34bc
fix #5434 (no more salt in exchange wire replies) 2018-10-06 15:05:06 +02:00
Christian Grothoff
657afbb5d6
leave it to GNUnet 2018-08-11 06:31:20 +02:00
Christian Grothoff
17b9f39a86
disable SECMEM for Taler exchange, it causes massive lock contention and then scalability issues 2018-08-11 05:54:10 +02:00
Christian Grothoff
cb55c1a3af
Changing configuration structure to enable multiple accounts.
This change enables using multiple wire plugins at the same time.
Also, we now distinguish between the wire plugin (i.e. EBICS or
taler_bank) and the wire method (i.e. SEPA or x-taler-bank) that
the wire plugin is implementing.  The "taler-bank" wire method
was renamed from "test" to "x-taler-bank".

This also changes the format of the /wire response of the exchange,
as we now need to return multiple accounts.  Note that wire fees
are specified per wire method, not per wire account.

taler-exchange-keyup now automatically signs all of the /wire
responses in the location specified by the configuration.

Account identification in wire plugins was changed to use
payto://-URLs instead of method-specific JSON fields.  Signing
and validation of /wire responses was moved from each wire
plugin to a generic validation method in libtalerutil (crypto)
or libtalerjson (for JSON-formatted inputs).
Convenience methods were added to generate JSON for wire accounts
(salting, signing).

Various section and option names were adjusted to streamline the
configuration and make it more consistent overall.  Documentation
was updated as well.
2018-04-02 14:29:44 +02:00
Florian Dold
111f8f2381
url joining: grow strings correctly 2018-01-31 18:37:40 +01:00
Florian Dold
f806eebb83
oops, add missing file 2018-01-31 18:16:59 +01:00
Florian Dold
458b317727
more tests, fix varargs invocation 2018-01-31 17:57:21 +01:00
Florian Dold
3859a40f24
url construction helpers 2018-01-31 17:47:01 +01:00
Christian Grothoff
2d08d612f6
refuse endian conversion for invalid amounts 2018-01-01 23:07:36 +01:00
Christian Grothoff
499247a480
fixing #5178 2017-11-29 20:23:08 +01:00
Christian Grothoff
169962d769
lets use 52, the number of bits stored 2017-11-02 18:42:12 +01:00
Christian Grothoff
84998f9d05
fix #5167 2017-11-02 17:40:14 +01:00
Christian Grothoff
2f2930f1ba
major API refactoring, adding planchet generation and coin extraction APIs to the Taler crypto library, thereby simplifying code in withdraw, refresh, tipping, payback and testcases; slight API incompatibilities to previous versions are introduced 2017-10-31 14:02:54 +01:00
Christian Grothoff
ec8146de92
rename: TALER_setup_planchet -> TALER_planchet_setup_refresh 2017-10-31 12:44:17 +01:00
Christian Grothoff
a491a4709a
rename: TALER_FreshCoinP -> TALER_PlanchetSecretsP, and TALER_setup_fresh_coin -> TALER_setup_planchet 2017-10-31 12:38:14 +01:00
Christian Grothoff
e5aed9e5cb
fix signed calls to isalpha/isdigit/isspace etc. 2017-10-06 19:53:48 +02:00
Christian Grothoff
0c522791fe
bump versions for release 2017-06-06 14:03:53 +02:00
Christian Grothoff
1e30d60a25
fixing misc doxygen issues 2017-06-04 11:30:43 +02:00
Christian Grothoff
487237381d
fix misc doxygen issues 2017-04-20 07:49:56 +02:00
Christian Grothoff
a38fa32484
fixing misc auditor issues 2017-03-20 02:29:33 +01:00
Christian Grothoff
ae3e850c94
update getopt config parsing style to match 'getopt' GNUnet branch API change 2017-03-15 12:01:06 +01:00
Christian Grothoff
0214e426a6
add amount division API and test case 2017-03-06 16:35:30 +01:00
Christian Grothoff
7d6b8d53d5
addressing #4803: nicer error messages for invalid wire formats 2016-11-18 18:29:18 +01:00
Christian Grothoff
de68a7b301
hack to get taler-config working again 2016-11-18 17:21:10 +01:00
Christian Grothoff
c583d0a8b4 fix testcase with new 1e-10 logic 2016-11-18 16:12:04 +01:00
Christian Grothoff
2faa711fba
actually install taler-config 2016-11-17 13:33:17 +01:00
Florian Dold
ed9f4f1d12 remove taler-arm, since we use taler-deployment-arm 2016-11-14 15:51:06 +01: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
745719dbc1 first half of changing refresh protocol to derive all key data from DH 2016-08-05 16:08:19 +02:00
Marcello Stanisci
59c6856284 fixing #4594 2016-07-07 17:55:25 +02:00
Christian Grothoff
f4b013b3d4 fix leaks 2016-06-11 17:11:38 +02:00
Christian Grothoff
32bb3b14bf fix #4483 2016-05-24 20:13:31 +02:00
Christian Grothoff
458992dc6f fixes for disting 2016-05-04 10:21:35 +02:00
Florian Dold
9507c8c369 base config varname 2016-04-22 16:11:19 +02:00
Florian Dold
ad321624be add taler-arm wrapper 2016-04-22 15:17:02 +02:00
Christian Grothoff
3abb3bc372 use user_config_file as well 2016-04-16 13:10:29 +02:00
Christian Grothoff
ecc5b6791f fix taler-exchange-keyup way of loading configuration 2016-04-16 12:37:37 +02:00
Christian Grothoff
663363fc0e Fix #4229 2016-04-15 19:41:44 +02:00
Florian Dold
bcf4b7f724 gitignore 2016-04-15 15:41:11 +02:00
Florian Dold
c234a8bed8 Create taler-config wrapper around gnunet-config
The wrapper uses LD_PRELOAD to make sure that paths are adjusted
for taler.
2016-04-13 15:58:02 +02:00
Christian Grothoff
30d66bcebc fixing #4386: use more sane configuration and data file structure 2016-04-10 17:10:20 +02:00
Christian Grothoff
71107a7b3d expanding aggregator testcase 2016-04-10 02:52:46 +02:00
Christian Grothoff
43e9ac9471 recent changes to GNUNET_OS-IPK logic make plugin.c obsolete 2016-04-07 23:06:05 +02:00
Christian Grothoff
e00370d4f5 removing duplication of --help logic 2016-04-07 22:52:23 +02:00
Christian Grothoff
d986269dae for #4374 2016-04-07 11:09:30 +02:00
Christian Grothoff
8df75214f4 install data and plugins in taler-exchange, not taler 2016-04-07 09:30:58 +02:00
Christian Grothoff
0ff76b5abb fix test to ensure DB invariants are met 2016-04-04 16:47:11 +02:00
Christian Grothoff
3a2e547da9 use GNUnet-SVN #36970 API improvement to de-duplicate code in Taler 2016-03-31 20:56:16 +02:00
Christian Grothoff
b4c4f0b078 towards a testcase for aggregation logic 2016-03-30 22:56:17 +02:00
Christian Grothoff
0d1eced630 first refactoring of JSON logic to address #4150 and #4237 2016-03-19 15:23:11 +01:00
Christian Grothoff
b5cba32510 renaming mint->exchange 2016-03-01 15:35:04 +01:00
Christian Grothoff
fc57913530 move wireformat test to plugin 2016-01-25 12:51:04 +01:00
Christian Grothoff
e5c5dc9cae move plugin path setup logic to libtalerutil 2016-01-25 12:50:29 +01:00
Christian Grothoff
80f6c4240e -fix (C) notices 2016-01-19 14:39:00 +01:00
Christian Grothoff
2d6303c698 avoid generating URLs with // in them 2015-12-19 20:43:41 +01:00
Christian Grothoff
6ed1fc5f73 use comma instead of space as we do elsewhere 2015-12-19 20:36:05 +01:00
Christian Grothoff
9bbfca568f updating code to match simplified specification (#4039) 2015-11-11 14:44:08 +01:00
Christian Grothoff
c2a40aa839 fix #4032: move wire deadline form wire details to advisory field in /deposit request 2015-10-28 21:06:23 +01:00
Christian Grothoff
bef69272f6 nicer logging 2015-09-21 15:40:22 +02:00
Christian Grothoff
a6f8fa98b0 implement #3972: support multiple wire formats concurrently 2015-09-20 13:48:15 +02:00
Christian Grothoff
3d1627daa7 helper function for debugging 2015-08-14 22:05:34 +02:00
Christian Grothoff
c6f88ebd61 doxygen-fixes 2015-08-09 15:40:16 +02:00
Christian Grothoff
00d613728f completing TALER_MINT_refresh_melt implementation 2015-08-08 19:52:05 +02:00
Christian Grothoff
beceb3bc16 implementing #3905 2015-07-20 10:34:32 +02:00
Christian Grothoff
3eddd802dc -fix ftbfs in wallet-only mode 2015-07-15 11:40:51 +02:00
Christian Grothoff
663ea48047 nice error reporting 2015-07-08 09:47:50 +02:00
Christian Grothoff
ea5c1233f1 nicer error reporting 2015-07-08 09:40:13 +02:00
Christian Grothoff
296e27b92a -simplify parsing, make code compile without new util API 2015-07-08 08:54:55 +02:00
Christian Grothoff
922323b410 misc bugfixes from tests 2015-07-05 16:55:01 +02:00
Christian Grothoff
dde1ff8821 fix type 2015-07-05 13:18:49 +02:00
Christian Grothoff
585287dc8d fix #3869: outdated FSF address 2015-06-30 13:55:39 +02:00
Christian Grothoff
5caa52aa4c implementing /deposit JSON generation 2015-06-21 19:18:31 +02:00
Christian Grothoff
3bb26bcf47 deduplicate code with util/json.c, do use consistently /time/ encoding 2015-06-20 22:53:01 +02:00
Christian Grothoff
61752e0334 simplify /keys parser by using json parser interpreter 2015-06-20 22:40:06 +02:00
Christian Grothoff
006c55b3de doxygen fixes 2015-06-12 11:00:04 +02:00
Christian Grothoff
c3ab96b242 more documenting, checking for consistency between prepared statements and functional logic 2015-06-03 15:41:09 +02:00
Christian Grothoff
401745fc30 -include wallet headers if compiling wallet library 2015-06-02 12:52:05 +02:00
Christian Grothoff
de953fa7bc add --enable-wallet-only flag to build libtalerutil_wallet which ONLY contains the wallet-specific API subset 2015-05-28 11:34:06 +02:00
Christian Grothoff
7b4623706c Merge branch 'master' of git+ssh://taler.net/var/git/mint 2015-05-18 18:53:12 +02:00
Christian Grothoff
cb68cc7e5b fix reporting in constructor 2015-05-18 18:52:52 +02:00
Christian Grothoff
cdc0f43f35 slightly expand wireformat test to cover error cases 2015-05-17 17:57:31 +02:00
Christian Grothoff
9896e8e96a test for rsa-json conversion API 2015-05-17 17:35:24 +02:00
Christian Grothoff
3b0dadc28b add functions for conversion from json to rsa public key/signature for symmetry, testing, etc. 2015-05-17 17:28:18 +02:00
Christian Grothoff
2f67dbebc5 test json-raw conversion, fix assertion 2015-05-17 17:10:38 +02:00
Christian Grothoff
b1401f93da test json-time conversion, add support for forever/never time 2015-05-17 17:01:25 +02:00
Christian Grothoff
3817f83dd5 adding testcase for json-amount conversions, fixing typos and missing currency initialization 2015-05-17 16:53:00 +02:00
Christian Grothoff
25e530f37a add test for varsize pq operation 2015-05-17 16:46:16 +02:00
Christian Grothoff
aa89db4d0a organize #include, remove redundant includes 2015-05-16 20:33:01 +02:00
Christian Grothoff
21da34a501 -fix doxygen errors 2015-05-16 18:26:34 +02:00
Christian Grothoff
456434ec41 eliminating ECDSA support from json API (dead) 2015-05-16 14:16:38 +02:00
Christian Grothoff
f4a59d1ccc eliminating ECDSA, replacing with EdDSA-ECDHE-combo in transfer protocol 2015-05-16 14:15:34 +02:00
Christian Grothoff
95f99d32dd minor bugfixes 2015-05-01 09:59:18 +02:00
Christian Grothoff
e226e5c350 implementing TALER_refresh_link_encrypted_encode, and adding test 2015-04-18 13:08:19 +02:00
Christian Grothoff
0a0feeea86 finish #3777 including testing 2015-04-15 18:34:14 +02:00
Christian Grothoff
97e403bb66 moving core refresh crypto logic to util -- towards fixing #3777 2015-04-15 18:12:21 +02:00
Christian Grothoff
1fcd1873f0 basic tests for crypto functions 2015-04-13 18:57:37 +02:00
Christian Grothoff
2f6a4bb11c rename TALER_RefreshLinkDecryptedP to TALER_RefreshLinkDecrypted as it contains a pointer and is thus not (P)acked 2015-04-13 18:42:39 +02:00
Christian Grothoff
5827630699 starting with tests for libtalerutil 2015-04-13 17:20:46 +02:00
Christian Grothoff
93bc450db3 enable code coverage configure option 2015-04-13 13:57:38 +02:00
Christian Grothoff
2310a3f474 fixing -h and -v command line tool options 2015-04-13 13:49:42 +02:00
Christian Grothoff
68774b20da fix for #3626: make it easier to add additional validators 2015-04-12 22:49:06 +02:00
Christian Grothoff
5e8f95c65e separate out wireformats logic 2015-04-12 22:34:56 +02:00
Christian Grothoff
80b29ed2ae indentation and minor updates to reflect latest API docs 2015-04-08 22:28:52 +02:00
Christian Grothoff
eca4f1a8fe -doxygen fixes 2015-03-28 15:42:07 +01:00
Christian Grothoff
eae1896a4b major rename-fest for more constent symbol names 2015-03-27 19:58:40 +01:00
Sree Harsha Totakura
7730a08349 util: avoid memcpy over overlapping memory
memcpy used to copy the currency string in TALER_amount_get_zero can copy from
overlapping memory regions.  This happens when the diff parameter to
TALER_amount_substract is same as a1 parameter.
2015-03-26 19:39:16 +01:00
Christian Grothoff
f73071bc62 fix #3638 2015-03-22 22:14:30 +01:00
Christian Grothoff
c2a42d5475 this is actually OK 2015-03-22 14:58:40 +01:00
Christian Grothoff
7d9a403275 first stab at establishing proper plugin API, main HTTP code compiles, other binaries FTBFS right now 2015-03-20 23:51:28 +01:00
Christian Grothoff
23bf1eee74 fix #3716: make sure amount-API offers proper checks against overflow and other issues 2015-03-18 18:55:41 +01:00
Christian Grothoff
4eeaff1355 documentation, comments 2015-03-17 11:37:21 +01:00
Christian Grothoff
0119f629b3 move TALER_CONFIG_get_denom into util lib 2015-03-17 10:48:12 +01:00
Sree Harsha Totakura
f8a77d3ca9 util: Use TALER_CURRENCY_LEN instead of sizeof() 2015-03-16 11:08:52 +01:00
Christian Grothoff
53b189868e moving low-level JSON encoding logic to json.c 2015-03-15 16:39:06 +01:00
Christian Grothoff
6404213457 use wire validation routine 2015-03-13 10:01:57 +01:00
Christian Grothoff
ce8272446e actually include purpose payload in sig 2015-03-09 13:07:27 +01:00
Christian Grothoff
579f465c9b implementing #3632: generate proof of insufficient funds by converting transaction history to JSON 2015-03-09 12:29:41 +01:00
Sree Harsha Totakura
72c298b52e util: use const whenever applicable 2015-03-06 10:32:02 +01:00
Sree Harsha Totakura
bea425de6c Fix #3624: Check JSON format for wire deposits (SEPA specification) 2015-02-17 17:29:43 +01:00
Christian Grothoff
3cd1bef1ff bringing copyright tags up to FSF standard 2015-02-08 00:17:40 +01:00
Christian Grothoff
477e68c506 bringing copyright tags up to FSF standard 2015-02-08 00:16:22 +01:00
Christian Grothoff
41e1dd9738 finish cleanup of /refresh/commit parsing 2015-01-29 17:34:37 +01:00
Christian Grothoff
8adde040ab towards proper implementation of /withdraw/status 2015-01-29 00:09:48 +01:00
Christian Grothoff
9c3c6295a8 even cleaner separation of PostGres-specific logic, and nicer libtalerutil headers 2015-01-28 20:53:21 +01:00
Christian Grothoff
c4b63c1302 move PostGres-specific logic out of libtalerutil 2015-01-28 20:37:51 +01:00
Christian Grothoff
bc8f6e81a4 move data_to_string_alloc to GNUnet 2015-01-28 20:31:28 +01:00
Christian Grothoff
62d3d35250 move coin validity test to libtalerutil 2015-01-28 20:23:19 +01:00
Christian Grothoff
2debf6c3f0 cleaning up includes 2015-01-28 20:12:15 +01:00
Christian Grothoff
2e0e30291c sign /deposit reply so that merchant has proof that mint accepted it 2015-01-28 19:48:41 +01:00
Christian Grothoff
49d4f24f8d misc cleanup, moving TALER_MINT_config_load to libtalerutil 2015-01-28 14:55:25 +01:00
Christian Grothoff
162af316d3 cleaning up types used some more: also use a new struct for the transfer key secret 2015-01-27 22:05:31 +01:00
Christian Grothoff
27a72fdafe cleaning up types used 2015-01-27 22:01:08 +01:00
Christian Grothoff
019af0919e mint-httpd_db.c now compiles again 2015-01-27 18:49:02 +01:00
Christian Grothoff
16817ef0d1 implementing new link crypto API 2015-01-27 16:31:18 +01:00
Christian Grothoff
2cda5ea7ee rework taler lib, moving some code to GNUnet, cleaner refresh encrypt/decypt API 2015-01-27 16:18:33 +01:00
Christian Grothoff
e1a0d89847 also fix type here 2015-01-26 12:25:35 +01:00
Christian Grothoff
60fdc863ee test is dead, too 2015-01-26 12:24:36 +01:00
Christian Grothoff
52591a77f0 intermediary commit, breaking the build by starting to move towards variable-size GNUnet signatures instead of fixed-size signatures; much broken now 2015-01-26 12:22:56 +01:00
Christian Grothoff
ae917eeee0 intermediary commit, breaking the build by starting to move towards variable-size GNUnet signatures instead of fixed-size signatures; much broken now 2015-01-26 12:22:26 +01:00
Christian Grothoff
d4506f8a04 support variable-size results 2015-01-26 11:04:46 +01:00
Sree Harsha Totakura
734fd0aa2e -remove unused and misleading hash operation 2015-01-22 16:26:53 +01:00
Sree Harsha Totakura
acee974c06 Add checks to verify incorrect signatures. 2015-01-22 16:23:25 +01:00
Sree Harsha Totakura
b119131873 Remove TALER_RSA_hash_sign() and TALER_RSA_hash_verify(). 2015-01-22 16:22:32 +01:00
Christian Grothoff
ed51946442 more code refactoring to separate parsing, db and response generation nicely 2015-01-19 21:53:23 +01:00
Christian Grothoff
0430d6fb03 moving structs relevant for signatures into taler_signatures.h, splitting of private keys that are not in messages; moving test_hash_context to GNUnet 2015-01-09 18:18:59 +01:00
Christian Grothoff
f5e49d926a moving TALER_hash_context API to GNUnet, using slightly cleaner API as well 2015-01-09 17:26:02 +01:00
Christian Grothoff
09ecea9ea3 removing dead TALER_genkey() API call 2015-01-09 17:12:13 +01:00
Christian Grothoff
0b40e78027 stop exporting microhttpd_lib API 2015-01-09 17:10:38 +01:00
Christian Grothoff
57d1f08dbc -initial import for mint 2015-01-08 18:37:20 +01:00