]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/ExAuth.php
Merge pull request #8946 from annando/fix-fatal
[friendica.git] / src / Util / ExAuth.php
index cf98312aa3b6b361e70fe5584b09e4d57aade36e..25eb3cc62e41ca449dde8f222d73ce7dfab89145 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-/*
+/**
  * ejabberd extauth script for the integration with friendica
  *
  * Originally written for joomla by Dalibor Karlovic <dado@krizevci.info>
@@ -34,8 +34,6 @@
 
 namespace Friendica\Util;
 
-use Friendica\Core\Config;
-use Friendica\Core\PConfig;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\User;
@@ -46,12 +44,12 @@ class ExAuth
        private $host;
 
        /**
-        * @brief Create the class
+        * Create the class
         *
         */
        public function __construct()
        {
-               $this->bDebug = (int) Config::get('jabber', 'debug');
+               $this->bDebug = (int) DI::config()->get('jabber', 'debug');
 
                openlog('auth_ejabberd', LOG_PID, LOG_USER);
 
@@ -59,7 +57,7 @@ class ExAuth
        }
 
        /**
-        * @brief Standard input reading function, executes the auth with the provided
+        * Standard input reading function, executes the auth with the provided
         * parameters
         *
         * @return null
@@ -75,6 +73,11 @@ class ExAuth
                        }
 
                        $iHeader = fgets(STDIN, 3);
+                       if (empty($iHeader)) {
+                               $this->writeLog(LOG_ERR, 'empty stdin');
+                               return;
+                       }
+
                        $aLength = unpack('n', $iHeader);
                        $iLength = $aLength['1'];
 
@@ -117,7 +120,7 @@ class ExAuth
        }
 
        /**
-        * @brief Check if the given username exists
+        * Check if the given username exists
         *
         * @param array $aCommand The command array
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
@@ -163,7 +166,7 @@ class ExAuth
        }
 
        /**
-        * @brief Check remote user existance via HTTP(S)
+        * Check remote user existance via HTTP(S)
         *
         * @param string  $host The hostname
         * @param string  $user Username
@@ -178,7 +181,7 @@ class ExAuth
 
                $url = ($ssl ? 'https' : 'http') . '://' . $host . '/noscrape/' . $user;
 
-               $curlResult = Network::curl($url);
+               $curlResult = DI::httpRequest()->get($url);
 
                if (!$curlResult->isSuccess()) {
                        return false;
@@ -197,7 +200,7 @@ class ExAuth
        }
 
        /**
-        * @brief Authenticate the given user and password
+        * Authenticate the given user and password
         *
         * @param array $aCommand The command array
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
@@ -234,7 +237,7 @@ class ExAuth
                        }
                        if ($Error) {
                                $this->writeLog(LOG_INFO, 'check against alternate password for ' . $sUser . '@' . $aCommand[2]);
-                               $sPassword = PConfig::get($uid, 'xmpp', 'password', null, true);
+                               $sPassword = DI::pConfig()->get($uid, 'xmpp', 'password', null, true);
                                $Error = ($aCommand[3] != $sPassword);
                        }
                } else {
@@ -256,7 +259,7 @@ class ExAuth
        }
 
        /**
-        * @brief Check remote credentials via HTTP(S)
+        * Check remote credentials via HTTP(S)
         *
         * @param string $host The hostname
         * @param string $user Username
@@ -291,7 +294,7 @@ class ExAuth
        }
 
        /**
-        * @brief Set the hostname for this process
+        * Set the hostname for this process
         *
         * @param string $host The hostname
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
@@ -306,7 +309,7 @@ class ExAuth
 
                $this->host = $host;
 
-               $lockpath = Config::get('jabber', 'lockpath');
+               $lockpath = DI::config()->get('jabber', 'lockpath');
                if (is_null($lockpath)) {
                        $this->writeLog(LOG_INFO, 'No lockpath defined.');
                        return;
@@ -330,7 +333,7 @@ class ExAuth
        }
 
        /**
-        * @brief write data to the syslog
+        * write data to the syslog
         *
         * @param integer $loglevel The syslog loglevel
         * @param string $sMessage The syslog message
@@ -344,7 +347,7 @@ class ExAuth
        }
 
        /**
-        * @brief destroy the class, close the syslog connection.
+        * destroy the class, close the syslog connection.
         */
        public function __destruct()
        {