From 5ccf11cb5aff905649222338430aba52901406a2 Mon Sep 17 00:00:00 2001 From: Kazuki Przyborowski Date: Sun, 9 Aug 2009 19:40:38 +0000 Subject: [PATCH] You can now pick what hash format to use for passwords. :P git-svn-id: svn://svn.code.sf.net/p/intdb/svn/trunk@301 2b68903e-0b30-0410-9a39-a2e4f3c5be39 --- inc/admin/main.php | 8 ++++---- inc/function.php | 12 ++++++------ inc/versioninfo.php | 4 ++-- setup/mkconfig.php | 21 ++++++++++++++------- setup/setup.php | 9 ++++++++- 5 files changed, 34 insertions(+), 20 deletions(-) diff --git a/inc/admin/main.php b/inc/admin/main.php index d13ba04..ad0bf87 100644 --- a/inc/admin/main.php +++ b/inc/admin/main.php @@ -11,7 +11,7 @@ Copyright 2004-2009 iDB Support - http://idb.berlios.de/ Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/ - $FileInfo: main.php - Last Update: 8/8/2009 SVN 299 - Author: cooldude2k $ + $FileInfo: main.php - Last Update: 8/9/2009 SVN 301 - Author: cooldude2k $ */ $File3Name = basename($_SERVER['SCRIPT_NAME']); if ($File3Name=="main.php"||$File3Name=="/main.php") { @@ -353,7 +353,7 @@ if ($handle = opendir($skindir)) { $dirnum = null; $_SESSION['UserGroup']!=$Settings['GuestGroup']&&$GroupInfo['HasAdminCP']=="yes") { $_POST = array_map("rsq", $_POST); if(!isset($Settings['BoardUUID'])||$Settings['BoardUUID']===null) { - $Settings['BoardUUID'] = uuid(false,true,false,null); } + $Settings['BoardUUID'] = uuid(false,true,false,$Settings['use_hashtype'],null); } $Settings['board_name'] = htmlspecialchars($Settings['board_name'], ENT_QUOTES, $Settings['charset']); $Settings['board_name'] = fixbamps($Settings['board_name']); $Settings['board_name'] = @remove_spaces($Settings['board_name']); @@ -445,7 +445,7 @@ require('settings.php'); $admincptitle = " ".$ThemeSet['TitleDivider']." Databas $GroupInfo['ViewDBInfo']=="yes") { $_POST = array_map("rsq", $_POST); if(!isset($Settings['BoardUUID'])||$Settings['BoardUUID']===null) { - $Settings['BoardUUID'] = uuid(false,true,false,null); } + $Settings['BoardUUID'] = uuid(false,true,false,$Settings['use_hashtype'],null); } $Settings['board_name'] = htmlspecialchars($Settings['board_name'], ENT_QUOTES, $Settings['charset']); $Settings['board_name'] = fixbamps($Settings['board_name']); $Settings['board_name'] = @remove_spaces($Settings['board_name']); @@ -533,7 +533,7 @@ require('settings.php'); $admincptitle = " ".$ThemeSet['TitleDivider']." Board I $_SESSION['UserGroup']!=$Settings['GuestGroup']&&$GroupInfo['HasAdminCP']=="yes") { $_POST = array_map("rsq", $_POST); if(!isset($Settings['BoardUUID'])||$Settings['BoardUUID']===null) { - $Settings['BoardUUID'] = uuid(false,true,false,null); } + $Settings['BoardUUID'] = uuid(false,true,false,$Settings['use_hashtype'],null); } $_POST['board_name'] = htmlspecialchars($_POST['board_name'], ENT_QUOTES, $Settings['charset']); $_POST['board_name'] = fixbamps($_POST['board_name']); $_POST['board_name'] = @remove_spaces($_POST['board_name']); diff --git a/inc/function.php b/inc/function.php index 3064045..6f605a2 100644 --- a/inc/function.php +++ b/inc/function.php @@ -11,7 +11,7 @@ Copyright 2004-2009 iDB Support - http://idb.berlios.de/ Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/ - $FileInfo: function.php - Last Update: 8/8/2009 SVN 299 - Author: cooldude2k $ + $FileInfo: function.php - Last Update: 8/9/2009 SVN 301 - Author: cooldude2k $ */ $File3Name = basename($_SERVER['SCRIPT_NAME']); if ($File3Name=="function.php"||$File3Name=="/function.php") { @@ -65,16 +65,16 @@ $REFERERurl = null; * @param string an optional prefix * @return string the formatted uuid */ - function uuid($useold = false,$more_entropy = false,$mtrand = false,$prefix = '') + function uuid($useold = false,$more_entropy = false,$mtrand = false,$hash = 'sha1',$prefix = '') { if($useold===true&&$mtrand===false) { - $chars = uniqid(md5(rand()),$more_entropy); } + $chars = uniqid($hash(rand()),$more_entropy); } if($useold===false&&$mtrand===false) { - $chars = md5(uniqid(rand(),$more_entropy)); } + $chars = $hash(uniqid(rand(),$more_entropy)); } if($useold===true&&$mtrand===true) { - $chars = uniqid(md5(mt_rand()),$more_entropy); } + $chars = uniqid($hash(mt_rand()),$more_entropy); } if($useold===false&&$mtrand===true) { - $chars = md5(uniqid(mt_rand(),$more_entropy)); } + $chars = $hash(uniqid(mt_rand(),$more_entropy)); } $uuid = substr($chars,0,8) . '-'; $uuid .= substr($chars,8,4) . '-'; $uuid .= substr($chars,12,4) . '-'; diff --git a/inc/versioninfo.php b/inc/versioninfo.php index 8310640..f5a8748 100644 --- a/inc/versioninfo.php +++ b/inc/versioninfo.php @@ -11,7 +11,7 @@ Copyright 2004-2009 iDB Support - http://idb.berlios.de/ Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/ - $FileInfo: versioninfo.php - Last Update: 8/9/2009 SVN 300 - Author: cooldude2k $ + $FileInfo: versioninfo.php - Last Update: 8/9/2009 SVN 301 - Author: cooldude2k $ */ $File3Name = basename($_SERVER['SCRIPT_NAME']); if ($File3Name=="versioninfo.php"||$File3Name=="/versioninfo.php") { @@ -27,7 +27,7 @@ function version_info($proname,$subver,$ver,$supver,$reltype,$svnver,$showsvn) { return $return_var; } // Version number and date stuff. :P $VER1[0] = 0; $VER1[1] = 2; $VER1[2] = 9; $VERFull[1] = $VER1[0].".".$VER1[1].".".$VER1[2]; -$VER2[0] = "Pre-Alpha"; $VER2[1] = "PA"; $VER2[2] = "SVN"; $SubVerN = 300; $RName = "iDB"; $SFName = "IntDB"; +$VER2[0] = "Pre-Alpha"; $VER2[1] = "PA"; $VER2[2] = "SVN"; $SubVerN = 301; $RName = "iDB"; $SFName = "IntDB"; $SVNDay[0] = 8; $SVNDay[1] = 9; $SVNDay[2] = 2009; $SVNDay[3] = $SVNDay[0]."/".$SVNDay[1]."/".$SVNDay[2]; $VerInfo['iDB_Ver'] = version_info($RName,$VER1[0],$VER1[1],$VER1[2],$VER2[1],$SubVerN,false); $VerInfo['iDB_Ver_SVN'] = version_info($RName,$VER1[0],$VER1[1],$VER1[2],$VER2[1],$SubVerN,true); diff --git a/setup/mkconfig.php b/setup/mkconfig.php index d7ca95f..f162499 100644 --- a/setup/mkconfig.php +++ b/setup/mkconfig.php @@ -12,7 +12,7 @@ Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/ iDB Installer made by Game Maker 2k - http://idb.berlios.net/ - $FileInfo: mkconfig.php - Last Update: 8/8/2009 SVN 299 - Author: cooldude2k $ + $FileInfo: mkconfig.php - Last Update: 8/9/2009 SVN 301 - Author: cooldude2k $ */ $File3Name = basename($_SERVER['SCRIPT_NAME']); if ($File3Name=="mkconfig.php"||$File3Name=="/mkconfig.php") { @@ -76,6 +76,13 @@ $_POST['NewBoardName'] = str_replace("\'", "'", $_POST['NewBoardName'] $_POST['AdminUser'] = stripcslashes(htmlspecialchars($_POST['AdminUser'], ENT_QUOTES, $Settings['charset'])); //$_POST['AdminUser'] = preg_replace("/&#(x[a-f0-9]+|[0-9]+);/i", "&#$1;", $_POST['AdminUser']); $_POST['AdminUser'] = @remove_spaces($_POST['AdminUser']); +if($_POST['usehashtype']!="md5"&& + $_POST['usehashtype']!="sha1"&& + $_POST['usehashtype']!="sha256") { + $_POST['usehashtype'] = "sha256"; } +if($_POST['usehashtype']=="md5") { $iDBHashType = "iDBH5"; } +if($_POST['usehashtype']=="sha1") { $iDBHashType = "iDBH"; } +if($_POST['usehashtype']=="sha256") { $iDBHashType = "iDBH256"; } if ($_POST['AdminUser']=="Guest") { $Error="Yes"; echo "
You can not use Guest as your name."; } /* We are done now with fixing the info. ^_^ */ @@ -92,7 +99,7 @@ $query = query("INSERT INTO `".$_POST['tableprefix']."tagboard` VALUES (1,-1,'". */ $query = query("INSERT INTO `".$_POST['tableprefix']."categories` VALUES (1,1,'Main','yes','category','yes',0,0,0,'The Main Category.')", array(null)); mysql_query($query); -$ServerUUID = uuid(false,true,false,null); +$ServerUUID = uuid(false,true,false,$_POST['usehashtype'],null); if(!is_numeric($_POST['YourOffSet'])) { $_POST['YourOffSet'] = "0"; } if($_POST['YourOffSet']>12) { $_POST['YourOffSet'] = "12"; } if($_POST['YourOffSet']<-12) { $_POST['YourOffSet'] = "-12"; } @@ -121,7 +128,7 @@ $query = query("INSERT INTO `".$_POST['tableprefix']."topics` VALUES (1,1,1,0,-1 mysql_query($query); $query = query("INSERT INTO `".$_POST['tableprefix']."posts` VALUES (1,1,1,1,-1,'".$iDB_Author."',%i,%i,1,'Welcome to Your Message Board. :) ','Install was successful','127.0.0.1','127.0.0.1')", array($YourDate,$YourEditDate)); mysql_query($query); -$NewPassword = b64e_hmac($_POST['AdminPasswords'],$YourDate,$YourSalt,"sha256"); +$NewPassword = b64e_hmac($_POST['AdminPasswords'],$YourDate,$YourSalt,$_POST['usehashtype']); //$Name = stripcslashes(htmlspecialchars($AdminUser, ENT_QUOTES, $Settings['charset'])); //$YourWebsite = "http://".$_SERVER['HTTP_HOST'].$this_dir."index.php?act=view"; $YourWebsite = $_POST['WebURL']; @@ -137,12 +144,12 @@ if($csrand!=1&&$csrand!=2&&$csrand!=3) { $csrand=1; } if($csrand==1) { $gpass .= chr(rand(48,57)); } if($csrand==2) { $gpass .= chr(rand(65,90)); } if($csrand==3) { $gpass .= chr(rand(97,122)); } -++$i; } $GuestPassword = b64e_hmac($gpass,$YourDate,$GSalt,"sha256"); +++$i; } $GuestPassword = b64e_hmac($gpass,$YourDate,$GSalt,$_POST['usehashtype']); $url_this_dir = "http://".$_SERVER['HTTP_HOST'].$this_dir."index.php?act=view"; $YourIP = $_SERVER['REMOTE_ADDR']; -$query = query("INSERT INTO `".$_POST['tableprefix']."members` VALUES (-1,'Guest','%s','iDBH256','%s',4,'no','yes',0,'Guest Account','Guest',%i,%i,'0','0','0','0','0','[B]Test[/B] :)','Your Notes','http://','100x100','%s','UnKnow',1,0,0,10,10,10,'%s','%s','iDB','127.0.0.1','%s')", array($GuestPassword,$GEmail,$YourDate,$YourDate,$YourWebsite,$AdminTime,$AdminDST,$GSalt)); +$query = query("INSERT INTO `".$_POST['tableprefix']."members` VALUES (-1,'Guest','%s','".$iDBHashType."','%s',4,'no','yes',0,'Guest Account','Guest',%i,%i,'0','0','0','0','0','[B]Test[/B] :)','Your Notes','http://','100x100','%s','UnKnow',1,0,0,10,10,10,'%s','%s','iDB','127.0.0.1','%s')", array($GuestPassword,$GEmail,$YourDate,$YourDate,$YourWebsite,$AdminTime,$AdminDST,$GSalt)); mysql_query($query); -$query = query("INSERT INTO `".$_POST['tableprefix']."members` VALUES (1,'%s','%s','iDBH256','%s',1,'yes','no',0,'%s','Admin',%i,%i,'0','0','0','0','0','%s','Your Notes','%s','100x100','%s','UnKnow',0,0,0,10,10,10,'%s','%s','iDB','%s','%s')", array($_POST['AdminUser'],$NewPassword,$Email,$Interests,$YourDate,$YourDate,$NewSignature,$Avatar,$YourWebsite,$AdminTime,$AdminDST,$UserIP,$YourSalt)); +$query = query("INSERT INTO `".$_POST['tableprefix']."members` VALUES (1,'%s','%s','".$iDBHashType."','%s',1,'yes','no',0,'%s','Admin',%i,%i,'0','0','0','0','0','%s','Your Notes','%s','100x100','%s','UnKnow',0,0,0,10,10,10,'%s','%s','iDB','%s','%s')", array($_POST['AdminUser'],$NewPassword,$Email,$Interests,$YourDate,$YourDate,$NewSignature,$Avatar,$YourWebsite,$AdminTime,$AdminDST,$UserIP,$YourSalt)); mysql_query($query); $query = query("INSERT INTO `".$_POST['tableprefix']."messenger` VALUES (1,-1,1,'".$iDB_Author."','Test','Hello Welcome to your board.\r\nThis is a Test PM. :P ','Hello Welcome',%i,0)", array($YourDate)); mysql_query($query); @@ -153,7 +160,7 @@ $LastUpdateS = "Last Update: ".$iDBRDate." ".$iDBRSVN; $pretext = ""; +$BoardSettings=$pretext2[0]."\n\$Settings['sqlhost'] = '".$_POST['DatabaseHost']."';\n\$Settings['sqldb'] = '".$_POST['DatabaseName']."';\n\$Settings['sqltable'] = '".$_POST['tableprefix']."';\n\$Settings['sqluser'] = '".$_POST['DatabaseUserName']."';\n\$Settings['sqlpass'] = '".$_POST['DatabasePassword']."';\n\$Settings['board_name'] = '".$_POST['NewBoardName']."';\n\$Settings['idbdir'] = '".$idbdir."';\n\$Settings['idburl'] = '".$_POST['BoardURL']."';\n\$Settings['enable_https'] = 'off';\n\$Settings['weburl'] = '".$_POST['WebURL']."';\n\$Settings['use_gzip'] = '".$_POST['GZip']."';\n\$Settings['html_type'] = '".$_POST['HTMLType']."';\n\$Settings['html_level'] = '".$_POST['HTMLLevel']."';\n\$Settings['output_type'] = '".$_POST['OutPutType']."';\n\$Settings['GuestGroup'] = 'Guest';\n\$Settings['MemberGroup'] = 'Member';\n\$Settings['ValidateGroup'] = 'Validate';\n\$Settings['AdminValidate'] = 'off';\n\$Settings['TestReferer'] = '".$_POST['TestReferer']."';\n\$Settings['DefaultTheme'] = 'iDB';\n\$Settings['DefaultTimeZone'] = '".$AdminTime."';\n\$Settings['DefaultDST'] = '".$AdminDST."';\n\$Settings['use_hashtype'] = '".$_POST['usehashtype']."';\n\$Settings['charset'] = '".$_POST['charset']."';\n\$Settings['add_power_by'] = 'off';\n\$Settings['send_pagesize'] = 'off';\n\$Settings['max_posts'] = '10';\n\$Settings['max_topics'] = '10';\n\$Settings['max_memlist'] = '10';\n\$Settings['max_pmlist'] = '10';\n\$Settings['hot_topic_num'] = '15';\n\$Settings['qstr'] = '&';\n\$Settings['qsep'] = '=';\n\$Settings['file_ext'] = '.php';\n\$Settings['rss_ext'] = '.php';\n\$Settings['js_ext'] = '.js';\n\$Settings['showverinfo'] = 'on';\n\$Settings['enable_rss'] = 'on';\n\$Settings['enable_search'] = 'on';\n\$Settings['sessionid_in_urls'] = 'off';\n\$Settings['fixpathinfo'] = 'off';\n\$Settings['fixbasedir'] = 'off';\n\$Settings['fixcookiedir'] = 'off';\n\$Settings['enable_pathinfo'] = 'off';\n\$Settings['rssurl'] = 'off';\n\$Settings['board_offline'] = 'off';\n\$Settings['BoardUUID'] = '".$ServerUUID."';\n\$Settings['KarmaBoostDays'] = '".$KarmaBoostDay."';\n\$Settings['KBoostPercent'] = '6|10';\n".$pretext2[1]."\n\$SettInfo['board_name'] = '".$_POST['NewBoardName']."';\n\$SettInfo['Author'] = '".$_POST['AdminUser']."';\n\$SettInfo['Keywords'] = '".$_POST['NewBoardName'].",".$_POST['AdminUser']."';\n\$SettInfo['Description'] = '".$_POST['NewBoardName'].",".$_POST['AdminUser']."';\n".$pretext2[2]."\n\$SettDir['maindir'] = '".$idbdir."';\n\$SettDir['inc'] = 'inc/';\n\$SettDir['misc'] = 'inc/misc/';\n\$SettDir['admin'] = 'inc/admin/';\n\$SettDir['mod'] = 'inc/mod/';\n\$SettDir['themes'] = 'themes/';\n".$pretext2[3]."\n?>"; $BoardSettingsBak = $pretext.$settcheck.$BoardSettings; $BoardSettings = $pretext.$settcheck.$BoardSettings; $fp = fopen("settings.php","w+"); diff --git a/setup/setup.php b/setup/setup.php index 459f4e0..c8f2d18 100644 --- a/setup/setup.php +++ b/setup/setup.php @@ -12,7 +12,7 @@ Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/ iDB Installer made by Game Maker 2k - http://idb.berlios.net/ - $FileInfo: setup.php - Last Update: 7/17/2009 SVN 273 - Author: cooldude2k $ + $FileInfo: setup.php - Last Update: 8/9/2009 SVN 301 - Author: cooldude2k $ */ $File3Name = basename($_SERVER['SCRIPT_NAME']); if ($File3Name=="setup.php"||$File3Name=="/setup.php") { @@ -113,6 +113,13 @@ fclose($fp); + + +