Allow NLSYSCONFDIR environment variable to overwrite built-in sysconfdir
This commit is contained in:
parent
8d5493418a
commit
f523f297f7
4 changed files with 18 additions and 4 deletions
|
@ -186,4 +186,16 @@ static inline int wait_for_ack(struct nl_sock *sk)
|
|||
return nl_wait_for_ack(sk);
|
||||
}
|
||||
|
||||
static inline int build_sysconf_path(char **strp, const char *filename)
|
||||
{
|
||||
char *sysconfdir;
|
||||
|
||||
sysconfdir = getenv("NLSYSCONFDIR");
|
||||
|
||||
if (!sysconfdir)
|
||||
sysconfdir = SYSCONFDIR;
|
||||
|
||||
return asprintf(strp, "%s/%s", sysconfdir, filename);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -310,7 +310,8 @@ int rtnl_tc_read_classid_file(void)
|
|||
FILE *fd;
|
||||
int err;
|
||||
|
||||
asprintf(&path, "%s/classid", SYSCONFDIR);
|
||||
if (build_sysconf_path(&path, "classid") < 0)
|
||||
return -NLE_NOMEM;
|
||||
|
||||
/* if stat fails, just (re-)read the file */
|
||||
if (stat(path, &st) == 0) {
|
||||
|
@ -392,7 +393,7 @@ int rtnl_classid_generate(const char *name, uint32_t *result, uint32_t parent)
|
|||
|
||||
NL_DBG(2, "Generated new classid %#x\n", classid);
|
||||
|
||||
if (asprintf(&path, "%s/classid", SYSCONFDIR) < 0)
|
||||
if (build_sysconf_path(&path, "classid") < 0)
|
||||
return -NLE_NOMEM;
|
||||
|
||||
if (!(fd = fopen(path, "a"))) {
|
||||
|
|
|
@ -94,7 +94,8 @@ static int read_pktlocs(void)
|
|||
int i, err;
|
||||
FILE *fd;
|
||||
|
||||
asprintf(&path, "%s/pktloc", SYSCONFDIR);
|
||||
if (build_sysconf_path(&path, "pktloc") < 0)
|
||||
return -NLE_NOMEM;
|
||||
|
||||
/* if stat fails, just try to read the file */
|
||||
if (stat(path, &st) == 0) {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
SUBDIRS = lib
|
||||
|
||||
AM_CPPFLAGS = -Wall -I${top_srcdir}/include -I${top_builddir}/include -D_GNU_SOURCE
|
||||
AM_CPPFLAGS = -Wall -I${top_srcdir}/include -I${top_builddir}/include -D_GNU_SOURCE -DSYSCONFDIR=\"$(sysconfdir)/libnl\"
|
||||
AM_LDFLAGS = -L${top_builddir}/lib -L${top_builddir}/src/lib -lnl-cli -lnl -lnl-nf -lnl-genl -lnl-route
|
||||
|
||||
sbin_PROGRAMS = \
|
||||
|
|
Loading…
Add table
Reference in a new issue