Commit Graph

2076 Commits

Author SHA1 Message Date
Robert Scheck 25a2cb8c6e Only request "IndexIgnore" if mod_autoindex is loaded
Signed-off-by: Robert Scheck <robert@fedoraproject.org>
2017-02-20 13:09:15 +01:00
Arthur Schiwon ce97ab92c6
add tests to DB group
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 20:12:30 +01:00
Arthur Schiwon 42ddb12fd9
Background jobs can take 4k of characters only. We find a good batch size.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 20:06:25 +01:00
Arthur Schiwon 497ee3e3e6
Add repair steps
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 18:45:33 +01:00
Arthur Schiwon 45615cc940
add integration test for uuid attr detection
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 12:05:51 +01:00
Arthur Schiwon f87812fdd6
Fix determining the UUID attribute, default of the override is null
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 02:06:10 +01:00
Arthur Schiwon b740a21399
Fix integration test by not relying on Fake instances
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 02:04:42 +01:00
Morris Jobke 52ef851da3 Merge pull request #3421 from espro/freeipa-uuid-fix
Update uuidAttributes list to include FreeIPA's ipauniqueid
2017-02-15 08:07:58 -06:00
Nextcloud bot 41276f720b
[tx-robot] updated from transifex 2017-02-15 01:07:29 +00:00
Nextcloud bot 7113af3f91
[tx-robot] updated from transifex 2017-02-14 01:07:20 +00:00
Lukas Reschke 5b9f96a434 Merge pull request #3324 from nextcloud/fix-2431
LDAP's checkPassword should only catch when a user was not found, fixes #2431
2017-02-13 23:21:08 +01:00
Brent Bloxam f7b8a31d63 Update uuidAttributes list to include FreeIPA's ipauniqueid
Signed-off-by: Brent Bloxam <brent.bloxam@gmail.com>
2017-02-10 10:23:13 -05:00
Nextcloud bot 5e4bbb394c
[tx-robot] updated from transifex 2017-02-07 01:08:50 +00:00
Nextcloud bot b946ec9d6c
[tx-robot] updated from transifex 2017-02-02 01:07:05 +00:00
Andreas Pflug b64e48335f Don't try to use memberof on posixgroups, since it doesn't support
memberUid attributes.

