Skip to content

v0.5.0

Compare
Choose a tag to compare
@michael-lazar michael-lazar released this 14 Jul 04:06
· 53 commits to master since this release

Spec Changes

  • URLs with a userinfo component will now be rejected with a status of 59.
  • The status code definitions have been updated to match the recent changes
    to the gemini spec:
    • 21 SUCCESS_END_OF_SESSION -> (removed)
    • 61 TRANSIENT_CERTIFICATE_REQUESTED -> CERTIFICATE_NOT_AUTHORISED
    • 62 AUTHORISED_CERTIFICATE_REQUIRED -> CERTIFICATE_NOT_VALID
    • 63 CERTIFICATE_NOT_ACCEPTED -> (removed)
    • 64 FUTURE_CERTIFICATE_REJECTED -> (removed)
    • 65 EXPIRED_CERTIFICATE_REJECTED -> (removed)

Bugfixes

  • Jetforce will now always terminate the TCP connection without waiting for a
    TLS close_notify alert response from the client. This fixes a bug where some
    clients would appear to hang after receiving the content from the server.

Features

  • The jetforce-client tool now supports writing TLS keys to a logfile to
    facilitate debugging TLS connections using tools like Wireshark.
  • If an application response handler returns a twisted.Deferred object, the
    errback will now be invoked when the TCP connection is closed.
  • Error stack traces are no longer shown when the client prematurely closes
    the connection.

Examples

  • Added a new example that demonstrates streaming data to client connections
    (examples/chatroom.py).
  • Added a new example that demonstrates extending the static file server with
    common patterns like redirects and authenticated directories
    (examples/redirect.py).