Commit graph

1353 commits

Author SHA1 Message Date
Stian Thorgersen
3c0f7e2ee2 Merge pull request #2617 from pedroigor/KEYCLOAK-2753
[KEYCLOAK-2753] - Fine-grained Authorization Services
2016-06-17 13:40:15 +02:00
Pedro Igor
086c29112a [KEYCLOAK-2753] - Fine-grained Authorization Services 2016-06-17 02:07:34 -03:00
Stian Thorgersen
e538394e60 KEYCLOAK-3091 Change brute force to use userId 2016-06-13 15:30:13 +02:00
Bill Burke
4c9a0b45d4 Merge pull request #2229 from thomasdarimont/issue/KEYCLOAK-2489-script-based-authenticator-definitions
KEYCLOAK-2489 - Add support for Script-based AuthenticationExecution definitions.
2016-06-05 11:12:05 -04:00
Stian Thorgersen
2343e517c9 Merge pull request #2891 from pedroigor/KEYCLOAK-2894
[KEYCLOAK-2894] - Fixing saml signature validation
2016-05-26 16:57:13 +02:00
Pedro Igor
60f954a497 [KEYCLOAK-2894] - Fixing saml signature validation 2016-05-26 10:48:30 -03:00
Stan Silvert
1042a22cf7 KEYCLOAK-2912 Migrate events package to new testsuite 2016-05-25 15:22:17 -04:00
Stian Thorgersen
d51a2cde2f Merge pull request #2859 from ssilvert/migrate-i18n
KEYCLOAK-2913 Migrate i18n package to new testsuite
2016-05-25 07:22:54 +02:00
Stian Thorgersen
477c0872b0 KEYCLOAK-3020
Increase default password hashing intervals to 20K
2016-05-23 11:20:31 +02:00
Stan Silvert
049b0dda23 KEYCLOAK-2913 Migrate i18n package to new testsuite 2016-05-20 08:04:07 -04:00
Stian Thorgersen
af7fd0ef61 Merge pull request #2855 from raehalme/KEYCLOAK-3016-master
KEYCLOAK-3016: BasicAuthRequestAuthenticator consumes HttpEntity on errors
2016-05-20 09:14:37 +02:00
Stian Thorgersen
7f3ccad4cc Merge pull request #2852 from abstractj/OAuthRedirectUriTest
OAuthRedirectUriTest migration
2016-05-20 09:13:01 +02:00
Stian Thorgersen
264c816f08 Merge pull request #2846 from ssilvert/migrate-composites
KEYCLOAK-2911 Migrate composites package to new testsuite.
2016-05-20 09:12:30 +02:00
Stian Thorgersen
fcfe8582de Merge pull request #2838 from abstractj/KEYCLOAK-2908
KEYCLOAK-2908 - Migration of oidc package
2016-05-20 08:56:43 +02:00
Thomas Raehalme
babe94c50d KEYCLOAK-3016: BasicAuthRequestAuthenticator now consumes HttpEntity also on errors. 2016-05-19 08:47:51 +03:00
Bruno Oliveira
e7c98bd31b OAuthRedirectUriTest migration 2016-05-18 18:24:10 -03:00
Stan Silvert
771b4c5b6e KEYCLOAK-2911 Migrate composites package to new testsuite. 2016-05-17 10:23:47 -04:00
Bruno Oliveira
c434dc8dcc
KEYCLOAK-2908 - Migration of oidc package 2016-05-14 00:50:23 -03:00
Stan Silvert
a46982f8ec KEYCLOAK-2909 Migrate account package to new testsuite 2016-05-12 15:52:45 -04:00
Bruno Oliveira
4664bb01d8
Migration of AuthorizationCodeTest 2016-05-11 06:21:12 -03:00
Bruno Oliveira
bb6a7e357f
OAuthGrantTest migration 2016-05-09 11:03:47 -03:00
Stian Thorgersen
dbd906b330 Merge pull request #2798 from abstractj/OAuthDance
Migration of OAuthDanceClientSessionExtensionTest
2016-05-06 07:06:22 +02:00
Stian Thorgersen
b7e70ea7e3 Merge pull request #2796 from abstractj/RefreshTokenTest
Refresh token test
2016-05-06 07:05:36 +02:00
Stian Thorgersen
1d87d1cce1 Merge pull request #2792 from ssilvert/migrate-forms
KEYCLOAK-2906 Migrate forms package to new testsuite
2016-05-06 07:00:10 +02:00
Bruno Oliveira
2a60f65229
Migration of OAuthDanceClientSessionExtensionTest 2016-05-05 15:29:51 -03:00
Bruno Oliveira
a5687e4660 Migration of RefreshTokenTest 2016-05-05 15:20:52 -03:00
Marek Posolda
49dc5363bb Merge pull request #2783 from mposolda/master
Easier MariaDB support in tests
2016-05-05 10:04:38 +02:00
Bruno Oliveira
9a3bea7062
RHSSO-121: Offline Tokens 2016-05-04 22:48:59 -03:00
Stan Silvert
c392f6659e KEYCLOAK-2906 Migrate forms package to new testsuite 2016-05-04 18:46:38 -04:00
mposolda
6a75aec6d8 Easier MariaDB support in tests 2016-05-04 23:08:30 +02:00
Stian Thorgersen
19c29387fa Moved ClientRedirectTest to new testsuite 2016-04-28 13:42:18 +02:00
Stan Silvert
29d6832882 KEYCLOAK-2905 Migrate actions package from old testsuite 2016-04-27 14:09:46 -04:00
Thomas Darimont
c8d47926b8 KEYCLOAK-2489 - Add support for Script-based AuthenticationExecution definitions.
This is a POC for script based authenticator support.
Introduced a ScriptBasedAuthenticator that is bootstraped via a
ScriptBasedAuthenticatorFactory can be execute a configured script
against a provided execution context.
Added an alias property to the AuthFlowExecutionRepresentation in order
to be able to differentiate multiple instances of an Authenticator
within the same AuthFlow.

