printf("reading ".$nBytes." bytes from server\n");
printf ("</div>\n");
}
- $i = 0;
- $buf = "";
- $nRead = 0;
-// while ($nRead < $nBytes)
- {
- $buf = fread($clientsocket, $nBytes);
-// $buf.=fgetc($clientsocket) | die ("fgetc failed");
-// $buf .= serv_gets(TRUE);
-// $tbuf = fgets($clientsocket, $nBytes - $nRead);
- if (CITADEL_DEBUG_CITPROTO == 1) {
- if (!$buf) printf ("<div class='ctdldbgRead'>\n");
- printf($buf);
- if (!$buf) printf ("</div>\n");
- else printf ("<br>\n");
- }
-// $buf .= $tbuf;
-// $nRead = strlen ($buf);
-
- }
-
- //$buf = fread($clientsocket, $nBytes) | die ("fread failed"); // Read line
+ $buf = fread($clientsocket, $nBytes);
if (CITADEL_DEBUG_CITPROTO == 1) {
- printf ("<div class='ctdldbgRead'>\n");
+ if (!$buf) printf ("<div class='ctdldbgRead'>\n");
printf($buf);
- printf ("</div>\n");
+ if (!$buf) printf ("</div>\n");
+ else printf ("<br>\n");
}
- print_r($buf);
return $buf;
}
$buf = serv_get_n($statusline[1]);
}
-
- if (CITADEL_DEBUG_CITPROTO == 1){
- echo "read ".$statusline[1]." bytes from the server.\n";
- printf ("</div>\n");
- }
+ if (CITADEL_DEBUG_CITPROTO == 1)
+ printf ("</div>\n");
return array($statusline, $buf);
}
$command = "DLAT ".$msgnum."|".$attindex;
serv_puts($command);
$reply = read_binary();
-
- print_r($reply);
return $reply;
}
// sock_gets() -- reads one line of text from a socket
//
-$logfd =
+$msgsock;
+if (CITADEL_DEBUG_PROXY)
+{
+ define_syslog_variables();
+ openlog("sessionproxylog", LOG_PID | LOG_PERROR, LOG_LOCAL0);
+}
function sock_gets($sock) {
+ global $msgsock;
socket_clear_error($msgsock);
$buf = socket_read($sock, 4096, PHP_NORMAL_READ);
- if (socket_last_error($buf)) return false;
+ if (CITADEL_DEBUG_PROXY)
+ {
+ syslog(LOG_DEBUG, "gets Read: ".$buf);
+ }
+ if (socket_last_error($sock)) return false;
if (preg_match("'\n$'s", $buf)) {
$buf = substr($buf, 0, strpos($buf, "\n"));
-
// *** Start of main program ***
error_reporting(E_ALL);
if ($msgsock >= 0) do {
$buf = sock_gets($msgsock);
if ($buf !== false) {
+// fwrite($logfd, ">>");
+// fwride($logfd, $buf);
if (!fwrite($ctdlsock, $buf . "\n")) {
fclose($ctdlsock);
socket_close($sock);
exit(9);
}
$talkback = fgets($ctdlsock, 4096);
+ if (CITADEL_DEBUG_PROXY)
+ {
+ syslog(LOG_DEBUG, "talkback: ".$talkback);
+ }
if (!$talkback) {
+ if (CITADEL_DEBUG_PROXY)
+ {
+ syslog(LOG_ERROR, "closing socket.");
+ }
fclose($ctdlsock);
socket_close($sock);
system("/bin/rm -f " . $sockname);
}
socket_write($msgsock, $talkback, strlen($talkback));
+ // BINARY_FOLLOWS mode
+ if (substr($talkback, 0, 1) == "6") {
+ $bytes = intval(substr($talkback, 4));
+ if (CITADEL_DEBUG_PROXY)
+ {
+ syslog(LOG_DEBUG, "reading ".$bytes." bytes from server");
+ }
+ $buf = fread($ctdlsock, $bytes);
+ if (CITADEL_DEBUG_PROXY)
+ {
+ syslog(LOG_DEBUG, "Read: ".$buf);
+ }
+ socket_write($msgsock, $buf, $bytes);
+ }
+
// LISTING_FOLLOWS mode
if (substr($talkback, 0, 1) == "1") do {
$buf = fgets($ctdlsock, 4096);
}
} while ($buf != "000\n");
- // BINARY_FOLLOWS mode
- if (substr($talkback, 0, 1) == "6") {
- $bytes = intval(substr($talkback, 4));
- $buf = fread($ctdlock, $bytes);
- socket_write($msgsock, $buf, $bytes);
- }
-
// SEND_LISTING mode
if (substr($talkback, 0, 1) == "4") do {
socket_clear_error($msgsock);