comments on gio TLS (SSL) APIs wanted



Hey, there is code on the "tls" branch of glib (and glib-networking) for
implementing TLS (aka SSL) connections now. I would like to get this
into glib before the next release, which will presumably be shortly
before the next GNOME 2.91 release, on November 29 (and then I'd like to
NOT have API breaks once a week after that :-). So this is a call for
people to look at the APIs at least (if not actually the code) and say
"this is not totally insane" and "why yes, I could use that in my
application".

The patches are broken up into three pieces:

  - https://bugzilla.gnome.org/show_bug.cgi?id=634239 - Child GSources

    This is mostly in gmain.c, and adds support for attaching one
    GSource to another, which I originally needed to have to be able to
    sanely handle the TLS I/O flip-flopping during handshaking, but it
    turns out there are some other neat use cases too, like attaching a
    GTimeoutSource to an arbitrary other source.

  - https://bugzilla.gnome.org/show_bug.cgi?id=634241 - Pollable streams

    This adds GPollableIOStream, GPollableInputStream, and
    GPollableOutputStream, for streams that are capable of doing poll()/
    EAGAIN type non-blocking IO. This is needed because gnutls (and
    NSS and OpenSSL) expects the layer underneath it to behave like
    a socket, but there are situations where it's nice to be able
    to construct a TLS stream out of something other than a
    GSocketConnection.

  - https://bugzilla.gnome.org/show_bug.cgi?id=588189 - TLS

    There's a lot of old discussion in this bug, but the end result is
    that for the most part we add 3 new types: GTlsCertificate,
    GTlsClientConnection, and GTlsServerConnection.

    There are some notes in
    http://git.gnome.org/browse/glib/tree/gio/TLS-NOTES.txt?h=tls
    about what's not yet done or might need to change. In particular,
    the way the constructors work sucks for bindings, and I need to
    do something better.

There are gtk docs of the branch at
http://people.gnome.org/~danw/tls-docs/, and each of the 3 bugs above
has links to the specific classes/methods it adds in those docs.

Discussion should happen mostly in bugzilla I guess? Thanks in advance...

-- Dan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]