Hi there! On Sat, 15 Mar 2003, Harold Gutch wrote:
On Sat, Mar 15, 2003 at 02:08:29PM +0100, Andreas Schweitzer wrote:
Hi,
when enabling IPv6 on FreeBSD, dillo completely stops to work. With such a binary, not even IPv4 works anymore. I'm not really
I think I expereineced this, too. But since I don't have an IPv6 connection, I didn't know, that IPv4 is still supposed to work.
sure if this is a bug in dillo, or if it's in FreeBSD, but the third parameter to connect() apparently needs to be sizeof(struct sockaddr), which it originally is not (in src/IO/http.c:307). The attached patch makes dillo work again if I compile it with IPv6-support. All of this might apply to the other BSDs as well, and also to other OSes. Also, I don't quite think that this patch should break anything, so it should be safe to apply it.
That's wrong, I just noticed that my patch unbreaks IPv4, but it still doesn't fix IPv6. I guess I only tried it with IPv4 webservers just before :(.
Compare to the patches for OpenBSD : http://www.openbsd.org/cgi-bin/cvsweb/ports/www/dillo/patches/ they have already been pointed to on this mailing list. And I think, your patch is essentially part of theirs ;-)
Thanks for pointing me out to that! Will the according changes be incorporated into dillo before the next release?
I finally had some time to look at it, and I hesitate to include the patch as it is, because my texinfo documents for libc say: "The one piece of information that you can get from the `struct sockaddr' data type is the "address format designator". This tells you which data type to use to understand the address fully." so "sa_len" is out. Considering that, I decided to commit a modified version of the patch, but as I don't have a BSD machine to test, you'll have to help me. Just get the code from the CVS and send some feedback! Cheers Jorge.-