I have been trying to have 'mathopd' have a 'default virtual server', i.e.
a virtual server that is used whenever none of the 'Host' entries is
matched. I have tried putting in the configuration file something like
this:
...
Server {
Virtual {
Control {
Alias /
Location /usr/local/www/default
}
}
Virtual {
Host host1.domain1
Control {
Alias /
Location /usr/local/www/host1
}
}
Virtual {
Host host2.domain2
Control {
Alias /
Location /usr/local/www/host2
}
}
...
}
...
hoping that the first 'Virtual' section would be the one that is used when
the server is accessed with a name that is neither 'host1.domain1' or
'host2.domain2', but I kept getting 'No such virtual server' errors.
After looking at the code for 'request.c', I think I found how to
change mathopd's behavior to have a 'default virtual server'.
This is the context diff patch to do it:
*** request.c.orig Thu Apr 4 21:13:48 2002
--- request.c Thu Apr 4 21:15:34 2002
***************
*** 645,651 ****
v = r->cn->s->children;
if (r->host) {
while (v) {
! if (v->host && hostmatch(r->host, v->host))
break;
v = v->next;
}
--- 645,651 ----
v = r->cn->s->children;
if (r->host) {
while (v) {
! if (!v->host || hostmatch(r->host, v->host))
break;
v = v->next;
}
Has anyone encountered this problem before? If so, is there a better
way other than patching the source code to fix it? Or is this a 'feature'
of mathopd?
Thanks very much in advance,
Franco Venturi