Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lib: Fix processing state in CDAP | dimitri staessens | 2017-07-20 | 1 | -7/+19 |
| | | | | | | The processing state was not correctly reset at all points in the loop, causing CDAP to block the IPCP on shutdown in some cases. This also adds a missing unlock and reorders some other unlocks. | ||||
* | lib: Wait for fqueue loop at cdap_del_flow | dimitri staessens | 2017-07-16 | 1 | -62/+80 |
| | | | | | | | The enrollment calls dealloc immediately after cdap_del_flow(), but the CDAP instance may still have that fd in its fqueue loop. cdap_del_flow will now wait for an fqueue loop to end before returning, to make sure the flow is not needed anymore. | ||||
* | ipcpd, lib, irmd: Hardcode shim hash algorithms | Sander Vrijders | 2017-07-12 | 1 | -1/+1 |
| | | | | | | | This will hardcode the shim hash algorithms as they don't have an enrollment phase. Fixes #44 | ||||
* | irmd: Shutdown sanitizer without cancellation | dimitri staessens | 2017-07-12 | 1 | -6/+25 |
| | |||||
* | lib: Fix formatting in irm.c | dimitri staessens | 2017-07-12 | 1 | -2/+1 |
| | |||||
* | lib: Make read_msg static in cacep.c | dimitri staessens | 2017-07-12 | 1 | -2/+2 |
| | |||||
* | lib: Add secure random generator | dimitri staessens | 2017-07-09 | 2 | -5/+81 |
| | | | | | This adds a secure random number generator. It will use OS specific calls with a fallback to OpenSSL if available. | ||||
* | lib: Fix bug and add test for time_utils | dimitri staessens | 2017-07-05 | 3 | -6/+173 |
| | |||||
* | lib: Handle errors when creating cdap_req structs | dimitri staessens | 2017-07-04 | 1 | -2/+13 |
| | |||||
* | lib: Fix memleak in FRCT enrollment | dimitri staessens | 2017-07-03 | 1 | -0/+3 |
| | |||||
* | lib, ipcpd, irmd: Add full-fledged QoS | Sander Vrijders | 2017-06-21 | 5 | -33/+253 |
| | | | | | | | This adds more Quality of Service support to Ouroboros. One part is the network specific characteristics such as bandwidth, delay, ... The other part is end-to-end QoS like reliability, window based flow control, ... | ||||
* | lib: include missing headers in dev.c | dimitri staessens | 2017-06-21 | 1 | -8/+8 |
| | | | | | The dev.c source file had some missing include headers. This PR fixes inconsistencies between the definitions and declarations in ipcp-dev.h | ||||
* | lib, irmd: Handle case fallthrough in gcc 7 | dimitri staessens | 2017-06-04 | 1 | -0/+1 |
| | |||||
* | lib: Fix bug in bitmap | dimitri staessens | 2017-05-24 | 2 | -8/+18 |
| | |||||
* | lib: Fix some bugs in dev.c | dimitri staessens | 2017-05-23 | 1 | -45/+55 |
| | | | | | | | Fixed releasing an allocated fd on failure. As the sending of dealloc messages has been deprecated, dealloc was simplified by removing a stale block of code (replaced with an assertion). Fixed reading some variables without a necessary lock. | ||||
* | ipcpd: normal: Make routing a policy | Sander Vrijders | 2017-05-15 | 2 | -3/+6 |
| | | | | | | This makes the routing component into a policy since different approaches may exist to do this, depending on how high the rank of the DIF is. | ||||
* | ipcpd: Allow specifying fixed syntax | dimitri staessens | 2017-05-15 | 4 | -64/+61 |
| | | | | | | This commits adds the functions and messages to specify a fixed protocol syntax during CACEP. It also revises the messages for specifying the DT protocol syntax from the irm tool. | ||||
* | ipcpd: Remove FRCT from normal IPCP | dimitri staessens | 2017-05-10 | 1 | -1/+1 |
| | | | | | | | In order to ensure 100% reliable transfer, the protocol state machine that takes care of retransmission and SDU ordering has to be in the application. Flow allocation in the normal now uses fds. The PDU_type field was deprecated and AE's within the DIF can use reserved fds. | ||||
* | lib: Remove obsolete lock in dev.c | dimitri staessens | 2017-04-28 | 1 | -135/+5 |
| | |||||
* | ipcpd: Add capability reporting | dimitri staessens | 2017-04-27 | 1 | -2/+4 |
| | | | | | | | | The IPCP will now report the DIF name and the hash value to the IRMd as a dif_info struct. This can later be extended to add further capability reporting. Some bugfixes in normal. Fixes #24 | ||||
* | lib: Add call to reserve blocks in rdrbuff | dimitri staessens | 2017-04-26 | 2 | -7/+46 |
| | | | | | | | This adds a call ipcp_sdb_reserve to reserve memory in the rdrbuff without directly writing to a flow. The ipcp_flow_del function was renamed to ipcp_sdb_release. The functions operating on sdbs are moved to their own header. | ||||
* | lib: Fix bad lock in rib | dimitri staessens | 2017-04-20 | 1 | -2/+3 |
| | |||||
* | lib: Fix compilation error in hash.c | Sander Vrijders | 2017-04-19 | 1 | -0/+2 |
| | | | | | If compiled as release build, an error would be generated as the control reaches the end of a non-void function. | ||||
* | ipcpd: Allow specifying the hash algorithm to use | dimitri staessens | 2017-04-16 | 3 | -10/+64 |
| | | | | Currently CRC32, MD5, and SHA3 (224, 256, 384 and 512 bit) are supported. | ||||
* | lib: Add implementation for MD5 hashes | dimitri staessens | 2017-04-16 | 4 | -0/+409 |
| | |||||
* | lib: Fix minor things in sha3 implementation | dimitri staessens | 2017-04-16 | 2 | -1/+40 |
| | |||||
* | include, lib: Rename ap_init/ap_fini | dimitri staessens | 2017-04-13 | 1 | -2/+2 |
| | | | | Fixes #35 | ||||
* | Merged in dstaesse/ouroboros/be-hashes (pull request #479) | dimitri staessens | 2017-04-13 | 13 | -232/+149 |
|\ | | | | | | | lib, ipcpd, irmd: Register hash instead of name | ||||
| * | lib, ipcpd, irmd: Register hash instead of name | dimitri staessens | 2017-04-13 | 13 | -232/+149 |
| | | | | | | | | | | | | | | | | | | All information passed over the IRMd/IPCP boundary for using IPC services (flow allocation, registration) is now hashed. This effectively fixes the shared namespace between DIFs and the IRMDs. This PR also fixes some API issues (adding const identifiers), shuffles the include headers a bit and some small bugs. | ||||
* | | lib: Fix return values in ap_init() | dimitri staessens | 2017-04-11 | 1 | -4/+4 |
|/ | |||||
* | dev: Return descriptive errors for flow_alloc | dimitri staessens | 2017-04-10 | 1 | -10/+10 |
| | |||||
* | lib: Make timeout for flow allocation const | dimitri staessens | 2017-04-10 | 1 | -5/+5 |
| | |||||
* | lib, irmd: Implement flow allocation timeout | dimitri staessens | 2017-04-06 | 4 | -24/+27 |
| | | | | | | Setting the timeouts on flow_alloc and flow_accept will now work. This makes some changes to the UNIX sockets used for management communication between the APs, IRMd and IPCPs. | ||||
* | lib: Fix insertion in lockless rbuff | dimitri staessens | 2017-04-04 | 1 | -2/+2 |
| | |||||
* | lib, irmd, ipcpd: Stabilize flow allocation | dimitri staessens | 2017-04-04 | 1 | -28/+51 |
| | |||||
* | lib: Fix some issues in lockless rbuff | dimitri staessens | 2017-04-01 | 2 | -8/+37 |
| | |||||
* | lib: Lockless implementation of the rbuff | dimitri staessens | 2017-04-01 | 3 | -404/+789 |
| | |||||
* | lib: Add a check if a bitmap ID is in use | dimitri staessens | 2017-04-01 | 2 | -31/+65 |
| | |||||
* | lib: Fix data race in rdrbuff | dimitri staessens | 2017-04-01 | 1 | -7/+5 |
| | | | | The blocks should be accessed inside the lock (or later with CAS). | ||||
* | lib: Fix use-after-free when destroying cdap_req | dimitri staessens | 2017-04-01 | 2 | -1/+6 |
| | |||||
* | lib: Fix missing assignment in flow_alloc | dimitri staessens | 2017-04-01 | 1 | -5/+13 |
| | |||||
* | lib: Some fixes in CDAP | dimitri staessens | 2017-04-01 | 1 | -1/+10 |
| | |||||
* | lib: Fix double typedef | dimitri staessens | 2017-03-31 | 1 | -2/+0 |
| | |||||
* | Merged in sandervrijders/ouroboros/be-btree (pull request #444) | Sander Vrijders | 2017-03-31 | 2 | -26/+62 |
|\ | | | | | | | lib: Fix bugs in B-tree | ||||
| * | lib: Fix bugs in B-tree | Sander Vrijders | 2017-03-31 | 2 | -26/+62 |
| | | | | | | | | | | This fixes some bugs in the B-tree implementation. The test has also been rewritten to be more thorough. | ||||
* | | lib: Cancel outstanding CDAP requests on destroy | dimitri staessens | 2017-03-31 | 3 | -1/+15 |
|/ | |||||
* | lib: Revise flow allocation API | dimitri staessens | 2017-03-31 | 3 | -145/+69 |
| | | | | | | The flow_alloc_res and flow_alloc_resp calls have been removed. The flow_alloc and flow_accept calls are now both blocking and take an additional timeout argument. | ||||
* | lib: Fix invalid access in CDAP | Sander Vrijders | 2017-03-30 | 1 | -2/+5 |
| | | | | This fixes an invalid access to an object that was already freed. | ||||
* | lib: Fix heap-use-after-free in CDAP | dimitri staessens | 2017-03-30 | 1 | -1/+1 |
| | |||||
* | lib: Reduce locking overhead in rdrbuff | dimitri staessens | 2017-03-30 | 1 | -45/+20 |
| |