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