File 0002-usb-containerid-trace.patch of Package wine

From 95ca18c9cf31c4f5cd922f0480f7270005293d6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Wed, 8 Jan 2025 06:07:56 +0100
Subject: [PATCH 2/7] usb containerid trace

---
 dlls/wineusb.sys/wineusb.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/dlls/wineusb.sys/wineusb.c b/dlls/wineusb.sys/wineusb.c
index e2b0f65da8a..393ed31dc2d 100644
--- a/dlls/wineusb.sys/wineusb.c
+++ b/dlls/wineusb.sys/wineusb.c
@@ -414,6 +414,7 @@ static void get_serial_number(const struct usb_device *device, struct string_buf
 {
     if (device->serial[0] != '\0') {
         append_id(buffer, L"%s", device->serial);
+        TRACE("Serial %s\n", debugstr_w(buffer->string));
     }
 }
 
@@ -423,8 +424,13 @@ static void get_container_id(const struct usb_device *device, struct string_buff
 
     memset(&guid, 0, sizeof(guid));
 
+    TRACE("get_container_id\n");
+    TRACE("serial %s\n", device->serial);
+    TRACE("container ID %02x\n", device->container_id[0]);
+
     if (memcmp(device->container_id, &guid, sizeof(guid)) != 0)
     {
+        TRACE("container ID from BOS\n");
         memcpy(&guid, device->container_id, sizeof(guid));
     }
     /* FIXME if the device is not removable, use the ContainerId of its parent */
@@ -434,11 +440,13 @@ static void get_container_id(const struct usb_device *device, struct string_buff
         char s[45];
         int len = snprintf(s, sizeof(s), "%0.32s%04%04X%04X", device->serial, device->vendor,
             device->product, device->revision);
+        TRACE("container ID from Serial Number\n");
         /* FIXME Should be UUIDv5 (SHA-1) hash, using a USB specific namespace */
         memcpy(&guid, s, len > sizeof(guid) ? sizeof(guid) : len);
     }
     else
     {
+        TRACE("container ID Pseudo-Random\n");
         /* FIXME Should create a random ContainerId */
         guid.Data1 = (device->vendor << 16) + device->product;
         guid.Data2 = device->revision;
@@ -450,6 +458,7 @@ static void get_container_id(const struct usb_device *device, struct string_buff
               (unsigned int)guid.Data1, guid.Data2, guid.Data3,
               guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3],
               guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7] );
+    TRACE("ID %s\n", debugstr_w(buffer->string));
 }
 
 static NTSTATUS query_id(struct usb_device *device, IRP *irp, BUS_QUERY_ID_TYPE type)
-- 
2.49.0

openSUSE Build Service is sponsored by