diff -r af239423ed15 -r ee64bb096f56 webserver.php --- a/webserver.php Tue Dec 23 17:37:51 2008 -0500 +++ b/webserver.php Tue Dec 23 20:20:35 2008 -0500 @@ -265,7 +265,7 @@ if ( is_string($targetgroup) ) { $targetgroup = posix_getgrnam($targetgroup); - $targetgroup = $targetgroup['uid']; + $targetgroup = $targetgroup['gid']; } // make sure all info is valid if ( !is_int($targetuser) || !is_int($targetgroup) ) @@ -624,6 +624,10 @@ if ( preg_match('/^HTTP_/', $key) ) unset($_SERVER[$key]); } + if ( !isset($_SERVER['SERVER_SOFTWARE']) ) + { + $_SERVER['SERVER_SOFTWARE'] =& $this->server_string; + } unset($client_headers[0]); foreach ( $client_headers as $line ) { @@ -2126,7 +2130,15 @@ function write($data) { - return @fwrite($this->sock, $data); + $data = str_split($data, 8096); + foreach ( $data as $chunk ) + { + while ( !@fwrite($this->sock, $chunk) ) + { + usleep(50000); + } + } + return true; } function is_eof()