You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by James Porritt <ja...@is.bbc.co.uk> on 2006/04/13 16:50:47 UTC

mod_echo problem on Solaris

Hi,
I've got a problem with getting mod_echo to work on Solaris. Using
VirtualHost I manage to get it listening on a particular port, but
when I try and connect, the connection is accepted, but seems to get
disconnected straight away. I've tried running the same Apache
configuration under Linux, and it seems to work there. I found a module
called mod_daytime and compiled that. Obviously it is designed to connect,
output and disconnect and that seemed to work ok on both platforms, which
leads me to believe that the configuration is right and that it's Apache
at fault somewhere.

Can someone help me diagnose what the problem is, or if they have come
across the issue before? I'd like to write a protocol module, and need to
get this working before I can attempt it.

The apache was built thus: 

Server version: Apache/2.0.55
Server built:   Mar 10 2006 13:35:22
Server's Module Magic Number: 20020903:11
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

It was built on Solaris 8 and run on Solaris 9

and the config is:

ServerRoot "/cache/packages/apache2/apache-2.0.55-v8plus/usr/local/apache2"
LockFile /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/accept.lock
ScoreBoardFile /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/apache_runtime_status
PidFile /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/apache2.pid

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0

LoadModule access_module modules/mod_access.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule echo_module modules/mod_echo.so

User nobody
Group #-1

ServerAdmin you@example.com

UseCanonicalName Off

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "/cache/packages/apache2/apache-2.0.55-v8plus/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

DirectoryIndex index.html index.html.var

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

TypesConfig conf/mime.types

DefaultType text/plain

HostnameLookups Off

ErrorLog /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/error_log

LogLevel debug
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

CustomLog /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/access_log common

ServerTokens Full

ServerSignature On

Alias /icons/ "/cache/packages/apache2/apache-2.0.55-v8plus/icons/"

<Directory "/cache/packages/apache2/apache-2.0.55-v8plus/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

IndexOptions FancyIndexing VersionSort

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon /icons/unknown.gif

ReadmeName README.html
HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddHandler type-map var

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

Listen 8080
<VirtualHost *:8080>
	DocumentRoot "/home/jamesp/www"
</VirtualHost>

Listen 8090
NameVirtualHost *:8090
<VirtualHost *:8090>
	ProtocolEcho On
</VirtualHost>


-- 
James Porritt, Senior Developer, Internet Operations
Operation Related Services, Siemens Business Services Ltd

This email contains confidential information and is for the exclusive use 
of the addressee(s). If you are not the addressee, then any distribution, 
copying or use of this email is prohibited. If received in error, please 
advise the sender and delete/destroy it immediately. We accept no liability 
for any loss or damage suffered by any person arising from use of this email.

Siemens Business Services Limited
Registered No: 1203466 England
Registered Office: Siemens House, Oldbury, Bracknell, Berkshire, RG12 8FZ

Re: mod_echo problem on Solaris

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
It's a known bug of 2.0.55 and prior (and 2.2.0?  Unsure.)

It's fixed in head and the coming release of 2.2, and probably 2.0 as well
although I have to look at my notes if the backport was committed.

The set-original-timeout was handled in the net_time HTTP-style filter.
This was rather bogus when you consider that should be handled up front,
even before the request connection is completed.  That's why you are seeing
the behavior.