Signed-off-by: Andreas Pflug <dev@admin4.org>
2017-01-31 01:40:09 +01:00
Arthur Schiwon 9983e05121
LDAP's checkPassword should only catch when a user was not found, fixes #2431
Also fixes error processing after ldap_search, due to different return format

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-30 17:06:51 +01:00
Nextcloud bot b614547ff8
[tx-robot] updated from transifex 2017-01-28 01:06:59 +00:00
Morris Jobke 3a603ab8b4 Merge pull request #3264 from nextcloud/ldap-deny-long-dns
Gracefully deny users or groups with too long DNs
2017-01-26 01:15:43 -06:00
Morris Jobke feab1e5b94 Merge pull request #3162 from nextcloud/ldap-ocs
Part 1 of LDAP Backend OCS Api
2017-01-25 22:45:34 -06:00
Morris Jobke 6fe3cfa1e3 Merge pull request #3244 from nextcloud/settings-icon
Settings icon for LDAP and encryption
2017-01-25 18:43:21 -06:00
Arthur Schiwon 03ae7b654f
Gracefully deny users or groups with too long DNs
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-25 17:10:51 +01:00
Joas Schilling 95ef625a9d
Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-25 11:24:42 +01:00
Nextcloud bot c3e57d228f
[tx-robot] updated from transifex 2017-01-25 01:10:00 +00:00
Morris Jobke e46410e856
Add icon to admin page sidebar for LDAP
* follow up to nextcloud/server#3151

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-24 12:54:32 -06:00
Morris Jobke e09bba5e36 Merge pull request #3151 from nextcloud/navigation-icons
add icons to navigation of personal & admin settings
2017-01-24 10:56:31 -06:00
Nextcloud bot 8024f5a17f
[tx-robot] updated from transifex 2017-01-23 00:17:39 +00:00
Nextcloud bot 012e521239
[tx-robot] updated from transifex 2017-01-22 01:07:52 +00:00
Arthur Schiwon 91ed70f094
fix deletion for configIDs < s10
Also move ensureConfigIDExists checks into try, it might throw DB
related exceptions

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-20 23:01:46 +01:00
Arthur Schiwon 9ca4065ef5
LDAP PUT command now supports setting multiple keys at once
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-20 22:01:08 +01:00
Nextcloud bot 48a3f2a8a2
[tx-robot] updated from transifex 2017-01-20 01:07:41 +00:00
Joas Schilling 5812e99f1d
Fix app section tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-19 15:30:40 +01:00
Arthur Schiwon 1f7b08bd19
LDAP OCS Api for show config
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-19 15:19:20 +01:00
Arthur Schiwon f2c9d04eac
test against OCS v2 instead
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-19 12:48:50 +01:00
Arthur Schiwon 01d469dfea
add LDAP OCS Api for modifying a configuration
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-19 11:09:04 +01:00
Joas Schilling 17a7eaabcd
Add the icons for shipped apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-19 10:42:22 +01:00
Arthur Schiwon 18a75bec0d
fix and extend behat tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-19 10:04:15 +01:00
Arthur Schiwon a515de54e7
LDAP OCS Api for delete config
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-18 23:17:58 +01:00
Arthur Schiwon 689df9a843
LDAP OCS Api for create config
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-18 21:13:23 +01:00
Nextcloud bot 09a46b7bd6
[tx-robot] updated from transifex 2017-01-12 01:07:43 +00:00
Nextcloud bot 4f9ff96f79
[tx-robot] updated from transifex 2017-01-09 08:24:58 +00:00
Nextcloud bot d9035e2805
[tx-robot] updated from transifex 2017-01-05 13:09:52 +00:00
Nextcloud bot 2e0cf21f7f
[tx-robot] updated from transifex 2017-01-04 12:09:43 +00:00
Nextcloud bot fc02564ea6
[tx-robot] updated from transifex 2016-12-30 01:07:28 +00:00
Nextcloud bot b399ad2fee
[tx-robot] updated from transifex 2016-12-28 01:07:41 +00:00
Nextcloud bot bd20139f55
[tx-robot] updated from transifex 2016-12-27 01:07:38 +00:00
Nextcloud bot 3fc4e1b5b9
[tx-robot] updated from transifex 2016-12-26 01:09:23 +00:00
Morris Jobke f88d615445 Merge pull request #2808 from alantygel/patch-1
Translation string corrected > 1 user
2016-12-22 10:04:35 +01:00
Nextcloud bot 0b64e96c9b
[tx-robot] updated from transifex 2016-12-22 01:07:28 +00:00
Alan Tygel efff51c7a8 Translation string corrected > 1 user 2016-12-21 16:34:24 -03:00
Nextcloud bot f50252c7c1
[tx-robot] updated from transifex 2016-12-20 12:02:31 +00:00
Arthur Schiwon 7887566cff
remove frequent, unimportant log message
Fixes #2585

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-19 23:36:11 +01:00
Roeland Jago Douma f86f4eb98d Merge pull request #2504 from nextcloud/downstream-ldap-15
Downstream LDAP Range Support
2016-12-16 16:40:04 +01:00
Joas Schilling edec1fafe7
Update app versions and requirements
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-13 20:41:55 +01:00
Nextcloud bot 0c6c85bafb
[tx-robot] updated from transifex 2016-12-12 01:07:18 +00:00
Nextcloud bot 74d1b0bada
[tx-robot] updated from transifex 2016-12-08 01:07:26 +00:00
Arthur Schiwon 0c8e4b91d3
adjust: sanitizeDN resides in Helper
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-05 11:36:20 +01:00
Juan Pablo Villafáñez efa1077872
Extract lowercase conversion out of the loop
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-05 11:29:47 +01:00
Arthur Schiwon 6496b95564
range support for LDAP read operations
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-05 11:29:16 +01:00
Nextcloud bot dda39728e3
[tx-robot] updated from transifex 2016-12-05 01:07:41 +00:00
Arthur Schiwon 1e5344ffe9
log exception about user not present on LDAP on login only if loglevel is set to debug
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-11-29 17:05:55 +01:00
Nextcloud bot e8ea9a5d27
[tx-robot] updated from transifex 2016-11-29 01:06:47 +00:00
Nextcloud bot 4e682d4113
[tx-robot] updated from transifex 2016-11-28 01:06:56 +00:00
Nextcloud bot 9788cf04ee
[tx-robot] updated from transifex 2016-11-27 01:07:08 +00:00
Nextcloud bot 8f4ec8583d
[tx-robot] updated from transifex 2016-11-26 01:06:57 +00:00
Lukas Reschke 4c5e7d270a
Add tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-23 19:58:43 +01:00
root 861c8572c0
restore ldap_password_pr
Signed-off-by: Roger Szabo <roger.szabo@web.de>

