Subject: Re: adding __libc_read et al?
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Simon J. Gerraty <sjg@quick.com.au>
List: tech-userlevel
Date: 12/31/1999 20:59:56
>> My libsslfd would use them if available. It contains evil magic to
>> hook read(),write() etc so that stdio can have SSL transport shoved
>> underneath - works a treat for ftp/ftpd.
>This is just the sort of thing that I would say *shouldn't* use them;
>what you really want to be using is not libc's read and write, but
>rather the read and write from "the next layer down", which may or may
>not be the raw libc one. Consider layering a similar library atop
>yours - if that next layer goes straight to libc, your layer is
>(incorrectly) bypassed.
I know its not ideal - that's why I was asking about such a layering
mechanism some time ago. For instance I'd like to see
stdio
libsslfd <=> libssl
libsocks
work. Right now libsslfd and sock5 are incompatible - looked at
supporting socks a while back and decided it was too hard - easier
to just use a http proxy.
So yes __libc_read() etc is not a total solution, but it is available
on at least a few OS's (Solaris and Linux at least) and is better than
libsslfd calling syscall(). Also making the above layering "simply work"
would probably be NetBSD specific for a long time (if not forever).
--sjg