mposolda
c998198aac
KEYCLOAK-4128 ResourcePermissionManagementTest fails on Oracle DB
2016-12-21 13:01:37 +01:00
Hynek Mlnarik
66eb9095c1
KEYCLOAK-4122
2016-12-20 20:28:13 +01:00
mposolda
aee8398ee8
KEYCLOAK-4072 Minor update
2016-12-20 11:42:24 +01:00
Bill Burke
8b5aafc4b4
KEYCLOAK-4072
2016-12-20 09:42:43 +01:00
Pedro Igor
c9c8acd029
[KEYCLOAK-4034] - Invalidating policy cache when creating resources and scopes
2016-12-19 20:28:49 -02:00
Pedro Igor
40591cff25
Merge pull request #3662 from pedroigor/KEYCLOAK-4034
...
[KEYCLOAK-4034] - Improvements to UI, performance and some code cleanup
2016-12-19 16:49:10 -02:00
Pedro Igor
5cf5168770
[KEYCLOAK-4034] - Improvements to UI, performance and some code cleanup
2016-12-19 16:48:16 -02:00
Marek Posolda
c6363aa146
Merge pull request #3630 from sldab/duplicate-email-support
...
KEYCLOAK-4059 Support for duplicate emails
2016-12-19 15:37:18 +01:00
Pedro Igor
c9c9f05e29
[KEYCLOAK-4034] - Improvements to UI, performance and some code cleanup
2016-12-19 11:22:37 -02:00
Stian Thorgersen
3bd3d0285d
Merge branch 'duplicate-groups' of https://github.com/ssilvert/keycloak into ssilvert-duplicate-groups
2016-12-19 13:07:39 +01:00
Hynek Mlnarik
3e3216fb23
KEYCLOAK-4072 Add explicit check for key format
2016-12-19 11:01:45 +01:00
Slawomir Dabek
93cec9b3ee
KEYCLOAK-4059 Support for duplicate emails
2016-12-19 10:55:12 +01:00
Bill Burke
9b18601102
KEYCLOAK-3973
2016-12-07 16:10:33 -05:00
Bill Burke
223cc1fb50
KEYCLOAK-3973
2016-12-07 12:56:03 -05:00
Bill Burke
77d17de14d
Merge pull request #3611 from patriot1burke/master
...
KEYCLOAK-3620
2016-12-06 08:18:36 -05:00
Marek Posolda
3826e933c1
Merge pull request #3609 from hmlnarik/KEYCLOAK-3439-database-encoding
...
KEYCLOAK-4026 - Workaround for liquibase error in MySQL/MariaDB
2016-12-06 10:25:08 +01:00
Marek Posolda
c8b22e71f0
Merge pull request #3573 from glavoie/KEYCLOAK-4003
...
KEYCLOAK-4003: Slow Infinispan RoleAdapter.hasRole() call.
2016-12-06 09:49:42 +01:00
Bill Burke
6587cd2478
KEYCLOAK-3620
2016-12-05 17:51:06 -05:00
Hynek Mlnarik
819105c3aa
KEYCLOAK-4026 - Workaround for liquibase error in MySQL/MariaDB
2016-12-05 16:48:52 +01:00
Bill Burke
e8f2527fcd
Merge pull request #3555 from vramik/KEYCLOAK-3977
...
KEYCLOAK-3977 fix logicalFilePath for jpa-changelog-1.0.0.Final-db2.xml
2016-12-03 13:44:54 -05:00
Bill Burke
305dcb2b1e
Merge pull request #3552 from hmlnarik/KEYCLOAK-3439-database-encoding
...
KEYCLOAK-3439, KEYCLOAK-3893, KEYCLOAK-3894 - Support for Unicode
2016-12-03 13:44:10 -05:00
Bill Burke
54758b800b
Merge pull request #3585 from abstractj/KEYCLOAK-4011
...
[KEYCLOAK-4011] - Integrity constraint error when try to delete SSSD Federation Provider
2016-12-03 13:37:36 -05:00
Bill Burke
88d08c4f38
component query and remove provider alis fix
2016-12-03 11:34:48 -05:00
Bill Burke
672e1b3575
oops
2016-12-02 20:14:01 -05:00
Bill Burke
ce50b0ed29
Merge remote-tracking branch 'upstream/master'
2016-12-02 19:26:34 -05:00
Bill Burke
e88af874ca
finish
2016-12-02 19:25:17 -05:00
Bruno Oliveira
e7dd49b453
[KEYCLOAK-4011] - Integrity constraint error when try to delete SSSD Federation Provider
2016-12-02 06:52:29 -02:00
Hynek Mlnarik
46d3555798
KEYCLOAK-3439, KEYCLOAK-3893, KEYCLOAK-3894 - Support for Unicode
...
Treatment of Unicode characters varies among databases. This change
adds support for Unicode characters in the following fields:
* Realms: display name, HTML display name
* Users: username, given name, last name, attribute values
* Groups: name, attribute values
* Components: attribute values
* Roles: name
* Descriptions of objects
Unicode support for the rest of the fields depends on database vendor
and is described in the installation guide in more detail.
2016-12-01 17:23:58 +01:00
Gabriel Lavoie
6fa504489f
KEYCLOAK-4003: Slow Infinispan RoleAdapter.hasRole() call.
...
- Added a session/query cache for the result getComposites() to avoid always hitting the Infinispan cache.
- KeycloakModelUtils doesn't rely anymore on a "visited" set as performance seems good without it.
- Added test for multiple levels of composite roles. Only one level was covered.
2016-11-30 10:56:26 -05:00
Stian Thorgersen
b771b84f56
Bump to 2.5.0.Final-SNAPSHOT
2016-11-30 15:44:51 +01:00
Gabriel Lavoie
4910b35d69
KEYCLOAK-3989: Replacing COMPOSITE_ROLE Collection with Set.
...
- Hibernate optimization that avoids deleting/re-inserting all composite roles when adding/removing a composite.
2016-11-28 09:43:05 -05:00
mposolda
69ce1e05f0
KEYCLOAK-3822 Changing signature validation settings of an external IdP is not sometimes reflected
2016-11-28 15:27:25 +01:00
Vlasta Ramik
8d3136188d
KEYCLOAK-3977 fix logicalFilePath for jpa-changelog-1.0.0.Final-db2.xml
2016-11-28 14:52:09 +01:00
Bill Burke
ccbd8e8c70
remove User Fed SPI
2016-11-23 16:06:44 -05:00
Bill Burke
d5925b8ccf
remove realm UserFed SPI methods
2016-11-23 08:31:20 -05:00
Bill Burke
045d6ef1d0
Merge remote-tracking branch 'upstream/master'
2016-11-22 11:28:09 -05:00
Stian Thorgersen
6ec82865d3
Bump version to 2.4.1.Final-SNAPSHOT
2016-11-22 14:56:21 +01:00
Bill Burke
50fc083d97
fix migration scripts
2016-11-21 11:43:09 -05:00
Bill Burke
798fd84698
Merge remote-tracking branch 'upstream/master'
2016-11-21 11:33:52 -05:00
Bill Burke
19575b2c8f
port kerberos
2016-11-21 11:33:44 -05:00
mposolda
76bfbad2c4
KEYCLOAK-3895 Make UserSessionProvider and UserSessionPersisterProvider to rely on UserRemovedEvent callbacks
2016-11-18 15:58:33 +01:00
mposolda
a27be0cee7
KEYCLOAK-3857 Clustered invalidation cache fixes and refactoring. Support for cross-DC for invalidation caches.
2016-11-16 22:29:23 +01:00
Bill Burke
8794416241
fix db2
2016-11-14 16:22:30 -05:00
Bill Burke
cc0eb47814
merge
2016-11-14 15:09:41 -05:00
Hynek Mlnarik
223041bc6b
KEYCLOAK-3734 Unify master changelog of DB2 and other databases
2016-11-14 15:19:54 +01:00
Bill Burke
8a5f817030
ldap jpa migration
2016-11-10 16:52:18 -05:00
Stian Thorgersen
7e33f4a7d1
KEYCLOAK-3882 Split server-spi into server-spi and server-spi-private
2016-11-10 13:28:42 +01:00
Stan Silvert
80b071024f
KEYCLOAK-2720: Add unique constraint
2016-11-08 15:05:19 -05:00
Bill Burke
4302b440ee
ldap port
2016-11-05 20:04:53 -04:00
Bill Burke
c75dcb90c2
ldap port
2016-11-04 21:25:47 -04:00
Stian Thorgersen
4d47f758fc
Merge pull request #3405 from stianst/master
...
Bump version
2016-10-21 10:11:59 +02:00
Stian Thorgersen
c615674cbb
Bump version
2016-10-21 07:03:15 +02:00
Stian Thorgersen
390becb935
Merge pull request #3394 from hmlnarik/KEYCLOAK-3769
...
KEYCLOAK-3769 Workaround for ChangeLogService stale instance
2016-10-20 19:43:24 +02:00
mposolda
c4ad84945c
KEYCLOAK-3773 Testsuite failing with mongo
2016-10-20 17:47:34 +02:00
Hynek Mlnarik
d59f6e397f
KEYCLOAK-3769 Workaround for ChangeLogService stale instance
...
Before applying update or validation operation, Liquibase
ChangeLogService needs to be reset to forget about previously set
change log table. Reason is that the factory creating the
ChangeLogService caches this service per DB connection, not per
Liquibase object, hence changes in name of change log table needed for
custom JpaEntityProvider are not reflected and use only the first
change log table name, i.e. the change log table of the main database.
2016-10-20 14:57:51 +02:00
Bill Burke
fdb8c04ac9
Merge remote-tracking branch 'upstream/master'
2016-10-19 10:06:48 -04:00
Bill Burke
46e32b36d2
onCreate for Components
2016-10-19 10:06:09 -04:00
Hynek Mlnarik
49d3d3f6e3
KEYCLOAK-3698 Manual migration - custom JpaEntityProvide changelog table
...
Reflect in the SQL script that custom JpaEntityProviders have their
own changelog tables, and issue DDL commands to create them when
initializing a new database.
2016-10-19 12:08:14 +02:00
Bill Burke
d941e07169
Merge pull request #3350 from patriot1burke/master
...
federated import/export to json
2016-10-18 14:15:25 -04:00
Stian Thorgersen
a87c08416d
Merge pull request #3346 from hmlnarik/KEYCLOAK-3588
...
KEYCLOAK-3698 Make manual update scripts play nicely with custom JpaEntityProviders
2016-10-18 19:41:02 +02:00
Bill Burke
2199df71bf
Merge remote-tracking branch 'upstream/master'
2016-10-18 10:14:00 -04:00
Bill Burke
4182e4d92a
federated import/export
2016-10-18 10:13:51 -04:00
Marek Posolda
940237ee78
Merge pull request #3304 from hmlnarik/KEYCLOAK-2964
...
KEYCLOAK-2964 - Fix groups not applied for authentication of admin operations
2016-10-18 14:50:12 +02:00
Hynek Mlnarik
658988ccd0
KEYCLOAK-3588 Make manual update scripts play nicely with custom JpaEntityProviders
2016-10-18 13:59:24 +02:00
Marek Posolda
386bf8d39e
Merge pull request #3344 from hmlnarik/KEYCLOAK-3732
...
KEYCLOAK-3732 Include 2.3.0 DB changelog for DB2
2016-10-18 10:29:01 +02:00
Hynek Mlnarik
2ea93b8a8b
KEYCLOAK-3732 Include 2.3.0 DB changelog for DB2
2016-10-18 09:53:27 +02:00
Hynek Mlnarik
9df3091b22
KEYCLOAK-3588 Update comment with related KC issue
2016-10-18 08:17:18 +02:00
Stian Thorgersen
06ad1537c8
Merge pull request #3323 from hmlnarik/KEYCLOAK-3639
...
KEYCLOAK-3639 Drop default value that prevents MSSQL update
2016-10-17 19:40:05 +02:00
Stian Thorgersen
3b2f7630bb
Merge pull request #3320 from hmlnarik/KEYCLOAK-3698
...
KEYCLOAK-3698: Add creation of DB changelog to SQL script
2016-10-17 18:55:45 +02:00
Stian Thorgersen
7c09b0c7b4
Merge pull request #3319 from hmlnarik/KEYCLOAK-3588
...
KEYCLOAK-3588: DB up-to-date check should not modify DB
2016-10-17 18:54:59 +02:00
Geir Ole Hiåsen Stevning
95f62c6aeb
KEYCLOAK-3626 - CreatedDate and lastUpdatedDate on user consent
2016-10-17 13:53:12 +02:00
mposolda
18e0c0277f
KEYCLOAK-3666 Dynamic client registration policies
2016-10-14 20:20:40 +02:00
Hynek Mlnarik
8bdd8f4274
KEYCLOAK-3639 Drop default value that prevents MSSQL update
2016-10-14 17:51:35 +02:00
Hynek Mlnarik
f256e2b102
KEYCLOAK-3588: DB up-to-date check should not modify DB
...
The DB up-to-date check uses Liquibase.listUnrunChangeSets() that in
its available variants unconditionally creates a DatabaseChangeLog
tables. Until the variant of listUnrunChangeSets() that suppresses this
behaviour is made public [1] (currently it is protected), workaround
has been implemented that invokes less invasive variant of
listUnrunChangeSets() via reflection.
[1] https://liquibase.jira.com/browse/CORE-2919
2016-10-14 14:29:01 +02:00
Hynek Mlnarik
3d47ab3665
KEYCLOAK-3698: Add creation of DB changelog to SQL script
...
Creation of database table DatabaseChangeLog was omitted from SQL
script which prevented creation of the database from scratch. The fix
adds DDL commands to create the table to the output SQL script in case
of empty database initialization.
Please note that DatabaseChangeLogLock is intentionally omitted. It is
created automatically before the update is even executed because a lock
is acquired (thus the table is properly created if it does not exist)
before check for up-to-dateness of database and potential migration in
KeycloakApplication constructor.
2016-10-14 14:27:07 +02:00
Bill Burke
8c8a39c833
sync and import
2016-10-13 20:49:02 -04:00
Bill Burke
0938390654
sync and import
2016-10-13 20:38:49 -04:00
Hynek Mlnarik
6578ce73a1
KEYCLOAK-3697: Evaluate preconditions when generating SQL script
...
Plus minor related change - replace deprecated call with equivalent
supported, add javadoc
Further info:
* http://forum.liquibase.org/topic/unexpected-behaviour-of-preconditions-with-updatesql
* http://stackoverflow.com/questions/17671923/liquibase-migrate-sql-does-not-check-precondtions
2016-10-13 13:00:33 +02:00
Stian Thorgersen
d2cae0f8c3
KEYCLOAK-905
...
Realm key rotation for OIDC
2016-10-13 11:19:52 +02:00
Hynek Mlnarik
03cf9bad2e
KEYCLOAK-2964 - Fix groups not applied for authentication of admin operations
2016-10-11 15:21:38 +02:00
Bill Burke
c5600e888d
revactor CredentialValidationOutput apis
2016-10-04 17:26:45 -04:00
Marek Posolda
c32cf51808
Merge pull request #3254 from didiez/master
...
KEYCLOAK-3608 Update existing user single attribute removes all other attributes from user
2016-10-04 08:43:22 +02:00
Bill Burke
d4c3fae546
merge conflicts
2016-09-30 19:19:12 -04:00
Bill Burke
110f6ad549
mongo fed
2016-09-30 16:48:59 -04:00
Bill Burke
8967ca4066
refactor mongo entities, optimize imports
2016-09-28 15:25:39 -04:00
Stian Thorgersen
34f62eb31d
Fixes to [KEYCLOAK-2438] PR
2016-09-28 10:25:37 +02:00
Bruno Oliveira
98d2fe15e8
[KEYCLOAK-2438] - Add display name to social login buttons
...
[KEYCLOAK-3291] - Names of social identity providers are wrongly capitalized (eg GitHub vs Github)
2016-09-26 13:36:28 -03:00
Bill Burke
ecc104719d
bump pom version
2016-09-26 11:01:18 -04:00
Bill Burke
8e65356891
creds
2016-09-22 19:57:39 -04:00
Bill Burke
7209a95dce
credential refactoring
2016-09-22 08:34:45 -04:00
didiez
98bf095471
Keep setSingleAttribute from deleting all other attributes of the user being updated.
2016-09-22 10:42:24 +02:00
mposolda
9d79a847c8
KEYCLOAK-3547 Incorrect jpa-changelog-2.2.0.xml
2016-09-09 09:47:32 +02:00
Bill Burke
2a5c778af5
Merge pull request #3209 from patriot1burke/master
...
KEYCLOAK-3440
2016-09-08 09:10:54 -04:00
Stian Thorgersen
1f27fc9e4b
Merge pull request #3153 from cargosoft/KEYCLOAK-3327
...
KEYCLOAK-3327 Make realm attributes accessible via the RealmModel
2016-09-08 08:00:14 +02:00
Bill Burke
3b9a6b32e1
Revert "Revert "KEYCLOAK-3440""
...
This reverts commit 01e48dc4b8
.
2016-09-07 23:41:32 -04:00
Bill Burke
01e48dc4b8
Revert "KEYCLOAK-3440"
2016-09-07 23:17:35 -04:00
Bill Burke
3f35234cf5
Merge remote-tracking branch 'upstream/master'
2016-09-07 23:11:38 -04:00
Bill Burke
da135389c7
KEYCLOAK-3440
2016-09-07 23:11:28 -04:00
mposolda
5a015a6518
KEYCLOAK-3494 Input elements backed by user attributes fail to update in themes
2016-09-07 20:08:09 +02:00
Bill Burke
15d31a202f
Merge remote-tracking branch 'upstream/master'
2016-09-06 08:56:17 -04:00
Bill Burke
6714c1a136
cred refactor
2016-09-06 08:55:47 -04:00
mposolda
494d9973a6
KEYCLOAK-3460 Support for ClientUpdatedEvent
2016-08-23 14:57:31 +02:00
Stian Thorgersen
c522a20ab9
KEYCLOAK-3447 Manual upgrade of database schema
2016-08-22 10:22:08 +02:00
Dimitri Teleguin
b109ce14b0
KEYCLOAK-3327 Make realm attributes accessible via the RealmModel
2016-08-18 23:28:32 +03:00
Pedro Igor
4cd0a8e894
[KEYCLOAK-3377] - Add pagination to authorization UI
2016-08-18 13:29:54 -03:00
Bill Burke
6c44e9befa
Merge remote-tracking branch 'upstream/master'
2016-08-18 11:57:25 -04:00
Bill Burke
8e9cfc4a28
creds
2016-08-18 11:52:00 -04:00
mposolda
0520d465c1
KEYCLOAK-3414 Support for client registration from trusted hosts
2016-08-11 15:55:32 +02:00
mposolda
d52e043322
Set version to 2.2.0-SNAPSHOT
2016-08-10 08:57:18 +02:00
Bill Burke
ff703f935f
component export/import
2016-08-09 12:25:04 -04:00
Thomas Darimont
e49afb2d83
KEYCLOAK-3142 - Revised according to codereview
...
Liquibase Moved schema evolution configuration from jpa-changelog-2.1.0
to jpa-changelog-2.2.0.
Corrected wrong ResourceType references in tests.
Adapted AdminEvents copy-routines to be aware of resourceType attribute.
Added ResourceType enum to exposed ENUMS of ServerInfoAdminResource.
Signed-off-by: Thomas Darimont <thomas.darimont@gmail.com>
2016-08-05 00:01:03 +02:00
Thomas Darimont
586f6eeece
KEYCLOAK-3142 - Capture ResourceType that triggers an AdminEvent
...
Introduced new ResourceType enum for AdminEvents which lists
the current supported ResourceTypes for which AdminEvents
can be fired.
Previously it was difficult for custom EventListeners to figure
out which ResourceType triggered an AdminEvent in order
to handle it appropriately, effectively forcing users to parse
the representation.
Having dedicated resource types as a marker on an AdminEvent helps
to ease custom EventListener code.
We now also allow filtering of admin events by ResourceType in the
admin-console.
Signed-off-by: Thomas Darimont <thomas.darimont@gmail.com>
2016-08-04 11:30:02 +02:00
Bill Burke
534ee2e50c
Merge remote-tracking branch 'upstream/master'
2016-08-03 19:16:45 -04:00
Bill Burke
70722d0d3d
user storage provider jpa example
2016-08-03 19:16:11 -04:00
mposolda
9242e972c0
Fix Oracle DB
2016-08-03 13:01:30 +02:00
Bill Burke
09693eb108
component model
2016-08-02 05:48:57 +02:00
Bill Burke
5facec73e4
Merge remote-tracking branch 'upstream/master'
2016-08-01 11:19:09 -04:00
Bill Burke
91a267a0d8
component model
2016-08-01 11:18:58 -04:00
mposolda
c5d40a76ff
Fix DB2 and Oracle
2016-08-01 12:31:16 +02:00
Bill Burke
2219cd363e
Merge pull request #3079 from patriot1burke/master
...
KEYCLOAK-3268
2016-07-28 07:22:45 -04:00
Pedro Igor
7e1b97888a
[KEYCLOAK-3338] - Adding client roles to role policy and UX improvements
2016-07-27 15:15:14 -03:00
Bill Burke
69f051fb0a
test user fed registration spi
2016-07-23 08:55:06 -04:00
Bill Burke
db852f7e11
preRemove
2016-07-22 14:24:37 -04:00
Bill Burke
06fca9c897
Merge remote-tracking branch 'upstream/master'
2016-07-22 11:42:14 -04:00
Bill Burke
72d134748c
user fed spi querying tests
2016-07-22 11:42:07 -04:00
Marek Posolda
079026a7be
Merge pull request #3055 from mposolda/master
...
KEYCLOAK-3344 Can't remove realm with mongo model
2016-07-21 14:18:49 +02:00
mposolda
981ff90c81
KEYCLOAK-3344 Can't remove realm with mongo model
2016-07-21 12:47:25 +02:00
Pedro Igor
484d5d6e08
[KEYCLOAK-3313] - UI improvements and messages
2016-07-20 22:11:24 -03:00
Bill Burke
c709598fdd
user fed spi simple test
2016-07-20 10:59:45 -04:00
Stian Thorgersen
ea44b5888b
KEYCLOAK-2824 Password Policy SPI
2016-07-14 07:20:30 +02:00
mposolda
6e94931023
KEYCLOAK-3296 same user logging twice at the same time causes lock issue - HQL deletion patch
2016-07-11 19:40:24 +02:00
Bill Burke
0040d3fc3b
Merge remote-tracking branch 'upstream/master'
2016-07-07 10:35:45 -04:00
Bill Burke
7e5a5f79cf
fixes for new user fed spi
2016-07-07 10:35:35 -04:00
Stian Thorgersen
7cfee80e58
KEYCLOAK-3189 KEYCLOAK-3190 Add kid and typ to JWT header
2016-07-05 08:26:26 +02:00
Bill Burke
a19469aba5
Merge remote-tracking branch 'upstream/master'
2016-06-30 17:18:17 -04:00
Bill Burke
b224917fc5
bump version
2016-06-30 17:17:53 -04:00
Bill Burke
3f1eecc4be
Merge remote-tracking branch 'upstream/master'
2016-06-30 16:47:55 -04:00
Bill Burke
3ba3be877e
fixes
2016-06-30 16:47:49 -04:00
Pedro Igor
afa9471c7c
[KEYCLOAK-3128] - Admin Client Authorization Endpoints
2016-06-30 10:26:05 -03:00
Bill Burke
a9f6948d74
Merge remote-tracking branch 'upstream/master'
2016-06-29 15:37:32 -04:00
Bill Burke
f51098c50b
user fed refactor
2016-06-29 15:37:22 -04:00
mposolda
9b9a656192
Fix Oracle DB
2016-06-23 13:23:44 +02:00
mposolda
f6ce1438fd
Fix DB2 and MSSQL
2016-06-23 11:01:30 +02:00
mposolda
5c25619cd6
Fix ResourceManagementTest.testFindById to pass with other RDBMS besides H2
2016-06-23 09:42:59 +02:00
mposolda
f7a2ad021e
KEYCLOAK-3141 Fix DB2 and some other DB issues
2016-06-22 17:06:55 +02:00
mposolda
5c731b4d14
KEYCLOAK-3149 DB update triggered before DBLock is retrieved
2016-06-21 17:14:25 +02:00
mposolda
c4513fdad9
KEYCLOAK-2474 Polishing. Support for separate changelock table per changelog. Support for authenticated endpoint in domain-extension example
2016-06-21 12:06:22 +02:00
Erik Mulder
f4ead484de
KEYCLOAK-2474 Possibility to add custom SPI and extend the data model
2016-06-20 10:56:33 +02:00
Stian Thorgersen
1a9fada964
KEYCLOAK-2753 Refactor authz changelog into separate authz-master.xml
2016-06-17 13:40:22 +02:00
Stian Thorgersen
9030edc04d
KEYCLOAK-2753 Removed unused imports from PolicyAdapter
2016-06-17 13:40:22 +02:00