remove notification part

Signed-off-by: Roger Szabo <roger.szabo@web.de>

blizzz comments

Signed-off-by: Roger Szabo <roger.szabo@web.de>

morris comment

Signed-off-by: Roger Szabo <roger.szabo@web.de>

improved error message for changing password

Signed-off-by: Roger Szabo <roger.szabo@web.de>

blizz comments 20161013

Signed-off-by: Roger Szabo <roger.szabo@web.de>

Signed-off-by: Roger Szabo <roger.szabo@web.de>

Adjust HintException usage

Signed-off-by: Roger Szabo <roger.szabo@web.de>

Signed-off-by: Roger Szabo <roger.szabo@web.de>
2016-11-23 19:02:48 +01:00
Nextcloud bot 97af4f762d
[tx-robot] updated from transifex 2016-11-20 01:06:44 +00:00
Nextcloud bot b1ee9862f8
[tx-robot] updated from transifex 2016-11-19 01:06:44 +00:00
Lukas Reschke bc1008ac38
Use 11.0 instead 9.2
As discussed we're changing the version from 9.2 to 11.0 to make some more sense.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-15 14:45:58 +01:00
Nextcloud bot ca3616cb58
[tx-robot] updated from transifex 2016-11-05 01:07:14 +00:00
Lukas Reschke 85016977f4 Merge pull request #1935 from nextcloud/downstream-ldap-26
Add prefix to the connection
2016-10-31 09:27:09 +01:00
Nextcloud bot ad597d498d
[tx-robot] updated from transifex 2016-10-28 00:07:11 +00:00
Juan Pablo Villafáñez 1937e58ec0
Add prefix to the connection
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-27 13:08:09 +02:00
Nextcloud bot e23a298a81
[tx-robot] updated from transifex 2016-10-25 09:36:09 +00:00
Arthur Schiwon dade28cadd
Merge branch 'master' into downstream-ldap-3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-16 14:42:16 +02:00
Arthur Schiwon a49d571799
fix and tidy up tests after merge conflicts
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-13 15:34:40 +02:00
Victor Dubiniuk c4fcd1f282
Update tests for phunit 5.5
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-13 01:06:45 +02:00
Victor Dubiniuk 011d5f554c
Harden empty
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-13 00:53:34 +02:00
Arthur Schiwon 9e817e9e0b
symfony replaced table helper by class, fixes two broken LDAP occ commands
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-12 23:47:07 +02:00
Roeland Jago Douma 7d2f70ef72
Use more IConfig and add unit tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-10 10:51:13 +02:00
Roeland Jago Douma bdf4bf4669
DI IConfig into ldap helper
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-10 10:18:18 +02:00
Roeland Jago Douma 1ba2b7e5d4
Do not query data that is already in the appconfig
This is already available. We better use a simple regex.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-10 09:39:20 +02:00
Nextcloud bot 0beecbf2c5
[tx-robot] updated from transifex 2016-10-08 00:06:50 +00:00
Arthur Schiwon a30341823e
cache loginName2UserName and cover the method with unit tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-07 01:39:57 +02:00
Arthur Schiwon 979612fa08
get rid of test warnings
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-06 22:53:14 +02:00
Joas Schilling 82c29e1204
Log the error with display name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-06 11:21:43 +02:00
Jörn Friedrich Dreyer 0ae9a2c9fe
Prevent user with empty uid
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-04 12:26:06 +02:00
Nextcloud bot da03018add
[tx-robot] updated from transifex 2016-10-01 00:08:23 +00:00
Lukas Reschke 0f321fe116 Merge pull request #1534 from nextcloud/svg-optimization
Svgo optimization
2016-09-28 23:05:48 +02:00
Nextcloud bot e2670e62eb
[tx-robot] updated from transifex 2016-09-28 00:10:20 +00:00
skjnldsv 71830b285c Svgo optimization
Signed-off-by: John Molakvoæ <fremulon@protonmail.com>
2016-09-27 20:56:26 +02:00
Nextcloud bot b30c79b63c
[tx-robot] updated from transifex 2016-09-23 00:09:45 +00:00
Nextcloud bot 6a873acf46
[tx-robot] updated from transifex 2016-09-22 00:11:32 +00:00
Joas Schilling 01cf85e4e5
Fix the User_LDAP app 2016-09-12 16:48:11 +02:00
Nextcloud bot b992bf2142
[tx-robot] updated from transifex 2016-09-08 00:10:21 +00:00
Nextcloud bot 1110ef52ed
[tx-robot] updated from transifex 2016-09-07 00:09:25 +00:00
Roeland Jago Douma 5fb2eee5df
Fix getMock user_ldap 2016-09-06 09:29:27 +02:00
Nextcloud bot 5d48809609
[tx-robot] updated from transifex 2016-09-06 00:09:18 +00:00
Nextcloud bot 8b484eedf0
[tx-robot] updated from transifex 2016-09-05 00:09:10 +00:00
Joas Schilling 1ae4a2f9e4 Merge pull request #1143 from nextcloud/ldap-smells-for-fun-and-profit
fix a few minor code smells
2016-09-01 10:09:23 +02:00
Nextcloud bot 4a5cd74fb2
[tx-robot] updated from transifex 2016-09-01 00:09:24 +00:00
Roeland Jago Douma 013f691fe9
Fix phpdoc 2016-08-29 20:20:17 +02:00
Jörn Friedrich Dreyer 4d31caa6f8
fix a few minor code smells 2016-08-29 14:34:37 +02:00
Juan Pablo Villafáñez 5b4e752079
Hide the LDAP password in the client side
Connection checks will be done by using the configuration id, with the
stored password. LDAP password won't be sent to the client.
2016-08-19 12:23:41 +02:00
Morris Jobke ec4d127e58 Merge pull request #905 from nextcloud/invisible_icons
Fix icons on App page in FF
2016-08-17 17:24:16 +02:00
Nextcloud bot 39c180117e
[tx-robot] updated from transifex 2016-08-17 13:30:52 +00:00
Roeland Jago Douma ba4633b165
Add viewBox to app icons
If we don't add a viewbox a lot of browsers will just say NOPE!!! when
we ask them to scale.
2016-08-17 15:23:51 +02:00
Nextcloud bot 0cc8b8b244
[tx-robot] updated from transifex 2016-08-17 00:09:19 +00:00
Arthur Schiwon 717e22267a
Merge branch 'master' into implement_712 2016-08-16 18:31:59 +02:00
Nextcloud bot 8c424c7971
[tx-robot] updated from transifex 2016-08-16 00:10:47 +00:00
Lukas Reschke 6c6338b810
Merge branch 'master' into implement_712 2016-08-15 21:55:09 +02:00
Lukas Reschke 7ffb7b0d84
Use MockBuilder instead of createMock
CI uses an older PHPUnit
2016-08-15 16:43:22 +02:00
Lukas Reschke 8a7a0f3287
Add unit tests 2016-08-15 16:25:34 +02:00
Nextcloud bot 4da01eeef6
[tx-robot] updated from transifex 2016-08-13 00:13:29 +00:00
Arthur Schiwon 7a2b96c7e6
change casing in section display names 2016-08-13 00:06:10 +02:00
Lukas Reschke 8261ccce1b
Merge branch 'master' into implement_712 2016-08-11 19:37:17 +02:00
Arthur Schiwon c0a2a1ff64
superfluous 2016-08-11 18:40:19 +02:00
Arthur Schiwon 14ddf9d923
rename IAdmin to ISettings, the interface is not bound to a specific settings scope 2016-08-11 14:48:21 +02:00
Nextcloud bot f68f1d5f37
[tx-robot] updated from transifex 2016-08-11 12:08:42 +00:00
Arthur Schiwon 1eb8b951c2
more admin page splitup improvements
* bump version to ensure tables are created
* make updatenotification app use settings api
* change IAdmin::render() to getForm() and change return type from Template to TemplateResponse
* adjust User_LDAP accordingly, as well as built-in forms
* add IDateTimeFormatter to AppFramework/DependencyInjection/DIContainer.php. This is important so that \OC::$server->query() is able to resolve the
constructor parameters. We should ensure that all OCP/* stuff that is available from \OC::$server is available here. Kudos to @LukasReschke
* make sure apps that have settings info in their info.xml are loaded before triggering adding the settings setup method
2016-08-10 15:21:25 +02:00
Arthur Schiwon 518545fc2f
Fallback for legacy settings. They are placed into Additional Settings 2016-08-09 23:30:07 +02:00
Arthur Schiwon ceeb44bd04
Initial work on Apps page split:
* interfaces for the Admin settings (IAdmin) and section (ISection)
* SettingsManager service
* example setup with LDAP app
2016-08-09 18:05:09 +02:00
Joas Schilling dae6432ae7
Increment the versions and adjust the capitilization 2016-08-08 16:45:40 +02:00
Nextcloud bot b80e3e70e5
[tx-robot] updated from transifex 2016-08-06 00:10:17 +00:00
Nextcloud bot c44c9a55f4
[tx-robot] updated from transifex 2016-08-05 00:10:09 +00:00
Nextcloud bot 0874460e48
[tx-robot] updated from transifex 2016-08-03 00:11:12 +00:00
Nextcloud bot 50c8367041
[tx-robot] updated from transifex 2016-08-01 00:10:15 +00:00
blizzz 7bb9502d23 Merge pull request #595 from nextcloud/fix_slow_test
Close session fast when doing a test to prevent blocking the next requests
2016-07-31 17:29:22 +02:00
Nextcloud bot 2a2526e1d1
[tx-robot] updated from transifex 2016-07-31 00:09:54 +00:00
Nextcloud bot 2565a39361
[tx-robot] updated from transifex 2016-07-30 00:11:16 +00:00
Morris Jobke 83c64f3485 Merge pull request #590 from nextcloud/fixing-undefined-OfflineUser-composeAndStoreDisplayName
Fix undefined OfflineUser::composeAndStoreDisplayName()
2016-07-28 17:41:02 +02:00
Lukas Reschke bf7afcdace Merge pull request #592 from nextcloud/ldap-avoidneedlesssetemailonlogin
Prevent setting email and triggering events at login time (#25553)
2016-07-28 17:09:59 +02:00
root bd65a17203 Nextcloud license header for new files 2016-07-28 15:13:00 +08:00
Juan Pablo Villafáñez 12442f3270
Close session fast when doing a test to prevent blocking the next
requests
2016-07-27 11:41:34 +02:00
Vincent Petry 77df09d58a
Prevent setting email and triggering events at login time (#25553)
Whenever an LDAP user also has an email address defined in LDAP, the
LDAP code will try and update the email address of the locally known
user. This happens at login time or every time the user's LDAP
attributes are processed.

There is code listening to the email setting hook which updates the
system address book, which also will trigger FS setup due to avatars
and other things.

This fix only sets the email address when really necessary.
2016-07-27 11:28:33 +02:00
Thomas Müller 1177c70b9d
[stable9.1] Fix undefined OfflineUser::composeAndStoreDisplayName() - fixes #23248 2016-07-27 11:17:53 +02:00
root 2719dcabed Merge branch 'master' of https://github.com/nextcloud/server 2016-07-27 15:17:29 +08:00
root 1c64ee67af comments amended 2016-07-27 15:16:57 +08:00
root 32fb6beac3 final changes 2016-07-27 15:10:35 +08:00
blizzz f88109be75 Merge pull request #349 from nextcloud/ldab-groupOfUniqueNames
add groupOfUniqueNames as valid group object class
2016-07-26 23:32:47 +02:00
Arthur Schiwon 686cb599b6
fix autoloading in LPAP integration tests, resolves #544 2016-07-25 11:05:59 +02:00
root 1fb080df2b Merge branch 'master' of https://github.com/nextcloud/server 2016-07-25 16:56:14 +08:00
Nextcloud bot e36decc12b
[tx-robot] updated from transifex 2016-07-23 00:09:06 +00:00
Joas Schilling 7400ff05ac
Also increase the min version 2016-07-22 14:46:52 +02:00
Robin Appelman 6062b6365b bumb compatible app versions for core apps 2016-07-22 13:04:23 +02:00
root c1b37e4ccb Merge branch 'master' of https://github.com/nextcloud/server 2016-07-22 16:47:27 +08:00
root 02ec8b1726 New LDAPProvider for user_ldap 2016-07-22 16:46:29 +08:00
Joas Schilling 03cb588ea9 Merge pull request #500 from nextcloud/bump_version
Bump version
2016-07-22 10:03:42 +02:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling 813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00