From 0cf647bf6f199586bad2e13973fe034bf5676eea Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 13 Mar 2011 16:47:41 -0700 Subject: [PATCH] don't let somebody install with a bogus db hostname as this seems to lead to spectacular failure modes --- boot.php | 2 +- include/dba.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/boot.php b/boot.php index bbaa8324d6..806ad53774 100644 --- a/boot.php +++ b/boot.php @@ -2,7 +2,7 @@ set_time_limit(0); -define ( 'FRIENDIKA_VERSION', '2.1.915' ); +define ( 'FRIENDIKA_VERSION', '2.1.917' ); define ( 'DFRN_PROTOCOL_VERSION', '2.1' ); define ( 'DB_UPDATE_VERSION', 1040 ); diff --git a/include/dba.php b/include/dba.php index d75ed560ab..1fdddb8a2c 100644 --- a/include/dba.php +++ b/include/dba.php @@ -19,6 +19,22 @@ class dba { public $connected = false; function __construct($server,$user,$pass,$db,$install = false) { + $server = trim($server); + $user = trim($user); + $pass = trim($pass); + $db = trim($db); + + if($install) { + if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) { + if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) { + notice( sprintf( t('Cannot locate DNS info for database server \'%s\'',$server))); + $this->connected = false; + $this->db = null; + return; + } + } + } + $this->db = @new mysqli($server,$user,$pass,$db); if(! mysqli_connect_errno()) { $this->connected = true;