/ Zope / Apsis / Pound Mailing List / Archive / 2003 / 2003-12 / pound-current does not work with my pound.cfg from pound-1.4

[ << ] [ >> ]

[ Re: [Zope] kill LONG request and manage_main DoS? ... ] [ pound 1.6 on freebsd: shutdown / Pavel Merdine ... ]

pound-current does not work with my pound.cfg from pound-1.4
Joachim Schmitz <js(at)aixtraware.de>
2003-12-09 16:14:38 [ FULL ]
Hi,

I just downloaded and installed Pound-current, and tried to use with my 
old pound.cfg. But all my virtual hosts don't work anymore. I am using 
pound in my local network to test different zope servers, which all run 
on different ports on 127.0.0.1

The Start of my pound.cfg looks like:

LogLevel 3

ListenHTTP *,80
UrlGroup ".*"
   HeadRequire Host ".*.vcs.aixtraware.de"
   BackEnd 127.0.0.1,8880,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*test.aixtraware.de"
   BackEnd 127.0.0.1,9080,1
EndGroup

..... some more servers

UrlGroup ".*"
   BackEnd 127.0.0.1,8980,1
EndGroup

with pound-1.4 a request to http://stest.aixtraware.de
was send to zope on port 9080. With pound-current it is send to the 
catchall server on 8980.

