summaryrefslogtreecommitdiffstats
path: root/src/config.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-03-24 02:38:59 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-03-24 02:38:59 +0100
commit535028b149c78834ab7df96ef682c32389080959 (patch)
tree170430e07c972441ed52edae6cd2f99e65730ec0 /src/config.c
parente689f896186e088ed73b8ce0d32620684ac01bb7 (diff)
downloadfastd-535028b149c78834ab7df96ef682c32389080959.tar
fastd-535028b149c78834ab7df96ef682c32389080959.zip
iface: add support for interface name patterns
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 1ac9e81..7aa046d 100644
--- a/src/config.c
+++ b/src/config.c
@@ -102,6 +102,15 @@ bool fastd_config_ifname(fastd_peer_t *peer, const char *ifname) {
if (strchr(ifname, '/'))
return false;
+ const char *percent = strchr(ifname, '%');
+ if (percent) {
+ if (strrchr(ifname, '%') != percent)
+ return false; /* Multiple patterns */
+
+ if (percent[1] != 'n' && percent[1] != 'k')
+ return false;
+ }
+
char **name = peer ? &peer->ifname : &conf.ifname;
free(*name);