<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/eth, branch 0.17.3</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.17.3</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.17.3'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2020-02-25T07:21:09+00:00</updated>
<entry>
<title>lib, ipcpd: piggyback ECDHE on flow allocation</title>
<updated>2020-02-25T07:21:09+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-24T21:30:22+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/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>ipcpd: Fix bad newline in eth.c</title>
<updated>2020-02-16T17:25:08+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-16T09:43:19+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=961e3da364797eee9d84902cce509baf2f6f9d2d'/>
<id>urn:sha1:961e3da364797eee9d84902cce509baf2f6f9d2d</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>ipcpd: Filter fqueue events in packet handlers</title>
<updated>2020-01-25T15:02:21+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-01-25T11:38:38+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=524445d9c625b05334818e2d900cf79d1ced5aba'/>
<id>urn:sha1:524445d9c625b05334818e2d900cf79d1ced5aba</id>
<content type='text'>
The eth, udp and local IPCPs were not filtering out the event types
from the flow, causing some reads when there are no packets in the
queue. The types are now also organized as flags so they can be
filtered more quickly if needed.

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:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-01-01T08:48:07+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/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>ipcpd: Fix length mismatch of encryption cypher</title>
<updated>2019-08-09T17:43:07+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-08-03T10:50:29+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=3339a629b41c50cca4232517b8249d55f462464d'/>
<id>urn:sha1:3339a629b41c50cca4232517b8249d55f462464d</id>
<content type='text'>
The cypher_s field in QoS was sometimes 32 and sometimes 16 bits. This
is now corrected to be 16 bits.

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 per-message encryption with OpenSSL</title>
<updated>2019-08-03T10:10:57+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-08-02T17:12:34+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/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>build: Set specific compiler flags for SWIG target</title>
<updated>2019-03-21T11:33:54+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-21T11:15:45+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/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: Restrict MTU for Ethernet over loopback</title>
<updated>2019-03-21T08:42:34+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-20T17:33:47+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=086cd5dae628556ffaa2c2efe559a5bd2fba8d0e'/>
<id>urn:sha1:086cd5dae628556ffaa2c2efe559a5bd2fba8d0e</id>
<content type='text'>
This restricts the MTU for the Ethernet IPCP over loopback adapters
(devices named "lo*") to avoid it allocating 65K buffers per packet
and quickly filling the default RDRBUFF space. The restriction is set
using the build option IPCP_ETH_LO_MTU, with a default value of 1500
bytes.

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: Set default number of threads in eth to 1</title>
<updated>2019-03-05T08:10:38+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-05T08:02:57+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=5c74c348ff66d6e6093d21a614ec527e0e31aac6'/>
<id>urn:sha1:5c74c348ff66d6e6093d21a614ec527e0e31aac6</id>
<content type='text'>
This makes the eth packet handler single-threaded by default, at least
until stability issues that seem to be related to multi-threading are
fixed.

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:57+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-03T18:08:48+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/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>
