public function __construct($conf)
 {
     require_once "include/Settings.class.php";
     require_once "include/session/Session.class.php";
     require_once "include/ServiceEnvironment.class.php";
     require_once "include/Util.class.php";
     require_once "db/DBConnectionFactory.class.php";
     require_once "include/configuration/ConfigurationDao.class.php";
     require_once "include/Logging.class.php";
     require_once "include/Version.info.php";
     require_once "include/Cookie.class.php";
     require_once "include/Features.class.php";
     require_once "include/Request.class.php";
     Logging::initialize($conf);
     $this->settings = new Settings($conf);
     $this->session = new Session(TRUE);
     $f = new DBConnectionFactory();
     $db = $f->createConnection($this->settings);
     $this->configuration = new ConfigurationDao($db);
     $env = new ServiceEnvironment($db, $this->session, new VoidResponseHandler(), $this->configuration, $this->settings);
     $env->initialize(new Request(TRUE));
     $this->authentication = $env->authentication();
 }
 $auth = new Sabre_HTTP_BasicAuth();
 $result = $auth->getUserPass();
 if (!$result) {
     Logging::logDebug("DAV authentication missing");
     $auth->requireLogin();
     echo "Authentication required\n";
     die;
 }
 $user = $env->configuration()->getUserByNameOrEmail($result[0]);
 if (!$user) {
     Logging::logDebug("DAV authentication failure");
     $auth->requireLogin();
     echo "Authentication required\n";
     die;
 }
 if (!$env->authentication()->authenticate($user["id"], $result[1])) {
     //$userAuth = $env->configuration()->getUserAuth($user["id"]);
     //if (!$env->passwordHash()->isEqual($result[1], $userAuth["hash"], $userAuth["salt"])) {
     Logging::logDebug("DAV authentication failure");
     $auth->requireLogin();
     echo "Authentication required\n";
     die;
 }
 //$env->authentication()->setAuth($user, "pw");
 $userAuth = $env->configuration()->getUserAuth($user["id"]);
 $env->authentication()->setAuth($user, $userAuth["type"]);
 $session->init($user);
 $dav = new Kloudspeaker_DAV_Server(new Kloudspeaker_DAV_Root($env));
 $rq->init($dav->httpRequest);
 $dav->setBaseUri($BASE_URI);
 if ($ENABLE_LOCKING) {
Beispiel #3
0
     }
     $user = $env->configuration()->getUserByNameOrEmail($result[0]);
     if (!$user) {
         Logging::logDebug("DAV authentication failure");
         $auth->requireLogin();
         echo "Authentication required\n";
         die;
     }
     $userAuth = $env->configuration()->getUserAuth($user["id"]);
     if (!$env->passwordHash()->isEqual($result[1], $userAuth["hash"], $userAuth["salt"])) {
         Logging::logDebug("DAV authentication failure");
         $auth->requireLogin();
         echo "Authentication required\n";
         die;
     }
     $env->authentication()->setAuth($user, "pw");
 } else {
     $auth = new Sabre_HTTP_DigestAuth();
     $auth->setRealm($env->authentication()->realm());
     $auth->init();
     $username = $auth->getUserName();
     if (!$username) {
         Logging::logDebug("DAV digest authentication missing");
         $auth->requireLogin();
         echo "Authentication required\n";
         die;
     }
     $user = $env->configuration()->getUserByNameOrEmail($username);
     if (!$user) {
         Logging::logDebug("DAV digest authentication failure");
         $auth->requireLogin();
Beispiel #4
0
$f = new DBConnectionFactory();
$db = $f->createConnection($settings);
$configuration = new ConfigurationDao($db);
$env = new ServiceEnvironment($db, $session, new VoidResponseHandler(), $configuration, $settings);
$env->initialize(Request::get(TRUE));
$env->plugins()->setup();
$options = $opts["options"];
if (isset($options["user"])) {
    //TODO validate & auth
    $user = $env->configuration()->getUser($options["user"]);
    if (!$user) {
        echo "Invalid user: "******"user"] . "\n";
        return;
    }
    echo "Running as user: id=" . $user["id"] . " name=" . $user["name"] . "\n";
    $env->authentication()->setAuth($user);
}
$command = $opts["commands"][0];
if (!$env->commands()->exists($command)) {
    echo "Invalid command: " . $command . "\n";
    return;
}
echo "Command [" . $command . "]\n";
//TODO allow command registrations from plugins etc
try {
    $env->commands()->execute($command, $options);
} catch (ServiceException $e) {
    Logging::logException($e);
    echo "ERROR: " . $e->type() . " " . $e->details() . " (" . Util::array2str($e->data()) . ")\n";
} catch (Exception $e) {
    Logging::logException($e);