Compare commits
51 Commits
fix/sql-tz
...
v23.0.0rc3
| Author | SHA1 | Date | |
|---|---|---|---|
| d9e25f5f32 | |||
| 6c95b46948 | |||
| 6c7bc8ac98 | |||
| ea38a798f3 | |||
| 7be83b23f4 | |||
| 73b8a016a4 | |||
| 8ff4870026 | |||
| 016482e50c | |||
| 2fb31dffc6 | |||
| eecfa3f105 | |||
| b8318c2363 | |||
| acece8f4ba | |||
| 5fc031c91f | |||
| d27be604d4 | |||
| df52393d31 | |||
| 3b83976c98 | |||
| 7e80182e75 | |||
| a80d49a0e7 | |||
| 077c45f173 | |||
| b8da11cd62 | |||
| 0233cd4edb | |||
| ebfb94fbc0 | |||
| 8b0bf9eadf | |||
| 1e1ef32cca | |||
| 3bd26b630e | |||
| 9eac3099d3 | |||
| 28376490bf | |||
| f37d550f8a | |||
| ca2e024fb0 | |||
| b1c32d32b1 | |||
| bf5c89bbdd | |||
| 49486de8cd | |||
| 59cb10c59a | |||
| 025951ebf4 | |||
| 7a5dcf7e3e | |||
| 6db690c3c7 | |||
| fb214c25c6 | |||
| 84397254b6 | |||
| 22641dfd3f | |||
| cbfb7811a5 | |||
| d67f540d15 | |||
| f0045bf139 | |||
| 21f7134fe0 | |||
| 35546c034d | |||
| 9967198e5a | |||
| 36f1714f1d | |||
| dab21ab707 | |||
| ddf6b82112 | |||
| 32005be6b2 | |||
| 0b72abb7a5 | |||
| 2e14d28262 |
+1
-1
@@ -1,5 +1,5 @@
|
||||
codecov:
|
||||
branch: master
|
||||
branch: stable23
|
||||
ci:
|
||||
- drone.nextcloud.com
|
||||
- !scrutinizer-ci.com
|
||||
|
||||
+1
-1
@@ -1403,7 +1403,7 @@ steps:
|
||||
commands:
|
||||
# JavaScript files are not used in integration tests so it is not needed to
|
||||
# build them.
|
||||
- git clone --depth 1 https://github.com/nextcloud/spreed apps/spreed
|
||||
- git clone --depth 1 --branch stable23 https://github.com/nextcloud/spreed apps/spreed
|
||||
- name: integration-sharing-v1-video-verification
|
||||
image: ghcr.io/nextcloud/continuous-integration-integration-php7.3:latest
|
||||
commands:
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
</IfModule>
|
||||
|
||||
# Add cache control for static resources
|
||||
<FilesMatch "\.(css|js|svg|gif|png|jpg|ico)$">
|
||||
<FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)$">
|
||||
Header set Cache-Control "max-age=15778463"
|
||||
</FilesMatch>
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
|
||||
<IfModule mod_mime.c>
|
||||
AddType image/svg+xml svg svgz
|
||||
AddType application/wasm wasm
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
|
||||
|
||||
+1
-1
Submodule 3rdparty updated: 217764f87e...747d4ceb41
@@ -1,6 +1,6 @@
|
||||
# Nextcloud Server ☁
|
||||
[](https://scrutinizer-ci.com/g/nextcloud/server/?branch=master)
|
||||
[](https://codecov.io/gh/nextcloud/server)
|
||||
[](https://scrutinizer-ci.com/g/nextcloud/server/?branch=stable23)
|
||||
[](https://codecov.io/gh/nextcloud/server)
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/209)
|
||||
|
||||
**A safe home for all your data.**
|
||||
|
||||
@@ -49,7 +49,7 @@ class CalendarProvider implements ICalendarProvider {
|
||||
public function getCalendars(string $principalUri, array $calendarUris = []): array {
|
||||
$calendarInfos = [];
|
||||
if (empty($calendarUris)) {
|
||||
$calendarInfos[] = $this->calDavBackend->getCalendarsForUser($principalUri);
|
||||
$calendarInfos = $this->calDavBackend->getCalendarsForUser($principalUri);
|
||||
} else {
|
||||
foreach ($calendarUris as $calendarUri) {
|
||||
$calendarInfos[] = $this->calDavBackend->getCalendarByUri($principalUri, $calendarUri);
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
#filestable tbody tr.externalDisabledRow {
|
||||
background-color: #CCC;
|
||||
}
|
||||
|
||||
|
||||
#filestable tbody tr.externalErroredRow {
|
||||
background-color: #F2DEDE;
|
||||
}
|
||||
|
||||
@@ -254,8 +254,6 @@ OCA.Files_External.StatusManager = {
|
||||
OCA.Files_External.StatusManager.Utils.changeFolderIcon(elementList);
|
||||
// Save default view
|
||||
OCA.Files_External.StatusManager.Utils.storeDefaultFolderIconAndBgcolor(elementList);
|
||||
// Disable row until check status
|
||||
elementList.addClass('externalDisabledRow');
|
||||
OCA.Files_External.StatusManager.Utils.toggleLink(elementList.find('a.name'), false, false);
|
||||
}
|
||||
}
|
||||
@@ -505,7 +503,6 @@ OCA.Files_External.StatusManager.Utils = {
|
||||
// can't use here FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(folder)); return incorrect instance of filelist
|
||||
trFolder = $('#fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
|
||||
}
|
||||
trFolder.removeClass('externalErroredRow').removeClass('externalDisabledRow');
|
||||
var tdChilds = trFolder.find("td.filename div.thumbnail");
|
||||
tdChilds.each(function () {
|
||||
var thisElement = $(this);
|
||||
|
||||
@@ -207,7 +207,7 @@ $canCreateMounts = $_['visibilityType'] === BackendService::VISIBILITY_ADMIN ||
|
||||
<form autocomplete="false" action="#"
|
||||
id="global_credentials" method="post">
|
||||
<h2><?php p($l->t('Global credentials')); ?></h2>
|
||||
<p class="settings-hint"><?php p($l->t('Global credentials can be used to authenticate with multiple external storage that have the same credentials.')); ?></p>
|
||||
<p class="settings-hint"><?php p($l->t('Global credentials can be used to authenticate with multiple external storages that have the same credentials.')); ?></p>
|
||||
<input type="text" name="username"
|
||||
autocomplete="false"
|
||||
value="<?php p($_['globalCredentials']['user']); ?>"
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~6.5",
|
||||
"behat/behat": "~3.9.0",
|
||||
"behat/behat": "~3.10.0",
|
||||
"guzzlehttp/guzzle": "6.5.2",
|
||||
"jarnaiz/behat-junit-formatter": "^1.3",
|
||||
"sabre/dav": "3.2.3",
|
||||
"sabre/dav": "4.1.5",
|
||||
"symfony/event-dispatcher": "~5.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#!/bin/bash
|
||||
# Update Nextcloud apps from latest git master
|
||||
# Update Nextcloud apps from latest git stable23
|
||||
# For local development environment
|
||||
# Use from Nextcloud server folder with `./build/update-apps.sh`
|
||||
#
|
||||
# It automatically:
|
||||
# - goes through all apps which are not shipped via server
|
||||
# - shows the app name in bold and uses whitespace for separation
|
||||
# - changes to master and pulls quietly
|
||||
# - changes to stable23 and pulls quietly
|
||||
# - shows the 3 most recent commits for context
|
||||
# - removes branches merged into master
|
||||
# - removes branches merged into stable23
|
||||
# - … could even do the build steps if they are consistent for the apps (like `make`)
|
||||
|
||||
find apps* -maxdepth 2 -name .git -exec sh -c 'cd {}/../ && printf "\n\033[1m${PWD##*/}\033[0m\n" && git checkout master && git pull --quiet -p && git --no-pager log -3 --pretty=format:"%h %Cblue%ar%x09%an %Creset%s" && printf "\n" && git branch --merged master | grep -v "master$" | xargs git branch -d && cd ..' \;
|
||||
find apps* -maxdepth 2 -name .git -exec sh -c 'cd {}/../ && printf "\n\033[1m${PWD##*/}\033[0m\n" && git checkout stable23 && git pull --quiet -p && git --no-pager log -3 --pretty=format:"%h %Cblue%ar%x09%an %Creset%s" && printf "\n" && git branch --merged stable23 | grep -v "stable23$" | xargs git branch -d && cd ..' \;
|
||||
|
||||
+3
-3
@@ -1,15 +1,15 @@
|
||||
#!/bin/bash
|
||||
# Update Nextcloud server and apps from latest git master
|
||||
# Update Nextcloud server and apps from latest git stable23
|
||||
# For local development environment
|
||||
# Use from Nextcloud server folder with `./build/update.sh`
|
||||
|
||||
# Update server
|
||||
printf "\n\033[1m${PWD##*/}\033[0m\n"
|
||||
git checkout master
|
||||
git checkout stable23
|
||||
git pull --quiet -p
|
||||
git --no-pager log -3 --pretty=format:"%h %Cblue%ar%x09%an %Creset%s"
|
||||
printf "\n"
|
||||
git branch --merged master | grep -v "master$" | xargs git branch -d
|
||||
git branch --merged stable23 | grep -v "stable23$" | xargs git branch -d
|
||||
git submodule update --init
|
||||
|
||||
# Update apps
|
||||
|
||||
@@ -98,6 +98,7 @@ class OCJSController extends Controller {
|
||||
|
||||
/**
|
||||
* @NoCSRFRequired
|
||||
* @NoTwoFactorRequired
|
||||
* @PublicPage
|
||||
*
|
||||
* @return DataDisplayResponse
|
||||
|
||||
@@ -83,6 +83,12 @@ class TwoFactorMiddleware extends Middleware {
|
||||
* @param string $methodName
|
||||
*/
|
||||
public function beforeController($controller, $methodName) {
|
||||
if ($this->reflector->hasAnnotation('NoTwoFactorRequired')) {
|
||||
// Route handler explicitly marked to work without finished 2FA are
|
||||
// not blocked
|
||||
return;
|
||||
}
|
||||
|
||||
if ($controller instanceof APIController && $methodName === 'poll') {
|
||||
// Allow polling the twofactor nextcloud notifications state
|
||||
return;
|
||||
|
||||
Vendored
+3
-3
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+3
-3
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -195,7 +195,7 @@ class AppManager implements IAppManager {
|
||||
if ($values[$appId] === 'yes' || $values[$appId] === 'no') {
|
||||
return [];
|
||||
}
|
||||
return json_decode($values[$appId]);
|
||||
return json_decode($values[$appId], true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -47,8 +47,8 @@ class CalendarQuery implements ICalendarQuery {
|
||||
/** @var int|null */
|
||||
private $limit;
|
||||
|
||||
/** @var array */
|
||||
private $calendarUris;
|
||||
/** @var string[] */
|
||||
private $calendarUris = [];
|
||||
|
||||
public function __construct(string $principalUri) {
|
||||
$this->principalUri = $principalUri;
|
||||
@@ -86,6 +86,9 @@ class CalendarQuery implements ICalendarQuery {
|
||||
$this->calendarUris[] = $calendarUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getCalendarUris(): array {
|
||||
return $this->calendarUris;
|
||||
}
|
||||
|
||||
@@ -189,15 +189,20 @@ class Connection extends \Doctrine\DBAL\Connection {
|
||||
* Prepares an SQL statement.
|
||||
*
|
||||
* @param string $statement The SQL statement to prepare.
|
||||
* @param int $limit
|
||||
* @param int $offset
|
||||
* @param int|null $limit
|
||||
* @param int|null $offset
|
||||
*
|
||||
* @return Statement The prepared statement.
|
||||
* @throws Exception
|
||||
*/
|
||||
public function prepare($statement, $limit = null, $offset = null): Statement {
|
||||
if ($limit === -1) {
|
||||
if ($limit === -1 || $limit === null) {
|
||||
$limit = null;
|
||||
} else {
|
||||
$limit = (int) $limit;
|
||||
}
|
||||
if ($offset !== null) {
|
||||
$offset = (int) $offset;
|
||||
}
|
||||
if (!is_null($limit)) {
|
||||
$platform = $this->getDatabasePlatform();
|
||||
|
||||
@@ -450,12 +450,12 @@ class QueryBuilder implements IQueryBuilder {
|
||||
/**
|
||||
* Sets the position of the first result to retrieve (the "offset").
|
||||
*
|
||||
* @param integer $firstResult The first result to return.
|
||||
* @param int $firstResult The first result to return.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
*/
|
||||
public function setFirstResult($firstResult) {
|
||||
$this->queryBuilder->setFirstResult($firstResult);
|
||||
$this->queryBuilder->setFirstResult((int) $firstResult);
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -477,12 +477,16 @@ class QueryBuilder implements IQueryBuilder {
|
||||
* of the databases will just return an empty result set, Oracle will return
|
||||
* all entries.
|
||||
*
|
||||
* @param integer $maxResults The maximum number of results to retrieve.
|
||||
* @param int|null $maxResults The maximum number of results to retrieve.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
*/
|
||||
public function setMaxResults($maxResults) {
|
||||
$this->queryBuilder->setMaxResults($maxResults);
|
||||
if ($maxResults === null) {
|
||||
$this->queryBuilder->setMaxResults($maxResults);
|
||||
} else {
|
||||
$this->queryBuilder->setMaxResults((int) $maxResults);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -530,7 +530,7 @@ class Setup {
|
||||
$content .= "\n Options -MultiViews";
|
||||
$content .= "\n RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]";
|
||||
$content .= "\n RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]";
|
||||
$content .= "\n RewriteCond %{REQUEST_FILENAME} !\\.(css|js|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4|mp3|ogg|wav)$";
|
||||
$content .= "\n RewriteCond %{REQUEST_FILENAME} !\\.(css|js|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4|mp3|ogg|wav|wasm|tflite)$";
|
||||
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/core/ajax/update\\.php";
|
||||
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/core/img/(favicon\\.ico|manifest\\.json)$";
|
||||
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/(cron|public|remote|status)\\.php";
|
||||
|
||||
@@ -32,7 +32,6 @@ namespace OC\Template;
|
||||
use OC\AppConfig;
|
||||
use OC\Files\AppData\Factory;
|
||||
use OC\Memcache\NullCache;
|
||||
use OCA\Theming\ThemingDefaults;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\Files\IAppData;
|
||||
use OCP\Files\NotFoundException;
|
||||
@@ -63,7 +62,7 @@ class SCSSCacher {
|
||||
/** @var IConfig */
|
||||
protected $config;
|
||||
|
||||
/** @var ThemingDefaults */
|
||||
/** @var \OC_Defaults */
|
||||
private $defaults;
|
||||
|
||||
/** @var string */
|
||||
@@ -97,7 +96,7 @@ class SCSSCacher {
|
||||
* @param Factory $appDataFactory
|
||||
* @param IURLGenerator $urlGenerator
|
||||
* @param IConfig $config
|
||||
* @param ThemingDefaults $defaults
|
||||
* @param \OC_Defaults $defaults
|
||||
* @param string $serverRoot
|
||||
* @param ICacheFactory $cacheFactory
|
||||
* @param IconsCacher $iconsCacher
|
||||
@@ -107,7 +106,7 @@ class SCSSCacher {
|
||||
Factory $appDataFactory,
|
||||
IURLGenerator $urlGenerator,
|
||||
IConfig $config,
|
||||
ThemingDefaults $defaults,
|
||||
\OC_Defaults $defaults,
|
||||
$serverRoot,
|
||||
ICacheFactory $cacheFactory,
|
||||
IconsCacher $iconsCacher,
|
||||
@@ -407,7 +406,7 @@ class SCSSCacher {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string SCSS code for variables from ThemingDefaults
|
||||
* @return string SCSS code for variables from OC_Defaults
|
||||
*/
|
||||
private function getInjectedVariables(string $cache = ''): string {
|
||||
if ($this->injectedVariables !== null) {
|
||||
|
||||
@@ -418,7 +418,7 @@ class Updater extends BasicEmitter {
|
||||
|
||||
if (!empty($previousEnableStates)) {
|
||||
$ocApp = new \OC_App();
|
||||
if (!empty($previousEnableStates[$app])) {
|
||||
if (!empty($previousEnableStates[$app]) && is_array($previousEnableStates[$app])) {
|
||||
$ocApp->enable($app, $previousEnableStates[$app]);
|
||||
} else {
|
||||
$ocApp->enable($app);
|
||||
|
||||
@@ -750,6 +750,7 @@ class Session implements IUserSession, Emitter {
|
||||
}
|
||||
|
||||
$dbToken->setLastCheck($now);
|
||||
$this->tokenProvider->updateToken($dbToken);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -767,6 +768,7 @@ class Session implements IUserSession, Emitter {
|
||||
}
|
||||
|
||||
$dbToken->setLastCheck($now);
|
||||
$this->tokenProvider->updateToken($dbToken);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1239,22 +1239,38 @@ class OC_Util {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the setlocal call does not work. This can happen if the right
|
||||
* Check if current locale is non-UTF8
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private static function isNonUTF8Locale() {
|
||||
if (function_exists('escapeshellcmd')) {
|
||||
return '' === escapeshellcmd('§');
|
||||
} elseif (function_exists('escapeshellarg')) {
|
||||
return '\'\'' === escapeshellarg('§');
|
||||
} else {
|
||||
return 0 === preg_match('/utf-?8/i', setlocale(LC_CTYPE, 0));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the setlocale call does not work. This can happen if the right
|
||||
* local packages are not available on the server.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function isSetLocaleWorking() {
|
||||
if ('' === basename('§')) {
|
||||
if (self::isNonUTF8Locale()) {
|
||||
// Borrowed from \Patchwork\Utf8\Bootup::initLocale
|
||||
setlocale(LC_ALL, 'C.UTF-8', 'C');
|
||||
setlocale(LC_CTYPE, 'en_US.UTF-8', 'fr_FR.UTF-8', 'es_ES.UTF-8', 'de_DE.UTF-8', 'ru_RU.UTF-8', 'pt_BR.UTF-8', 'it_IT.UTF-8', 'ja_JP.UTF-8', 'zh_CN.UTF-8', '0');
|
||||
|
||||
// Check again
|
||||
if (self::isNonUTF8Locale()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Check again
|
||||
if ('' === basename('§')) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,11 @@ interface ICalendarQuery {
|
||||
/**
|
||||
* Define the property name(s) to search for
|
||||
*
|
||||
* Note: Nextcloud only indexes *some* properties. You can not search for
|
||||
* arbitrary properties.
|
||||
*
|
||||
* @param string $value one of CATEGORIES, COMMENT, DESCRIPTION, LOCATION, RESOURCES, STATUS, SUMMARY, ATTENDEE, CONTACT or ORGANIZER
|
||||
*
|
||||
* @since 23.0.0
|
||||
*/
|
||||
public function addSearchProperty(string $value): void;
|
||||
|
||||
@@ -280,7 +280,7 @@ interface IQueryBuilder {
|
||||
/**
|
||||
* Sets the position of the first result to retrieve (the "offset").
|
||||
*
|
||||
* @param integer $firstResult The first result to return.
|
||||
* @param int $firstResult The first result to return.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
* @since 8.2.0
|
||||
@@ -299,7 +299,7 @@ interface IQueryBuilder {
|
||||
/**
|
||||
* Sets the maximum number of results to retrieve (the "limit").
|
||||
*
|
||||
* @param integer $maxResults The maximum number of results to retrieve.
|
||||
* @param int|null $maxResults The maximum number of results to retrieve.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
* @since 8.2.0
|
||||
|
||||
@@ -86,8 +86,8 @@ interface IDBConnection {
|
||||
/**
|
||||
* Used to abstract the ownCloud database access away
|
||||
* @param string $sql the sql query with ? placeholder for params
|
||||
* @param int $limit the maximum number of rows
|
||||
* @param int $offset from which row we want to start
|
||||
* @param int|null $limit the maximum number of rows
|
||||
* @param int|null $offset from which row we want to start
|
||||
* @return IPreparedStatement The prepared statement.
|
||||
* @since 6.0.0
|
||||
* @throws Exception since 21.0.0
|
||||
|
||||
Generated
+21
-21
@@ -29,7 +29,7 @@
|
||||
"autosize": "^5.0.1",
|
||||
"backbone": "^1.4.0",
|
||||
"blueimp-md5": "^2.19.0",
|
||||
"bootstrap": "^4.6.0",
|
||||
"bootstrap": "^4.6.1",
|
||||
"camelcase": "^6.2.0",
|
||||
"clipboard": "^2.0.8",
|
||||
"core-js": "^3.19.1",
|
||||
@@ -47,9 +47,9 @@
|
||||
"jquery-ui-dist": "^1.12.1",
|
||||
"jstimezonedetect": "^1.0.7",
|
||||
"lodash": "^4.17.21",
|
||||
"marked": "^3.0.7",
|
||||
"marked": "^3.0.8",
|
||||
"moment": "^2.29.1",
|
||||
"moment-timezone": "^0.5.33",
|
||||
"moment-timezone": "^0.5.34",
|
||||
"nextcloud-vue-collections": "^0.9.0",
|
||||
"p-limit": "^4.0.0",
|
||||
"p-queue": "^7.1.0",
|
||||
@@ -9209,9 +9209,9 @@
|
||||
"integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ=="
|
||||
},
|
||||
"node_modules/bootstrap": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
|
||||
"integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz",
|
||||
"integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/bootstrap"
|
||||
@@ -17716,9 +17716,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/marked": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-3.0.7.tgz",
|
||||
"integrity": "sha512-ctKqbnLuNbsHbI26cfMyOlKgXGfl1orOv1AvWWDX7AkgfMOwCWvmuYc+mVLeWhQ9W6hdWVBynOs96VkcscKo0Q==",
|
||||
"version": "3.0.8",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz",
|
||||
"integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==",
|
||||
"bin": {
|
||||
"marked": "bin/marked"
|
||||
},
|
||||
@@ -18351,9 +18351,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/moment-timezone": {
|
||||
"version": "0.5.33",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz",
|
||||
"integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==",
|
||||
"version": "0.5.34",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
|
||||
"integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
|
||||
"dependencies": {
|
||||
"moment": ">= 2.9.0"
|
||||
},
|
||||
@@ -31085,9 +31085,9 @@
|
||||
"integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ=="
|
||||
},
|
||||
"bootstrap": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
|
||||
"integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz",
|
||||
"integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==",
|
||||
"requires": {}
|
||||
},
|
||||
"brace-expansion": {
|
||||
@@ -37614,9 +37614,9 @@
|
||||
}
|
||||
},
|
||||
"marked": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-3.0.7.tgz",
|
||||
"integrity": "sha512-ctKqbnLuNbsHbI26cfMyOlKgXGfl1orOv1AvWWDX7AkgfMOwCWvmuYc+mVLeWhQ9W6hdWVBynOs96VkcscKo0Q=="
|
||||
"version": "3.0.8",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz",
|
||||
"integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw=="
|
||||
},
|
||||
"material-colors": {
|
||||
"version": "1.2.6",
|
||||
@@ -38112,9 +38112,9 @@
|
||||
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
|
||||
},
|
||||
"moment-timezone": {
|
||||
"version": "0.5.33",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz",
|
||||
"integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==",
|
||||
"version": "0.5.34",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
|
||||
"integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
|
||||
"requires": {
|
||||
"moment": ">= 2.9.0"
|
||||
}
|
||||
|
||||
+3
-3
@@ -45,7 +45,7 @@
|
||||
"autosize": "^5.0.1",
|
||||
"backbone": "^1.4.0",
|
||||
"blueimp-md5": "^2.19.0",
|
||||
"bootstrap": "^4.6.0",
|
||||
"bootstrap": "^4.6.1",
|
||||
"camelcase": "^6.2.0",
|
||||
"clipboard": "^2.0.8",
|
||||
"core-js": "^3.19.1",
|
||||
@@ -63,9 +63,9 @@
|
||||
"jquery-ui-dist": "^1.12.1",
|
||||
"jstimezonedetect": "^1.0.7",
|
||||
"lodash": "^4.17.21",
|
||||
"marked": "^3.0.7",
|
||||
"marked": "^3.0.8",
|
||||
"moment": "^2.29.1",
|
||||
"moment-timezone": "^0.5.33",
|
||||
"moment-timezone": "^0.5.34",
|
||||
"nextcloud-vue-collections": "^0.9.0",
|
||||
"p-limit": "^4.0.0",
|
||||
"p-queue": "^7.1.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
##
|
||||
## Bundle of CA Root Certificates
|
||||
##
|
||||
## Certificate data from Mozilla as of: Thu Sep 30 03:12:05 2021 GMT
|
||||
## Certificate data from Mozilla as of: Tue Oct 26 03:12:05 2021 GMT
|
||||
##
|
||||
## This is a bundle of X.509 certificates of public Certificate Authorities
|
||||
## (CA). These were automatically extracted from Mozilla's root certificates
|
||||
@@ -14,7 +14,7 @@
|
||||
## Just configure this file as the SSLCACertificateFile.
|
||||
##
|
||||
## Conversion done with mk-ca-bundle.pl version 1.28.
|
||||
## SHA256: c8f6733d1ff4e6a4769c182971a1234f95ae079247a9c439a13423fe8ba5c24f
|
||||
## SHA256: bb36818a81feaa4cca61101e6d6276cd09e972efcb08112dfed846918ca41d7f
|
||||
##
|
||||
|
||||
|
||||
@@ -3152,3 +3152,81 @@ WWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7DP78v3DSk+yshzWePS/Tj
|
||||
OPQD8rv7gmsHINFSH5pkAnuYZttcTVoP0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZck
|
||||
bxJF0WddCajJFdr60qZfE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
TunTrust Root CA
|
||||
================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG
|
||||
A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj
|
||||
dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw
|
||||
NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD
|
||||
ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw
|
||||
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz
|
||||
2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b
|
||||
bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7
|
||||
NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd
|
||||
gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW
|
||||
VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f
|
||||
Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ
|
||||
juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas
|
||||
DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS
|
||||
VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI
|
||||
04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0
|
||||
90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl
|
||||
0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd
|
||||
Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY
|
||||
YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp
|
||||
adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x
|
||||
xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP
|
||||
jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM
|
||||
MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z
|
||||
ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r
|
||||
AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
HARICA TLS RSA Root CA 2021
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
kf3/W9b3raYvAwtt41dU63ZTGI0RmLo=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
HARICA TLS ECC Root CA 2021
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH
|
||||
UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD
|
||||
QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX
|
||||
DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj
|
||||
IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv
|
||||
b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l
|
||||
AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b
|
||||
ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW
|
||||
0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi
|
||||
rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw
|
||||
CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -64,7 +64,7 @@ if [ "$1" = "--acceptance-tests-dir" ]; then
|
||||
fi
|
||||
|
||||
ACCEPTANCE_TESTS_CONFIG_DIR="../../$ACCEPTANCE_TESTS_DIR/config"
|
||||
DEV_BRANCH="master"
|
||||
DEV_BRANCH="stable23"
|
||||
|
||||
# "--timeout-multiplier N" option can be provided to set the timeout multiplier
|
||||
# to be used in ActorContext.
|
||||
|
||||
@@ -1264,7 +1264,7 @@ class SessionTest extends \Test\TestCase {
|
||||
$mapper->expects($this->any())
|
||||
->method('getToken')
|
||||
->willReturn($token);
|
||||
$mapper->expects($this->once())
|
||||
$mapper->expects($this->exactly(2))
|
||||
->method('update');
|
||||
$request
|
||||
->expects($this->any())
|
||||
@@ -1314,7 +1314,7 @@ class SessionTest extends \Test\TestCase {
|
||||
$mapper->expects($this->any())
|
||||
->method('getToken')
|
||||
->willReturn($token);
|
||||
$mapper->expects($this->never())
|
||||
$mapper->expects($this->once())
|
||||
->method('update');
|
||||
$request
|
||||
->expects($this->any())
|
||||
|
||||
@@ -74,6 +74,18 @@ class UtilTest extends \Test\TestCase {
|
||||
$this->assertEquals("/%C2%A7%23%40test%25%26%5E%C3%A4/-child", $result);
|
||||
}
|
||||
|
||||
public function testIsNonUTF8Locale() {
|
||||
// OC_Util::isNonUTF8Locale() assumes escapeshellcmd('§') returns '' with non-UTF-8 locale.
|
||||
$locale = setlocale(LC_CTYPE, 0);
|
||||
setlocale(LC_CTYPE, 'C');
|
||||
$this->assertEquals('', escapeshellcmd('§'));
|
||||
$this->assertEquals('\'\'', escapeshellarg('§'));
|
||||
setlocale(LC_CTYPE, 'C.UTF-8');
|
||||
$this->assertEquals('§', escapeshellcmd('§'));
|
||||
$this->assertEquals('\'§\'', escapeshellarg('§'));
|
||||
setlocale(LC_CTYPE, $locale);
|
||||
}
|
||||
|
||||
public function testFileInfoLoaded() {
|
||||
$expected = function_exists('finfo_open');
|
||||
$this->assertEquals($expected, \OC_Util::fileInfoLoaded());
|
||||
|
||||
+2
-2
@@ -30,10 +30,10 @@
|
||||
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
|
||||
// when updating major/minor version number.
|
||||
|
||||
$OC_Version = [23, 0, 0, 7];
|
||||
$OC_Version = [23, 0, 0, 9];
|
||||
|
||||
// The human readable string
|
||||
$OC_VersionString = '23.0.0 RC1';
|
||||
$OC_VersionString = '23.0.0 RC3';
|
||||
|
||||
$OC_VersionCanBeUpgradedFrom = [
|
||||
'nextcloud' => [
|
||||
|
||||
Reference in New Issue
Block a user