From: Manfred Kober Date: Thu, 21 Jun 2012 07:40:32 +0000 (+0200) Subject: device: Consider blacklisted interfaces from main.conf when filtering X-Git-Tag: 2.0_alpha~46 X-Git-Url: http://review.tizen.org/git/?p=framework%2Fconnectivity%2Fconnman.git;a=commitdiff_plain;h=94647cff574377932b17e415d394812c3159884f device: Consider blacklisted interfaces from main.conf when filtering Interfaces blacklisted in main.conf are now also taken into account by connman_device_isfiltered. This is done in addition to what gets passed with -i or -I on the command line. --- diff --git a/src/device.c b/src/device.c index 3a5e467..4a80b76 100644 --- a/src/device.c +++ b/src/device.c @@ -1113,6 +1113,7 @@ int __connman_device_request_hidden_scan(struct connman_device *device, connman_bool_t __connman_device_isfiltered(const char *devname) { char **pattern; + char **blacklisted_interfaces; if (device_filter == NULL) goto nodevice; @@ -1131,7 +1132,7 @@ nodevice: } if (nodevice_filter == NULL) - return FALSE; + goto list; for (pattern = nodevice_filter; *pattern; pattern++) { if (g_pattern_match_simple(*pattern, devname) == TRUE) { @@ -1140,6 +1141,19 @@ nodevice: } } +list: + blacklisted_interfaces = + connman_setting_get_string_list("BlacklistedInterfaces"); + if (blacklisted_interfaces == NULL) + return FALSE; + + for (pattern = blacklisted_interfaces; *pattern; pattern++) { + if (g_str_has_prefix(devname, *pattern) == TRUE) { + DBG("ignoring device %s (blacklist)", devname); + return TRUE; + } + } + return FALSE; }