*
*/
+use Friendica\App;
+
if (sizeof($_SERVER["argv"]) == 0)
die();
chdir($directory);
require_once("boot.php");
-global $a, $db;
+global $a;
-if (is_null($a))
- $a = new App;
+if (empty($a)) {
+ $a = new App(dirname(__DIR__));
+}
-if (is_null($db)) {
- @include(".htconfig.php");
- require_once("include/dba.php");
- $db = new dba($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
-};
+@include(".htconfig.php");
+require_once("include/dba.php");
+dba::connect($db_host, $db_user, $db_pass, $db_data);
+unset($db_host, $db_user, $db_pass, $db_data);
// the logfile to which to write, should be writeable by the user which is running the server
$sLogFile = get_config('jabber','logfile');
* @param boolean $bDebug Debug mode
*/
public function __construct($sLogFile, $bDebug) {
- global $db;
-
// setter
$this->sLogFile = $sLogFile;
$this->bDebug = $bDebug;
// Open the logfile if the logfile name is defined
if ($this->sLogFile != '')
- $this->rLogFile = fopen($this->sLogFile, "a") or die("Error opening log file: ". $this->sLogFile);
+ $this->rLogFile = fopen($this->sLogFile, "a") || die("Error opening log file: ". $this->sLogFile);
$this->writeLog("[exAuth] start");
// We are connected to the SQL server and are having a log file.
do {
// Quit if the database connection went down
- if (!$db->connected()) {
+ if (!dba::connected()) {
$this->writeDebugLog("[debug] the database connection went down");
return;
}
$sUser = str_replace(array("%20", "(a)"), array(" ", "@"), $aCommand[1]);
$this->writeDebugLog("[debug] checking isuser for ". $sUser."@".$aCommand[2]);
- // If the hostnames doesn't match, we try to check remotely
- if ($a->get_hostname() != $aCommand[2])
- $found = $this->check_user($aCommand[2], $aCommand[1], true);
- else {
+ // Does the hostname match? So we try directly
+ if ($a->get_hostname() == $aCommand[2]) {
$sQuery = "SELECT `uid` FROM `user` WHERE `nickname`='".dbesc($sUser)."'";
$this->writeDebugLog("[debug] using query ". $sQuery);
$r = q($sQuery);
$found = dbm::is_result($r);
+ } else {
+ $found = false;
+ }
+
+ // If the hostnames doesn't match or there is some failure, we try to check remotely
+ if (!$found) {
+ $found = $this->check_user($aCommand[2], $aCommand[1], true);
}
if ($found) {
$sUser = str_replace(array("%20", "(a)"), array(" ", "@"), $aCommand[1]);
$this->writeDebugLog("[debug] doing auth for ".$sUser."@".$aCommand[2]);
- // If the hostnames doesn't match, we try to authenticate remotely
- if ($a->get_hostname() != $aCommand[2])
- $Error = !$this->check_credentials($aCommand[2], $aCommand[1], $aCommand[3], true);
- else {
+ // Does the hostname match? So we try directly
+ if ($a->get_hostname() == $aCommand[2]) {
$sQuery = "SELECT `uid`, `password` FROM `user` WHERE `nickname`='".dbesc($sUser)."'";
$this->writeDebugLog("[debug] using query ". $sQuery);
if ($oResult = q($sQuery)) {
$this->writeLog("[exAuth] got password ".$oConfig[0]["v"]);
$Error = ($aCommand[3] != $oConfig[0]["v"]);
}
+ } else {
+ $Error = true;
+ }
+
+ // If the hostnames doesn't match or there is some failure, we try to check remotely
+ if ($Error) {
+ $Error = !$this->check_credentials($aCommand[2], $aCommand[1], $aCommand[3], true);
}
if ($Error) {
fclose($this->rLogFile);
}
}
-?>