<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/lib/dev.c, branch 0.17.2</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.17.2</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.17.2'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2020-03-15T13:30:58Z</updated>
<entry>
<title>lib: Return number of written bytes on flow_write</title>
<updated>2020-03-15T13:30:58Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-14T16:52:06Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=51d8f69fb152ae5a47151c2f132fd4263ec3d144'/>
<id>urn:sha1:51d8f69fb152ae5a47151c2f132fd4263ec3d144</id>
<content type='text'>
This is more in line with the write() system call and prepares for
partial writes. Partial writes are disabled by default (and not yet
implemented).

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Change return type of fevent to ssize_t</title>
<updated>2020-03-15T13:26:49Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-15T07:58:55Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=b977090a7692acada4b81677e88c5a5e60a153c3'/>
<id>urn:sha1:b977090a7692acada4b81677e88c5a5e60a153c3</id>
<content type='text'>
The return type was still an int, but since it returns the number of
events, it should be an ssize_t.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib, ipcpd: piggyback ECDHE on flow allocation</title>
<updated>2020-02-25T07:21:09Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-24T21:30:22Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=fe6b60909d455abdac7885ceaba1097749e7aeb1'/>
<id>urn:sha1:fe6b60909d455abdac7885ceaba1097749e7aeb1</id>
<content type='text'>
The initial implementation for the ECDHE key exchange was doing the
key exchange after a flow was established. The public keys are now
sent allowg on the flow allocation messages, so that an encrypted
tunnel can be created within 1 RTT. The flow allocation steps had to
be extended to pass the opaque data ('piggybacking').

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Update copyright to 2020</title>
<updated>2020-01-02T14:07:36Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-01-01T08:48:07Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=435a91165a3c1f8ca715b22ee2c2361d9bd853dd'/>
<id>urn:sha1:435a91165a3c1f8ca715b22ee2c2361d9bd853dd</id>
<content type='text'>
Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Add check that flow_id is valid</title>
<updated>2019-10-06T07:11:20Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander@ouroboros.rocks</email>
</author>
<published>2019-10-05T11:47:49Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=b06ede91561fbac4a7e29e1569d4855c8f3e2d54'/>
<id>urn:sha1:b06ede91561fbac4a7e29e1569d4855c8f3e2d54</id>
<content type='text'>
In fset_add, the flow_id was passed to the shm_flow_set without
checking if it was actually valid.

Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Add per-message encryption with OpenSSL</title>
<updated>2019-08-03T10:10:57Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-08-02T17:12:34Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=9e8d603d14561095fb8d08871319a315d3bf6763'/>
<id>urn:sha1:9e8d603d14561095fb8d08871319a315d3bf6763</id>
<content type='text'>
This adds a per-message symmetric encryption using the OpenSSL
library. At flow allocation, an Elliptic Curve Diffie-Hellman exchange
is performed to derive a shared secret, which is then hashed using
SHA3-256 to be used as a key for symmetric AES-256 encryption. Each
message on an encrypted flow adds a small crypto header that includes
a random 128-bit Initialization Vector (IV). If the server does not
have OpenSSL enabled, the flow allocation will fail with an -ECRYPT
error.

Future optimizations are to piggyback the public keys on the flow
allocation message, and to enable per-flow encryption that maintains
the context of the encryption over multiple packets and doesn't
require sending IVs.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irmd, lib: Improve libgcrypt init</title>
<updated>2019-07-29T17:58:20Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-07-26T10:07:21Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=8a37ffbf8c0776a38f2de18a63e885383960ee68'/>
<id>urn:sha1:8a37ffbf8c0776a38f2de18a63e885383960ee68</id>
<content type='text'>
The proper initialization of libgrypt requires a call to
gcry_check_version. The library initialization should first run a
check if the application (or some other library) hasn't already
initialized libgcrypt before attempting to initialize libgcrypt.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Set independent size for rbuff</title>
<updated>2019-04-06T11:40:52Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2019-04-06T11:34:17Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=3e446f29375c0908e8b68ad3a4fd0c5958538150'/>
<id>urn:sha1:3e446f29375c0908e8b68ad3a4fd0c5958538150</id>
<content type='text'>
This allows setting the size of the rbuffs in a system independently
of the main packet buffer using SHM_RBUFF_SIZE. The benefit of setting
a smaller rbuff size is that a single process can't fully occupy the
main packet buffer.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Set specific compiler flags for SWIG target</title>
<updated>2019-03-21T11:33:54Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-21T11:15:45Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=d6bd976b2456104a56f039ee5c5b83e82a5daa77'/>
<id>urn:sha1:d6bd976b2456104a56f039ee5c5b83e82a5daa77</id>
<content type='text'>
The compiler flags for the SWIG target were added to the global
CMAKE_C_FLAGS used for the entire project. This sets the flags
uniquely for the SWIG target. The eth has a similar case for the c99
flag. There was a lingering include in dev.c that was removed.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Refactor create_r and flow_req_arr</title>
<updated>2019-03-04T07:57:57Z</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-03T18:08:48Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=e87f2b683446fe424dc5e8fed60456240e080562'/>
<id>urn:sha1:e87f2b683446fe424dc5e8fed60456240e080562</id>
<content type='text'>
The API calls for the IPCP to inform the IRMd of IPCP creation and
incoming flow request had the pid_t in the call. This pid_t is removed
and the getpid() call is now placed inside the function. Also
refactors the cleanup for the main() functions of some of the lower
IPCPs.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
</feed>