For convenience editing the AngularJS bindings for the ACE editor were
added for fancy script editing - this needs to be cut down a bit wrt to
themes and supported scripts - e.g. we probably don't expect users to write
authenticator scripts in Cobol...
Removed currently not needed ACE sytax highlighting and themes.

Scripting is now available to all keycloak components that have access to the KeycloakSession.
Introduced new Scripting SPI for configurable scripting providers.
2016-04-27 14:37:13 +02:00
Bruno Oliveira
bbe7ff1dce RHSSO-106: Migration of ResourceOwnerPasswordCredentialsGrantTest 2016-04-25 10:15:27 -03:00
Stian Thorgersen
7dd2b3d7be Merge pull request #2730 from abstractj/RHSSO-130
RHSSO-130: AccessTokenTest migration
2016-04-25 13:43:03 +02:00
Stian Thorgersen
320a9da585 Merge pull request #2711 from ssilvert/migrate-LoginTest
Migrate LoginTest
2016-04-25 13:40:51 +02:00
Bruno Oliveira
1cc4ca2e71 RHSSO-130: AccessTokenTest migration 2016-04-22 16:30:57 -03:00
Bruno Oliveira
30f34173c5 RHSSO-108: Migration of ClientAuthSignedJWTTest 2016-04-22 08:29:28 -03:00
Stan Silvert
9335ab6b22 Migrate LoginTest 2016-04-21 09:37:54 -04:00
Bruno Oliveira
2f3b5e9b88 RHSSO-108: Client signed token authentication 2016-04-20 20:47:50 -03:00
Stian Thorgersen
b6ed681402 Merge pull request #2677 from stianst/KEYCLOAK-2850
KEYCLOAK-2850 Migrated ImpersonationTest and added builders
2016-04-20 14:48:05 +02:00
Stian Thorgersen
b8b40e75ef KEYCLOAK-2850 Migrated ImpersonationTest and added builders 2016-04-20 13:52:08 +02:00
mposolda
afc8179cf8 KEYCLOAK-2846 export/import of clientTemplate scopes 2016-04-20 13:30:01 +02:00
Stian Thorgersen
e490a6e3bd Merge pull request #2673 from stianst/master
KEYCLOAK-2850 Migrated ConcurrencyTest
2016-04-20 12:49:48 +02:00
Stian Thorgersen
eab548d7f0 Merge pull request #2671 from stianst/KEYCLOAK-2491
KEYCLOAK-2491 Fix permissions in admin console to match permissions i…
2016-04-20 12:49:28 +02:00
Stian Thorgersen
37256b6b8f KEYCLOAK-2850 Migrated ConcurrencyTest 2016-04-20 10:07:16 +02:00
Stian Thorgersen
04d76b0052 KEYCLOAK-2491 Fix permissions in admin console to match permissions in admin endpoints 2016-04-20 09:57:57 +02:00
mposolda
060527ac67 KEYCLOAK-2850 migrate RealmTest from old testsuite to new 2016-04-20 08:22:32 +02:00
Stian Thorgersen
d2e3389414 Removed duplicated ClientInitialAccessTest 2016-04-19 20:34:59 +02:00
Stian Thorgersen
de8ffae427 Migrate pages from old testsuite, make OAuthClient injectable 2016-04-19 20:16:55 +02:00
Stian Thorgersen
899c9f48e9 KEYCLOAK-2850 Migrate admin endpoint identity provider test 2016-04-19 14:27:16 +02:00
Stan Silvert
e25a0d3cf1 Create TestRealmKeycloakTest as common base class for tests that need
testrealm.json.  Rename admin packaget to endpoint.  Rename legacy package
to match old testsuite.
test suite.
2016-04-14 15:39:32 -04:00
Bill Burke
8f7f9e0b9c KEYCLOAK-2790 2016-04-12 18:25:23 -04:00
Bill Burke
515ed226be Merge remote-tracking branch 'upstream/master' 2016-04-12 15:19:58 -04:00
Bill Burke
cca91dd175 public/private 2016-04-12 15:19:46 -04:00
Stian Thorgersen
1c2eafeb80 KEYCLOAK-2807 Fix server info providers page 2016-04-12 15:38:52 +02:00
Stian Thorgersen
538e49117f KEYCLOAK-2799 Show error for identity brokering login if user is disabled 2016-04-12 13:14:42 +02:00
Stian Thorgersen
d748f7e459 Merge pull request #2573 from stianst/KEYCLOAK-2700
KEYCLOAK-2700 Import existing realm fails due to can't delete group
2016-04-12 07:20:01 +02:00
mposolda
e4f75409c9 KEYCLOAK-2802 NPE during identity broker cancelled from account mgmt 2016-04-11 23:31:24 +02:00
mposolda
98ad9b7e7c KEYCLOAK-2801 Redirected to login theme error page after failed social linking from account management 2016-04-11 23:30:18 +02:00
mposolda
3e9ba71baa KEYCLOAK-2769 Better error handling of expired code in IdentityBrokerService 2016-04-11 18:20:26 +02:00
Stian Thorgersen
e588860c21 KEYCLOAK-2700 Import existing realm fails due to can't delete group 2016-04-11 09:18:57 +02:00
Stian Thorgersen
19deb7c65e Merge pull request #2562 from guusdk/KEYCLOAK-2785
KEYCLOAK-2785: Admin client should be able to delete a user.
2016-04-11 07:14:06 +02:00
mposolda
ee9c87877f KEYCLOAK-2769 Fix NPE during 'Identity Broker cancelled' and instead show keycloak 'we are sorry' page 2016-04-08 19:07:06 +02:00
Guus der Kinderen
38670df49a
KEYCLOAK-2785: Admin client should be able to delete a user.
The delete user service should be exposed in the admin client.
2016-04-08 16:34:46 +02:00
mposolda
90fc721315 KEYCLOAK-2614 Refactor database lock to use 'SELECT FOR UPDATE' pessimistic locking 2016-04-08 12:20:54 +02:00
Guus der Kinderen
be578684b9
KEYCLOAK-2767: Should return a primitive if possible.
A JSON primitive is valid JSON. There is no need to construct a JSON object
just for the sake of being JSON complient. This keeps things nice and simple.
2016-04-07 13:19:29 +02:00
Stian Thorgersen
8de8446cb5 Merge pull request #2520 from stianst/KEYCLOAK-2756
KEYCLOAK-2756
2016-04-06 19:25:53 +02:00
Stian Thorgersen
6ccf3549ad KEYCLOAK-2756
Renaming a realm breaks down the Clients
2016-04-06 15:18:49 +02:00
mposolda
72371e5d76 KEYCLOAK-1982 Some builtin objects might be missing when import JSON exported from old versions 2016-04-06 11:43:58 +02:00
Stian Thorgersen
3e9ae7aa82 Merge pull request #2498 from stianst/KEYCLOAK-2722
KEYCLOAK-2722 Check user session in token introspection endpoint
2016-04-05 11:18:32 +02:00
Stian Thorgersen
55c5e9a381 KEYCLOAK-2722 Check user session in token introspection endpoint 2016-04-05 09:31:39 +02:00
Stian Thorgersen
b924cf9e9f Merge pull request #2492 from stianst/KEYCLOAK-2704
KEYCLOAK-2704
2016-04-05 08:54:18 +02:00
Marek Posolda
1714422b10 Merge pull request #2487 from mposolda/master
databaseSchema option - proper support for "validate" for both JPA and Mongo
2016-04-05 08:48:33 +02:00
Stian Thorgersen
48551d362a KEYCLOAK-2704
User count missing in REST admin endpoint
2016-04-05 07:48:20 +02:00
Bill Burke
9a4308e092 fix again 2016-04-04 20:36:40 -04:00
Bill Burke
93b3f448d3 fix 2016-04-04 21:23:09 -04:00
Bill Burke
8beff63dc0 KEYCLOAK-2669 2016-04-04 21:12:55 -04:00
mposolda
3a8b450575 KEYCLOAK-2737 connectionsMongo: Support for 'databaseSchema: validate' 2016-04-04 22:24:33 +02:00
Bill Burke
f21cede378 KEYCLOAK-2662 2016-04-01 16:43:38 -04:00
Bill Burke
4d5ae5dd68 KEYCLOAK-2512 2016-04-01 14:50:26 -04:00
mposolda
afd3a36ee4 KEYCLOAK-2737 Remove 'databaseSchema' property from connectionsMongo 2016-04-01 16:55:06 +02:00
mposolda
a4d9aaf916 KEYCLOAK-2613 Add version to RealmRepresentation in JSON exports 2016-04-01 16:04:58 +02:00
mposolda
5d7b549323 Fix LDAPGroupMapperTest with MSAD and Mongo 2016-04-01 10:44:35 +02:00
Bill Burke
e4fcaad243 Merge pull request #2450 from patriot1burke/master
KEYCLOAK-2691
2016-03-30 15:46:34 -04:00
Bill Burke
020d090aee Merge pull request #2430 from mstruk/assert-events
KEYCLOAK-2589 KEYCLOAK-2607 KEYCLOAK-2597 Port AssertEvents to integration-arquillian
2016-03-30 15:16:25 -04:00
Bill Burke
12bf4b498e KEYCLOAK-2691 2016-03-30 15:07:24 -04:00
Bill Burke
1dd4bdf0b7 KEYCLOAK-2718 2016-03-28 11:13:02 -04:00
Bill Burke
e2436c4722 KEYCLOAK-2624 2016-03-24 15:56:40 -04:00
Marko Strukelj
790a068bdb KEYCLOAK-2607 Migrate Group tests to ARQ testsuite 2016-03-24 17:13:00 +01:00
Bill Burke
6030a65d1b KEYCLOAK-2543 2016-03-24 08:49:08 -04:00
mposolda
16ec76e864 KEYCLOAK-2712 Default required actions not added when user created through admin console 2016-03-24 11:11:35 +01:00
mposolda
22ce20ff6b KEYCLOAK-2710 Possibility to log some hibernate statistics 2016-03-23 22:36:31 +01:00
mposolda
4a06d7590e KEYCLOAK-2682 NPE when LDAP groups points to non-existent user 2016-03-22 13:03:48 +01:00
Stian Thorgersen
ce717fa20e KEYCLOAK-2469 Minor changes 2016-03-21 15:45:53 +01:00
Stian Thorgersen
204d226267 Merge branch 'issue/KEYCLOAK-2469' of https://github.com/thomasdarimont/keycloak into thomasdarimont-issue/KEYCLOAK-2469 2016-03-21 15:30:48 +01:00
mposolda
2d188068c4 KEYCLOAK-2644 Delete user with a READ_ONLY LDAP federation provider just from Keycloak DB 2016-03-14 09:39:14 +01:00
mposolda
1142ed5583 KEYCLOAK-2655 Support of lazy sync LDAP groups, which user is member of 2016-03-11 22:33:03 +01:00
mposolda
85ccd64e01 KEYCLOAK-2643 Added write-only property to LDAP full-name attribute mapper 2016-03-11 22:32:55 +01:00
Thomas Darimont
41358eea4d KEYCLOAK-2469 - Introduced new redirect endpoint for clients.
Previously one had to configure hardcoded urls to link from one client
application to others since keycloak didn't provide a way to get the
actual client URL by providing clientId and realm information.

