Guido Serassio wrote:
> Hi,
>
> One user has reported a very strange problem using cache_peer directive
> on 2.7 STABLE6 running on Windows:
>
> When using the following config:
>
> cache_peer 192.168.0.63 parent 3329 0 no-query
> cache_peer rea.acmeconsulting.loc parent 3328 3130
>
> the result is always:
>
> 2009/05/23 12:35:28| Configuring 192.168.0.63 Parent 192.168.0.63/3329/0
> 2009/05/23 12:35:28| Configuring rea.acmeconsulting.loc Parent
> rea.acmeconsulting.loc/13/3130
>
> Very odd ....
>
> Debugging the code, I have found where is situated the problem.
>
> The following if GetService() from cache_cf.c:
>
> static u_short
> GetService(const char *proto)
> {
> struct servent *port = NULL;
> char *token = strtok(NULL, w_space);
> if (token == NULL) {
> self_destruct();
> return -1; /* NEVER REACHED */
> }
> port = getservbyname(token, proto);
> if (port != NULL) {
> return ntohs((u_short) port->s_port);
> }
> return xatos(token);
> }
>
> When the value of port->s_port is 3328, ntohs() always returns 13.
> Other values seems to work fine.
>
> Any idea ?
Are you certain it's ntohs() and not a rogue entry in their services
file defining "3328"? The service match is text-wise.
Amos
-- Please be using Current Stable Squid 2.7.STABLE6 or 3.0.STABLE15 Current Beta Squid 3.1.0.8 or 3.0.STABLE16-RC1Received on Sun May 24 2009 - 06:23:21 MDT
This archive was generated by hypermail 2.2.0 : Sun May 24 2009 - 12:00:02 MDT