Joas Schilling
483ad01a09
There is no update available if the app didnt have a version (aka was not installed)
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-02 14:27:16 +02:00
Arthur Schiwon
38a90130ce
move log constants to ILogger
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Morris Jobke
4fd697e733
Remove a check for an unused variable
...
Left over from a refactoring
https://github.com/nextcloud/server/pull/1940
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-23 11:53:48 +02:00
Morris Jobke
514de5dfa1
Use isInstalled of AppManger instead of reimplement it
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-21 11:34:18 +01:00
Joas Schilling
1aa846107d
Dont use $info as array when its not an array
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-22 14:43:56 +01:00
Morris Jobke
9dc3b04802
Fix app version to be always string and neither array nor null
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-17 16:05:13 +01:00
Morris Jobke
d3d045dd5c
Remove unused import statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-14 16:55:43 +01:00
Julius Härtl
efbdad2d0c
Remove OC_App::removeApp
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-31 14:15:12 +01:00
Joas Schilling
d971b104ed
Do not cache the settings/sections in the database anymore
...
This caused more troubles then it had benefits, especially
when an app got disabled or was removed without being disabled.
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-29 15:47:37 +01:00
Morris Jobke
a661f043e1
Remove unneeded semicolon and parentheses
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Morris Jobke
9ff51aafc5
Use index based string access for substr with length of 1
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 13:38:34 +01:00
Morris Jobke
2a38605545
Properly log the full exception instead of only the message
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-23 10:57:21 +01:00
Roeland Jago Douma
09f8a755ec
Remove IAppConfig::getValue
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-17 21:41:56 +01:00
Morris Jobke
97f80f5581
Merge pull request #7505 from nextcloud/do-not-update-if-app-comes-from-git
...
Do not update apps if it comes from git
2017-12-18 13:43:58 +01:00
John Molakvoæ (skjnldsv)
2dbd5052ff
Up check
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-14 10:00:34 +01:00
Morris Jobke
54c227b6c4
Use cached app list
...
Followup to #7264
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-14 09:56:53 +01:00
John Molakvoæ (skjnldsv)
cca8744350
Do not update apps if it comes from git
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-14 09:50:31 +01:00
Lukas Reschke
8ccb486876
Merge pull request #7264 from nextcloud/cache-fetched-apps
...
Cache fetched apps in update check
2017-11-27 11:48:59 +01:00
Morris Jobke
df61d43529
Make isUpdateAvailable non-static
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-25 12:01:02 +01:00
Morris Jobke
a97a290fd5
Cache fetched apps in update check
...
The code tried to find the apps with updates and thus was called for every available app. This caused to get the full appstore content as often as apps are available. The appstore request itself was cached nevertheless in an appdata dir, but with an object storage this is still a lot of round trips to read this cached result. Thus the instantiated list is now cached in a static variable (because it's a static method call).
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-25 12:00:56 +01:00
Morris Jobke
05abb9ea66
Remove unused checkCode method
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-24 10:50:50 +01:00
Lukas Reschke
8c915baa34
Merge pull request #6788 from staabm/master
...
Prevent XSS in links which open a new browser window
2017-11-08 18:55:35 +01:00
Morris Jobke
4866314ce0
Run updated license header updater
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-07 13:47:42 +01:00
Morris Jobke
31c5c2a592
Change @georgehrke's email
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 20:38:59 +01:00
Morris Jobke
0eebff152a
Update license headers
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Markus Staab
db34b59238
Prevent XSS in links which open a new browser window
2017-10-19 12:16:04 +02:00
Christoph Wurst
2e19c42bc5
Check whether an app archive can be extracted
...
If extraction fails we should not continue the installation/update
process as the info.xml cannot be loaded and an unrelated error
occurs.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-09-20 14:07:17 +02:00
Joas Schilling
79d7c26b8a
Register autoloading before running migrations
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-07 12:01:11 +02:00
Joas Schilling
7a3d83d630
Register autoloading before running migrations
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Joas Schilling
183b1dbde3
Use migrations when there is no database.xml
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Morris Jobke
be33234266
Remove OC_App:installApp
...
* uses Installer->installApp now
* removes unused code
* fixes #4453
* added some additional checks
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-15 00:03:35 -05:00
Lukas Reschke
47cd976035
Add app bundles
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-26 20:07:49 +02:00
Morris Jobke
c54a59d51e
Remove unused use statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Lukas Reschke
32bf8ec826
Don't use cached informations for app version
...
When installing an app from the appstore the `\OC_App::getAppVersion` code is triggered twice:
- First when the downloader tries to compare the current version to the new version on the appstore to check if there is a newer version. This protects against downgrade attacks and is implemented in `\OC\Installer::downloadApp`.
- Second, when the app is actually installed the current version is written to the database. (`\OC\Installer::installApp`)
This fails however when the version is actually cached. Because in step 1 the cached version will be set to "0" and then be reused in the second step.
While this is probably not the cleanest version I assume this is an approach that is least invasive. Feedback and suggestions welcome :)
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-09 18:01:45 +01:00
Lukas Reschke
7cb0df28e2
Prevent downgrade attacks for apps
...
We should verify the app versions when installing a new update, otherwise this could result in downgrade attacks when an attacker just copies the old signature.
Plus it prevents the case that in case of a bug in the appstore actually an older version gets installed.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-11 18:53:26 +01:00
Joas Schilling
2f7e291101
Correctly catch the "soft errors" now
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-09 10:30:19 +01:00
Joas Schilling
224dfaf1e6
Use a better error message and point the users to the support channels
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-09 09:10:32 +01:00
Lukas Reschke
0eeef26a8e
Add tests for installer method
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 19:39:35 +01:00
Lukas Reschke
086d43f26d
Move to non-static version
...
The static version is used nowhere in the code and just decreases coverage
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 18:42:19 +01:00
Lukas Reschke
d805df7bb3
Use findAppInDirectories
...
The other function doesn't work if the appstore is disabled
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:30:02 +01:00
Lukas Reschke
8acb54aa0b
Add update support
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:47 +01:00
Lukas Reschke
3e6dd86ee4
Add support for CRL
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:46 +01:00
Lukas Reschke
0e2aee2be6
Replace with exception instead of boolean return value
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:46 +01:00
Lukas Reschke
ca7f6dec55
Make non-static
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:45 +01:00
Lukas Reschke
32cf661215
Use new appstore API
...
This change introduces the new appstore API in Nextcloud.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:44 +01:00
Joas Schilling
356ac5d42f
Add app name to the call
...
Regression from 69b063f4c6
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-10 16:34:14 +02:00
Arthur Schiwon
ac04ba6784
register app autoload instead of loading apps
2016-08-12 13:23:14 +02:00
Arthur Schiwon
ce6ad5de25
make sure shipped apps also setup their admin settings on a fresh install
2016-08-11 16:37:11 +02:00
Arthur Schiwon
0fc34c99f4
fix registration of admin settings and section on app install
2016-08-11 00:45:15 +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