Re: Unable to get interface flags?

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Philip Hazel
Fecha:  
A: Tom Samplonius
Cc: exim-users
Asunto: Re: Unable to get interface flags?
On Thu, 17 Apr 1997, Tom Samplonius wrote:

> Anyone ever see errors like this in the exim_paniclog?


Yes. Should be fixed in Exim 1.62 (thanks for Ian Pallfreeman).

> This is on a FreeBSD 2.1.x system. I guess Exim is having trouble
> getting the interface addresses on this system.


The problem is that FreeBSD (and other BSD systems) are different to
other systems in what they return from the ioctl that lists local
interfaces. A comment in the new code reads:

/* For each interface, check it is an IP interface, get its flags, and see if
it is up; if not, skip.

BSD systems differ from others in what SIOCGIFCONF returns. Other systems
return a vector of ifreq structures whose size is as defined by the structure.
BSD systems allow sockaddrs to be longer than their sizeof, which in turn makes
the ifreq structures longer than their sizeof. The code below has its origins
in amd and ifconfig; it uses the sa_len field of each sockaddr to determine
each item's length. */

and there is a configuration option (set for the BSD systems) to use the
alternative code.

> Anyways, I'm hoping the local_interfaces setting will work around this
> particular problem.


Yes, it will.

Philip

-- 
Philip Hazel                   University Computing Service,
ph10@???             New Museums Site, Cambridge CB2 3QG,
P.Hazel@???          England.  Phone: +44 1223 334714