diff --git a/ecrire/base/objets.php b/ecrire/base/objets.php index 8c10d8709dcf0cf26fab031b403c89d3e487b147..9a8d59f44ed484c7af57d8129ce9318b8bbb4d64 100644 --- a/ecrire/base/objets.php +++ b/ecrire/base/objets.php @@ -249,7 +249,8 @@ function lister_tables_objets_sql(?string $table_sql = null, $desc = []) { 'cookie_oubli' => 'tinytext', 'source' => "VARCHAR(10) DEFAULT 'spip' NOT NULL", 'lang' => "VARCHAR(10) DEFAULT '' NOT NULL", - 'imessage' => "VARCHAR(3) DEFAULT '' NOT NULL" + 'imessage' => "VARCHAR(3) DEFAULT '' NOT NULL", + 'backup_cles' => "mediumtext DEFAULT '' NOT NULL", ], 'key' => [ 'PRIMARY KEY' => 'id_auteur', diff --git a/ecrire/inc/securiser_action.php b/ecrire/inc/securiser_action.php index 8450f9b4bfced79c8f1156634e416c29f54b0928..43717ac1cdeb5722f2e341c59d1260185e33ad59 100644 --- a/ecrire/inc/securiser_action.php +++ b/ecrire/inc/securiser_action.php @@ -298,29 +298,11 @@ function verifier_action_auteur($action, $hash) { * @return string */ function secret_du_site() { - if (!isset($GLOBALS['meta']['secret_du_site'])) { - include_spip('base/abstract_sql'); - $GLOBALS['meta']['secret_du_site'] = sql_getfetsel('valeur', 'spip_meta', "nom='secret_du_site'"); - } - if ( - !isset($GLOBALS['meta']['secret_du_site']) - or (strlen($GLOBALS['meta']['secret_du_site']) < 64) - ) { - include_spip('inc/acces'); - include_spip('auth/sha256.inc'); - ecrire_meta( - 'secret_du_site', - spip_sha256( - $_SERVER['DOCUMENT_ROOT'] - . ($_SERVER['SERVER_SIGNATURE'] ?? '') - . creer_uniqid() - ), - 'non' - ); - lire_metas(); // au cas ou ecrire_meta() ne fonctionne pas - } + include_spip('inc/chiffrer'); + $cles = Spip\Core\Chiffrer\SpipCles::instance(); + $secret = $cles->getSecretSite(); - return $GLOBALS['meta']['secret_du_site']; + return $secret; } /** diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index b365763a6035d76fb699bf4d49a80fa7c3e650dd..17541fd7dc94a8718088f22fcf5f772d3cea4465 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -452,7 +452,7 @@ define('_DEV_VERSION_SPIP_COMPAT', '4.0.99'); // (= date de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes) $spip_version_code = 2022_01_16; // version de la base SQL (= Date + numero incremental a 2 chiffres YYYYMMDDXX) -$spip_version_base = 2021_02_18_00; +$spip_version_base = 2022_02_23_02; // version de l'interface a la base $spip_sql_version = 1; diff --git a/ecrire/maj/2021.php b/ecrire/maj/2021.php index 0519a4083a5ebb8ef05110dce4c0c0147f4504c0..272074aca90d9de8e7b1fc2ca5b12c0c43ee3674 100644 --- a/ecrire/maj/2021.php +++ b/ecrire/maj/2021.php @@ -26,3 +26,8 @@ $GLOBALS['maj'][2021_02_18_00] = [ ['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ], ['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ], ]; + +$GLOBALS['maj'][2022_02_23_02] = [ + ['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ], + ['sql_delete', "spip_meta","nom='secret_du_site'" ], +];