[tpop3d-discuss] non-blocking I/O

Chris Lightfoot chris at ex-parrot.com
Fri, 18 Oct 2002 15:22:23 +0100

On Thu, Oct 17, 2002 at 01:22:09PM -0600, Ben Schumacher wrote:
> Just curious. Read that you're thinking of refactoring the code to
> non-blocking I/O and was wondering what timeframe you're looking at
> doing this in. As we've discussed on several occassions, this will make

OK. A first version of this is now in CVS. It's not fully
tested but it seems to work. It also implements
delay-on-authentication-failure after Yann's patch.

I haven't yet put in hooks for different transports (TLS
vs. simple sockets). At the moment the code relies upon
functions having the semantics of read(2)/write(2) with
O_NONBLOCK set. I believe that OpenSSL supports these.

One OpenSSL comment: there are issues about linking GPL
software to OpenSSL. It's a while since I looked into this
but it seemed pretty silly to me when I last looked. The
blurb I put on tlsproxyd is

    (Note: there are some potential issues with linking
    GPL software against OpenSSL. Obviously it would be
    foolish of me to release a program under the GPL which
    needs to be linked against OpenSSL and then claim that
    it's a violation of the license to do so. I should
    also note that I'm not certain that free software
    licenses such as the GPL really can be used to prevent
    linking against particular other software, but that's
    a whole other flame war.)

-- does this stuff bother anybody? Debian seem to get
frightfully upset about it.

``[An] island is a region of land entirely surrounded by advice.''
  (from Lord Shackleton's 1976 report on the Falkland Islands)