Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80e442e396 | ||
|
|
489ad375bd | ||
|
|
c420196e73 | ||
|
|
cc6d8d5f8b | ||
|
|
24f47bc58b | ||
|
|
c769c074e0 | ||
|
|
2ecb8eb034 | ||
|
|
6827c100c3 | ||
|
|
c402acd1bd | ||
|
|
c4ec2509fa |
@@ -180,7 +180,9 @@ return [
|
|||||||
'letsencrypt' => 'Let\'s Encrypt (Live)',
|
'letsencrypt' => 'Let\'s Encrypt (Live)',
|
||||||
'buypass_test' => 'Buypass (Test / Staging)',
|
'buypass_test' => 'Buypass (Test / Staging)',
|
||||||
'buypass' => 'Buypass (Live)',
|
'buypass' => 'Buypass (Live)',
|
||||||
'zerossl' => 'ZeroSSL (Live)'
|
'zerossl' => 'ZeroSSL (Live)',
|
||||||
|
'google' => 'Google (Live)',
|
||||||
|
'google_test' => 'Google (Test / Staging)',
|
||||||
],
|
],
|
||||||
'save_method' => 'storeSettingField'
|
'save_method' => 'storeSettingField'
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -59,7 +59,6 @@ if ($page == 'overview' || $page == 'domains') {
|
|||||||
$domain_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.domains.php';
|
$domain_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.domains.php';
|
||||||
$collection = (new Collection(SubDomains::class, $userinfo))
|
$collection = (new Collection(SubDomains::class, $userinfo))
|
||||||
->withPagination($domain_list_data['domain_list']['columns'], $domain_list_data['domain_list']['default_sorting']);
|
->withPagination($domain_list_data['domain_list']['columns'], $domain_list_data['domain_list']['default_sorting']);
|
||||||
$parentDomainCollection = (new Collection(SubDomains::class, $userinfo, ['sql_search' => ['d.parentdomainid' => 0]]));
|
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
Response::dynamicError($e->getMessage());
|
Response::dynamicError($e->getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -696,7 +696,7 @@ opcache.validate_timestamps'),
|
|||||||
('system', 'distribution', ''),
|
('system', 'distribution', ''),
|
||||||
('system', 'update_channel', 'stable'),
|
('system', 'update_channel', 'stable'),
|
||||||
('system', 'updatecheck_data', ''),
|
('system', 'updatecheck_data', ''),
|
||||||
('system', 'update_notify_last', '2.0.5'),
|
('system', 'update_notify_last', '2.0.7'),
|
||||||
('system', 'traffictool', 'goaccess'),
|
('system', 'traffictool', 'goaccess'),
|
||||||
('api', 'enabled', '0'),
|
('api', 'enabled', '0'),
|
||||||
('2fa', 'enabled', '1'),
|
('2fa', 'enabled', '1'),
|
||||||
@@ -740,7 +740,7 @@ opcache.validate_timestamps'),
|
|||||||
('panel', 'logo_overridetheme', '0'),
|
('panel', 'logo_overridetheme', '0'),
|
||||||
('panel', 'logo_overridecustom', '0'),
|
('panel', 'logo_overridecustom', '0'),
|
||||||
('panel', 'settings_mode', '0'),
|
('panel', 'settings_mode', '0'),
|
||||||
('panel', 'version', '2.0.5'),
|
('panel', 'version', '2.0.7'),
|
||||||
('panel', 'db_version', '202212060');
|
('panel', 'db_version', '202212060');
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -183,10 +183,10 @@ if (Froxlor::isFroxlorVersion('0.10.38.3')) {
|
|||||||
Update::lastStepStatus(0);
|
Update::lastStepStatus(0);
|
||||||
|
|
||||||
Update::showUpdateStep("Updating email account password-hashes");
|
Update::showUpdateStep("Updating email account password-hashes");
|
||||||
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password` = REPLACE(`password`, '$1$', '{MD5-CRYPT}$1$') WHERE SUBSTRING(`password`, 1, 3) = '$1$'");
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$1$', '{MD5-CRYPT}$1$') WHERE SUBSTRING(`password_enc`, 1, 3) = '$1$'");
|
||||||
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password` = REPLACE(`password`, '$5$', '{SHA256-CRYPT}$5$') WHERE SUBSTRING(`password`, 1, 3) = '$5$'");
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$5$', '{SHA256-CRYPT}$5$') WHERE SUBSTRING(`password_enc`, 1, 3) = '$5$'");
|
||||||
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password` = REPLACE(`password`, '$6$', '{SHA512-CRYPT}$6$') WHERE SUBSTRING(`password`, 1, 3) = '$6$'");
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$6$', '{SHA512-CRYPT}$6$') WHERE SUBSTRING(`password_enc`, 1, 3) = '$6$'");
|
||||||
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password` = REPLACE(`password`, '$2y$', '{BLF-CRYPT}$2y$') WHERE SUBSTRING(`password`, 1, 4) = '$2y$'");
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$2y$', '{BLF-CRYPT}$2y$') WHERE SUBSTRING(`password_enc`, 1, 4) = '$2y$'");
|
||||||
Update::lastStepStatus(0);
|
Update::lastStepStatus(0);
|
||||||
|
|
||||||
Froxlor::updateToVersion($update_to);
|
Froxlor::updateToVersion($update_to);
|
||||||
@@ -278,3 +278,26 @@ if (Froxlor::isFroxlorVersion('2.0.4')) {
|
|||||||
Update::showUpdateStep("Updating from 2.0.4 to 2.0.5", false);
|
Update::showUpdateStep("Updating from 2.0.4 to 2.0.5", false);
|
||||||
Froxlor::updateToVersion('2.0.5');
|
Froxlor::updateToVersion('2.0.5');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Froxlor::isFroxlorVersion('2.0.5')) {
|
||||||
|
Update::showUpdateStep("Updating from 2.0.5 to 2.0.6", false);
|
||||||
|
|
||||||
|
Update::showUpdateStep("Updating possible missing email account password-hashes");
|
||||||
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$1$', '{MD5-CRYPT}$1$') WHERE SUBSTRING(`password_enc`, 1, 3) = '$1$'");
|
||||||
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$5$', '{SHA256-CRYPT}$5$') WHERE SUBSTRING(`password_enc`, 1, 3) = '$5$'");
|
||||||
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$6$', '{SHA512-CRYPT}$6$') WHERE SUBSTRING(`password_enc`, 1, 3) = '$6$'");
|
||||||
|
Database::query("UPDATE `" . TABLE_MAIL_USERS . "` SET `password_enc` = REPLACE(`password_enc`, '$2y$', '{BLF-CRYPT}$2y$') WHERE SUBSTRING(`password_enc`, 1, 4) = '$2y$'");
|
||||||
|
Update::lastStepStatus(0);
|
||||||
|
|
||||||
|
Froxlor::updateToVersion('2.0.6');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Froxlor::isFroxlorVersion('2.0.6')) {
|
||||||
|
Update::showUpdateStep("Updating from 2.0.6 to 2.0.7", false);
|
||||||
|
|
||||||
|
Update::showUpdateStep("Correcting allowed_mysqlserver for customers");
|
||||||
|
Database::query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `allowed_mysqlserver` = '[0]' WHERE `allowed_mysqlserver` = ''");
|
||||||
|
Update::lastStepStatus(0);
|
||||||
|
|
||||||
|
Froxlor::updateToVersion('2.0.7');
|
||||||
|
}
|
||||||
|
|||||||
@@ -701,11 +701,13 @@ class SubDomains extends ApiCommand implements ResourceEntity
|
|||||||
$wwwserveralias = ($selectserveralias == '1') ? '1' : '0';
|
$wwwserveralias = ($selectserveralias == '1') ? '1' : '0';
|
||||||
|
|
||||||
// if allowed, check for 'is email domain'-flag
|
// if allowed, check for 'is email domain'-flag
|
||||||
if ($result['parentdomainid'] != '0' && ($result['subcanemaildomain'] == '1' || $result['subcanemaildomain'] == '2') && $isemaildomain != $result['isemaildomain']) {
|
if ($isemaildomain != $result['isemaildomain']) {
|
||||||
|
if ($result['parentdomainid'] != '0' && ($result['subcanemaildomain'] == '1' || $result['subcanemaildomain'] == '2')) {
|
||||||
$isemaildomain = intval($isemaildomain);
|
$isemaildomain = intval($isemaildomain);
|
||||||
} elseif ($result['parentdomainid'] != '0') {
|
} elseif ($result['parentdomainid'] != '0') {
|
||||||
$isemaildomain = $result['subcanemaildomain'] == '3' ? 1 : 0;
|
$isemaildomain = $result['subcanemaildomain'] == '3' ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// check changes of openbasedir-path variable
|
// check changes of openbasedir-path variable
|
||||||
if ($openbasedir_path > 2 && $openbasedir_path < 0) {
|
if ($openbasedir_path > 2 && $openbasedir_path < 0) {
|
||||||
|
|||||||
@@ -46,7 +46,9 @@ class AcmeSh extends FroxlorCron
|
|||||||
'letsencrypt_test' => "https://acme-staging-v02.api.letsencrypt.org/directory",
|
'letsencrypt_test' => "https://acme-staging-v02.api.letsencrypt.org/directory",
|
||||||
'buypass' => "https://api.buypass.com/acme/directory",
|
'buypass' => "https://api.buypass.com/acme/directory",
|
||||||
'buypass_test' => "https://api.test4.buypass.no/acme/directory",
|
'buypass_test' => "https://api.test4.buypass.no/acme/directory",
|
||||||
'zerossl' => "https://acme.zerossl.com/v2/DV90"
|
'zerossl' => "https://acme.zerossl.com/v2/DV90",
|
||||||
|
'google' => "https://dv.acme-v02.api.pki.goog/directory",
|
||||||
|
'google_test' => "https://dv.acme-v02.test-api.pki.goog/directory",
|
||||||
];
|
];
|
||||||
public static $no_inserttask = false;
|
public static $no_inserttask = false;
|
||||||
private static $apiserver = "";
|
private static $apiserver = "";
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ namespace Froxlor\Database;
|
|||||||
use Exception;
|
use Exception;
|
||||||
use Froxlor\FileDir;
|
use Froxlor\FileDir;
|
||||||
use Froxlor\Froxlor;
|
use Froxlor\Froxlor;
|
||||||
|
use Froxlor\PhpHelper;
|
||||||
use Froxlor\Settings;
|
use Froxlor\Settings;
|
||||||
use Froxlor\UI\Panel\UI;
|
use Froxlor\UI\Panel\UI;
|
||||||
use PDO;
|
use PDO;
|
||||||
@@ -137,7 +138,7 @@ class Database
|
|||||||
require Froxlor::getInstallDir() . "/lib/userdata.inc.php";
|
require Froxlor::getInstallDir() . "/lib/userdata.inc.php";
|
||||||
|
|
||||||
// le format
|
// le format
|
||||||
if (isset($sql['root_user']) && isset($sql['root_password']) && !is_array($sql_root)) {
|
if (isset($sql['root_user']) && isset($sql['root_password']) && empty($sql_root)) {
|
||||||
$sql_root = [
|
$sql_root = [
|
||||||
0 => [
|
0 => [
|
||||||
'caption' => 'Default',
|
'caption' => 'Default',
|
||||||
@@ -147,12 +148,20 @@ class Database
|
|||||||
'password' => $sql['root_password']
|
'password' => $sql['root_password']
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
unset($sql['root_user']);
|
||||||
|
unset($sql['root_password']);
|
||||||
|
// write new layout so this won't happen again
|
||||||
|
self::generateNewUserData($sql, $sql_root);
|
||||||
|
// re-read file
|
||||||
|
require Froxlor::getInstallDir() . "/lib/userdata.inc.php";
|
||||||
}
|
}
|
||||||
|
|
||||||
$substitutions = [
|
$substitutions = [
|
||||||
$sql['password'] => 'DB_UNPRIV_PWD',
|
$sql['password'] => 'DB_UNPRIV_PWD',
|
||||||
$sql_root[0]['password'] => 'DB_ROOT_PWD'
|
|
||||||
];
|
];
|
||||||
|
foreach ($sql_root as $dbserver => $sql_root_data) {
|
||||||
|
$substitutions[$sql_root_data[$dbserver]]['password'] = 'DB_ROOT_PWD';
|
||||||
|
}
|
||||||
|
|
||||||
// hide username/password in messages
|
// hide username/password in messages
|
||||||
$error_message = $error->getMessage();
|
$error_message = $error->getMessage();
|
||||||
@@ -408,7 +417,7 @@ class Database
|
|||||||
require Froxlor::getInstallDir() . "/lib/userdata.inc.php";
|
require Froxlor::getInstallDir() . "/lib/userdata.inc.php";
|
||||||
|
|
||||||
// le format
|
// le format
|
||||||
if (self::$needroot == true && isset($sql['root_user']) && isset($sql['root_password']) && (!isset($sql_root) || !is_array($sql_root))) {
|
if (isset($sql['root_user']) && isset($sql['root_password']) && (!isset($sql_root) || !is_array($sql_root))) {
|
||||||
$sql_root = [
|
$sql_root = [
|
||||||
0 => [
|
0 => [
|
||||||
'caption' => 'Default',
|
'caption' => 'Default',
|
||||||
@@ -420,6 +429,10 @@ class Database
|
|||||||
];
|
];
|
||||||
unset($sql['root_user']);
|
unset($sql['root_user']);
|
||||||
unset($sql['root_password']);
|
unset($sql['root_password']);
|
||||||
|
// write new layout so this won't happen again
|
||||||
|
self::generateNewUserData($sql, $sql_root);
|
||||||
|
// re-read file
|
||||||
|
require Froxlor::getInstallDir() . "/lib/userdata.inc.php";
|
||||||
}
|
}
|
||||||
|
|
||||||
// either root or unprivileged user
|
// either root or unprivileged user
|
||||||
@@ -582,4 +595,22 @@ class Database
|
|||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* write new userdata.inc.php file
|
||||||
|
*/
|
||||||
|
private static function generateNewUserData(array $sql, array $sql_root)
|
||||||
|
{
|
||||||
|
$content = PhpHelper::parseArrayToPhpFile(
|
||||||
|
['sql' => $sql, 'sql_root' => $sql_root],
|
||||||
|
'automatically generated userdata.inc.php for froxlor'
|
||||||
|
);
|
||||||
|
chmod(Froxlor::getInstallDir() . "/lib/userdata.inc.php", 0700);
|
||||||
|
file_put_contents(Froxlor::getInstallDir() . "/lib/userdata.inc.php", $content);
|
||||||
|
chmod(Froxlor::getInstallDir() . "/lib/userdata.inc.php", 0400);
|
||||||
|
clearstatcache();
|
||||||
|
if (function_exists('opcache_invalidate')) {
|
||||||
|
@opcache_invalidate(Froxlor::getInstallDir() . "/lib/userdata.inc.php", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ final class Froxlor
|
|||||||
{
|
{
|
||||||
|
|
||||||
// Main version variable
|
// Main version variable
|
||||||
const VERSION = '2.0.5';
|
const VERSION = '2.0.7';
|
||||||
|
|
||||||
// Database version (YYYYMMDDC where C is a daily counter)
|
// Database version (YYYYMMDDC where C is a daily counter)
|
||||||
const DBVERSION = '202212060';
|
const DBVERSION = '202212060';
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ class UI
|
|||||||
session_set_cookie_params([
|
session_set_cookie_params([
|
||||||
'lifetime' => self::$install_mode ? 7200 : 600, // will be renewed based on settings in lib/init.php
|
'lifetime' => self::$install_mode ? 7200 : 600, // will be renewed based on settings in lib/init.php
|
||||||
'path' => '/',
|
'path' => '/',
|
||||||
'domain' => $_SERVER['HTTP_HOST'],
|
'domain' => $_SERVER['SERVER_NAME'],
|
||||||
'secure' => self::requestIsHttps(),
|
'secure' => self::requestIsHttps(),
|
||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'samesite' => 'Strict'
|
'samesite' => 'Strict'
|
||||||
@@ -260,8 +260,17 @@ class UI
|
|||||||
*/
|
*/
|
||||||
public static function twigBuffer($name, array $context = [])
|
public static function twigBuffer($name, array $context = [])
|
||||||
{
|
{
|
||||||
|
$template_file = self::getTheme() . '/' . $name;
|
||||||
|
if (!file_exists(Froxlor::getInstallDir() . '/templates/' . $template_file)) {
|
||||||
|
PhpHelper::phpErrHandler(E_USER_WARNING, "Template '" . $template_file . "' could not be found, trying fallback theme", __FILE__, __LINE__);
|
||||||
|
$template_file = self::$default_theme . '/'. $name;
|
||||||
|
if (!file_exists(Froxlor::getInstallDir() . '/templates/' . $template_file)) {
|
||||||
|
PhpHelper::phpErrHandler(E_USER_ERROR, "Unknown template '" . $template_file . "'", __FILE__, __LINE__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self::$twigbuf[] = [
|
self::$twigbuf[] = [
|
||||||
self::getTheme() . '/' . $name => $context
|
$template_file => $context
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4678,7 +4678,7 @@ aliases: files
|
|||||||
<command><![CDATA[mkdir -p {{settings.system.mod_fcgid_configdir}}]]></command>
|
<command><![CDATA[mkdir -p {{settings.system.mod_fcgid_configdir}}]]></command>
|
||||||
<command><![CDATA[mkdir -p {{settings.system.mod_fcgid_tmpdir}}]]></command>
|
<command><![CDATA[mkdir -p {{settings.system.mod_fcgid_tmpdir}}]]></command>
|
||||||
<command><![CDATA[chmod 1777 {{settings.system.mod_fcgid_tmpdir}}]]></command>
|
<command><![CDATA[chmod 1777 {{settings.system.mod_fcgid_tmpdir}}]]></command>
|
||||||
<command><![CDATA[a2dismod php7.2]]></command>
|
<command><![CDATA[a2dismod php7.4]]></command>
|
||||||
</commands>
|
</commands>
|
||||||
<!-- instead of just restarting apache, we let the cronjob do all the
|
<!-- instead of just restarting apache, we let the cronjob do all the
|
||||||
dirty work -->
|
dirty work -->
|
||||||
@@ -4711,7 +4711,7 @@ aliases: files
|
|||||||
</visibility>
|
</visibility>
|
||||||
<visibility mode="true">{{settings.phpfpm.enabled_ownvhost}}
|
<visibility mode="true">{{settings.phpfpm.enabled_ownvhost}}
|
||||||
</visibility>
|
</visibility>
|
||||||
<command><![CDATA[a2dismod php7.2]]></command>
|
<command><![CDATA[a2dismod php7.4]]></command>
|
||||||
</commands>
|
</commands>
|
||||||
<!-- instead of just restarting apache, we let the cronjob do all the
|
<!-- instead of just restarting apache, we let the cronjob do all the
|
||||||
dirty work -->
|
dirty work -->
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ if (CurrentUser::hasSession()) {
|
|||||||
$cookie_params = [
|
$cookie_params = [
|
||||||
'expires' => time() + Settings::Get('session.sessiontimeout'),
|
'expires' => time() + Settings::Get('session.sessiontimeout'),
|
||||||
'path' => '/',
|
'path' => '/',
|
||||||
'domain' => $_SERVER['HTTP_HOST'],
|
'domain' => $_SERVER['SERVER_NAME'],
|
||||||
'secure' => UI::requestIsHttps(),
|
'secure' => UI::requestIsHttps(),
|
||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'samesite' => 'Strict'
|
'samesite' => 'Strict'
|
||||||
|
|||||||
36
package-lock.json
generated
36
package-lock.json
generated
@@ -5103,9 +5103,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/img-loader/node_modules/json5": {
|
"node_modules/img-loader/node_modules/json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
@@ -5437,9 +5437,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/json5": {
|
"node_modules/json5": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"json5": "lib/cli.js"
|
"json5": "lib/cli.js"
|
||||||
@@ -8448,9 +8448,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue-style-loader/node_modules/json5": {
|
"node_modules/vue-style-loader/node_modules/json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
@@ -12919,9 +12919,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
@@ -13165,9 +13165,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"jsonfile": {
|
"jsonfile": {
|
||||||
@@ -15379,9 +15379,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user