Hi all, this time i take care to cc the list :) This mail include the complete reply i sent to Jorge plus some comments added since i looked recent changes. On Sun, 16 Mar 2003 02:21:52 +0100 Damien Couderc <coudercd@nerim.net> wrote:
Hi Jorge :)
First i'm sorry to be a bit late to reply, i'm really busy with a new project actually.
For the sparc64 we use gcc 2.95.3 by default, but we also have a port of 3.2.2 (but i don't remember if i tested with 3.2.2 so i'll check it).
Still not done.
You will found at the following URL patches from the openbsd port: http://www.openbsd.org/cgi-bin/cvsweb/ports/www/dillo/patches/
Some of them fix ipv6 and threaded name resolution bugs. There're modified versions for those patches in our CVS now!
Yep dns.c seems okay for me :)
In the specific case of the IPv6 one, I don't understand why:
- dns_server[i].th1 = (pthread_t) -1; + dns_server[i].th1 = GPOINTER_TO_INT((pthread_t) -1); because 'dns_server[i].th1' is of type 'pthread_t', not int!
This was fixing a warning of the compiler, so not really important. It is also no longer used as we comment G_DNS_THREADED in the latest patches.
In the case of the http.c patch, I modified it a bit because 'sa_len' is not supposed to be used from sockaddr type (at least that's what libc's texinfo says).
Oh yes linux seems to not have it. You could give a look to SA_LEN() macro which is in libc but of course it is linux specific. Without starting flamewar you should not take linux as (only) reference if you want to make something portable.
Okay so, i've took some time to read your changes and something took my attention : IO/http.c : socket_len = sizeof(struct sockaddr_in6); The fact is that the structure sockaddr_in6 can be really big and cause problems and i'm not sure that the use of sizeof is safe. I think the best way should be to use a define that use sa_len on bsd compliant systems and the SA_LEN() macro on linux. Damien