summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjosh4trunks <joshruehlig@gmail.com>2014-06-11 21:47:45 -0700
committerjosh4trunks <joshruehlig@gmail.com>2014-06-11 21:47:45 -0700
commit1b02991a1dfd3d8cb8a7992609e0235bb97876ea (patch)
treecf0790c8a195b30e3a8a0e2c8930eda2d4b85bf2
parent55ccd6da51c10ad3403fbdf32c4de09edaf102db (diff)
downloadnextcloud-server-1b02991a1dfd3d8cb8a7992609e0235bb97876ea.tar.gz
nextcloud-server-1b02991a1dfd3d8cb8a7992609e0235bb97876ea.zip
Fixes based on suggestions
I use the term socket for any extension, either unix socket, or internet socket (port). I check if the socket is all digits * only integers 0 and larger would pass this test. I then check if the string is less than or equal to the maximum port number. By using "if($socket)" I make sure socket isn't false, empty, or the string '0'. I don't believe I need to initialize $port because $port will always be set if $socket is true. Please show me if I am wrong here. Thanks
-rw-r--r--lib/private/db.php18
1 files changed, 7 insertions, 11 deletions
diff --git a/lib/private/db.php b/lib/private/db.php
index f5fd9fb6ad9..eec2b9220e2 100644
--- a/lib/private/db.php
+++ b/lib/private/db.php
@@ -64,14 +64,10 @@ class OC_DB {
$pass = OC_Config::getValue( "dbpassword", "" );
$type = OC_Config::getValue( "dbtype", "sqlite" );
if(strpos($host, ':')) {
- list($host, $port)=explode(':', $host, 2);
- if(!is_int($port)||$port<1||$port>65535) {
- $socket=true;
- } else {
- $socket=false;
- }
+ list($host, $socket)=explode(':', $host, 2);
+ $port = ctype_digit($socket) && $socket<=65535;
} else {
- $port=false;
+ $socket=FALSE;
}
$factory = new \OC\DB\ConnectionFactory();
@@ -93,11 +89,11 @@ class OC_DB {
'host' => $host,
'dbname' => $name,
);
- if (!empty($port)) {
- if ($socket) {
- $connectionParams['unix_socket'] = $port;
+ if ($socket) {
+ if ($port) {
+ $connectionParams['port'] = $socket;
} else {
- $connectionParams['port'] = $port;
+ $connectionParams['unix_socket'] = $socket;
}
}
}