Hi there

I hope this is the right mailing list to publish a patch. If not,
please let me know where to place it or how I should get in contact
with the relayd maintainer(s).

I've added some new SSL features and config options to relayd that we
needed at work:

- ssl edh params "value"
  -> allows to control the use of OpenSSL built-in DH params. With
     them, relayd is now able to use EDH/DHE ciphers. They are the
     only option to provide forward secrecy for older clients.

- ssl [no] cipher-server-preference
  -> allows the admin to control SSL_OP_CIPHER_SERVER_PREFERENCE to be
     able to force some cipher preferences on clients (i.e. to prefer
     ciphers that provide forward secrecy).

- ssl [no] client-renegotiation
  -> allows the interception of ("secure") client initiated
     renegotioations, which are considered a risk in DDoS scenarios
     because many CPU cycles can be burned this way on a single TCP
     connection without an obvious way for the administrator to 
     immediately know what's happening.


The patch was originally written against the FreeBSD port of relayd, but
since all the changes should be easily portable to OpenBSD and it makes
sense to add the features upstream, I recreated the patch so that it
applies to OpenBSD (5.5 and CURRENT). It's only compile-tested, but the
changed code parts do not really differ between the platforms, so I
think the patch should be safe to use.

Patch for OpenBSD 5.5:
http://gebert.net/share/relayd-ssl-5.5.diff

Patch for OpenBSD CURRENT as of 2014-07-01:
http://gebert.net/share/relayd-ssl-current-20140701.diff


Please feel free to change any defaults I’ve chosen for the new config
options. They were chosen for the environmet I run relayd in and might
not fit your policies about introducing new features.

Any feedback is welcome!


Markus


Reply via email to