]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/ExAuth.php
Merge branch '3.6-rc' of https://github.com/Andi-K/friendica into 3.6-rc
[friendica.git] / src / Util / ExAuth.php
index f83901e98974e527041c7af0b1aa169ddcb5752b..a6851c3852441358d184cc3ca785434c17773fab 100644 (file)
@@ -38,6 +38,7 @@ use Friendica\Core\Config;
 use Friendica\Core\PConfig;
 use Friendica\Database\DBM;
 use Friendica\Model\User;
+use Friendica\Util\Network;
 use dba;
 
 require_once 'include/dba.php';
@@ -139,7 +140,7 @@ class ExAuth
                $this->setHost($aCommand[2]);
 
                // Now we check if the given user is valid
-               $sUser = str_replace(array('%20', '(a)'), array(' ', '@'), $aCommand[1]);
+               $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
 
                // Does the hostname match? So we try directly
                if ($a->get_hostname() == $aCommand[2]) {
@@ -180,7 +181,7 @@ class ExAuth
 
                $url = ($ssl ? 'https' : 'http') . '://' . $host . '/noscrape/' . $user;
 
-               $data = z_fetch_url($url);
+               $data = Network::curl($url);
 
                if (!is_array($data)) {
                        return false;
@@ -219,16 +220,17 @@ class ExAuth
                $this->setHost($aCommand[2]);
 
                // We now check if the password match
-               $sUser = str_replace(array('%20', '(a)'), array(' ', '@'), $aCommand[1]);
+               $sUser = str_replace(['%20', '(a)'], [' ', '@'], $aCommand[1]);
 
                // Does the hostname match? So we try directly
                if ($a->get_hostname() == $aCommand[2]) {
                        $this->writeLog(LOG_INFO, 'internal auth for ' . $sUser . '@' . $aCommand[2]);
 
-                       $aUser = dba::select('user', ['uid', 'password'], ['nickname' => $sUser], ['limit' => 1]);
+                       $aUser = dba::selectFirst('user', ['uid', 'password', 'legacy_password'], ['nickname' => $sUser]);
                        if (DBM::is_result($aUser)) {
-                               $uid = User::authenticate($aUser, $aCommand[3]);
-                               $Error = $uid === false;
+                               $uid = $aUser['uid'];
+                               $success = User::authenticate($aUser, $aCommand[3]);
+                               $Error = $success === false;
                        } else {
                                $this->writeLog(LOG_WARNING, 'user not found: ' . $sUser);
                                $Error = true;
@@ -309,11 +311,12 @@ class ExAuth
 
                $lockpath = Config::get('jabber', 'lockpath');
                if (is_null($lockpath)) {
+                       $this->writeLog(LOG_INFO, 'No lockpath defined.');
                        return;
                }
 
                $file = $lockpath . DIRECTORY_SEPARATOR . $host;
-               if (Pidfile::isRunningProcess($file)) {
+               if (PidFile::isRunningProcess($file)) {
                        if (PidFile::killProcess($file)) {
                                $this->writeLog(LOG_INFO, 'Old process was successfully killed');
                        } else {
@@ -323,7 +326,10 @@ class ExAuth
                }
 
                // Now it is safe to create the pid file
-               Pidfile::create($file);
+               PidFile::create($file);
+               if (!file_exists($file)) {
+                       $this->writeLog(LOG_WARNING, 'Logfile ' . $file . " couldn't be created.");
+               }
        }
 
        /**