e0e69fd72e
-new error codes for purse deposit failures
2022-06-30 11:14:33 +02:00
Thien-Thi Nguyen
4cf70435b2
fix portability bug: make sure destination file is writeable
...
Some shells let this go w/o comment, some don't.
Better to be sure.
(ensure): If "$dst" exists, make sure it is writeable.
2022-06-30 03:34:54 -04:00
Thien-Thi Nguyen
f377076174
refactor slightly
...
(ensure): Don't repeat "$src/$fn" and "$dst/$fn";
instead, compute them once as "$src" and "$dst", respectively.
2022-06-30 03:32:29 -04:00
Christian Grothoff
2805018da2
-reduce logging
2022-06-29 20:34:22 +02:00
Christian Grothoff
fd9fc9f0cd
-fix misc doxygen warnings, code clean up
2022-06-26 17:08:17 +02:00
Christian Grothoff
007cc7abe8
-prevent editing of generated files
2022-06-13 09:47:25 +02:00
Christian Grothoff
eaea32b319
tag
2022-06-09 13:57:03 +02:00
Christian Grothoff
b9a30d29cb
-fix minor bugs
2022-06-07 15:02:16 +02:00
Thien-Thi Nguyen
013942ba91
Mention GANA repo in guidelines
2022-06-06 09:58:43 -04:00
Thien-Thi Nguyen
070e6de61e
Add some guidelines for src/include/taler_signatures.h maintenance
2022-06-06 09:57:29 -04:00
Thien-Thi Nguyen
f8e77a27c0
Update ignorance
2022-06-06 03:02:34 -04:00
Thien-Thi Nguyen
555cc06220
Generate src/include/taler_signatures.h at bootstrap time
...
* src/include/taler_signatures.h: Delete file.
* contrib/gana-update.sh: Add calls to ‘domake’, ‘ensure’ for contrib/sigp.
2022-06-06 02:59:59 -04:00
Thien-Thi Nguyen
6512456dc2
Add support for generating taler_signatures.h.
...
* contrib/sigp/: New dir.
* contrib/sigp/Makefile: New file.
* contrib/sigp/README: New file.
* contrib/sigp/h.footer: New file.
* contrib/sigp/h.header: New file.
* contrib/sigp/h.template: New file.
2022-06-04 09:34:49 -04:00
Thien-Thi Nguyen
baf00c0262
move "gana/" to caller
...
This allows for other prefix dirs to be used.
(domake): Consider $1 to be dir under ‘contrib/’.
(ensure): Likewise, for $2.
2022-06-04 09:34:42 -04:00
Christian Grothoff
93943bdb5b
add KYC errors for p2p payments
2022-06-04 15:19:57 +02:00
Christian Grothoff
65ce2eede6
-expand table list for taler-auditor-sync
2022-06-01 23:16:35 +02:00
Christian Grothoff
361f534dbb
add -I option to wirewatch
2022-05-31 08:46:43 +02:00
Christian Grothoff
7f902c0fc9
-sketch API for RSA parallel signing
2022-05-30 13:34:39 +02:00
Christian Grothoff
daddc69dc9
-revise shard locking: resume open shards before starting new ones
2022-05-24 09:52:23 +02:00
Christian Grothoff
b1b943aa3e
-add metrics for idempotent (batch) withdraw
2022-05-22 13:06:17 +02:00
Christian Grothoff
344c53c51d
enforce valid payto:// URI in exchange /wire response
2022-05-18 18:05:32 +02:00
Christian Grothoff
10a97996f7
-enable batch withdraw manual testing
2022-05-15 18:56:35 +02:00
Christian Grothoff
6150713fc4
-fix wire expiration
2022-05-14 15:11:16 +02:00
Christian Grothoff
2d0d8e7e8e
add max_age column
2022-05-14 12:24:25 +02:00
Christian Grothoff
35b4a51e14
combine auto-commited transactions in refresh/reveal into one big transaction
2022-05-12 13:31:15 +02:00
Christian Grothoff
81732d49cc
-add FIXME
2022-05-12 09:52:41 +02:00
Thien-Thi Nguyen
842e04b13c
refactor
...
(domake, ensure): New funcs.
<top-level>: Use ‘domake’, ‘ensure’.
2022-05-11 04:27:50 -04:00
Christian Grothoff
02eb80e0b2
-address FIXMEs
2022-05-08 12:50:25 +02:00
Christian Grothoff
415c922c92
-address FIXMEs for purses GET requests
2022-05-07 23:41:33 +02:00
Christian Grothoff
8c9d5d6135
document required packages
2022-05-07 19:29:04 +02:00
Christian Grothoff
3d80b20459
-get batch withdraw to build
2022-05-01 13:01:32 +02:00
17a00ef22d
age restriction: make seed a HashCode due to endianess and security level concerns
2022-04-26 23:34:14 +02:00
47e276e11a
-remove debug logging
2022-04-26 23:10:50 +02:00
Christian Grothoff
efb8c8037b
-implement purses get db sketch
2022-04-26 13:24:51 +02:00
Christian Grothoff
b4965db0d2
-fix fieldnames, regenerated DBs
2022-04-24 20:49:11 +02:00
Christian Grothoff
132359a444
add purses-get to build
2022-04-23 12:34:48 +02:00
Christian Grothoff
c30c7cde4d
add purses_deposit to build
2022-04-22 23:43:15 +02:00
Christian Grothoff
eea35ffb01
-skeleton logic for deposits into purse
2022-04-21 22:44:51 +02:00
Christian Grothoff
582acc3cf3
add taler-exchange-httpd_reserves_purse.c to build
2022-04-21 21:04:33 +02:00
Christian Grothoff
8776f16b06
-refactor deposits_get logic to help ttn with signature logic refactoring
2022-04-20 20:05:25 +02:00
14b57d3e13
find extensions case-insensitively
2022-04-19 18:37:56 +02:00
Christian Grothoff
fc1383ebd1
-skeleton for p2p test
2022-04-15 16:02:50 +02:00
Christian Grothoff
3893afa49c
-implementing purse merge DB logic
2022-04-12 11:58:21 +02:00
Christian Grothoff
7a1dcc52ca
-towards new GET /contracts/$C_PUB hander
2022-04-11 16:48:30 +02:00
Christian Grothoff
c8c1005297
-add draft handler for purse merge client request
2022-04-11 15:34:45 +02:00
Christian Grothoff
d30b7f8eeb
-load wire fees only when needed
2022-04-11 15:23:29 +02:00
Christian Grothoff
72dd9514aa
-draft implementation of /purses//merge endpoint
2022-04-11 13:52:06 +02:00
Christian Grothoff
f9971faa7a
-draft for merge endpoint
2022-04-08 19:23:19 +02:00
Christian Grothoff
22cfc59d90
-towards testing purse creation
2022-04-06 12:50:07 +02:00
Christian Grothoff
f3a4b00907
adapt to latest GNUnet API: GNUNET_JSON_spec_mark_optional() changed
2022-04-05 17:15:50 +02:00
Christian Grothoff
5147c8b788
-fix FTBFS
2022-04-04 08:55:01 +02:00
Christian Grothoff
caf66486e7
work on purse creation logic
2022-04-01 16:39:07 +02:00
Christian Grothoff
c782dfe2aa
first draft of service API for p2p payments
2022-03-24 13:06:04 +01:00
e336c02d14
implement more taler-crypto-worker ops
2022-03-24 01:10:00 +01:00
Christian Grothoff
c7e2d206ba
add logic to check timestamp, revise history balance calculation logic in client
2022-03-21 03:59:31 +01:00
Christian Grothoff
f5f15e6531
first rough-cut implementation of POST /reserves//status
2022-03-21 02:39:36 +01:00
Christian Grothoff
280f94c3a6
improve style of some SQL queries (no semantic change)
2022-03-19 08:27:01 +01:00
2fe5223c72
add missing files for system documentation book
2022-03-08 21:56:46 +01:00
Christian Grothoff
a080f11890
add more logic for new global fees
2022-03-05 17:14:32 +01:00
Christian Grothoff
3f23bede87
-bump version requirement
2022-02-19 21:34:50 +01:00
Christian Grothoff
bc3ec56373
reject wire deadline of 'never' ( #7157 )
2022-02-19 21:26:27 +01:00
Christian Grothoff
917b2f373e
-update GANA
2022-02-19 21:06:02 +01:00
Christian Grothoff
9b8c350d4d
-remove redundancies in the refresh-melt computation and fix uninitialized bks return value
2022-02-13 12:44:09 +01:00
Christian Grothoff
c2549e8b1e
-address FIXMEs
2022-02-12 11:24:32 +01:00
Christian Grothoff
819b67426c
-doxygen fixes
2022-02-12 10:33:23 +01:00
Christian Grothoff
cfa1283053
merge more improvements from Dora
2022-02-06 12:33:49 +01:00
Christian Grothoff
9d40bd5a1e
split tests by rsa/cs
2022-02-04 18:45:42 +01:00
Gian Demarmels
a67786078b
resolves merge conflicts
2022-02-04 16:50:32 +01:00
Christian Grothoff
5ea4e5b122
corrections from Dora
2022-02-01 09:35:28 +01:00
Christian Grothoff
88f64e238c
cbdc - Italian edition
2022-01-31 16:16:23 +01:00
32f1276b8c
fix RFC 8785 JSON normalization
2022-01-27 15:29:55 +01:00
Christian Grothoff
e7aeec04f4
The current recoup API is broken. I guess this is another example where "trivial" API changes turn out to have (multiple!) unexpected consequences.
...
The current "/recoup" API does not have clear idempotency semantics, as we've discussed on the phone. This is already bad by itself, as it makes it hard to write down what the API does other than "whatever the implementation does".
However, it actually breaks correctness in this (admittedly kinda contrived, but not impossible) case:
Say that we have a coin A obtained via withdrawal and a coin B obtained via refreshing coin A. Now the denominations of A gets revoked..
The wallet does a recoup of A for EUR:1.
Now the denomination of B also gets revoked. The wallet recoups B (incidentally also for EUR:1) and now A can be recouped again for EUR:1. But now the exchange is in a state where it will refuse a legitimate recoup request for A because the detection for an idempotent request kicks in.
This is IMHO bad API design, and the exchange should simply always recoup the maximum amount.
Furthermore, we usually follow the principle of "API calls that take up DB space are paid". With the current recoup API, I can do many tiny recoup requests which the exchange then has to store, right?
I guess it would not be a big change to remove the "amount" value from the recoup/recoup-refresh request bodies, right?
- Florian
2022-01-11 12:47:35 +01:00
14efa23a2b
improve error response for withdrawal
2022-01-10 01:23:46 +01:00
Christian Grothoff
5cd2bc5de3
-cleanup
2021-12-28 15:36:26 +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
1b23857f2c
[age restriction] progress 8/n
...
More work towards support for extensions and age restriction
- updated gana
- added handler for DB-Event
- added TEH_extensions_init() and _done()
- added global for age restriction
- added stub for post handler
- added SQL-table for extension metadata
- added enum type for extensions and other data structures
Also:
- fixed some warnings -Wmaybe-unitialized
2021-12-23 15:15:33 +01:00
Christian Grothoff
57f4933451
fix uncrustify
2021-12-11 21:53:30 +01:00
Christian Grothoff
e0700ad916
optimize /deposit logic to minimize serialization failures (presumably)
2021-12-08 20:33:14 +01:00
Thien-Thi Nguyen
56318f53e2
update contrib/gana to b7320181c5e0d95c6f2e2a9e5c53dce0bc1a35a8
2021-11-21 06:23:36 -05:00
Christian Grothoff
1caeaec257
fix #7099
2021-11-21 10:01:31 +01:00
Christian Grothoff
0325a79631
avoid duplication
2021-11-15 14:39:18 +01:00
Christian Grothoff
ee687c87ed
-better types
2021-11-15 10:53:33 +01:00
Christian Grothoff
77bab62560
-fixes for test
2021-11-09 22:52:01 +01:00
Christian Grothoff
ba627bf84c
-fixes
2021-11-05 22:22:47 +01:00
Christian Grothoff
766922f7e9
implement missing SQL statement
2021-11-05 13:20:14 +01:00
Christian Grothoff
9358b886f1
bugfix!
2021-11-01 22:57:46 +01:00
Christian Grothoff
22ce5bff77
fix sharding
2021-11-01 18:05:01 +01:00
Christian Grothoff
3900531e0d
eliminate HKDF when hashing paytos
2021-10-27 11:40:12 +02:00
Christian Grothoff
7ac57acb18
fix auditor FTBFS
2021-10-27 09:23:14 +02:00
Christian Grothoff
fd615f3e33
-fix exchange FTBFS
2021-10-27 09:23:14 +02:00
Christian Grothoff
8a6d9da545
-work on FTBFS
2021-10-27 09:23:14 +02:00
Christian Grothoff
58ea04167c
-fix misc FTBFS
2021-10-27 09:23:13 +02:00
Christian Grothoff
3af7bc0a29
-more FTBFS fixes
2021-10-27 09:23:12 +02:00
Christian Grothoff
d4e03b12ae
-more changes towards fixing FTBFS
2021-10-27 09:23:12 +02:00
Christian Grothoff
778a402d07
-implement more of the KYC handlers
2021-10-19 21:02:10 +02:00
Christian Grothoff
4e3b133e47
-incomplete draft for /kyc-wallet handler
2021-10-17 14:12:13 +02:00
Christian Grothoff
8a213cd3ad
spanish hypenation rules
2021-10-12 12:33:41 +02:00
Christian Grothoff
66573865e1
generate 502 on secmod unavailable instead of 200 with bad public key; more logging
2021-10-11 14:32:32 +02:00
Christian Grothoff
7bf2845b66
update tos
2021-09-30 21:43:48 +02:00
Christian Grothoff
2f31d06392
regenerate pp/tos
2021-09-30 21:41:06 +02:00
Christian Grothoff
4a92cc0584
-pp revision
2021-09-24 12:02:09 +02:00
Christian Grothoff
896bb8f074
typo
2021-08-31 22:56:14 +02:00
Christian Grothoff
0013ce41e7
hyperaggregation schema proposal
2021-08-31 17:41:46 +02:00
6761e2a997
gana
2021-08-26 16:45:54 +02:00
7ca2787d5f
debian: changelog
2021-08-26 16:37:44 +02:00
Christian Grothoff
e01be3c09e
-gana update
2021-08-25 15:14:18 +02:00
Christian Grothoff
18a68ab789
ensure statements are prepared before keys subsystem initialization
2021-08-25 11:45:13 +02:00
Christian Grothoff
e50a5f4d2b
-update GANA
2021-08-25 07:58:07 +02:00
Christian Grothoff
7b954c1e26
-bump version in configure.ac
2021-08-24 15:43:32 +02:00
74afcfd7b2
debian: changelog
2021-08-24 13:13:29 +02:00
Christian Grothoff
888895cb8c
fix #6956 in exchange
2021-08-23 23:35:24 +02:00
Christian Grothoff
10f9272e45
-implement long polling support on reserve status (but not yet in C client library)
2021-08-22 00:12:18 +02:00
Christian Grothoff
765e97ea1a
-update gana
2021-08-14 15:31:20 +02:00
Christian Grothoff
10d8342f90
return more detailed issue report in /wire, fixes #6980
2021-08-11 21:37:39 +02:00
a3c932775e
man page
2021-08-08 22:30:39 +02:00
Christian Grothoff
c4ae15c1db
-strengthen payto validation logic
2021-08-02 19:38:23 +02:00
9bf2dfbce2
put coin configuration in separate config file
2021-08-02 14:32:31 +02:00
Christian Grothoff
2028805fc6
-fix doxygen issues
2021-08-01 23:16:55 +02:00
Christian Grothoff
d8d1453789
-misc doxygen fixes
2021-08-01 23:06:16 +02:00
Christian Grothoff
7ee5ffd2eb
-fix FTBFS
2021-08-01 19:30:57 +02:00
Christian Grothoff
f1f0bf637b
build system: also obtain event type registry from GANA
2021-08-01 13:56:48 +02:00
02aa49cc36
install into usr/share/taler/exchange
2021-07-26 16:16:52 +02:00
Christian Grothoff
c7a54f7a81
gana update
2021-07-23 17:08:08 +02:00
Christian Grothoff
44f7a19ab1
-update gana
2021-07-23 13:12:08 +02:00
Christian Grothoff
2e981c1a6e
fix serial selection in auditor-sync
2021-06-27 23:38:52 +02:00
Christian Grothoff
4ba4cf74ae
-fix typo
2021-06-27 15:36:42 +02:00
Christian Grothoff
9db945471f
-gana update
2021-06-16 21:22:20 +02:00
Christian Grothoff
34a5806eb5
gana update
2021-06-16 15:50:09 +02:00
Christian Grothoff
3fa945e796
update gana
2021-06-16 15:13:08 +02:00
Christian Grothoff
4741f4ea02
implement duplicate reserve_pub detection in fakebank, add test (fails in pybank), for #6863
2021-05-20 12:31:27 +02:00
Christian Grothoff
259a180bb6
update gana
2021-05-17 22:44:01 +02:00
Christian Grothoff
b60ad1f422
-update GANA
2021-04-26 17:12:18 +02:00
Christian Grothoff
3cdefdd11a
update GANA
2021-04-24 20:26:05 +02:00
Christian Grothoff
20c70845c0
return more precise error codes from TALER_EXCHANGE_deposit() if failures are detected client-side ( #6817 )
2021-04-24 19:54:47 +02:00
Christian Grothoff
4384c6ec85
fix misc doxygen issues
2021-04-21 20:28:30 +02:00
Christian Grothoff
e82329749c
update gana
2021-04-11 15:26:36 +02:00
Christian Grothoff
3251ca082a
do not upgrade gana to master on bootstrap (see #6839 )
2021-04-09 16:36:35 +02:00
Christian Grothoff
5fc1764db3
do not upgrade gana to master on bootstrap
2021-04-09 16:33:35 +02:00
Christian Grothoff
a1705fe421
add gettext support
2021-04-05 20:11:45 +02:00
Christian Grothoff
94d7eb4075
update gana
2021-04-02 16:06:35 +02:00
Christian Grothoff
ec0b1b512c
fix json parsing invocation
2021-03-28 21:52:02 +02: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
5985f73d42
gana
2021-03-01 17:58:42 +01:00
c6ba295eec
gana
2021-03-01 17:57:25 +01:00
Christian Grothoff
2c8afda8b3
remove deadlocking log statements
2021-03-01 14:08:15 +01:00
Christian Grothoff
471fc11663
update Debian package
2021-02-15 16:03:56 +01:00
Christian Grothoff
cd17d095e8
permit NULL trait
2021-02-13 15:52:18 +01:00
Christian Grothoff
43c48c920b
update GANA
2021-01-31 22:11:50 +01:00
Christian Grothoff
421e802fd3
fix test issues with new DB schema
2021-01-07 22:24:19 +01:00
Christian Grothoff
b2d8799af1
work on #6679 "
2021-01-07 10:40:01 +01:00
Christian Grothoff
f82488c060
add missing linker options, bonus fun
2020-12-31 22:22:19 +01:00
Christian Grothoff
efbc411dea
new GANA code for revoked esign key
2020-12-26 16:23:22 +01:00
Christian Grothoff
247d1ca3e5
implement #6661 : secm key pinning via configuration
2020-12-24 14:48:50 +01:00
Christian Grothoff
0e74fbef8d
add logic to report generation for missing auditor signatures
2020-12-22 18:38:14 +01:00
Christian Grothoff
b1e305fb05
remove obsolete configuration options
2020-12-17 16:19:28 +01:00
Christian Grothoff
b5d88fc2d1
activating implementation of #6175
2020-12-14 15:42:32 +01:00
Christian Grothoff
fa1914b267
work on new logic to generate /wire response
2020-12-09 12:31:10 +01:00
Christian Grothoff
9911b327ac
fix #6665
2020-12-09 07:25:26 +01:00
Christian Grothoff
3240844e48
get code for most new endpoints to build (but DB not done)
2020-11-29 14:32:39 +01:00
Christian Grothoff
171391057d
complete crypto helper denom testing
2020-11-22 22:25:49 +01:00
Christian Grothoff
9b68dbb8e6
implementing client library for talking to the crypto helper process
2020-11-21 23:58:00 +01:00
Christian Grothoff
45d621f5ff
add -lgcov flag for coverage analysis
2020-11-12 22:25:59 +01:00
Dennis Neufeld
2ad4cee183
add anastasis error
2020-11-10 13:49:41 +01:00
Christian Grothoff
522db4d98e
use --help instead of -h
2020-11-08 23:47:11 +01:00
Christian Grothoff
8d312562bf
adjust ECs
2020-11-07 18:51:54 +01:00
Christian Grothoff
dde5d38c4f
gana update
2020-11-06 10:34:35 +01:00
Christian Grothoff
5fbe77bb76
fix return value from main() when run with -h/-v
2020-11-06 10:11:15 +01:00
Christian Grothoff
a79b67c726
log more nicely if authentication failed; do use new changepassword_unsafe to set bank pw -- and not others; do show stderr output of pybank in test cases
2020-10-30 22:17:37 +01:00
Christian Grothoff
afc72f1f47
make static analysis happy
2020-10-30 00:26:21 +01:00
Christian Grothoff
11627b38bb
use correct HTTP status codes:
2020-10-26 13:21:28 +01:00
Christian Grothoff
cc511b93be
bump GNUnet required version
2020-10-25 21:35:47 +01:00
Christian Grothoff
4ca05624e4
update gana
2020-10-22 11:40:58 +02:00
Christian Grothoff
d1f2fe772a
gana update
2020-10-14 10:57:19 +02:00
Christian Grothoff
46761c9aa7
gana update
2020-10-14 10:46:53 +02:00
Christian Grothoff
c4b7a75b69
merge
2020-10-07 12:29:49 +02:00
Christian Grothoff
4129b724a0
doxygen fixes, update ChangeLog, bump version
2020-10-03 16:08:01 +02:00
Florian Dold
9a3bdcf604
starting the bank is slow, give it some more time
2020-09-12 15:38:00 +05:30
Christian Grothoff
c62a7fdc6b
fix exchange 'make dist' rules
2020-09-11 22:34:08 +02:00
Christian Grothoff
3339da6636
add missing Makefile
2020-09-11 22:27:47 +02:00
Christian Grothoff
ee4f1c1002
fix #6553 : compute residual coin value correctly in melt conflict response
2020-09-01 23:59:16 +02:00
Christian Grothoff
0846ab93bc
doxygen fixes
2020-08-29 00:37:37 +02:00
Christian Grothoff
d089c31e5e
fix test logic: initialize $WALLET_DB and fix cleanup logic of generate-auditor-basedb.sh
2020-08-28 18:01:50 +02:00
Jonathan Buchanan
52b5428e3e
sync gana
2020-08-27 13:48:09 -04:00
Christian Grothoff
d6400f52e1
doh: key missing
2020-08-25 21:15:55 +02:00
Christian Grothoff
c9c9d77f63
update GANA
2020-08-25 20:55:33 +02:00
Christian Grothoff
510da954d8
update GANA
2020-08-25 20:54:27 +02:00
Christian Grothoff
4bba726356
nicer generic error reporting logic, for #6432
2020-08-25 15:11:56 +02:00
Christian Grothoff
ce266ce8f2
fix keyup timetravel ( #6523 )
2020-08-24 22:19:54 +02:00
Florian Dold
35f7415f7e
gana
2020-08-21 13:27:42 +05:30
Florian Dold
cdf11bb2ec
gana
2020-08-20 23:15:51 +05:30
Christian Grothoff
5eac9b2b31
gana update
2020-08-15 23:51:39 +02:00
Christian Grothoff
b1148912ab
clean up GET /private/orders logic
2020-08-15 23:50:24 +02:00
Florian Dold
96878561a5
fix test withdrawal wallet invocation
2020-08-14 16:49:17 +05:30
Christian Grothoff
18605e6c98
update gana
2020-08-14 13:04:47 +02:00
Florian Dold
8239a8bdd1
taler wallet invocation
2020-08-14 16:21:13 +05:30
Christian Grothoff
6256bdb15a
implement #6478 , but untested as shown by FIXMEs
2020-08-12 20:12:39 +02:00
Christian Grothoff
26f72f8572
fix refund handling: allow refund increases for the same coin
2020-08-12 13:02:59 +02:00
Florian Dold
1a37d9d805
gana
2020-08-06 15:15:07 +05:30
Christian Grothoff
ad27d52bdb
merge gana
2020-08-03 01:15:57 +02:00