← Commit list

d1eea8db9

Christoph J. Thompson
Christoph J. Thompson
2015-10-08
SUCCESS Duration: 213s

Subject

iproute: don't hardcode the path to config files

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/Config.src+7 -0
@@ -533,6 +533,13 @@ config FEATURE_IP_ROUTE
help
Add support for routing table management to "ip".
+config FEATURE_IP_ROUTE_DIR
+ string "ip route configuration directory"
+ default "/etc/iproute2"
+ depends on FEATURE_IP_ROUTE
+ help
+ Location of the "ip" applet routing configuration.
+
config FEATURE_IP_TUNNEL
bool "ip tunnel"
default y
networking/libiproute/rt_names.c+7 -5
@@ -10,6 +10,8 @@
#include "libbb.h"
#include "rt_names.h"
+#define CONFDIR CONFIG_FEATURE_IP_ROUTE_DIR
+
typedef struct rtnl_tab_t {
const char *cached_str;
unsigned cached_result;
@@ -92,7 +94,7 @@ static void rtnl_rtprot_initialize(void)
return;
rtnl_rtprot_tab = xzalloc(sizeof(*rtnl_rtprot_tab));
memcpy(rtnl_rtprot_tab->tab, init_tab, sizeof(init_tab));
- rtnl_tab_initialize("/etc/iproute2/rt_protos", rtnl_rtprot_tab->tab);
+ rtnl_tab_initialize(CONFDIR "/rt_protos", rtnl_rtprot_tab->tab);
}
#if 0 /* UNUSED */
@@ -129,7 +131,7 @@ static void rtnl_rtscope_initialize(void)
rtnl_rtscope_tab->tab[254] = "host";
rtnl_rtscope_tab->tab[253] = "link";
rtnl_rtscope_tab->tab[200] = "site";
- rtnl_tab_initialize("/etc/iproute2/rt_scopes", rtnl_rtscope_tab->tab);
+ rtnl_tab_initialize(CONFDIR "/rt_scopes", rtnl_rtscope_tab->tab);
}
const char* FAST_FUNC rtnl_rtscope_n2a(int id)
@@ -159,7 +161,7 @@ static void rtnl_rtrealm_initialize(void)
if (rtnl_rtrealm_tab) return;
rtnl_rtrealm_tab = xzalloc(sizeof(*rtnl_rtrealm_tab));
rtnl_rtrealm_tab->tab[0] = "unknown";
- rtnl_tab_initialize("/etc/iproute2/rt_realms", rtnl_rtrealm_tab->tab);
+ rtnl_tab_initialize(CONFDIR "/rt_realms", rtnl_rtrealm_tab->tab);
}
int FAST_FUNC rtnl_rtrealm_a2n(uint32_t *id, char *arg)
@@ -191,7 +193,7 @@ static void rtnl_rtdsfield_initialize(void)
if (rtnl_rtdsfield_tab) return;
rtnl_rtdsfield_tab = xzalloc(sizeof(*rtnl_rtdsfield_tab));
rtnl_rtdsfield_tab->tab[0] = "0";
- rtnl_tab_initialize("/etc/iproute2/rt_dsfield", rtnl_rtdsfield_tab->tab);
+ rtnl_tab_initialize(CONFDIR "/rt_dsfield", rtnl_rtdsfield_tab->tab);
}
const char* FAST_FUNC rtnl_dsfield_n2a(int id)
@@ -227,7 +229,7 @@ static void rtnl_rttable_initialize(void)
rtnl_rttable_tab->tab[255] = "local";
rtnl_rttable_tab->tab[254] = "main";
rtnl_rttable_tab->tab[253] = "default";
- rtnl_tab_initialize("/etc/iproute2/rt_tables", rtnl_rttable_tab->tab);
+ rtnl_tab_initialize(CONFDIR "/rt_tables", rtnl_rttable_tab->tab);
}
const char* FAST_FUNC rtnl_rttable_n2a(int id)