Commit Graph

3960 Commits

Author SHA1 Message Date
Maxime Besson
7cc02dc179 Add auth routes for 2f choice screen (#2151) 2020-04-16 14:26:33 +02:00
Christophe Maudoux
f3bff921cc Test if lang is available (#2136) 2020-04-16 12:25:39 +02:00
Maxime Besson
6447396888 Improve SSL error reporting (#2110) 2020-04-15 18:43:27 +02:00
Maxime Besson
05a23480b0 Remember selected choice tab when doing a page refresh in JS (#2110) 2020-04-15 18:43:25 +02:00
Maxime Besson
8c94bf0f13 Allow portal JSON responses to include a rendered HTML error block (#2110) 2020-04-15 18:42:31 +02:00
Maxime Besson
e1767abfda CORS: special handling for AJAX SSL (#2110) 2020-04-15 18:42:31 +02:00
Maxime Besson
2440fc7866 use sendJSONresponse instead of handcrafting portal response 2020-04-15 18:42:31 +02:00
Maxime Besson
4bcb391121 Add an easy way to set level of additional second factors (#2149) 2020-04-15 17:20:27 +02:00
Maxime Besson
ec88967606 Add unit test for #2142 2020-04-14 21:46:30 +02:00
Maxime Besson
755a5c3a6b post confirm to issuer url after restoring (#2142) 2020-04-14 21:46:30 +02:00
Maxime Besson
89091a570f Unit test for #2085 2020-04-14 18:49:37 +02:00
Maxime Besson
b512cc700c Replace hidden form values on info when urldc has a QS (#2085) 2020-04-14 18:48:35 +02:00
Christophe Maudoux
8afbd2214d Typo (#2136) 2020-04-13 21:39:23 +02:00
Christophe Maudoux
6fc460572e Append an option to set cookie lang (#2136) 2020-04-13 12:02:15 +02:00
Christophe Maudoux
f06548333f Don t modify lang cookie (#2136) 2020-04-13 11:47:02 +02:00
Christophe Maudoux
b4e2b64f49 Select lang from queryString (#2136) 2020-04-13 10:55:56 +02:00
Christophe Maudoux
6d146f9c4b Verify that $field is defined with AuthSSL (#2141) 2020-04-11 22:54:55 +02:00
Christophe Maudoux
082d12ca5f Append customParam to globalLogout plugin (#2145) 2020-04-11 22:34:29 +02:00
Christophe Maudoux
3a4ab3bbec setSecurity if an error occurs with AuthChoice (#2144) 2020-04-11 18:55:44 +02:00
Christophe Maudoux
2426ec6eb9 Allow time drift 2020-04-10 15:44:16 +02:00
Christophe Maudoux
543ac4ed63 Avoid loop with Self protected Portal URLs (#2143) 2020-04-10 14:17:53 +02:00
Xavier Guimard
7a56fa2b83 fix translation 2020-04-10 10:04:05 +02:00
Christophe Maudoux
13bb55a818 Append an option to define apps tooltip & Improve unit test (#2140) 2020-04-08 22:40:28 +02:00
Xavier Guimard
b55b6dda7b Add portal Polish translation 2020-04-08 09:09:29 +02:00
Christophe Maudoux
202a500c3e Tidy 2020-04-07 11:47:32 +02:00
Christophe Maudoux
0fb0bd1d07 Code refactoring (#2129) 2020-04-07 11:39:32 +02:00
Christophe Maudoux
1aaa495276 Fix unit test (#2071) 2020-04-07 00:41:37 +02:00
Christophe Maudoux
944b0f1c5c Improve unit test & Fix file extension (#2071) 2020-04-07 00:18:45 +02:00
Christophe Maudoux
d56a76584a Retrieve 'allusers' notifications (#2071) 2020-04-06 23:55:04 +02:00
Christophe Maudoux
9e84447d2d Fix update session (#2129) 2020-04-06 23:28:01 +02:00
Christophe Maudoux
fc9de124c1 Improve unit test (TOTP enable globalCache) 2020-04-06 19:52:41 +02:00
Christophe Maudoux
e68d5ed2c8 Revert "Fix update session (#2129)"
This reverts commit 1c65c72a62.
2020-04-06 19:35:29 +02:00
Christophe Maudoux
1c65c72a62 Fix update session (#2129) 2020-04-06 19:24:50 +02:00
Christophe Maudoux
b05d4a3315 Fix unit test 2020-04-06 19:15:05 +02:00
Christophe Maudoux
d53cddae39 Better fix & De-duplicate groups (#2129) 2020-04-06 19:05:50 +02:00
Christophe Maudoux
6cbbfb39ba Append unit test 2020-04-06 19:05:50 +02:00
Clément OUDOT
c87a36e3ca Do not run setGroups after 2FA (#2129) 2020-04-06 18:36:51 +02:00
Christophe Maudoux
4c30dc2f73 Append unit test & Update manifest 2020-04-05 12:19:05 +02:00
Christophe Maudoux
d9e94d45f7 Improve unit tests 2020-04-05 12:19:05 +02:00
Christophe Maudoux
37a9360625 Append PPolicyNone message & Unit test & Update manifest 2020-04-05 12:19:05 +02:00
Christophe Maudoux
dbf6415a12 Improve code (#1783) 2020-04-04 00:08:20 +02:00
Christophe Maudoux
30f6a889de Append contextSwitching prefix parameter (#1783) 2020-04-03 23:09:55 +02:00
Christophe Maudoux
e11c189141 Remove underscores in notifications reference (#2135) 2020-04-03 22:00:20 +02:00
Christophe Maudoux
8cacd5e802 Fix warnings 2020-04-03 19:22:42 +02:00
Christophe Maudoux
2b95adaa1c Allow time drift (#2133) 2020-04-03 19:11:56 +02:00
Christophe Maudoux
d6d9d6031d Append debug log (#1796) 2020-04-03 18:56:11 +02:00
Christophe Maudoux
a2a96b1adc Re-order contextual menu 2020-04-03 18:26:45 +02:00
Christophe Maudoux
c179654fc4 Fix typo notification reference & Update unit tests(#2133) 2020-04-03 18:26:22 +02:00
Christophe Maudoux
9f5f9bb660 Improve unit tests (#2133) 2020-04-03 15:51:28 +02:00
Christophe Maudoux
0ec9ff84e2 Fix test & notification reference (#2133) 2020-04-03 14:34:44 +02:00
Christophe Maudoux
e51e962eb4 Improve unit test (#1359) 2020-04-03 11:06:37 +02:00
Christophe Maudoux
f469180663 Improve unit test '#2130) 2020-04-03 00:21:15 +02:00
Christophe Maudoux
6382c35cd4 Update PP display (#2130) 2020-04-02 13:30:22 +02:00
Christophe Maudoux
71ba189edc Append special characters password policy (#2130) 2020-04-02 12:14:05 +02:00
Christophe Maudoux
b924b96176 WIP - Append PP special characters options (#2130) 2020-04-02 01:03:42 +02:00
Christophe Maudoux
154250e6e7 Use real authentificationLevel & Improve unit test (#2129) 2020-04-01 19:33:18 +02:00
Christophe Maudoux
2a34d1ae8c Update sessionInfo if second factor succeeds & Improve unit tests (#2129) 2020-04-01 15:43:46 +02:00
Christophe Maudoux
ea8b0bb024 Highlight error message (#2126 & #1625) 2020-03-28 18:12:34 +01:00
Christophe Maudoux
68e2e81898 Fix warning if error is undefined (#2126 & #1625) 2020-03-28 17:59:37 +01:00
Xavier Montagutelli
9c0e09f89d Update OpenIDConnect.pm - Correct typo staticPrefi*x* 2020-03-26 16:48:31 +01:00
Maxime Besson
e9bab71585 Make sure restCall returns a hashref (#2125) 2020-03-26 11:31:33 +01:00
Maxime Besson
845ff2da85 fix param transmission in rest2f (#2123) 2020-03-26 10:58:27 +01:00
Maxime Besson
ff75e28efc remove unneccesary printout in t/32-Auth-and-issuer-OIDC-implicit.t 2020-03-20 14:40:19 +01:00
Christophe Maudoux
68c5b1608e Improve unit test (#2118) 2020-03-19 23:05:49 +01:00
Maxime Besson
34928123f3 OIDC refactoring
split token method by response type
factor ID token generation between implicit and hybrid flows
still a lot to do!
2020-03-18 21:14:54 +01:00
Maxime Besson
168dc75f96 OIDC: return id_token in hybrid flow (#2120) 2020-03-18 21:05:39 +01:00
Xavier Guimard
569d1bf8af Update translations 2020-03-18 21:05:01 +01:00
Clément OUDOT
4c36c77452 Set default value for encryption_mode (#2117) 2020-03-12 17:00:50 +01:00
Clément OUDOT
3289534549 Add goToPortal translation for mails (#2116) 2020-03-11 16:51:09 +01:00
Clément OUDOT
9620e6870a Possibility to preselect choice tab (#2115) 2020-03-11 11:46:14 +01:00
Clément OUDOT
921cf16fcf Format parameters for trspan (#2113) 2020-03-10 11:28:04 +01:00
Clément OUDOT
7c947ab976 Use the correct message for ppolicy time before expiration (#2113) 2020-03-10 11:16:43 +01:00
Clément OUDOT
f830fc4d8a Add some debug logs for ppolicy (#2113) 2020-03-10 10:50:02 +01:00
Clément OUDOT
1eca5a2e68 Adapt unit test for #2111 2020-03-10 10:34:19 +01:00
Clément OUDOT
39768960f8 Fix translation display of authentication graces (#2111) 2020-03-09 17:47:56 +01:00
Christophe Maudoux
c9b2eff039 More explicit error message (#2108) 2020-03-05 22:14:02 +01:00
Christophe Maudoux
824acec27f Improve log (#2071) 2020-03-03 22:25:30 +01:00
Christophe Maudoux
093b4e6817 Typo 2020-03-03 19:52:42 +01:00
Christophe Maudoux
ea9f019bc8 Append debug logs (#2071) 2020-03-03 17:41:19 +01:00
Christophe Maudoux
3ec85e6775 Re-order SAML options 2020-03-02 23:06:38 +01:00
Christophe Maudoux
00000184fc Improve unit test (#1783) 2020-03-02 22:53:18 +01:00
Maxime Besson
fab2553064 Merge branch 'improve-group-2036' into 'v2.0'
New macro for group handling, and group-handling examples in default config

See merge request lemonldap-ng/lemonldap-ng!128
2020-03-02 17:02:35 +01:00
Christophe Maudoux
903d3540e4 Show lang flags with redirect template 2020-03-02 14:30:58 +01:00
Christophe Maudoux
7a27a90492 Append unit test (#1783) 2020-03-01 23:11:02 +01:00
Christophe Maudoux
20418a6972 Update manifest (#2088) 2020-02-28 22:57:16 +01:00
Christophe Maudoux
3fba427d4e Append unit test (#2088) 2020-02-28 22:42:57 +01:00
Christophe Maudoux
8753cc4cf6 Option to hide empty headers with CheckUser (#2106) 2020-02-28 22:24:13 +01:00
Xavier Guimard
8c29111140 Update translations 2020-02-28 11:40:09 +01:00
Christophe Maudoux
a4a73ca907 Don t prompt second factor after a failed log in attempt (#2088) 2020-02-27 14:49:27 +01:00
Christophe Maudoux
549d0e8d5c Typo 2020-02-25 22:03:01 +01:00
Christophe Maudoux
683d5f0d86 Append unit test (#2088) 2020-02-25 16:50:50 +01:00
Christophe Maudoux
ea947ecc67 Improve unit test (#2104) 2020-02-25 15:06:51 +01:00
Christophe Maudoux
549658fa72 Compute session with real and spoofed attributes & Improve unit test (#2104) 2020-02-25 14:02:16 +01:00
Christophe Maudoux
e89c017ff6 Increase lock time after each failed login attempt (#2088) 2020-02-24 22:20:40 +01:00
Maxime Besson
4ae628bfcd Avoid generatin a bogus ID token when generation fails (#2105) 2020-02-24 16:28:41 +01:00
Christophe Maudoux
53d7923cd4 WIP - Increase lock time after each failed login attempt (#2088) 2020-02-23 23:19:32 +01:00
Christophe Maudoux
a139142e81 Improve unit test (#2101) 2020-02-23 12:50:59 +01:00
Christophe Maudoux
9a6b604f5c Skip bad rule & improve unit test (#2102) 2020-02-22 22:03:00 +01:00
Christophe Maudoux
18b43cacfc Avoid unprotected urldc host with wildcard-protected hosts (#2101) 2020-02-22 00:13:52 +01:00
Clément OUDOT
53263c7f10 Remove references to keepPdata = 1 in code (#2099) 2020-02-21 09:29:10 +01:00
Xavier Guimard
4459a47f76 Tidy 2020-02-20 23:37:05 +01:00
Xavier Guimard
a76cba3856 Update versions 2020-02-20 23:37:01 +01:00
Maxime Besson
47068c51b8 Revert "Prevent portal from crashing when keepPdata=1 (#1893)"
This reverts commit 2b4defb2a9 and
implements a fix "at the source" instead. Should fix #2099.
2020-02-20 22:24:26 +01:00
Xavier Guimard
22c1f7270c Add feature to override SOAP Proxy URN (#2100) 2020-02-20 21:49:55 +01:00
Maxime Besson
5758e371bf Improve introspection endpoint (#2096) 2020-02-19 21:49:51 +01:00
Christophe Maudoux
95ad4cac37 Improve code 2020-02-17 23:22:31 +01:00
Christophe Maudoux
385a1c1f38 Improve code & typo 2020-02-16 22:53:15 +01:00
Christophe Maudoux
0d15eb431b Fix warning message 2020-02-16 17:07:01 +01:00
Christophe Maudoux
fe4f925e58 Fix warning messages 2020-02-16 16:10:35 +01:00
Christophe Maudoux
4f44b69290 Fix warning messages 2020-02-16 15:35:53 +01:00
Christophe Maudoux
849609aec3 Fix warning messages 2020-02-16 14:48:55 +01:00
Christophe Maudoux
82f2e8d00c Append log (#2019) 2020-02-16 13:20:37 +01:00
Christophe Maudoux
57b546d112 Fix lmConfigEditor logger error (#2059) 2020-02-16 12:58:12 +01:00
Xavier Guimard
e26d1da4e6 Update Spanish translation 2020-02-15 08:56:06 +01:00
Christophe Maudoux
9a8d668c61 Improve code (#2093) 2020-02-14 22:02:10 +01:00
Christophe Maudoux
0bb16fd2db Fix eye toggle & Improve code (#2071) 2020-02-14 16:53:42 +01:00
Christophe Maudoux
15c12346ab Hide persistent session attributes & Improve unit tests (#2093) 2020-02-14 16:21:31 +01:00
Christophe Maudoux
8129d76d63 Improve code 2020-02-13 23:27:13 +01:00
Christophe Maudoux
ce65b712b0 Minor GUI improvements 2020-02-13 20:10:27 +01:00
Maxime Besson
ec377f4bf1 Avoid overwriting new session ID with existing info (#2090) 2020-02-13 18:53:44 +01:00
Clément OUDOT
9baede0ea2 Adapt HTML code in unit test (#2091) 2020-02-13 18:50:44 +01:00
Clément OUDOT
50061878aa Improve HTML code for 2FA choice (#2091) 2020-02-13 17:45:32 +01:00
Christophe Maudoux
75657190f7 Allow users to hide notifications explorer (#2071) 2020-02-13 17:14:44 +01:00
Christophe Maudoux
964afdb011 Improve unit test & Make manifest (#2071) 2020-02-13 09:36:57 +01:00
Christophe Maudoux
04912c7854 Improve unit test (#2071) 2020-02-12 23:27:54 +01:00
Christophe Maudoux
a0ef149b5f Fix userData (#2071) 2020-02-12 22:50:08 +01:00
Christophe Maudoux
4da346b104 Merge branch 'v2.0' into 2071 2020-02-12 22:22:56 +01:00
Christophe Maudoux
6996c79cab Improve code (#2071) 2020-02-12 22:14:02 +01:00
Christophe Maudoux
6b0d6b330b Append unit tests (#2071) 2020-02-12 22:14:02 +01:00
Christophe Maudoux
120e9c10da Improve unit tests 2020-02-12 18:49:16 +01:00
Christophe Maudoux
c9eb48b59e Fix file extension for notifications (#2089) 2020-02-11 20:14:25 +01:00
Christophe Maudoux
99c539fe53 Use a var & Update version (#2071) 2020-02-10 22:35:37 +01:00
Christophe Maudoux
d91bb8f6b9 Improve toggle (#2071) 2020-02-10 11:57:49 +01:00
Christophe Maudoux
83e802f208 Disable & tick checkboxes (#2071) 2020-02-10 10:04:10 +01:00
Christophe Maudoux
0df38323af Typo & improve msg (#2071) 2020-02-10 09:31:43 +01:00
Christophe Maudoux
1ae96b5dd2 Catch error (#2071) 2020-02-09 23:28:10 +01:00
Christophe Maudoux
0b2ab19b7f Toggle buttons - Fix message (#2071) 2020-02-09 23:05:33 +01:00
Christophe Maudoux
73a0ec9dc6 Toggle buttons (#2071) 2020-02-09 21:55:52 +01:00
Christophe Maudoux
c23b6c90ff Fix missing flags 2020-02-09 18:42:29 +01:00
Christophe Maudoux
ef01060c54 Update langs (#2071) 2020-02-09 18:30:08 +01:00
Christophe Maudoux
2f04ffcc4a WIP - Notifications explorer (#2071) 2020-02-09 17:47:25 +01:00
Christophe Maudoux
dd9e849b3e Don t send params with GET method (#2081) 2020-02-07 21:39:58 +01:00
Maxime Besson
f8b93f8c35 Add some demo groups (#2036) 2020-02-06 16:22:23 +01:00
Maxime Besson
b879f318a0 portal tests: add missing oidc keys file 2020-02-06 08:40:32 +01:00
Maxime Besson
8a77fde3f0 deduplicate oidc keys from portal tests 2020-02-05 22:48:20 +01:00
Maxime Besson
cc5416a81b deduplicate SAML keys from additional portal test 2020-02-05 22:48:20 +01:00
Maxime Besson
1cd6f82f80 Merge branch 'feature-1877-macros-after-groups' into 'v2.0'
Option to run setMacros after setGroups

See merge request lemonldap-ng/lemonldap-ng!127
2020-02-05 21:28:41 +01:00
Maxime Besson
6d3007bae8 deduplicate saml keys from portal tests 2020-02-05 21:24:49 +01:00
Maxime Besson
7d1f35f6df Refactor switch() in portal tests 2020-02-05 19:20:39 +01:00
Maxime Besson
68be974e51 Add option to compute userdb groups before macros (#1877) 2020-02-05 15:39:45 +01:00
Maxime Besson
402799bafe Fix LDAP notification backend (#2086) 2020-02-04 19:34:32 +01:00
Maxime Besson
6e3c4da4c8 Fix CertificateResetByMail-LDAP test 2020-02-04 17:08:15 +01:00
Maxime Besson
3b48746948 SAML: Hide error in storeEnv (#2084) 2020-02-03 17:08:18 +01:00
Maxime Besson
e52f6d3ba7 Increase visibility of Lasso errors (#2084) 2020-02-03 17:08:18 +01:00
Xavier Bachelot
23b8756f2b Unbundle Time::Fake 2020-02-03 09:36:51 +01:00
Maxime Besson
f4b11e9a0d fix whitespace (#2082) 2020-01-31 17:48:21 +01:00
Maxime Besson
e40568a330 Manager: fix SSLVarIf syntax (#2082) 2020-01-31 17:43:49 +01:00
Maxime Besson
f997a26e41 Fix form method when displaying info in autoPost (#2080) 2020-01-30 20:43:04 +01:00
Xavier Guimard
0ae1e81fce Update tr 2020-01-28 16:27:06 +01:00
Clément OUDOT
faa65c4abf Options to add a custom CSS file (#2076) 2020-01-28 15:14:24 +01:00
Clément OUDOT
681452524d Associate SAML access rule to SP conf key and not SP entityID (#2074) 2020-01-24 09:01:56 +01:00
Maxime Besson
5149ba8118 Make debug message less confusing when portal status is <0 2020-01-23 20:37:18 +01:00
Christophe Maudoux
8279733fbd Update Process.pm
Typo
2020-01-22 12:39:02 +01:00
Xavier Guimard
f3f97ccb80 Add sameSite parameter (#2069) 2020-01-20 06:21:09 +01:00
Christophe Maudoux
0408ce80b8 Better better fix (#2061) 2020-01-19 18:06:56 +01:00
Xavier Guimard
0fa90c5efe Avoid double encode_base64 call (#2061) 2020-01-18 22:25:48 +01:00
Christophe Maudoux
32d7f46b1a Better fix (#2061) 2020-01-18 18:58:42 +01:00
Christophe Maudoux
fd2a9ce226 Append info log msg (#2061) 2020-01-17 22:27:03 +01:00
Christophe Maudoux
138ef363d4 Force cleaning pdata cookie if redirect url match _url & Improve unit test (#2061) 2020-01-17 22:17:02 +01:00
Christophe Maudoux
6f31d98710 Revert "Force cleaning pdata cookie if redirect url match _url & Improve unit test (#2063)"
This reverts commit 965678dde2.
2020-01-17 22:16:44 +01:00
Christophe Maudoux
965678dde2 Force cleaning pdata cookie if redirect url match _url & Improve unit test (#2063) 2020-01-17 22:10:06 +01:00
Christophe Maudoux
4a0b092e7c make json 2020-01-15 22:12:02 +01:00
Christophe Maudoux
7de3152c80 Fix race issue (#2063) 2020-01-15 20:50:55 +01:00
Christophe Maudoux
583bbbe285 Append CSP frame-ancestors option & Improve unit test (#2068) 2020-01-15 16:09:57 +01:00
Christophe Maudoux
d7c2b36d15 Don t load bruteForceProtection plugin without persistent storage 2020-01-14 19:01:37 +01:00
Christophe Maudoux
c47466698d Load bruteForce plugin only if history is gt attempts 2020-01-13 14:10:36 +01:00
Christophe Maudoux
a7faa9718c Disable plugin 2020-01-11 13:45:41 +01:00
Christophe Maudoux
b715bc0d5a Improve unit tests 2020-01-10 23:13:18 +01:00
Christophe Maudoux
68ae4129d6 Append llng.png Apps logo 2020-01-10 22:55:59 +01:00
Christophe Maudoux
27b0b7fde4 Append Custom backend & Improve unit test (#1605) 2020-01-10 17:48:49 +01:00
Christophe Maudoux
2ba565693b Append Demo backend & Unit test (#1605) 2020-01-10 17:26:20 +01:00
Clément OUDOT
eba6ae0103 Hide action buttons with waiting message (#2064) 2020-01-09 18:08:31 +01:00
Christophe Maudoux
b28a9d148e Modify log level 2020-01-08 23:06:49 +01:00
Christophe Maudoux
94cefa3ef4 Typo 2020-01-07 22:38:08 +01:00
Christophe Maudoux
b65dac6b95 Improve unit test 2020-01-07 19:37:00 +01:00
Maxime Besson
84c158f02d Isolate unit test configuration (#2048) 2020-01-07 19:08:06 +01:00
Christophe Maudoux
178b92fa64 Improve unit test (#2057) 2020-01-05 22:06:57 +01:00
Christophe Maudoux
cf6f1ca532 Test if Captcha is enabled & Improve unit test (#2057) 2020-01-05 21:57:24 +01:00
Christophe Maudoux
c5d64b1e16 Update de lang (#1605) 2020-01-05 19:56:31 +01:00
Christophe Maudoux
b08400d4bb Fix langs & Append template (#1605) 2020-01-05 19:24:47 +01:00
Christophe Maudoux
42a760efab Update unit tests 2020-01-04 22:57:30 +01:00
Christophe Maudoux
aa7df251b7 Remove useless parameters (#1605) 2020-01-04 22:19:21 +01:00
Christophe Maudoux
b029fdf604 Typo (#1605) 2020-01-04 16:58:33 +01:00
Christophe Maudoux
7adbf66d99 Fix langs (#1605) 2020-01-04 14:47:53 +01:00
Christophe Maudoux
f37c2399b1 Update sessionInfo during auth process with 2FA 2020-01-04 13:36:21 +01:00
Xavier Guimard
778ade2636 Update prove states 2020-01-04 08:40:20 +01:00
Xavier Guimard
43245bbf36 Fix warnings 2020-01-04 08:21:38 +01:00
Christophe Maudoux
a48daee305 Update sessionInfo during auth process 2020-01-03 23:39:57 +01:00
Christophe Maudoux
0f591496b4 Update sessionInfo during auth process to improve handler in-memory sessions security & Improve unit tests 2020-01-03 20:07:36 +01:00
Christophe Maudoux
d94f974831 Enable debug 2020-01-03 13:28:31 +01:00