Re: [Exim] Exim with IPv6

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Philip Hazel
Date:  
À: Sheldon Hearn
CC: Kevin Sindhu, Andre Grueneberg, Philip Blundell, exim-users
Sujet: Re: [Exim] Exim with IPv6
On Tue, 10 Jul 2001, Sheldon Hearn wrote:

> If I replace the bind(2) call in daemon.c with the following:
>
>       if (bind(listen_sockets[sk], (struct sockaddr *)&sin,
>          ipv6_address ? sizeof(sin.v6) : sizeof(sin.v4)) < 0)

>
> then Exim binds to port 25 correctly and all is well.
>
> Not sure why Philip's trick with the union doesn't work, but I'm
> guessing something lower down in the kernel does some kind of validation
> of addrlen.
>
> In any case, using the code above instead of what's in place right now
> should solve the problem, no?


Sounds very plausible. In fact, I think the previous code was plain
wrong. Interestingly, the equivalent change has already been made in the
Exim 4 source tree, where there has been some general re-arrangement of
the code. I've put this patch into the Exim 3 source tree, so that if
(when!) there is another release, it will be there. And I've made a
patch file, in case anybody wants it.

Thanks for sussing it out.

Philip

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.