diff -r 6457a9b983c6 -r 2332ebd75f61 includes/common.php --- a/includes/common.php Sat Aug 25 12:11:31 2007 -0400 +++ b/includes/common.php Sat Aug 25 12:22:46 2007 -0400 @@ -149,6 +149,44 @@ grinding_halt('Version mismatch', '
It seems that the Enano release we\'re trying to run ('.$version.') is different from the version specified in your database ('.enano_version().'). Perhaps you need to upgrade?
'); } +// +// Low level maintenance +// + +// If the search algorithm backend has been changed, empty out the search cache (the two cache formats are incompatible with each other) +if ( getConfig('last_search_algo') != SEARCH_MODE ) +{ + if ( !$db->sql_query('DELETE FROM '.table_prefix.'search_cache;') ) + $db->_die(); + setConfig('last_search_algo', SEARCH_MODE); +} + +// If the AES key size has been changed, bail out and fast +if ( !getConfig('aes_key_size') ) +{ + setConfig('aes_key_size', AES_BITS); +} +else if ( $ks = getConfig('aes_key_size') ) +{ + if ( intval($ks) != AES_BITS ) + { + grinding_halt('AES key size changed', 'Enano has detected that the AES key size in constants.php has been changed. This change cannot be performed after installation, otherwise the private key would have to be re-generated and all passwords would have to be re-encrypted.
Please change the key size back to ' . $ks . ' bits and reload this page.
'); + } +} + +// Same for AES block size +if ( !getConfig('aes_block_size') ) +{ + setConfig('aes_block_size', AES_BLOCKSIZE); +} +else if ( $ks = getConfig('aes_block_size') ) +{ + if ( intval($ks) != AES_BLOCKSIZE ) + { + grinding_halt('AES block size changed', 'Enano has detected that the AES block size in constants.php has been changed. This change cannot be performed after installation, otherwise all passwords would have to be re-encrypted.
Please change the block size back to ' . $ks . ' bits and reload this page.
'); + } +} + // Our list of tables included in Enano $system_table_list = Array( table_prefix.'categories',