[openbeosnetteam] Re: libbind.so status

> > It is fixed now. But our select() emulation crashes when used with Vision 
> > (uses libnet). Vision starts three threads which call select() 
> > simultaneously. Then, one dies. 
>  
> Oh. Okay, some thread unsafety there. 
> I should look into this issue, will read some Vision code in the process! 

Cool.

> > Yes, I thought this could get it smaller, but the resolv stuff seems to 
> > depend on many things. I will look if I can somehow drop many things out 
> > again, but last time it did not work... 
> [...] 
> > The README file in BIND says: the BIND resolver library can be found in 
> > lib/bind, so I compiled everything from there. 
> > Also, BONE's libbind.so is about 300k which is the same as ours (our old 
> BIND 
> > is a tenth of this size). 
>  
> Okay then. I was just suprised by the fat BIND got recently. 

Today I tried to strip it down to a smaller library by beginning only with the 
resolv folder and the inet_xxx and getxxxbyxxx functions, but it always wanted 
more and more (linker said: in funciton f: symbol x not found). So, in the end 
we must go with the fat.

> > They say netdb.h should only contain gethostbyname(), not its 
> > gethostbyname_r() version, but Mozilla wants that one to be defined, too. 
>  
> This is right, POSIX tends to specify what required, but you always can 
> expand 
> on it. Just try to keep it clean. Before create or import new public 
> header(s) 
> under public/posix, it's better to check if it's required by POSIX 1003.1. 
> Until our POSIX headers provides the required definitions, we can afford to 
> add some extra definitions, like reentrant functions versions. 

Okay. Then I did nothing too wrong. :)

> But BONE headers were: 
> - frozen at BONE 7a, not definitive 
> - placed under develop/headers/be/bone/*, not develop/headers/posix/*.  
>  
> I'm not in front of a BONE system, but IIRC, POSIX files like sys/socket.h 
> are 
> mixed with BONE specific ones. 

Damn, I always have to reboot to WinXP to read my mails. :)
But I think all network related posix headers were removed.

> So, we need to sort out these headers, one by one. 
> So far, it looks good, except for the ISC headers and some ISC-only required 
> headers like fd_size.h, cdef.h. 

Do you mean that fd_size.h and cdef.h are needed or can they be moved into 
libbind/headers?
I think the irs (or was it isc?) folder can be moved into libbind/headers, too. 
Tomorrow the headers will be sorted out...

BTW, our current problem with ping et all is that the netinet/ip_var.h (and 
probably other headers, too) #define's conflict with the new SO_XXX values. 
Changing them resulted in ping sending nicer packets (correct version, etc.), 
but the checksum is still wrong. Maybe I can fix this tomorrow.

Possibly this could even make Mozilla work (although SO_NONBLOCK is not 
supported). If so, we need a different dead-line task. You can already start 
thinking about one. ;)
What about completing [sg]etsockopt?

> You mean, cleaning after the party?! 
> Argh. I always hate it. 
>  
> But, we don't have other alternative, you're right. 
> Just try keep cleaness in mind. 

Of course. ;)

Bye,
Waldemar

Other related posts: