summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@ugent.be>2017-04-12 16:57:48 +0200
committerdimitri staessens <dimitri.staessens@ugent.be>2017-04-13 11:30:20 +0200
commitfc10a7587b1a642748ae0fd69f08d92b4a902248 (patch)
treee0b570cf30753a564855242c94d242f597b5c499 /src/ipcpd/normal
parenta3d550ff972121641562d375f75bcf188fc7fe59 (diff)
downloadouroboros-fc10a7587b1a642748ae0fd69f08d92b4a902248.tar.gz
ouroboros-fc10a7587b1a642748ae0fd69f08d92b4a902248.zip
lib, ipcpd, irmd: Register hash instead of name
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.
Diffstat (limited to 'src/ipcpd/normal')
-rw-r--r--src/ipcpd/normal/addr_auth.h2
-rw-r--r--src/ipcpd/normal/connmgr.c7
-rw-r--r--src/ipcpd/normal/connmgr.h2
-rw-r--r--src/ipcpd/normal/dir.c37
-rw-r--r--src/ipcpd/normal/dir.h6
-rw-r--r--src/ipcpd/normal/enroll.c46
-rw-r--r--src/ipcpd/normal/enroll.h2
-rw-r--r--src/ipcpd/normal/flow_alloc.proto2
-rw-r--r--src/ipcpd/normal/fmgr.c31
-rw-r--r--src/ipcpd/normal/fmgr.h6
-rw-r--r--src/ipcpd/normal/gam.h2
-rw-r--r--src/ipcpd/normal/main.c130
-rw-r--r--src/ipcpd/normal/neighbors.h2
-rw-r--r--src/ipcpd/normal/pol/complete.h2
-rw-r--r--src/ipcpd/normal/ribconfig.h2
-rw-r--r--src/ipcpd/normal/ribmgr.h2
16 files changed, 96 insertions, 185 deletions
diff --git a/src/ipcpd/normal/addr_auth.h b/src/ipcpd/normal/addr_auth.h
index fbe7d790..6883b4b3 100644
--- a/src/ipcpd/normal/addr_auth.h
+++ b/src/ipcpd/normal/addr_auth.h
@@ -23,7 +23,7 @@
#ifndef OUROBOROS_IPCPD_NORMAL_ADDR_AUTH_H
#define OUROBOROS_IPCPD_NORMAL_ADDR_AUTH_H
-#include <ouroboros/irm_config.h>
+#include <ouroboros/ipcp.h>
#include <stdint.h>
diff --git a/src/ipcpd/normal/connmgr.c b/src/ipcpd/normal/connmgr.c
index 8068d173..421bc5b0 100644
--- a/src/ipcpd/normal/connmgr.c
+++ b/src/ipcpd/normal/connmgr.c
@@ -116,16 +116,11 @@ static void * flow_acceptor(void * o)
memset(&fail_info, 0, sizeof(fail_info));
while (true) {
- pthread_rwlock_rdlock(&ipcpi.state_lock);
-
if (ipcp_get_state() != IPCP_OPERATIONAL) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
log_info("Shutting down flow acceptor.");
return 0;
}
- pthread_rwlock_unlock(&ipcpi.state_lock);
-
fd = flow_accept(&qs, NULL);
if (fd < 0) {
if (fd != -EIRMD)
@@ -271,7 +266,7 @@ void connmgr_ae_destroy(struct ae * ae)
}
int connmgr_alloc(struct ae * ae,
- char * dst_name,
+ const char * dst_name,
qosspec_t * qs,
struct conn * conn)
{
diff --git a/src/ipcpd/normal/connmgr.h b/src/ipcpd/normal/connmgr.h
index c0356f6d..12992ef6 100644
--- a/src/ipcpd/normal/connmgr.h
+++ b/src/ipcpd/normal/connmgr.h
@@ -47,7 +47,7 @@ struct ae * connmgr_ae_create(struct conn_info info);
void connmgr_ae_destroy(struct ae * ae);
int connmgr_alloc(struct ae * ae,
- char * dst_name,
+ const char * dst,
qosspec_t * qs,
struct conn * conn);
diff --git a/src/ipcpd/normal/dir.c b/src/ipcpd/normal/dir.c
index ae9793c6..cbc50ba4 100644
--- a/src/ipcpd/normal/dir.c
+++ b/src/ipcpd/normal/dir.c
@@ -60,22 +60,23 @@ int dir_fini(void)
return 0;
}
-int dir_name_reg(char * name)
+int dir_reg(const uint8_t * hash)
{
+ char hashstr[DIR_HASH_STRLEN + 1];
int ret;
- assert(name);
-
- if (ipcp_get_state() != IPCP_OPERATIONAL)
- return -EPERM;
+ assert(hash);
dir_path_reset();
- ret = rib_add(dir_path, name);
+ ipcp_hash_str(hashstr, hash);
+
+ ret = rib_add(dir_path, hashstr);
if (ret == -ENOMEM)
- return -ENOMEM;
+ return -ENOMEM;
+
+ rib_path_append(dir_path, hashstr);
- rib_path_append(dir_path, name);
ret = rib_add(dir_path, ipcpi.name);
if (ret == -EPERM)
return -EPERM;
@@ -88,18 +89,16 @@ int dir_name_reg(char * name)
return 0;
}
-int dir_name_unreg(char * name)
+int dir_unreg(const uint8_t * hash)
{
+ char hashstr[DIR_HASH_STRLEN + 1];
size_t len;
- assert(name);
-
- if (ipcp_get_state() != IPCP_OPERATIONAL)
- return -EPERM;
+ assert(hash);
dir_path_reset();
- rib_path_append(dir_path, name);
+ rib_path_append(dir_path, hashstr);
if (!rib_has(dir_path))
return 0;
@@ -118,16 +117,16 @@ int dir_name_unreg(char * name)
return 0;
}
-int dir_name_query(char * name)
+int dir_query(const uint8_t * hash)
{
+ char hashstr[DIR_HASH_STRLEN + 1];
size_t len;
- if (ipcp_get_state() != IPCP_OPERATIONAL)
- return -EPERM;
-
dir_path_reset();
- rib_path_append(dir_path, name);
+ ipcp_hash_str(hashstr, hash);
+
+ rib_path_append(dir_path, hashstr);
if (!rib_has(dir_path))
return -1;
diff --git a/src/ipcpd/normal/dir.h b/src/ipcpd/normal/dir.h
index 04e722f3..1b28a5c0 100644
--- a/src/ipcpd/normal/dir.h
+++ b/src/ipcpd/normal/dir.h
@@ -27,10 +27,10 @@ int dir_init(void);
int dir_fini(void);
-int dir_name_reg(char * name);
+int dir_reg(const uint8_t * hash);
-int dir_name_unreg(char * name);
+int dir_unreg(const uint8_t * hash);
-int dir_name_query(char * name);
+int dir_query(const uint8_t * hash);
#endif /* OUROBOROS_IPCPD_NORMAL_DIR_H */
diff --git a/src/ipcpd/normal/enroll.c b/src/ipcpd/normal/enroll.c
index 3e6a0197..f1f804c6 100644
--- a/src/ipcpd/normal/enroll.c
+++ b/src/ipcpd/normal/enroll.c
@@ -65,11 +65,9 @@ static void * enroll_handle(void * o)
bool boot_r = false;
bool members_r = false;
- bool dif_name_r = false;
char * boot_ro = BOOT_PATH;
char * members_ro = MEMBERS_PATH;
- char * dif_ro = DIF_PATH;
cdap = (struct cdap *) o;
@@ -87,7 +85,7 @@ static void * enroll_handle(void * o)
continue;
}
- while (!(boot_r && members_r && dif_name_r)) {
+ while (!(boot_r && members_r)) {
key = cdap_request_wait(cdap, &oc, &name, &data,
(size_t *) &len , &flags);
assert(key >= 0);
@@ -109,8 +107,6 @@ static void * enroll_handle(void * o)
boot_r = true;
} else if (strcmp(name, members_ro) == 0) {
members_r = true;
- } else if (strcmp(name, dif_ro) == 0) {
- dif_name_r = true;
} else if (strcmp(name, TIME_PATH) == 0) {
struct timespec t;
uint64_t buf[2];
@@ -153,13 +149,13 @@ static void * enroll_handle(void * o)
cdap_del_flow(cdap, conn.flow_info.fd);
flow_dealloc(conn.flow_info.fd);
- boot_r = members_r = dif_name_r = false;
+ boot_r = members_r = false;
}
return 0;
}
-int enroll_boot(char * dst_name)
+int enroll_boot(const char * dst)
{
struct cdap * cdap;
cdap_key_t * key;
@@ -174,7 +170,6 @@ int enroll_boot(char * dst_name)
char * boot_ro = BOOT_PATH;
char * members_ro = MEMBERS_PATH;
- char * dif_ro = DIF_PATH;
cdap = cdap_create();
if (cdap == NULL) {
@@ -182,7 +177,7 @@ int enroll_boot(char * dst_name)
return -1;
}
- if (connmgr_alloc(enroll.ae, dst_name, NULL, &conn)) {
+ if (connmgr_alloc(enroll.ae, dst, NULL, &conn)) {
log_err("Failed to get connection.");
cdap_destroy(cdap);
return -1;
@@ -195,7 +190,7 @@ int enroll_boot(char * dst_name)
return -1;
}
- log_dbg("Getting boot information from %s.", dst_name);
+ log_dbg("Getting boot information from %s.", dst);
clock_gettime(CLOCK_REALTIME, &t0);
@@ -293,37 +288,6 @@ int enroll_boot(char * dst_name)
log_dbg("Packed information inserted into RIB.");
- key = cdap_request_send(cdap, CDAP_READ, dif_ro, NULL, 0, 0);
- if (key == NULL || key[0] == INVALID_CDAP_KEY) {
- log_err("Failed to send CDAP request.");
- cdap_destroy(cdap);
- flow_dealloc(conn.flow_info.fd);
- return -1;
- }
-
- if (cdap_reply_wait(cdap, key[0], &data, &len)) {
- log_err("Failed to get CDAP reply.");
- free(key);
- cdap_destroy(cdap);
- flow_dealloc(conn.flow_info.fd);
- return -1;
- }
-
- free(key);
-
- log_dbg("Packed information received (%zu bytes).", len);
-
- if (rib_unpack(data, len, UNPACK_CREATE)) {
- log_warn("Error unpacking RIB data.");
- rib_del(boot_ro);
- free(data);
- cdap_destroy(cdap);
- flow_dealloc(conn.flow_info.fd);
- return -1;
- }
-
- log_dbg("Packed information inserted into RIB.");
-
cdap_destroy(cdap);
flow_dealloc(conn.flow_info.fd);
diff --git a/src/ipcpd/normal/enroll.h b/src/ipcpd/normal/enroll.h
index 05f950ba..bed4bf9f 100644
--- a/src/ipcpd/normal/enroll.h
+++ b/src/ipcpd/normal/enroll.h
@@ -31,6 +31,6 @@ int enroll_start(void);
void enroll_stop(void);
-int enroll_boot(char * dst_name);
+int enroll_boot(const char * dst);
#endif /* OUROBOROS_IPCPD_NORMAL_ENROLL_H */
diff --git a/src/ipcpd/normal/flow_alloc.proto b/src/ipcpd/normal/flow_alloc.proto
index 3b08f047..35624799 100644
--- a/src/ipcpd/normal/flow_alloc.proto
+++ b/src/ipcpd/normal/flow_alloc.proto
@@ -30,7 +30,7 @@ enum flow_alloc_code {
message flow_alloc_msg {
required flow_alloc_code code = 1;
- optional string dst_name = 2;
+ optional bytes hash = 2;
optional uint32 qoscube = 3;
optional sint32 response = 4;
};
diff --git a/src/ipcpd/normal/fmgr.c b/src/ipcpd/normal/fmgr.c
index 19c329af..5166cc5d 100644
--- a/src/ipcpd/normal/fmgr.c
+++ b/src/ipcpd/normal/fmgr.c
@@ -427,9 +427,9 @@ void fmgr_stop(void)
gam_destroy(fmgr.gam);
}
-int fmgr_np1_alloc(int fd,
- char * dst_ap_name,
- qoscube_t cube)
+int fmgr_np1_alloc(int fd,
+ const uint8_t * dst,
+ qoscube_t cube)
{
cep_id_t cep_id;
buffer_t buf;
@@ -439,14 +439,17 @@ int fmgr_np1_alloc(int fd,
ssize_t ch;
ssize_t i;
char ** children;
+ char hashstr[DIR_HASH_STRLEN + 1];
char * dst_ipcp = NULL;
- assert(strlen(dst_ap_name) + strlen("/" DIR_NAME) + 1
+ ipcp_hash_str(hashstr, dst);
+
+ assert(strlen(hashstr) + strlen(DIR_PATH) + 1
< RIB_MAX_PATH_LEN);
strcpy(path, DIR_PATH);
- rib_path_append(path, dst_ap_name);
+ rib_path_append(path, hashstr);
ch = rib_children(path, &children);
if (ch <= 0)
@@ -463,7 +466,7 @@ int fmgr_np1_alloc(int fd,
if (dst_ipcp == NULL)
return -1;
- strcpy(path, "/" MEMBERS_NAME);
+ strcpy(path, MEMBERS_PATH);
rib_path_append(path, dst_ipcp);
@@ -472,10 +475,12 @@ int fmgr_np1_alloc(int fd,
if (rib_read(path, &addr, sizeof(addr)) < 0)
return -1;
- msg.code = FLOW_ALLOC_CODE__FLOW_REQ;
- msg.dst_name = dst_ap_name;
+ msg.code = FLOW_ALLOC_CODE__FLOW_REQ;
+ msg.has_hash = true;
+ msg.hash.len = ipcpi.dir_hash_len;
+ msg.hash.data = (uint8_t *) dst;
msg.has_qoscube = true;
- msg.qoscube = cube;
+ msg.qoscube = cube;
buf.len = flow_alloc_msg__get_packed_size(&msg);
if (buf.len == 0)
@@ -637,6 +642,11 @@ int fmgr_np1_post_buf(cep_id_t cep_id,
case FLOW_ALLOC_CODE__FLOW_REQ:
pthread_mutex_lock(&ipcpi.alloc_lock);
+ if (!msg->has_hash) {
+ log_err("Bad flow request.");
+ return -1;
+ }
+
while (ipcpi.alloc_id != -1 &&
ipcp_get_state() == IPCP_OPERATIONAL)
pthread_cond_timedwait(&ipcpi.alloc_cond,
@@ -652,7 +662,8 @@ int fmgr_np1_post_buf(cep_id_t cep_id,
assert(ipcpi.alloc_id == -1);
fd = ipcp_flow_req_arr(getpid(),
- msg->dst_name,
+ msg->hash.data,
+ ipcpi.dir_hash_len,
msg->qoscube);
if (fd < 0) {
pthread_mutex_unlock(&ipcpi.alloc_lock);
diff --git a/src/ipcpd/normal/fmgr.h b/src/ipcpd/normal/fmgr.h
index b4d0b65a..c59c0875 100644
--- a/src/ipcpd/normal/fmgr.h
+++ b/src/ipcpd/normal/fmgr.h
@@ -37,9 +37,9 @@ int fmgr_start(void);
void fmgr_stop(void);
-int fmgr_np1_alloc(int fd,
- char * dst_ap_name,
- qoscube_t qos);
+int fmgr_np1_alloc(int fd,
+ const uint8_t * dst,
+ qoscube_t qos);
int fmgr_np1_alloc_resp(int fd,
int response);
diff --git a/src/ipcpd/normal/gam.h b/src/ipcpd/normal/gam.h
index 4ae0b1b3..752d8e37 100644
--- a/src/ipcpd/normal/gam.h
+++ b/src/ipcpd/normal/gam.h
@@ -23,8 +23,8 @@
#ifndef OUROBOROS_IPCPD_NORMAL_GAM_H
#define OUROBOROS_IPCPD_NORMAL_GAM_H
+#include <ouroboros/ipcp.h>
#include <ouroboros/cacep.h>
-#include <ouroboros/irm_config.h>
#include "neighbors.h"
diff --git a/src/ipcpd/normal/main.c b/src/ipcpd/normal/main.c
index ef7f07cf..e37a0fbc 100644
--- a/src/ipcpd/normal/main.c
+++ b/src/ipcpd/normal/main.c
@@ -23,12 +23,13 @@
#define OUROBOROS_PREFIX "normal-ipcp"
#include <ouroboros/config.h>
+#include <ouroboros/endian.h>
#include <ouroboros/logs.h>
#include <ouroboros/ipcp-dev.h>
#include <ouroboros/time_utils.h>
#include <ouroboros/irm.h>
#include <ouroboros/rib.h>
-#include <ouroboros/irm_config.h>
+#include <ouroboros/hash.h>
#include <ouroboros/errno.h>
#include "addr_auth.h"
@@ -49,37 +50,6 @@
#define THIS_TYPE IPCP_NORMAL
-void ipcp_sig_handler(int sig,
- siginfo_t * info,
- void * c)
-{
- (void) c;
-
- switch(sig) {
- case SIGINT:
- case SIGTERM:
- case SIGHUP:
- if (info->si_pid == ipcpi.irmd_api) {
- pthread_rwlock_wrlock(&ipcpi.state_lock);
-
- if (ipcp_get_state() == IPCP_INIT)
- ipcp_set_state(IPCP_NULL);
-
- if (ipcp_get_state() == IPCP_OPERATIONAL)
- ipcp_set_state(IPCP_SHUTDOWN);
-
- pthread_rwlock_unlock(&ipcpi.state_lock);
- }
- default:
- return;
- }
-}
-
-/*
- * Boots the IPCP off information in the rib.
- * Common function after bootstrap or enroll.
- * Call under ipcpi.state_lock
- */
static int boot_components(void)
{
char buf[256];
@@ -87,7 +57,7 @@ static int boot_components(void)
enum pol_addr_auth pa;
char path[RIB_MAX_PATH_LEN + 1];
- len = rib_read(DIF_PATH, &buf, 256);
+ len = rib_read(BOOT_PATH "/general/dif_name", buf, 256);
if (len < 0) {
log_err("Failed to read DIF name: %zd.", len);
return -1;
@@ -99,6 +69,17 @@ static int boot_components(void)
return -1;
}
+ len = rib_read(BOOT_PATH "/general/dir_hash_len",
+ &ipcpi.dir_hash_len, sizeof(ipcpi.dir_hash_len));
+ if (len < 0) {
+ log_err("Failed to read hash length: %zd.", len);
+ return -1;
+ }
+
+ ipcpi.dir_hash_len = ntoh16(ipcpi.dir_hash_len);
+
+ assert(ipcpi.dir_hash_len != 0);
+
if (rib_add(MEMBERS_PATH, ipcpi.name)) {
log_err("Failed to add name to " MEMBERS_PATH);
return -1;
@@ -160,12 +141,11 @@ static int boot_components(void)
}
if (fmgr_init()) {
- log_err("Failed to initialize flow manager component.");
frct_fini();
dir_fini();
ribmgr_fini();
addr_auth_fini();
- log_err("Failed to start flow manager.");
+ log_err("Failed to initialize flow manager component.");
return -1;
}
@@ -229,38 +209,25 @@ void shutdown_components(void)
free(ipcpi.dif_name);
}
-static int normal_ipcp_enroll(char * dst_name)
+static int normal_ipcp_enroll(const char * dst)
{
- pthread_rwlock_wrlock(&ipcpi.state_lock);
-
- if (ipcp_get_state() != IPCP_INIT) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
- log_err("IPCP in wrong state.");
- return -1; /* -ENOTINIT */
- }
-
if (rib_add(RIB_ROOT, MEMBERS_NAME)) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
log_err("Failed to create members.");
return -1;
}
/* Get boot state from peer */
- if (enroll_boot(dst_name)) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
+ if (enroll_boot(dst)) {
log_err("Failed to boot IPCP components.");
return -1;
}
if (boot_components()) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
log_err("Failed to boot IPCP components.");
return -1;
}
- pthread_rwlock_unlock(&ipcpi.state_lock);
-
- log_dbg("Enrolled with %s.", dst_name);
+ log_dbg("Enrolled with " HASH_FMT, HASH_VAL(dst));
return 0;
}
@@ -269,12 +236,17 @@ const struct ros {
char * parent;
char * child;
} ros[] = {
- /* GENERAL IPCP INFO */
- {RIB_ROOT, DIF_NAME},
/* BOOT INFO */
{RIB_ROOT, BOOT_NAME},
/* OTHER RIB STRUCTURES */
{RIB_ROOT, MEMBERS_NAME},
+
+ /* GENERAL IPCP INFO */
+ {BOOT_PATH, "general"},
+
+ {BOOT_PATH "/general", "dif_name"},
+ {BOOT_PATH "/general", "dir_hash_len"},
+
/* DT COMPONENT */
{BOOT_PATH, "dt"},
@@ -319,28 +291,28 @@ int normal_rib_init(void)
return 0;
}
-static int normal_ipcp_bootstrap(struct dif_config * conf)
+static int normal_ipcp_bootstrap(const struct ipcp_config * conf)
{
+ uint16_t hash_len;
+
assert(conf);
assert(conf->type == THIS_TYPE);
- pthread_rwlock_wrlock(&ipcpi.state_lock);
+ hash_len = hton16((uint16_t) conf->dir_hash_len);
- if (ipcp_get_state() != IPCP_INIT) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
- log_err("IPCP in wrong state.");
- return -1; /* -ENOTINIT */
- }
+ assert(ntoh16(hash_len) != 0);
if (normal_rib_init()) {
- pthread_rwlock_unlock(&ipcpi.state_lock);
log_err("Failed to write initial structure to the RIB.");
return -1;
}
- if (rib_write(DIF_PATH,
+ if (rib_write(BOOT_PATH "/general/dif_name",
conf->dif_name,
strlen(conf->dif_name) + 1) ||
+ rib_write(BOOT_PATH "/general/dir_hash_len",
+ &hash_len,
+ sizeof(hash_len)) ||
rib_write(BOOT_PATH "/dt/const/addr_size",
&conf->addr_size,
sizeof(conf->addr_size)) ||
@@ -375,18 +347,14 @@ static int normal_ipcp_bootstrap(struct dif_config * conf)
&conf->addr_auth_type,
sizeof(conf->addr_auth_type))) {
log_err("Failed to write boot info to RIB.");
- pthread_rwlock_unlock(&ipcpi.state_lock);
return -1;
}
if (boot_components()) {
log_err("Failed to boot IPCP components.");
- pthread_rwlock_unlock(&ipcpi.state_lock);
return -1;
}
- pthread_rwlock_unlock(&ipcpi.state_lock);
-
log_dbg("Bootstrapped in DIF %s.", conf->dif_name);
return 0;
@@ -395,9 +363,9 @@ static int normal_ipcp_bootstrap(struct dif_config * conf)
static struct ipcp_ops normal_ops = {
.ipcp_bootstrap = normal_ipcp_bootstrap,
.ipcp_enroll = normal_ipcp_enroll,
- .ipcp_name_reg = dir_name_reg,
- .ipcp_name_unreg = dir_name_unreg,
- .ipcp_name_query = dir_name_query,
+ .ipcp_reg = dir_reg,
+ .ipcp_unreg = dir_unreg,
+ .ipcp_query = dir_query,
.ipcp_flow_alloc = fmgr_np1_alloc,
.ipcp_flow_alloc_resp = fmgr_np1_alloc_resp,
.ipcp_flow_dealloc = fmgr_np1_dealloc
@@ -406,27 +374,6 @@ static struct ipcp_ops normal_ops = {
int main(int argc,
char * argv[])
{
- struct sigaction sig_act;
- sigset_t sigset;
-
- sigemptyset(&sigset);
- sigaddset(&sigset, SIGINT);
- sigaddset(&sigset, SIGQUIT);
- sigaddset(&sigset, SIGHUP);
- sigaddset(&sigset, SIGPIPE);
-
- /* init sig_act */
- memset(&sig_act, 0, sizeof(sig_act));
-
- /* install signal traps */
- sig_act.sa_sigaction = &ipcp_sig_handler;
- sig_act.sa_flags = SA_SIGINFO;
-
- sigaction(SIGINT, &sig_act, NULL);
- sigaction(SIGTERM, &sig_act, NULL);
- sigaction(SIGHUP, &sig_act, NULL);
- sigaction(SIGPIPE, &sig_act, NULL);
-
if (ipcp_init(argc, argv, THIS_TYPE, &normal_ops) < 0) {
ipcp_create_r(getpid(), -1);
exit(EXIT_FAILURE);
@@ -466,7 +413,6 @@ int main(int argc,
exit(EXIT_FAILURE);
}
- pthread_sigmask(SIG_BLOCK, &sigset, NULL);
if (ipcp_boot() < 0) {
log_err("Failed to boot IPCP.");
@@ -479,8 +425,6 @@ int main(int argc,
exit(EXIT_FAILURE);
}
- pthread_sigmask(SIG_UNBLOCK, &sigset, NULL);
-
if (ipcp_create_r(getpid(), 0)) {
log_err("Failed to notify IRMd we are initialized.");
ipcp_set_state(IPCP_NULL);
diff --git a/src/ipcpd/normal/neighbors.h b/src/ipcpd/normal/neighbors.h
index 8714a9aa..c958affc 100644
--- a/src/ipcpd/normal/neighbors.h
+++ b/src/ipcpd/normal/neighbors.h
@@ -23,7 +23,7 @@
#ifndef OUROBOROS_IPCPD_NORMAL_NEIGHBORS_H
#define OUROBOROS_IPCPD_NORMAL_NEIGHBORS_H
-#include <ouroboros/irm_config.h>
+#include <ouroboros/ipcp.h>
#include <ouroboros/list.h>
#include <ouroboros/qos.h>
#include <ouroboros/fqueue.h>
diff --git a/src/ipcpd/normal/pol/complete.h b/src/ipcpd/normal/pol/complete.h
index 46a535c2..230fecb9 100644
--- a/src/ipcpd/normal/pol/complete.h
+++ b/src/ipcpd/normal/pol/complete.h
@@ -23,7 +23,7 @@
#ifndef OUROBOROS_IPCPD_NORMAL_POL_COMPLETE_H
#define OUROBOROS_IPCPD_NORMAL_POL_COMPLETE_H
-#include <ouroboros/irm_config.h>
+#include <ouroboros/ipcp.h>
#include <ouroboros/qos.h>
#include "pol-gam-ops.h"
diff --git a/src/ipcpd/normal/ribconfig.h b/src/ipcpd/normal/ribconfig.h
index 5ecdaab3..2f5daf72 100644
--- a/src/ipcpd/normal/ribconfig.h
+++ b/src/ipcpd/normal/ribconfig.h
@@ -29,10 +29,8 @@
#define DLR "/"
#define BOOT_NAME "boot"
#define MEMBERS_NAME "members"
-#define DIF_NAME "dif_name"
#define DIR_NAME "directory"
#define ROUTING_NAME "fsdb"
-#define DIF_PATH DLR DIF_NAME
#define DIR_PATH DLR DIR_NAME
#define BOOT_PATH DLR BOOT_NAME
#define MEMBERS_PATH DLR MEMBERS_NAME
diff --git a/src/ipcpd/normal/ribmgr.h b/src/ipcpd/normal/ribmgr.h
index 8922688a..83d5ec3a 100644
--- a/src/ipcpd/normal/ribmgr.h
+++ b/src/ipcpd/normal/ribmgr.h
@@ -23,7 +23,7 @@
#ifndef OUROBOROS_IPCPD_NORMAL_RIBMGR_H
#define OUROBOROS_IPCPD_NORMAL_RIBMGR_H
-#include <ouroboros/irm_config.h>
+#include <ouroboros/ipcp.h>
#include <ouroboros/utils.h>
#include <ouroboros/qos.h>