If I switch back to pound-1.4 everything works as before.
[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Robert Segall <roseg(at)apsis.ch>
2003-12-09 16:58:39 [ FULL ]
On Tuesday 09 December 2003 16:14, Joachim Schmitz wrote:[...]

I am not aware of any changes in the Header matching code, and we had no 
reports of problems in this area - not with 1.5 and not with 1.6. I suggest 
you try a bit of debigging and give us more information - we can't even 
replicate the problem (it works fine on our installations).[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Robert Segall <roseg(at)apsis.ch>
2003-12-10 08:31:14 [ FULL ]
On Tuesday 09 December 2003 17:29, Joachim Schmitz wrote:[...]

This is not helpful. Try adding some debugging code to the function get_grp() 
in svc.c - that is where Pound decides which UrlGroup the request belongs in. 
For example:

GROUP *
get_grp(char *url, char **headers)
{
    int n, i, j, found;

    for(n = 0; groups[n] != NULL; n++) {
	fprintf(stderr, "\n*** Start group %d, request \"%s\"\n", n, url);
        /* URL */
        if(regexec(&groups[n]->url_pat, url, 0, NULL, 0))
            continue;
	fprintf(stderr, "*** URL \"%s\" matched group %d\n", url, n);
        /* required headers */
        for(found = 1, i = 0; found && i < groups[n]->n_req; i++)
        for(found = j = 0; !found && j < (MAXHEADERS - 1) &&
headers[j]; j++){
	    fprintf(stderr, "Checking (REQ) header %s\n", headers[i]);
            if(!regexec(&groups[n]->head_req[i], headers[j], 0, NULL,
0))
                found = 1;
	}
        if(!found)
            continue;
	else
	    fprintf(stderr, "*** Required headers found in group %d\n", %n);
        /* disallowed headers */
        for(found = 0, i = 0; !found && i < groups[n]->n_deny;
i++)
        for(found = j = 0; !found && j < (MAXHEADERS - 1) &&
headers[j]; j++){
	    fprintf(stderr, "Checking (DENY) header %s\n", headers[i]);
            if(!regexec(&groups[n]->head_deny[i], headers[j], 0, NULL,
0))
                found = 1;
	}
        if(found)
            continue;
	else
	    fprintf(stderr, "*** Denied headers not found in group %d\n", %n);
        break;
    }
    fprintf(stderr, "*** Return group %d\n", n);
    return groups[n];
}

Configure Pound without daemon, without syslog. Compile and run. Let us see 
the output.

BTW - please keep this on the list.[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Joachim Schmitz <js(at)aixtraware.de>
2003-12-10 10:08:25 [ FULL ]
Robert Segall wrote:
[...]
here it is:

*** Start group 0, request "/History/edit"
*** URL "/History/edit" matched group 0
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 1, request "/History/edit"
*** URL "/History/edit" matched group 1
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 2, request "/History/edit"
*** URL "/History/edit" matched group 2
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 3, request "/History/edit"
*** URL "/History/edit" matched group 3
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 4, request "/History/edit"
*** URL "/History/edit" matched group 4
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 5, request "/History/edit"
*** URL "/History/edit" matched group 5
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 6, request "/History/edit"
*** URL "/History/edit" matched group 6
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 7, request "/History/edit"
*** URL "/History/edit" matched group 7
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 8, request "/History/edit"
*** URL "/History/edit" matched group 8
Checking (REQ) header Host: stest.aixtraware.de:80

*** Start group 9, request "/History/edit"
*** URL "/History/edit" matched group 9
*** Required headers found in group 9

and here the full pound.cfg:

LogLevel 3

ListenHTTP *,80
UrlGroup ".*"
   HeadRequire Host ".*.vcs.aixtraware.de"
   BackEnd 127.0.0.1,8880,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*test.aixtraware.de"
   BackEnd 127.0.0.1,9080,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*tozo2.aixtraware.de"
   BackEnd 127.0.0.1,9880,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*unihd.aixtraware.de"
   BackEnd 127.0.0.1,9080,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*unihd.aixtraware.de/augenklinik"
   BackEnd 127.0.0.1,9080,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*augenklinik.aixtraware.de"
   BackEnd 127.0.0.1,9080,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*zope27.aixtraware.de"
   BackEnd 127.0.0.1,10080,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*92.aixtraware.de"
   BackEnd 127.0.0.1,9280,1
EndGroup
UrlGroup ".*"
   HeadRequire Host ".*silva.aixtraware.de"
   BackEnd 127.0.0.1,8880,1
EndGroup
UrlGroup ".*"
   BackEnd 127.0.0.1,8980,1
EndGroup


[...]

[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Robert Segall <roseg(at)apsis.ch>
2003-12-10 12:46:12 [ FULL ]
On Wednesday 10 December 2003 10:08, Joachim Schmitz wrote:[...]

The answer is clear: your config file should read (for example):

UrlGroup ".*"
   HeadRequire Host ".*test.aixtraware.de.*"
   BackEnd 127.0.0.1,9080,1
EndGroup

what clearly fails is the port number appended in the request header; please 
note that the Host header reads:

Checking (REQ) header Host: stest.aixtraware.de:80

rather than

Checking (REQ) header Host: stest.aixtraware.de

Fix all your groups as indicated and it should work OK again.

In parantheses: I suspect this is an artifact of the Redirect rewriting
code.[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 13:29:31 [ FULL ]
Am Mittwoch, 10. Dezember 2003 12:46 schrieben Sie:[...]
Hi Robert,

thanks a lot for your help.

I tried a

HeadRequire Host ".*"

as well as a

HeadRequire Host ".*192.168.0.98.*"

to all my Groups, but neither made a difference :-(


May be I got your hint wrong? So heres my new second group:


URLGroup ".*"
HeadRequire Host ".*192.168.0.98.*"
Session BASIC 2000
BackEnd 192.168.0.1,8080,1
BackEnd 192.168.0.98,8080,1
EndGroup


Cheers, Sascha
[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Joachim Schmitz <js(at)aixtraware.de>
2003-12-10 13:39:11 [ FULL ]
Robert Segall wrote:[...][...][...]

Thanks, that did it.

[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 13:56:35 [ FULL ]
damn, sorry, I'm a complete idiot. please just ignore my crap from 
before, I thought it had to do with my problem, which is obviously not 
the case.

Sascha

Re: pound-current does not work with my pound.cfg from pound-1.4
Joachim Schmitz <js(at)aixtraware.de>
2003-12-10 15:07:43 [ FULL ]
Joachim Schmitz wrote:[...]
actually not completely, normal views work, but when accessing the 
Zopemanagementinterface with: http://stest.aixtraware.de/manage

the top frame and the left frame are displayed immediatly, but the right 
frame does not load, the browser says transfering data, but nothing is 
happening on the wire. I stopped it after 3 minutes. Again this works 
perfectly with pound-1.4.

[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Sascha Ottolski <sascha.ottolski(at)gallileus.de>
2003-12-10 15:32:38 [ FULL ]
Am Mittwoch, 10. Dezember 2003 15:07 schrieben Sie:[...]

thats exactly what I see: 
http://www.apsis.ch/pound/pound_list/archive/2003/2003-12/1071053519000

I will try 1.4 right away...


Sascha

[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Robert Segall <roseg(at)apsis.ch>
2003-12-10 18:58:20 [ FULL ]
On Wednesday 10 December 2003 15:07, Joachim Schmitz wrote:[...]

Perhaps some info on what is going on between Pound and the back-end would be 
helpful. An instance of tcpwatch in between would be great...[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Robert Segall <roseg(at)apsis.ch>
2003-12-11 11:04:04 [ FULL ]
On Wednesday 10 December 2003 20:31, Joachim Schmitz wrote:[...]

OK - thanks, I think I understand what the problem is. Please try the latest 
Pound-current, as I just uploaded a fix for the problem.

Again - please keep this on the list.[...]

Re: pound-current does not work with my pound.cfg from pound-1.4
Joachim Schmitz <js(at)aixtraware.de>
2003-12-11 13:41:40 [ FULL ]
Robert Segall wrote:[...][...]
>>>would be helpful. An instance of tcpwatch in between would be
great...[...][...]

yes that fixes the problem, many thanks.
[...]

In this case it was intentional, cause I didn't want to send the 
attachments to the list.

On the other hand, since the mails to this list don't normally have a 
reply-to header and the pound(at)apsis.ch is only in the CC, it is easely 
done by just hitting the reply button.

[...]

MailBoxer