filter: add filter for QRTR devices
Add support for devices using the subsystem "qrtr".
This commit is contained in:
committed by
Aleksander Morgado
parent
d2ffb47ec8
commit
e24346128d
@@ -178,6 +178,15 @@ mm_filter_port (MMFilter *self,
|
||||
}
|
||||
}
|
||||
|
||||
/* If this is a QRTR device, we always allow it. This check comes before
|
||||
* checking for VIRTUAL since qrtr devices don't have a sysfs path, and the
|
||||
* check for VIRTUAL will return FALSE. */
|
||||
if ((self->priv->enabled_rules & MM_FILTER_RULE_QRTR) &&
|
||||
g_str_equal (subsystem, "qrtr")) {
|
||||
mm_obj_dbg (self, "(%s/%s) port allowed: qrtr device", subsystem, name);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* If this is a virtual device, don't allow it */
|
||||
if ((self->priv->enabled_rules & MM_FILTER_RULE_VIRTUAL) &&
|
||||
(!mm_kernel_device_get_physdev_sysfs_path (port))) {
|
||||
@@ -453,6 +462,7 @@ mm_filter_new (MMFilterRule enabled_rules,
|
||||
mm_obj_dbg (self, " explicit whitelist: %s", RULE_ENABLED_STR (MM_FILTER_RULE_EXPLICIT_WHITELIST));
|
||||
mm_obj_dbg (self, " explicit blacklist: %s", RULE_ENABLED_STR (MM_FILTER_RULE_EXPLICIT_BLACKLIST));
|
||||
mm_obj_dbg (self, " plugin whitelist: %s", RULE_ENABLED_STR (MM_FILTER_RULE_PLUGIN_WHITELIST));
|
||||
mm_obj_dbg (self, " qrtr devices allowed: %s", RULE_ENABLED_STR (MM_FILTER_RULE_QRTR));
|
||||
mm_obj_dbg (self, " virtual devices forbidden: %s", RULE_ENABLED_STR (MM_FILTER_RULE_VIRTUAL));
|
||||
mm_obj_dbg (self, " net devices allowed: %s", RULE_ENABLED_STR (MM_FILTER_RULE_NET));
|
||||
mm_obj_dbg (self, " usbmisc devices allowed: %s", RULE_ENABLED_STR (MM_FILTER_RULE_USBMISC));
|
||||
|
||||
+17
-13
@@ -50,25 +50,27 @@ typedef enum { /*< underscore_name=mm_filter_rule >*/
|
||||
MM_FILTER_RULE_EXPLICIT_WHITELIST = 1 << 0,
|
||||
MM_FILTER_RULE_EXPLICIT_BLACKLIST = 1 << 1,
|
||||
MM_FILTER_RULE_PLUGIN_WHITELIST = 1 << 2,
|
||||
MM_FILTER_RULE_VIRTUAL = 1 << 3,
|
||||
MM_FILTER_RULE_NET = 1 << 4,
|
||||
MM_FILTER_RULE_USBMISC = 1 << 5,
|
||||
MM_FILTER_RULE_RPMSG = 1 << 6,
|
||||
MM_FILTER_RULE_TTY = 1 << 7,
|
||||
MM_FILTER_RULE_TTY_BLACKLIST = 1 << 8,
|
||||
MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY = 1 << 9,
|
||||
MM_FILTER_RULE_TTY_PLATFORM_DRIVER = 1 << 10,
|
||||
MM_FILTER_RULE_TTY_DEFAULT_ALLOWED = 1 << 11,
|
||||
MM_FILTER_RULE_TTY_DRIVER = 1 << 12,
|
||||
MM_FILTER_RULE_TTY_ACM_INTERFACE = 1 << 13,
|
||||
MM_FILTER_RULE_TTY_WITH_NET = 1 << 14,
|
||||
MM_FILTER_RULE_TTY_DEFAULT_FORBIDDEN = 1 << 15,
|
||||
MM_FILTER_RULE_QRTR = 1 << 3,
|
||||
MM_FILTER_RULE_VIRTUAL = 1 << 4,
|
||||
MM_FILTER_RULE_NET = 1 << 5,
|
||||
MM_FILTER_RULE_USBMISC = 1 << 6,
|
||||
MM_FILTER_RULE_RPMSG = 1 << 7,
|
||||
MM_FILTER_RULE_TTY = 1 << 8,
|
||||
MM_FILTER_RULE_TTY_BLACKLIST = 1 << 9,
|
||||
MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY = 1 << 10,
|
||||
MM_FILTER_RULE_TTY_PLATFORM_DRIVER = 1 << 11,
|
||||
MM_FILTER_RULE_TTY_DEFAULT_ALLOWED = 1 << 12,
|
||||
MM_FILTER_RULE_TTY_DRIVER = 1 << 13,
|
||||
MM_FILTER_RULE_TTY_ACM_INTERFACE = 1 << 14,
|
||||
MM_FILTER_RULE_TTY_WITH_NET = 1 << 15,
|
||||
MM_FILTER_RULE_TTY_DEFAULT_FORBIDDEN = 1 << 16,
|
||||
} MMFilterRule;
|
||||
|
||||
#define MM_FILTER_RULE_ALL \
|
||||
(MM_FILTER_RULE_EXPLICIT_WHITELIST | \
|
||||
MM_FILTER_RULE_EXPLICIT_BLACKLIST | \
|
||||
MM_FILTER_RULE_PLUGIN_WHITELIST | \
|
||||
MM_FILTER_RULE_QRTR | \
|
||||
MM_FILTER_RULE_VIRTUAL | \
|
||||
MM_FILTER_RULE_NET | \
|
||||
MM_FILTER_RULE_USBMISC | \
|
||||
@@ -104,6 +106,7 @@ typedef enum { /*< underscore_name=mm_filter_rule >*/
|
||||
(MM_FILTER_RULE_EXPLICIT_WHITELIST | \
|
||||
MM_FILTER_RULE_EXPLICIT_BLACKLIST | \
|
||||
MM_FILTER_RULE_PLUGIN_WHITELIST | \
|
||||
MM_FILTER_RULE_QRTR | \
|
||||
MM_FILTER_RULE_VIRTUAL | \
|
||||
MM_FILTER_RULE_NET | \
|
||||
MM_FILTER_RULE_USBMISC | \
|
||||
@@ -121,6 +124,7 @@ typedef enum { /*< underscore_name=mm_filter_rule >*/
|
||||
(MM_FILTER_RULE_EXPLICIT_WHITELIST | \
|
||||
MM_FILTER_RULE_EXPLICIT_BLACKLIST | \
|
||||
MM_FILTER_RULE_PLUGIN_WHITELIST | \
|
||||
MM_FILTER_RULE_QRTR | \
|
||||
MM_FILTER_RULE_VIRTUAL | \
|
||||
MM_FILTER_RULE_NET | \
|
||||
MM_FILTER_RULE_USBMISC | \
|
||||
|
||||
Reference in New Issue
Block a user