[openbeosnetteam] Re: DNS bug

Hi,

> Was our aim to have BONE compatibility? 

Well, at OBOS project start, it was not clearly stated, and most of the 
time a R2 feature.
But since Zeta show up, making BONE public, I guess we have now too 
much BONE-based app out to afford to not support them in OBOS R1.
So, yes, BONE compatibility could be considered a new task for R1.
I'll add it to web site soon.

> Today I surfed around with Net+ (using our netstack and ppp, or 
> course ;).
> Also, I could check out some sources via cvs.

Congratulations!!!

I guess it's time to move this team overall progress indicator on web 
site a little toward Alpha middle phase!

> Vision did not work because it wants to have BONE. The problem with 
> BONE is that its SOCK_STREAM, etc values conflict with the net_stack 
values.

Yep. I tried to sum up the net_server, BONE and our stack differences 
and compatibility issues in current/docs/develop/net/
r5_compatibility.html page, but surely I forgot about some of them or 
I'm wrong about some others.

> It seems that we must add our own libsocket.so and libbind.so for 
> BONE compatibility. I think libbind.so could be a link to our 
libnet.so. 

I think it should work, but it rely on the runtime linker not checking 
the real library filename. I dunno if it'll be still the case with OBOS 
runtime linker. Axel, does it check the real image filename match the 
lib name supplied in app ELF header, or he doesn't care (which is great 
but not much secure) and simply follow symlink?

> libsocket.so would have to adjust the socket type value. I could need 
> a helping hand.

I should be able to do that. Creating a new folder in src/kits/network/
libsocket feel easy enough to me as a comeback!
But, before, we should look if it's the best way to do it, as I really 
don't like the idea of several, small (read mostly stupid) libraries 
providing network kit userland API:

libnet.so
libnetapi.so
libsocket.so
libbind.so
libbnetapi.so

The last 3 are for BONE compatibility, but if we can come with lesser 
real libraries, and symlink them for BONE compatibility, it'll reduce 
the code to maintains. I already see in the future that one can be 
confused discovering we have in current/src/kits/network a libnet, a 
libnetapi (already confusing name!), a libsocket, a libbind and a 
libbnetapi (best confusing library name already in the BeOS dev 
community!!!) library.

If we could find a cleaner way to provide BONE compatibility, I'll be 
happy...

- Philippe

--
Fortune Cookie Says:

Bureaucrat, n.:
        A person who cuts red tape sideways.
                -- J. McCabe

Other related posts: