silenced a silly little compiler warning
[citadel.git] / ctdlphp / ctdlsession.php
index db56974ef3c398f9ea94674744104cc2554efe07..c9614c753ef57d2b24ee068d67e2d4eed051f4ca 100644 (file)
@@ -34,24 +34,42 @@ function establish_citadel_session() {
        // session, and it's found in the /tmp directory.
 
        $sockname = "/tmp/" . $session . ".socket" ;
-
-       $clientsocket = fsockopen($sockname, 0, $errno, $errstr, 5);
+       $errno = 0; 
+       $errstr = "";
+       if (is_array(stat($sockname)))
+               $clientsocket = fsockopen(SOCKET_PREFIX.$sockname, 0, $errno, $errstr, 5);
+       else
+               $clientsocket = false;
+//// TODO: if we get connection refused...
+       echo "$socketname - $errno - $errstr";
+       
        if (!$clientsocket) {
                // It ain't there, dude.  Open up the proxy. (C version)
                //$cmd = "./sessionproxy " . $sockname ;
                //exec($cmd);
 
                // It ain't there, dude.  Open up the proxy.  (PHP version)
+               if (CITADEL_DEBUG_PROXY){
+                       $stdout = '>>/tmp/sessionproxyout.txt ';
+               }
+               else{
+                       $stdout = '>/dev/null ';
+               }
+
                $cmd = "./sessionproxy.php " . $sockname .
-                       " </dev/null >/dev/null 2>&1 " .
+                       " </dev/null ".$stdout."2>&1 " .
                        " 3>&1 4>&1 5>&1 6>&1 7>&1 8>&1 & " ;
                exec($cmd);
+               sleep(1);
 
                // Keep attempting connections 10 times per second up to 100 times
                $attempts = 0;
                while (!$clientsocket) {
                        usleep(100);
-                       $clientsocket = fsockopen($sockname, 0, $errno, $errstr, 5);
+                       if (is_array(stat($sockname)))
+                               $clientsocket = fsockopen(SOCKET_PREFIX.$sockname, 0, $errno, $errstr, 5);
+                       else 
+                               $clientsocket = false;
                        $attempts += 1;
                        if ($attempts > 100) {
                                echo "ERROR: unable to start connection proxy. ";
@@ -71,14 +89,14 @@ function establish_citadel_session() {
 
                ctdl_iden($identity);   // Identify client
                ctdl_MessageFormatsPrefered(array("text/html","text/plain"));
-               if ($_SESSION["username"]) {
+               if (isset($_SESSION["username"])) {
                        login_existing_user(
                                $_SESSION["username"],
                                $_SESSION["password"]
                        );
                }
 
-               if ($_SESSION["room"]) {
+               if (isset($_SESSION["room"])) {
                        ctdl_goto($_SESSION["room"]);
                }
                else {
@@ -88,7 +106,7 @@ function establish_citadel_session() {
 
        if (!isset($_SESSION["serv_humannode"])) {
                $server_info = ctdl_get_serv_info();
-               print_r($server_info);
+               // print_r($server_info);
                $keys = array_keys($server_info);
                foreach ($keys as $key)
                        $_SESSION[$key] = $server_info[$key];