James Porritt wrote:
> Hi,
> I've got a problem with getting mod_echo to work on Solaris. Using
> VirtualHost I manage to get it listening on a particular port, but
> when I try and connect, the connection is accepted, but seems to get
> disconnected straight away. I've tried running the same Apache
> configuration under Linux, and it seems to work there. I found a module
> called mod_daytime and compiled that. Obviously it is designed to connect,
> output and disconnect and that seemed to work ok on both platforms, which
> leads me to believe that the configuration is right and that it's Apache
> at fault somewhere.
> 
> Can someone help me diagnose what the problem is, or if they have come
> across the issue before? I'd like to write a protocol module, and need to
> get this working before I can attempt it.
> 
> The apache was built thus: 
> 
> Server version: Apache/2.0.55
> Server built:   Mar 10 2006 13:35:22
> Server's Module Magic Number: 20020903:11
> Architecture:   32-bit
> Server compiled with....
>  -D APACHE_MPM_DIR="server/mpm/worker"
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_FCNTL_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D HTTPD_ROOT="/usr/local/apache2"
>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
> 
> It was built on Solaris 8 and run on Solaris 9
> 
> and the config is:
> 
> ServerRoot "/cache/packages/apache2/apache-2.0.55-v8plus/usr/local/apache2"
> LockFile /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/accept.lock
> ScoreBoardFile /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/apache_runtime_status
> PidFile /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/apache2.pid
> 
> Timeout 300
> 
> KeepAlive On
> 
> MaxKeepAliveRequests 100
> 
> KeepAliveTimeout 15
> 
> StartServers         2
> MaxClients         150
> MinSpareThreads     25
> MaxSpareThreads     75 
> ThreadsPerChild     25
> MaxRequestsPerChild  0
> 
> LoadModule access_module modules/mod_access.so
> LoadModule log_config_module modules/mod_log_config.so
> LoadModule setenvif_module modules/mod_setenvif.so
> LoadModule mime_module modules/mod_mime.so
> LoadModule autoindex_module modules/mod_autoindex.so
> LoadModule negotiation_module modules/mod_negotiation.so
> LoadModule dir_module modules/mod_dir.so
> LoadModule alias_module modules/mod_alias.so
> LoadModule echo_module modules/mod_echo.so
> 
> User nobody
> Group #-1
> 
> ServerAdmin you@example.com
> 
> UseCanonicalName Off
> 
> <Directory />
>     Options FollowSymLinks
>     AllowOverride None
> </Directory>
> 
> <Directory "/cache/packages/apache2/apache-2.0.55-v8plus/htdocs">
>     Options Indexes FollowSymLinks
>     AllowOverride None
>     Order allow,deny
>     Allow from all
> </Directory>
> 
> DirectoryIndex index.html index.html.var
> 
> AccessFileName .htaccess
> 
> <Files ~ "^\.ht">
>     Order allow,deny
>     Deny from all
> </Files>
> 
> TypesConfig conf/mime.types
> 
> DefaultType text/plain
> 
> HostnameLookups Off
> 
> ErrorLog /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/error_log
> 
> LogLevel debug
> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
> LogFormat "%h %l %u %t \"%r\" %>s %b" common
> LogFormat "%{Referer}i -> %U" referer
> LogFormat "%{User-agent}i" agent
> 
> CustomLog /cache/packages/apache2/apache-2.0.55-v8plus/var/httpd/access_log common
> 
> ServerTokens Full
> 
> ServerSignature On
> 
> Alias /icons/ "/cache/packages/apache2/apache-2.0.55-v8plus/icons/"
> 
> <Directory "/cache/packages/apache2/apache-2.0.55-v8plus/icons">
>     Options Indexes MultiViews
>     AllowOverride None
>     Order allow,deny
>     Allow from all
> </Directory>
> 
> IndexOptions FancyIndexing VersionSort
> 
> AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
> 
> AddIconByType (TXT,/icons/text.gif) text/*
> AddIconByType (IMG,/icons/image2.gif) image/*
> AddIconByType (SND,/icons/sound2.gif) audio/*
> AddIconByType (VID,/icons/movie.gif) video/*
> 
> AddIcon /icons/binary.gif .bin .exe
> AddIcon /icons/binhex.gif .hqx
> AddIcon /icons/tar.gif .tar
> AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
> AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
> AddIcon /icons/a.gif .ps .ai .eps
> AddIcon /icons/layout.gif .html .shtml .htm .pdf
> AddIcon /icons/text.gif .txt
> AddIcon /icons/c.gif .c
> AddIcon /icons/p.gif .pl .py
> AddIcon /icons/f.gif .for
> AddIcon /icons/dvi.gif .dvi
> AddIcon /icons/uuencoded.gif .uu
> AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
> AddIcon /icons/tex.gif .tex
> AddIcon /icons/bomb.gif core
> 
> AddIcon /icons/back.gif ..
> AddIcon /icons/hand.right.gif README
> AddIcon /icons/folder.gif ^^DIRECTORY^^
> AddIcon /icons/blank.gif ^^BLANKICON^^
> 
> DefaultIcon /icons/unknown.gif
> 
> ReadmeName README.html
> HeaderName HEADER.html
> 
> IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
> 
> AddType application/x-compress .Z
> AddType application/x-gzip .gz .tgz
> 
> AddHandler type-map var
> 
> BrowserMatch "Mozilla/2" nokeepalive
> BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
> BrowserMatch "RealPlayer 4\.0" force-response-1.0
> BrowserMatch "Java/1\.0" force-response-1.0
> BrowserMatch "JDK/1\.0" force-response-1.0
> 
> BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
> BrowserMatch "^WebDrive" redirect-carefully
> BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
> BrowserMatch "^gnome-vfs" redirect-carefully
> 
> Listen 8080
> <VirtualHost *:8080>
> 	DocumentRoot "/home/jamesp/www"
> </VirtualHost>
> 
> Listen 8090
> NameVirtualHost *:8090
> <VirtualHost *:8090>
> 	ProtocolEcho On
> </VirtualHost>
> 
>