diff --git a/boot.php b/boot.php index 3f2a2551b8..4deafe317c 100644 --- a/boot.php +++ b/boot.php @@ -2,7 +2,7 @@ set_time_limit(0); -define ( 'BUILD_ID' , 1006 ); +define ( 'BUILD_ID' , 1007 ); define ( 'EOL', "
\r\n"); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); @@ -236,7 +236,6 @@ function check_config(&$a) { $stored = intval($build); $current = intval(BUILD_ID); if(($stored < $current) && file_exists('update.php')) { - // We're reporting a different version than what is currently installed. // Run any existing update scripts to bring the database up to current. diff --git a/update.php b/update.php index 80ec50bd27..2ce83d5ce2 100644 --- a/update.php +++ b/update.php @@ -40,4 +40,26 @@ function update_1005() { q("ALTER TABLE `user` ADD `spubkey` TEXT NOT NULL AFTER `prvkey` , ADD `sprvkey` TEXT NOT NULL AFTER `spubkey`"); -} \ No newline at end of file +} + +function update_1006() { + + // create 's' keys for everybody that does not have one + + $r = q("SELECT * FROM `user` WHERE `spubkey` = '' "); + if(count($r)) { + foreach($r as $rr) { + $sres=openssl_pkey_new(array('encrypt_key' => false )); + $sprvkey = ''; + openssl_pkey_export($sres, $sprvkey); + $spkey = openssl_pkey_get_details($sres); + $spubkey = $spkey["key"]; + $r = q("UPDATE `user` SET `spubkey` = '%s', `sprvkey` = '%s' + WHERE `uid` = %d LIMIT 1", + dbesc($spubkey), + dbesc($sprvkey), + intval($rr['uid']) + ); + } + } +}