hi, 
On the server side, it just control the USB connection  is on or off, can not 
control some USB type can be use or not.
For Example:
case 1. I’m a admin user, I don’t want client user to use storage device and can
    use other usb device. the server side can’t handle it.

case 2. I’m a admin user, I don’t want client user to use storage device, but I
    want let them use a storage device  assigned by VID:PID, which device
    I have a authentication. the server side can’t handle it.

so, I think this feature is worth useful. and make full use of the usb filter 

My code diff is simple & rude, ^_^, so, like you said, add a cmd line option is 
better.

> On 4 Jun 2017, at 17:55, Snir Sheriber <ssher...@redhat.com> wrote:
> 
> Hi,
> 
> 
> On 06/02/2017 12:52 PM, leaboy wrote:
>> hello, everyone.
>> I found if I disable some USB device use usb_filter, it’s just take effect 
>> for the auto_connect.
>> but when I open the USBSelectDialog, I can see the disabled device, and even 
>> I can checked it.
>> So, I just modified a little code let the disabled device disappear in the 
>> USBSelectDialog.
> 
> The auto-connect filter is used to filter already plugged in USB devices from 
> auto-connect
> to the guest after spice connection has established.
> Sorry it is not clear from the documentation, i will update it.
> 
> Thank you for this suggestion:), though IMO (since currently it does what it 
> supposed to) , if the
> user decide to redirect a USB device during the spice session he should still 
> have the option to
> select & redirect each one of the connected devices on the client's machine. 
> But if you still find this
> feature useful i would say it should be in new cmd line option like 
> --spice-usb-filter or something.
> 
> BTW, on the server side you can determine to block USB devices, i think it 
> should make them disabled
> on the client's USBSelectDialog.
> 
> Thanks, Snir.
> 
>> 
>> the code diff is:
>> 
>> diff --git a/spice-common b/spice-common
>> --- a/spice-common
>> +++ b/spice-common
>> @@ -1 +1 @@
>> -Subproject commit af682b1b06dea55007d9aa7c37cd443e4349e43f
>> +Subproject commit af682b1b06dea55007d9aa7c37cd443e4349e43f-dirty
>> diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c
>> index bbe2391..1645497 100644
>> --- a/src/usb-device-manager.c
>> +++ b/src/usb-device-manager.c
>> @@ -966,6 +966,19 @@ static void 
>> spice_usb_device_manager_add_dev(SpiceUsbDeviceManager  *self,
>>                                     device, NULL,
>>                                     spice_usb_device_manager_auto_connect_cb,
>>                                     spice_usb_device_ref(device));
>> +    }else{
>> +        gboolean auto_ok;
>> +        auto_ok = usbredirhost_check_device_filter(
>> +                            priv->auto_conn_filter_rules,
>> +                            priv->auto_conn_filter_rules_count,
>> +                            libdev, 0) == 0;
>> +        if (!auto_ok){
>> +            SPICE_DEBUG("device denied %04x:%04x (%p)",
>> +                spice_usb_device_get_vid(device),
>> +                spice_usb_device_get_pid(device),
>> +                device);
>> +            return;
>> +        }
>>      }
>>        SPICE_DEBUG("device added %04x:%04x (%p)",
>> @@ -1348,7 +1361,11 @@ GPtrArray* 
>> spice_usb_device_manager_get_devices_with_filter(
>>   */
>>  GPtrArray* spice_usb_device_manager_get_devices(SpiceUsbDeviceManager *self)
>>  {
>> -    return spice_usb_device_manager_get_devices_with_filter(self, NULL);
>> +    SpiceUsbDeviceManager *udm = SPICE_USB_DEVICE_MANAGER(self);
>> +    SpiceUsbDeviceManagerPrivate *udm_priv;
>> +    udm_priv = udm->priv;
>> +
>> +    return spice_usb_device_manager_get_devices_with_filter(self, 
>> udm_priv->auto_connect_filter);
>>  }
>> 
>> 
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel@lists.freedesktop.org <mailto:Spice-devel@lists.freedesktop.org>
>> https://lists.freedesktop.org/mailman/listinfo/spice-devel 
>> <https://lists.freedesktop.org/mailman/listinfo/spice-devel>
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to