solanum/librb
Aaron Jones c4acd427ac
MbedTLS: Misc backend cleanups
This is a forward-port of release/3.5 commit 566f4678

* Add generic direction enum for negotiation setup.

* Rename a rather long wrapper function to a shorter one consistent with
  what it does.

* Rework context setup function.

* Don't check for handshake state before beginning handshaking.

  The old backend began a handshake and then stepped into the callback
  function if it was interrupted; the current one just jumps right into
  it, so there is no need to check if it has previously succeeded,
  because it hasn't been attempted yet.

* Add missing errno assignment to one of the handshake wrappers.

* Don't bother checking if SSL_P(F) is NULL when we already checked if
  F->ssl is NULL -- this should be impossible.

* Don't bother checking if SSL_C(F) is NULL -- this was a no-op.

* Change the socket send and recv functions to not peer into a foreign
  ratbox structure -- use the correct function to get the socket fd.

* Rewrap some lines and function arguments.

Other backends will be brought into line with this backend soon.

This will enable easier maintenance of the backends, by reducing the
diffs between them, which should make different behaviour easier to
spot.
2016-09-10 08:51:09 +00:00
..
include librb: remove one more VMS detritius 2016-06-19 21:47:59 -05:00
src MbedTLS: Misc backend cleanups 2016-09-10 08:51:09 +00:00
acinclude.m4 Remove the rest of the SVN id tags 2016-03-23 20:13:12 -04:00
autogen.sh *sigh* comment these out until travis is fixed. 2016-04-10 17:12:42 -05:00
configure.ac librb: fix mbedtls library order 2016-04-23 22:13:03 +01:00
COPYING rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
CREDITS librb: whoops, didn't realise this was needed... :x 2016-03-06 13:30:56 -06:00
install-sh Add these for now until travis actually gets their shit together. 2016-04-10 17:07:33 -05:00
librb.pc.in rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
Makefile.am Properly clean up build artifacts. 2016-04-09 04:55:57 -05:00
README.md update librb README to explain the namechange 2016-03-06 02:33:48 -06:00
TODO rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00

librb

This is based on libratbox, the common runtime support code in ircd-ratbox. It has significant modifications and is no longer compatible with libratbox itself (nor can be used as a dropin replacement), so we renamed it.

original libratbox notes

  1. Most of this code isn't anywhere near threadsafe at this point. Don't hold your breath on this either.
  2. The linebuf code is designed to deal with pretty much 512 bytes per line and that is it. Anything beyond that length unless in raw mode, gets discard. For some non-irc purposes, this can be a problem, but for ircd stuff its fine.
  3. The helper code when transmitting data between helpers, the same 512 byte limit applies there as we recycle the linebuf code for this.