ChangeLog: Update with recent changes

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirparser: Add a usbredirparser_caps_get_cap helper function

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usb-redir-proto: Extend usb_redir_ep_info_header with a max_streams field

The usb_redir_ep_info_header has been extended with a max_streams field,
this is only send / received if both sides have usb_redir_cap_bulk_streams

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usb-redir-proto: Allow bulk_stream alloc/free on multiple endpoints

Change bulk_stream packet definitions to allow allocating / freeing
streams on multiple endpoints in one go, technically this is a protocol
change, but no-one has implemented usb_redir_cap_bulk_streams so far, so
we can safely do this

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Fill in max_streams in ep_info

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Implement support for bulk streams

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirproto.h: Add a USBREDIR_VERSION define

So applications can test against which version they are building.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Add usbredirhost_wait_for_cancel_completion helper

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost_cancel_pending_urbs: Add a notify_guest parameter

If this is 1 then the guest will be send stream_status packets with
a status of usb_redir_stall for any stopped streams.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Ensure all in flight urbs are cancelled before a reset

The guest should have cancelled any pending urbs already, but the cancellations
have not necessary completed when we receive a reset.

If we then continue with the reset pending urbs may complete with an error code
of LIBUSB_TRANSFER_NO_DEVICE, causing us to see a device disconnect.

We also need to cleanly shutdown any streams and let the guest know they
should be restarted after the reset.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Add missing flush on cancel

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Fix a cancellation corner case

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: Improve debug logging

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: lock host earlier in async packet completion callbacks

The transfer->foo_packet union members are also used on cancellation, and
completion and cancellation may race, so they should not be accessed without
holding the lock.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
usbredirhost: reset device on release

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Update ChangeLog and usb-redirection-protocol.txt

Landing the necessary kernel and libusbn changes for bulk stream support has
taken a while, so update the dates.

Also add a few missing changes to the ChangeLog.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Prepare for 0.7 release

Signed-off-by: Hans de Goede <hdegoede@redhat.com>