Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion qubesusbproxy/core3ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import qubes.vm.adminvm

usb_device_re = re.compile(r"^[0-9]+-[0-9]+(_[0-9]+)*$")
usb_device_qname_re = re.compile(r"^0x\w{4}_0x\w{4}$")
# should match valid VM name
usb_connected_to_re = re.compile(br"^[a-zA-Z][a-zA-Z0-9_.-]*$")
usb_device_hw_ident_re = re.compile(r'^[0-9a-f]{4}:[0-9a-f]{4} ')
Expand Down Expand Up @@ -263,7 +264,8 @@ def on_device_list_usb(self, vm, event):
untrusted_dev_list = \
set(path.split('/')[2] for path in untrusted_dev_list)
for untrusted_qdb_ident in untrusted_dev_list:
if not usb_device_re.match(untrusted_qdb_ident):
if (not usb_device_re.match(untrusted_qdb_ident) and
not usb_device_qname_re.match(untrusted_qdb_ident)):
vm.log.warning('Invalid USB device name detected')
continue
ident = untrusted_qdb_ident.replace('_', '.')
Expand Down