We now support a new endpoint with the path {realm}/clients/{client_id}/redirect
that responds to GET requests with a 307 (temporary redirect) with the
configured client URL. This allows to refer to any client just by the
realmName and clientId and let Keycloak redirect to the actual client
application.

Add documentation for new redirect endpoint.
2016-03-10 23:45:22 +01:00
Bill Burke
82ad26189f refactor user cache 2016-03-10 13:01:21 -05:00
Stian Thorgersen
36f2febde1 Next is 2.0.0.CR1 2016-03-10 13:01:18 -05:00
mposolda
e3f24f58df Fix failing test 2016-03-10 13:01:13 -05:00
mposolda
1939f25a71 KEYCLOAK-2601 Fix incorrectly autodetected dialect with MSSQL2014 2016-03-10 13:01:12 -05:00
Stian Thorgersen
76df229967 Next is 1.9.2.Final 2016-03-10 13:01:10 -05:00
mposolda
428b85f1f8 Disable DBLockTest for now 2016-03-10 13:01:08 -05:00
mposolda
062c8a06ab Fix testsuite with mongo 2016-03-10 13:00:53 -05:00
mposolda
6a48e00039 Check performance of multiple get calls over cluster 2016-03-10 13:00:52 -05:00
mposolda
6d0e5d6ad1 KEYCLOAK-2529 Concurrent startup by more cluster nodes at the same time. Added DBLockProvider 2016-03-10 13:00:51 -05:00
Stan Silvert
cf10a09008 KEYCLOAK-2535: ClientResource endpoint tests 2016-03-10 13:00:48 -05:00
Bruno Oliveira
8d6f71e7d1 KEYCLOAK-2585: Changes on Brute force messages 2016-03-03 10:11:03 -03:00
mposolda
286de3e905 Fix failing test 2016-03-03 11:46:27 +01:00
Bill Burke
a13bac4c9d concurrent transaction fix 2016-03-02 16:55:55 -05:00
Stian Thorgersen
cc776abacb Merge pull request #2311 from stianst/KEYCLOAK-2557
KEYCLOAK-2557
2016-03-02 08:50:55 +01:00
Marek Posolda
95e1dedb32 Merge pull request #2306 from mposolda/mysql-concurrency
Added ConcurrentTransactionsTest
2016-03-02 08:14:40 +01:00
Stian Thorgersen
370b86141c KEYCLOAK-2557
Cannot login with email if another user is using this email as username
2016-03-02 08:08:48 +01:00
Stian Thorgersen
db5efdca64 Merge pull request #2304 from stianst/KEYCLOAK-2513
KEYCLOAK-2513 Add test for direct grant with OTP
2016-03-01 19:33:45 +01:00
mposolda
5d9966f6df Ignore ConcurrentTransactionsTest as it's currently failing 2016-03-01 13:52:59 +01:00
mposolda
893fb2a55b Added ConcurrentTransactionsTest 2016-03-01 13:39:03 +01:00
mposolda
e6e367392a KEYCLOAK-2542 Fix tests 2016-03-01 10:52:35 +01:00
mposolda
0768bcc452 KEYCLOAK-2542 User can't set password for account created over social login if UserFedarationProvider used 2016-03-01 10:13:21 +01:00
Stian Thorgersen
4f8669d668 KEYCLOAK-2513 Add test for direct grant with OTP 2016-03-01 09:05:02 +01:00
mposolda
e2558ca827 KEYCLOAK-1928 Fix Saml with IBM JDK 2016-02-29 17:32:33 +01:00
Bill Burke
37584a24e0 unsecure url has principal
KEYCLOAK-2550
Typo in userguide

