VirtualBox

Ignore:
Timestamp:
Aug 1, 2023 5:34:48 PM (19 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158650
Message:

include/VBox/usbfilter.h,HostDrivers/VBoxUSB/USBFilter: IUSBDeviceFilter:
USB device interval filters don't work. bugref:10452

Main/Host,Main/USBDeviceFilter: Adding or removing global USB device
filters causes memory corruption wihch can lead to a deadlock or a SEGV
as the list of global USB device filters (llChildren) changes while
the list is being walked.

Frontends/VBoxManage: 'VBoxManage list usbfilters' doesn't display the
'Port' value of the device filter.

Frontends/VBoxManage: 'VBoxManage add usbfilter' and 'VBoxManage modify
usbfilter' both ignore the --product="Value" option.

Main/VirtualBox.xidl: Improve the IUSBDeviceFilter wording to make
things clearer in the 'VirtualBox Programming Guide and Reference Guide'
aka SDKRef.pdf.

HostDrivers/VBoxUSB/testcase/tstUSBFilter: Include a variety of USB
device filter entries which include the 'int:' prefix to fully exercise
the interval filter parsing code.

Location:
trunk/src/VBox/Frontends/VBoxManage
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp

    r98103 r100772  
    712712            RTPrintf(List::tr("Product:          %ls\n"), bstr.raw());
    713713            CHECK_ERROR_RET(flt, COMGETTER(SerialNumber)(bstr.asOutParam()), 1);
    714             RTPrintf(List::tr("Serial Number:    %ls\n\n"), bstr.raw());
     714            RTPrintf(List::tr("Serial Number:    %ls\n"), bstr.raw());
     715            CHECK_ERROR_RET(flt, COMGETTER(Port)(bstr.asOutParam()), 1);
     716            RTPrintf(List::tr("Port:             %ls\n\n"), bstr.raw());
    715717        }
    716718    }
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp

    r98103 r100772  
    455455                if (!f.mManufacturer.isEmpty())
    456456                    CHECK_ERROR_BREAK(flt, COMSETTER(Manufacturer)(f.mManufacturer.raw()));
     457                if (!f.mProduct.isEmpty())
     458                    CHECK_ERROR_BREAK(flt, COMSETTER(Product)(f.mProduct.raw()));
    457459                if (!f.mPort.isEmpty())
    458460                    CHECK_ERROR_BREAK(flt, COMSETTER(Port)(f.mPort.raw()));
     
    483485                if (!f.mManufacturer.isEmpty())
    484486                    CHECK_ERROR_BREAK(flt, COMSETTER(Manufacturer)(f.mManufacturer.raw()));
     487                if (!f.mProduct.isEmpty())
     488                    CHECK_ERROR_BREAK(flt, COMSETTER(Product)(f.mProduct.raw()));
    485489                if (!f.mPort.isEmpty())
    486490                    CHECK_ERROR_BREAK(flt, COMSETTER(Port)(f.mPort.raw()));
     
    517521                if (!f.mManufacturer.isEmpty())
    518522                    CHECK_ERROR_BREAK(flt, COMSETTER(Manufacturer)(f.mManufacturer.raw()));
     523                if (!f.mProduct.isEmpty())
     524                    CHECK_ERROR_BREAK(flt, COMSETTER(Product)(f.mProduct.raw()));
    519525                if (!f.mPort.isEmpty())
    520526                    CHECK_ERROR_BREAK(flt, COMSETTER(Port)(f.mPort.raw()));
     
    546552                if (!f.mManufacturer.isEmpty())
    547553                    CHECK_ERROR_BREAK(flt, COMSETTER(Manufacturer)(f.mManufacturer.raw()));
     554                if (!f.mProduct.isEmpty())
     555                    CHECK_ERROR_BREAK(flt, COMSETTER(Product)(f.mProduct.raw()));
    548556                if (!f.mPort.isEmpty())
    549557                    CHECK_ERROR_BREAK(flt, COMSETTER(Port)(f.mPort.raw()));
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette