Commit Graph

2422 Commits

Author SHA1 Message Date
Christophe Maudoux
e65c086af6 Fix login history storage (#1501) 2018-09-21 21:22:29 +02:00
Clément OUDOT
c31633de3a Update CSS to bootstrap 4 (#1504) 2018-09-20 18:07:54 +02:00
Clément OUDOT
f9bdc75fc0 Update HTML code to bootstrap 4 (#1504) 2018-09-20 18:04:01 +02:00
Clément OUDOT
185c63e151 Update bower dependencies to pull bootstrap 4 (#1504) 2018-09-20 18:03:29 +02:00
Christophe Maudoux
f321bffd4e Fix failed SFA logins epoch (#1501) 2018-09-12 23:19:50 +02:00
Christophe Maudoux
44c6a439c0 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-12 23:14:43 +02:00
Christophe Maudoux
0ed8dbdde2 Fix logins history update - Failed and Granted Access with and without SFA (#1501) 2018-09-12 23:14:35 +02:00
Clément OUDOT
800f0bd96a Do not create server error on SAML error (#1502) 2018-09-11 11:07:23 +02:00
Clément OUDOT
c66009d645 Add some debug logs (#1478) 2018-09-11 10:03:09 +02:00
Christophe Maudoux
1791747281 WIP - Fix login history update (#1501) 2018-09-10 23:21:40 +02:00
Christophe Maudoux
5cc64d285f Update unit tests with history 2018-09-09 23:37:40 +02:00
Christophe Maudoux
1a92df05e7 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-09 23:20:24 +02:00
Christophe Maudoux
73e339c119 WIP - Fix login history storage (#1501) 2018-09-09 23:20:12 +02:00
Christophe Maudoux
0bf81f6b44 update manifest 2018-09-09 23:19:08 +02:00
Christophe Maudoux
30697c8cd5 Modify tests to check login history 2018-09-09 23:18:49 +02:00
Clément OUDOT
1f215987c2 Restore possibility to have a custom choice module logo 2018-09-07 20:11:36 +02:00
Xavier Guimard
81cf828639 Update translations from transifex 2018-09-06 15:13:42 +02:00
Xavier Guimard
c72c14b230 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-06 11:31:01 +02:00
Xavier Guimard
739082083f Add test framework doc 2018-09-06 11:23:49 +02:00
Christophe Maudoux
6e5f10be35 Improve 76-2F-Ext.t 2018-09-06 10:17:59 +02:00
Christophe Maudoux
150d762d3d Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-05 23:08:07 +02:00
Christophe Maudoux
acda8b39b1 Update MANIFEST 2018-09-05 22:27:22 +02:00
Xavier Guimard
4c1434dfeb Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-05 22:25:41 +02:00
Xavier Guimard
841c5ba504 Improve Debian autopkgtest tests 2018-09-05 22:24:23 +02:00
Christophe Maudoux
b23f96e268 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-05 21:20:38 +02:00
Christophe Maudoux
06ce4a0ce3 Append debug msg 2018-09-05 21:14:39 +02:00
Christophe Maudoux
766343062f Append EXT2F unit test 2018-09-05 21:13:39 +02:00
Xavier Guimard
10ed38bd3a Optimize notifications (#1497) 2018-09-05 13:35:50 +02:00
Xavier Guimard
6278398060 Move "afterData" entry point before "buildCookie" and add "endAuth" entrypoint (#1497)
TODO: optimize notifications
2018-09-05 09:22:20 +02:00
Christophe Maudoux
d08776b0ca Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-04 21:38:41 +02:00
Christophe Maudoux
9ef7c051a4 Change inheritance links to be more consistent with Plugins architecture 2018-09-04 21:05:08 +02:00
Christophe Maudoux
f51c11e507 Fix comment 2018-09-04 21:02:57 +02:00
Clément OUDOT
5d0e0d9b60 Fix call to updatePersistentSession (#1498) 2018-09-04 17:58:32 +02:00
Clément OUDOT
d6e462d6bc Code to support SAML Discovery Protocol as SP (#1478) 2018-09-04 14:39:19 +02:00
Xavier Guimard
f1b912a802 Add delCookie method 2018-09-04 14:21:31 +02:00
Xavier Guimard
9ed4303db1 Don't fail on init() if DBI connection fails (#1496) 2018-09-04 09:57:05 +02:00
Xavier Guimard
5d05292c84 More info in logs #1496 2018-09-04 09:50:48 +02:00
Xavier Guimard
e001d4f8ef Don't populate ->error if LDAP connection fails
Fixes: #1496
2018-09-04 09:39:21 +02:00
Xavier Guimard
9beaac9c85 Improvements (#1496) 2018-09-04 07:08:46 +02:00
Xavier Guimard
76768d8e21 Fix error introduced in 248b81ad 2018-09-02 17:38:40 +02:00
Xavier Guimard
62d5c7836c make tidy 2018-09-02 17:31:58 +02:00
Christophe Maudoux
84e137b8c9 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-09-02 14:16:20 +02:00
Christophe Maudoux
eefd820c17 Fix msg type 2018-09-02 11:23:01 +02:00
Xavier Guimard
f103e81772 make manifest 2018-09-01 16:11:52 +02:00
Christophe Maudoux
a26b7867ca Fix lang 2018-08-31 19:56:53 +02:00
Christophe Maudoux
49fd835b0b Fix lang 2018-08-31 19:35:47 +02:00
Christophe Maudoux
522d8a886c Check 2F name 2018-08-31 19:10:35 +02:00
Christophe Maudoux
e173fec67d Revert "Disable U2F"
This reverts commit cdda055c7b
2018-08-30 20:58:05 +02:00
Christophe Maudoux
cdda055c7b Disable U2F 2018-08-30 20:54:20 +02:00
Christophe Maudoux
c0d6b25022 Append dependencies test 2018-08-30 19:53:45 +02:00
Christophe Maudoux
095b1d2531 Append parameter test & error msg 2018-08-30 19:45:35 +02:00
Christophe Maudoux
2672fa006b Perltidy 2018-08-30 19:45:01 +02:00
Christophe Maudoux
9adb875c86 Append 2fregisters unit test 2018-08-30 19:11:57 +02:00
Christophe Maudoux
eeaa63283c Append 2fregisters unit test 2018-08-30 00:24:03 +02:00
Christophe Maudoux
248b81ad0e Add error msg 2018-08-29 19:49:08 +02:00
Christophe Maudoux
2153546c4c Display error msg 2018-08-29 18:52:22 +02:00
Christophe Maudoux
9a847e62f7 Fix typo 2018-08-29 18:51:20 +02:00
Christophe Maudoux
a116cf1141 Fix mistake 2018-08-29 13:25:46 +02:00
Christophe Maudoux
9c509b2c99 Fix typo 2018-08-29 13:16:15 +02:00
Christophe Maudoux
329962e4a4 Fix typo & mistake 2018-08-29 12:42:34 +02:00
Clément OUDOT
46702f3a62 Allow to add URLs in CSP from-action from the request object (#1480) 2018-08-28 18:24:01 +02:00
Christophe Maudoux
07b98fbd1f Typo 2018-08-27 19:00:03 +02:00
Christophe Maudoux
e4b69766d8 Fix mistake 2018-08-26 22:06:44 +02:00
Christophe Maudoux
944d7a5c8a Update sfa_manager.png & licence (#1493) 2018-08-25 19:01:39 +02:00
Christophe Maudoux
756f22f494 Update sfa_manager.png & licence 2018-08-25 18:56:40 +02:00
Christophe Maudoux
bccf31fa02 Modify sfa_manager icon & related files (#1493) 2018-08-25 11:47:10 +02:00
Christophe Maudoux
a40f9a39bc Modify unit test to generate TOTP with an external app and validate LLNG TOTP formula. Require Authen::OATH module. 2018-08-21 20:58:24 +02:00
Christophe Maudoux
d65ea36f77 Modify log level 2018-08-21 17:52:05 +02:00
Christophe Maudoux
3e65711658 Append TOTP with 8 digits unit test & update MANIFEST 2018-08-21 17:51:28 +02:00
Christophe Maudoux
c84bc72436 Hidde warning and improve debug msg 2018-08-21 17:37:14 +02:00
Christophe Maudoux
a0f1abeeb0 Cleaning unused code 2018-08-21 16:10:12 +02:00
Christophe Maudoux
0a14da298d Append unknownAction error + minor improvements 2018-08-20 11:36:23 +02:00
Christophe Maudoux
aeb1d41f59 Fix URL 2018-08-20 00:08:50 +02:00
Christophe Maudoux
71f51926c0 Add comment 2018-08-18 23:15:38 +02:00
Christophe Maudoux
8954c67be9 clean unused code 2018-08-18 23:15:17 +02:00
Christophe Maudoux
ee9b3bdf2c Fix comments 2018-08-18 18:29:45 +02:00
Christophe Maudoux
d1dd7e10eb Cleaning unused code 2018-08-18 18:29:14 +02:00
Christophe Maudoux
995bc9b7a1 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-08-16 09:39:45 +02:00
Christophe Maudoux
b12d6872bb Fix typo 2018-08-16 09:39:27 +02:00
Xavier Guimard
0e70c38beb Replace bad link label (#1487) 2018-08-15 22:48:00 +02:00
Xavier Guimard
52348ecbb0 Hide some warnings (#1487) 2018-08-15 22:47:23 +02:00
Xavier Guimard
9b39f2e44c Add sfRequired test (#1487) 2018-08-15 22:28:09 +02:00
Xavier Guimard
bf7d85532d Replace bool by boolOrExpr for sfRequired + partial revert (#1487) 2018-08-15 20:42:08 +02:00
Christophe Maudoux
3ffc5c7410 Fix code 2018-08-13 23:14:42 +02:00
Christophe Maudoux
bf385a84ce Fix code 2018-08-13 23:05:57 +02:00
Christophe Maudoux
7f09e1f960 If just one 2F is enabled, redirect to it (#1487) 2018-08-13 22:12:51 +02:00
Xavier Guimard
6e8efac7d0 Display an explanation (#1487) 2018-08-10 20:56:01 +02:00
Christophe Maudoux
4d1298728b Change button link (#1487) 2018-08-09 10:22:10 +02:00
Xavier Guimard
4ef9fa374a Add sfRequired option (#1487) 2018-08-09 08:21:09 +02:00
Christophe Maudoux
6799ca9281 WIP - Fix debug message (#1480) 2018-08-08 23:46:15 +02:00
Christophe Maudoux
45216d2ed8 WIP - Test (#480) 2018-08-08 23:20:52 +02:00
Christophe Maudoux
2f910aa87b Fix mistake (#1480) 2018-08-08 10:19:16 +02:00
Christophe Maudoux
a3ef440fe2 WIP - Append debug message (#1480) 2018-08-08 10:13:58 +02:00
Christophe Maudoux
700f08ad33 Fix mistake (#1480) 2018-08-08 10:09:33 +02:00
Christophe Maudoux
1bebba42c3 WIP - Partial revert and debug messages appended to test (#1480) 2018-08-08 09:51:06 +02:00
Christophe Maudoux
6619e56714 WIP - Add CSP form-action attribute in LLNG conf. Need more tests (#1480) 2018-08-07 23:54:42 +02:00
Xavier Guimard
f7144908e9 Fix CDC (#1477) 2018-08-02 22:00:41 +02:00
Xavier Guimard
7d67e6225d Fix coffee error (#1485) 2018-07-28 07:28:30 +02:00
Christophe Maudoux
aef0bbc22b WIP - Fix JS error (#1430) 2018-07-27 22:07:35 +02:00
Christophe Maudoux
5e2553a470 WIP - Fix JS error (#1430) 2018-07-27 22:05:55 +02:00
Christophe Maudoux
66d872e49c WIP - Fix JS error (#1430) 2018-07-27 21:43:23 +02:00
Christophe Maudoux
fc35c035a0 WIP - Fix JS error (#1430) 2018-07-26 21:01:39 +02:00
Christophe Maudoux
942499cd66 Fix comments typo 2018-07-26 20:54:19 +02:00
Xavier Guimard
b6a5622ae4 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-07-26 06:50:06 +02:00
Xavier Guimard
dc60ea7744 $req was missing (fixes: #1484) 2018-07-26 06:49:25 +02:00
Christophe Maudoux
1551398025 Fix translate 2018-07-24 21:26:37 +02:00
Christophe Maudoux
9464c47a13 Cleaning code + perltidy (#1464) 2018-07-20 20:19:27 +02:00
Christophe Maudoux
bcd876924c Fix mistake (#1464) 2018-07-20 19:41:26 +02:00
Christophe Maudoux
b633b7aa05 Merge branch 'master' into 1464 2018-07-20 19:37:17 +02:00
Christophe Maudoux
9efe2f3161 Add debug info (#1464) 2018-07-20 19:33:23 +02:00
Clément OUDOT
21320685dc Adapt cancel parameter (#1461) 2018-07-20 17:12:21 +02:00
Christophe Maudoux
8ee066b706 Delete old consent (#1464) 2018-07-20 00:02:35 +02:00
Christophe Maudoux
eae8326331 Disable unit test 95 to pass test (#1464) 2018-07-19 23:39:58 +02:00
Christophe Maudoux
9403990a8c perltidy (#1464) 2018-07-19 23:38:44 +02:00
Christophe Maudoux
90fd401c80 Merge branch 'master' into 1464 2018-07-19 23:02:48 +02:00
Christophe Maudoux
8eb1b8674c Add OIDC Consents convert function (#1464) 2018-07-19 23:02:06 +02:00
Xavier Guimard
d1ee05540e #1477 in progress 2018-07-19 08:38:51 +02:00
Xavier Guimard
a5efca5388 Remove trailing whitespaces (#1464) 2018-07-19 07:55:55 +02:00
Christophe Maudoux
7dafa25145 Merge branch 'master' into 1464 2018-07-19 00:28:02 +02:00
Christophe Maudoux
7d376dc2b2 Merge branch '1464' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng into 1464 2018-07-18 18:59:53 +02:00
Xavier Guimard
9bb2e5a44a Fix cookies search (#1477) 2018-07-18 15:59:03 +02:00
Christophe Maudoux
946a3d2bc8 Merge branch 'master' into 1464 2018-07-18 15:49:09 +02:00
Xavier Guimard
3f1ba3440a CDC plugin skeleton (#1477) 2018-07-18 15:44:24 +02:00
Clément OUDOT
e0ea7ae2c0 SAML CDC (#1477) 2018-07-18 10:31:54 +02:00
Xavier Guimard
22e5eb6986 Remove SAML redirection screen (#1465) 2018-07-18 08:02:48 +02:00
Christophe Maudoux
ded9393da4 Delete revoked consents (#1464) 2018-07-17 22:38:01 +02:00
Christophe Maudoux
cdd6aab89b WIP - Delete revoked consents (#1464) 2018-07-17 22:28:39 +02:00
Christophe Maudoux
e3197a5226 WIP - Delete revoked consents (#1464) 2018-07-17 22:17:45 +02:00
Christophe Maudoux
6a64f87ccc WIP - Delete revoked consents (#1464) 2018-07-17 21:59:07 +02:00
Christophe Maudoux
0bbcf4a6cc WIP - Delete revoked consents (#1464) 2018-07-17 21:44:13 +02:00
Christophe Maudoux
d269db6346 WIP - Delete revoked consents (#1464) 2018-07-17 21:36:51 +02:00
Christophe Maudoux
344c7a644f WIP - Delete revoked consents (#1464) 2018-07-17 19:12:35 +02:00
Christophe Maudoux
da44a7c83e perltidy (#1464) 2018-07-17 18:18:50 +02:00
Christophe Maudoux
ebe84caee7 Merge branch 'master' into 1464 2018-07-17 18:16:29 +02:00
Christophe Maudoux
e1917a59de Delete revoked consents (#1464) 2018-07-17 18:15:17 +02:00
Clément OUDOT
48482892fa Add cancel parameter to portal links (#1461) 2018-07-17 12:14:48 +02:00
Christophe Maudoux
72920d1ede Modify oidcConsents key structure (#1464) - perltidy 2018-07-16 23:00:44 +02:00
Christophe Maudoux
eff809424c Modify oidcConsents key structure (#1464) - perltidy 2018-07-16 22:56:43 +02:00
Christophe Maudoux
96912d9c27 WIP - Modify oidcConsents key structure (#1464) 2018-07-16 22:47:36 +02:00
Christophe Maudoux
949200c6a0 WIP - Modify oidcConsents key structure(#1464) 2018-07-16 22:34:11 +02:00
Christophe Maudoux
3fbf577a2f WIP - Modify oidcConsents key structure 2018-07-16 22:17:23 +02:00
Christophe Maudoux
8f202411c1 Fix typo 2018-07-16 11:50:49 +02:00
Christophe Maudoux
c381ae86b6 WIP - Modify oidcConsents key structure 2018-07-15 22:08:30 +02:00
Christophe Maudoux
4885fce87f WIP - Modify oidcConsents key structure 2018-07-15 21:25:12 +02:00
Christophe Maudoux
fa7c2eb6ca WIP - Modify oidcConsents key structure 2018-07-15 20:48:50 +02:00
Christophe Maudoux
c5685fa56a WIP - Modify oidcConsents key structure 2018-07-15 19:37:59 +02:00
Christophe Maudoux
eff2b66cf2 WIP - Modify oidcConsents key structure 2018-07-15 19:17:48 +02:00
Christophe Maudoux
8d5693dc1d WIP - Modify oidcConsents key structure 2018-07-15 17:53:06 +02:00
Christophe Maudoux
814b571fa9 WIP - Modify oidcConsents key structure 2018-07-15 17:31:58 +02:00
Christophe Maudoux
d9607ae32c WIP - Modify oidcConsents key structure 2018-07-15 16:10:27 +02:00
Christophe Maudoux
2db9b2bce7 Fix pod mistake 2018-07-13 20:54:52 +02:00
Xavier Guimard
16dfbed636 Tidy 2018-07-12 09:04:05 +02:00
Clément OUDOT
b634bc91c2 token_type is case insensitive (#1474) 2018-07-10 18:53:40 +02:00
Xavier Guimard
c118a60c1e Fix "cancel" feature (#1461) 2018-07-10 11:43:36 +02:00
Xavier Guimard
fb97df301a Missing cancel=1 (#1461) 2018-07-10 08:15:44 +02:00
Xavier Guimard
8353215adb Add authCancel entry point (#1461)
UNTESTED !!!
@clement_oudot: not enough time to test this morning
2018-07-10 07:11:08 +02:00
Xavier Guimard
6e835a11d0 Add Convert::Base32 in recommended deps 2018-07-09 14:10:40 +02:00
Xavier Guimard
1da367576e Reinitialize choice when module failed (#1461) 2018-07-06 16:07:25 +02:00
Xavier Guimard
ea48c78a28 Change choice order (#1461) 2018-07-06 14:44:41 +02:00
Xavier Guimard
aa1e9b44d5 Delete pdata on logout (#1461) 2018-07-06 12:15:14 +02:00
Xavier Guimard
0f7b3ca71d make tidy 2018-07-05 23:00:40 +02:00
Xavier Guimard
b2620c2679 s/datas/data
datas => des données
data => les données
2018-07-05 22:56:16 +02:00
Xavier Guimard
9402f9fff4 Update doc (#1461) 2018-07-05 22:28:26 +02:00
Xavier Guimard
1a6f717dfc Use pdata in Choice (#1461) 2018-07-05 22:05:24 +02:00
Xavier Guimard
7b1fd1eae7 Escape pdata cookie value (#1461)
This fixes CI failure with Debian/stable
2018-07-05 21:22:47 +02:00
Xavier Guimard
d49cfb5f69 Remove hook (#1461) 2018-07-05 18:54:55 +02:00
Xavier Guimard
b790270794 Fix issuers use of pdata (#1461) 2018-07-05 18:45:29 +02:00
Xavier Guimard
d0bd437191 Fix some test problems with pdata (#1461) 2018-07-05 17:39:44 +02:00
Xavier Guimard
890ea8aa27 Remember path in issuer requests (#1461) 2018-07-05 15:54:41 +02:00
Xavier Guimard
e0b2797e70 In progress but federation proxy is broken (#1461) 2018-07-05 14:24:22 +02:00
Xavier Guimard
7ce1bd2d08 Trying to use pdata for issuers (#1461) 2018-07-04 22:54:09 +02:00
Xavier Guimard
4074b1b482 Add simple test for auth presistent data (#1461) 2018-07-04 17:42:37 +02:00
Xavier Guimard
55cd51f27f Clean $req->pdata when authentication succeeds (#1461) 2018-07-04 17:23:57 +02:00
Xavier Guimard
854cf7be77 Set pdata cookie only if needed (#1461) 2018-07-04 17:23:17 +02:00
Xavier Guimard
8de024ddb6 Prepare cookie storage for #1461 2018-07-04 13:33:20 +02:00
Clément OUDOT
60d05c48a5 Adpat test to bypass selection screen when only one SAML IDP (#1465) 2018-07-02 17:14:27 +02:00
Clément OUDOT
338b958709 Auto select SAML IDP if only one defined (#1465) 2018-07-02 11:45:26 +02:00
Xavier Guimard
8a56d31a32 Update doc (#1468) 2018-06-30 08:41:45 +02:00
Xavier Guimard
b6154f1ba4 Add ssoMatch sub for OIDC (#1468) 2018-06-30 08:21:48 +02:00
Xavier Guimard
1cd5a706c9 Avoid session conflict between Issuer and Auth OIDC (#1468) 2018-06-30 07:51:22 +02:00
Xavier Guimard
a5cc73a54c Avoid session conflict between Issuer and Auth CAS (#1468) 2018-06-30 07:44:05 +02:00
Clément OUDOT
ece95d3da2 IDP choice template (#1465) 2018-06-29 17:51:39 +02:00
Xavier Guimard
33712dcf13 Set ignore system for issuers (#1468) 2018-06-29 14:31:43 +02:00
Xavier Guimard
e6ad687618 Change session key names between Auth and Issuer (SAML #1468) 2018-06-29 06:50:31 +02:00
Christophe Maudoux
73f66df1e2 Modify test log level 2018-06-28 18:59:57 +02:00
Xavier Guimard
9ea5668232 #1468 in progress 2018-06-28 06:48:58 +02:00
Xavier Guimard
df1dd5aaa4 Trying to understand #1468 2018-06-27 22:41:15 +02:00
Xavier Guimard
a023c85bbc More tests (#1461) 2018-06-26 23:27:00 +02:00
Xavier Guimard
1e2e056ad2 SAML->CAS ith Choice (#1461) 2018-06-26 22:26:56 +02:00
Xavier Guimard
9a56584830 SAML->CAS without Choice works now (#1461) 2018-06-26 22:07:16 +02:00
Xavier Guimard
c814abaafe Some errors in CAS (#1461) 2018-06-26 22:01:56 +02:00
Xavier Guimard
28aedcd63c Some errors in CAS (#1461) 2018-06-26 21:45:55 +02:00
Xavier Guimard
8596b339e8 Use build_urlencoded everywhere (#1461) 2018-06-26 19:13:06 +02:00
Xavier Guimard
4246c5f278 Test skeleton for #1461 2018-06-26 13:33:33 +02:00
Xavier Guimard
97129a8ea3 Some comments (#595) 2018-06-26 12:08:51 +02:00
Xavier Guimard
9f890f6be9 Spelling errors 2018-06-25 23:17:51 +02:00
Christophe Maudoux
5b38373e31 Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-06-25 23:02:33 +02:00
Christophe Maudoux
d5e72966bb Improve GUI (#1463) 2018-06-25 23:02:20 +02:00
Xavier Guimard
ff6275f80f Merge branch 'master' of gitlab.ow2.org:lemonldap-ng/lemonldap-ng 2018-06-25 22:45:15 +02:00
Xavier Guimard
abd9d876d5 Optimizations (#1461) 2018-06-25 22:45:00 +02:00