KEYCLOAK-1928 Kerberos working with IBM JDK

KEYCLOAK-1928 Remove sun.jdk.jgss module

KEYCLOAK-1928 Fix kerberos with adapter on JDK7

KPR-147 - Initial login scenarios around admin password - test

KEYCLOAK-2561 Fix issues with blank password

KEYCLOAK-2559 Missing add/remove button for 'Valid Redirect URIs' in a client settings form

Added simple test for JPA performance (with many users).

Fixed "re-import" operation logging.

Fixed for Timer.saveData()

Fixed for Timer.saveData()

ManyUsersTest: ArrayList --> LinkedList

Fix AbstractUserTest

Fix parentheses in login page object

Add tests for IDP initiated login

KEYCLOAK-1040
Allow import of realm keys (like we do for SAML)

KEYCLOAK-2556 Remove required for client create root url and saml endpoint

KEYCLOAK-2555 ForbiddenException when importing test realm or creating test user

KEYCLOAK-2553
Unexpected form behavior while creating a client

KEYCLOAK-2551
Broken navigation links while creating/editing a Client Mapper
2016-02-29 09:30:28 -05:00
Bill Burke
a0696fcb97 clustered testing 2016-02-26 16:45:58 -05:00
Bill Burke
abddbfb3a4 clustered testing 2016-02-26 15:39:22 -05:00
Bill Burke
450ce0e0e0 oops, showSql=false 2016-02-24 17:46:30 -05:00
Bill Burke
f10f00ba71 group list caching 2016-02-24 17:21:11 -05:00
Bill Burke
9488787986 Merge remote-tracking branch 'upstream/master' 2016-02-23 14:36:30 -05:00
Stian Thorgersen
a1d9753ec2 Next is 1.9.1.Final-SNAPSHOT 2016-02-23 08:48:26 +01:00
Bill Burke
599faa454b Merge remote-tracking branch 'upstream/master' 2016-02-22 17:17:01 -05:00
Marek Posolda
03215787e0 Merge pull request #2250 from mposolda/master
Fix SyncFederationTest to work with MSSQL and envs with slower databases
2016-02-22 12:05:19 +01:00
mposolda
838764ba5a Fix SyncFederationTest to work with MSSQL and envs with slower databases 2016-02-22 12:04:27 +01:00
Stian Thorgersen
4fd97091ff Version bump to 2.0.0.CR1-SNAPSHOT 2016-02-22 11:36:56 +01:00
Bill Burke
c45524d8d4 caching 2016-02-19 15:44:19 -05:00
mposolda
706d4fc01c KEYCLOAK-2507 All LDAP special DN characters should be escaped in LDAPDn 2016-02-19 14:54:33 +01:00
mposolda
a441be57ed KEYCLOAK-2508 Possible NullPointerException during bigger load when removing UserSession 2016-02-19 11:49:30 +01:00
Bill Burke
20348e5d0b remove RealmModel.getClientNameMap() 2016-02-17 16:05:25 -05:00
Bill Burke
d731189236 Merge remote-tracking branch 'upstream/master' 2016-02-17 14:57:38 -05:00
mposolda
e237bcd383 KEYCLOAK-2412 wildfly configs and polishing 2016-02-17 13:10:51 +01:00
mposolda
f52f998bcd KEYCLOAK-2495 Improve startup time with many offlineSessions in UserSessionPersister 2016-02-17 11:02:42 +01:00
mposolda
1328531f31 KEYCLOAK-2412 Added ClusterProvider. Avoid concurrent federation sync execution by more cluster nodes at the same time.
Clustering - more progress
2016-02-17 11:02:42 +01:00
mposolda
61f2baf65e KEYCLOAK-2412 Test for concurrent federation sync in cluster 2016-02-17 11:02:42 +01:00
Stian Thorgersen
5bc3ee0e8c KEYCLOAK-2493
Set default theme based on product name
2016-02-16 18:05:06 +01:00
Bill Burke
c9cc189602 make RealmModel unmodifiable collections 2016-02-12 16:28:07 -05:00
Bill Burke
24da8288eb Merge remote-tracking branch 'upstream/master' 2016-02-12 11:38:36 -05:00
mposolda
969b8c153f KEYCLOAK-1989 Refreshing offline tokens didn't work correctly in cluster with revokeRefreshToken enabled 2016-02-12 12:54:47 +01:00
mposolda
132044bcb1 Support for add big number of users in batches 2016-02-12 09:06:35 +01:00
Bill Burke
d79a7146ba fix cache 2016-02-11 22:01:54 -05:00
mposolda
fee1f6f61a Fix Kerberos test broken in some environments 2016-02-11 16:49:21 +01:00