Alexandre Julliard pushed to branch master at wine / wine
Commits: d8e04f26 by Vibhav Pant at 2025-03-27T20:31:32+01:00 winebth.sys: Register a pairing agent with BlueZ during startup.
The agent receives authentication requests from BlueZ, and will relay them to the PE driver.
- - - - - 2d46cd2e by Vibhav Pant at 2025-03-27T20:31:32+01:00 winebth.sys: Broadcast a WINEBTH_AUTHENTICATION_REQUEST PnP event on receiving a RequestConfirmation request from BlueZ.
When the registered pairing agent receives a "RequestConfirmation" method request from BlueZ, relay it to the PE driver as WINEBLUETOOTH_EVENT_AUTH_EVENT, alongside the remote device the request was for. The PE driver then broadcasts a GUID_WINEBTH_AUTHENTICATION_REQUEST PnP event on the newly added WINEBTHAUTH device, alongside a winebth_authentication_request buffer containing details for the pairing request.
The auxiliary device \Device\WINEBTHAUTH handles authentication-related functionality for the entire system, and also gets used as the device for which WM_DEVICECHANGE auth events are broadcasted. This way, the user-mode Bluetooth APIs don't need to handle individual radio devices.
- - - - - 482cb5bf by Vibhav Pant at 2025-03-27T22:31:23+01:00 winebth.sys: Implement IOCTL_WINEBTH_AUTH_REGISTER.
This requests the system's Bluetooth service to send all incoming authentication requests to Wine's auth agent. This may be necessary to receive requests if another pairing agent outside Wine is already running.
- - - - - a8e0bdde by Vibhav Pant at 2025-03-27T22:31:23+01:00 bluetoothapis: Implement BluetoothRegisterForAuthenticationEx and BluetoothUnregisterForAuthentication.
- - - - - 215a1043 by Vibhav Pant at 2025-03-27T22:31:23+01:00 bluetoothapis/tests: Add tests for BluetoothRegisterForAuthenticationEx and BluetoothUnregisterAuthentication.
- - - - -
11 changed files:
- dlls/bluetoothapis/Makefile.in - dlls/bluetoothapis/main.c - dlls/bluetoothapis/tests/device.c - dlls/winebth.sys/dbus.c - dlls/winebth.sys/unixlib.c - dlls/winebth.sys/unixlib.h - dlls/winebth.sys/unixlib_priv.h - dlls/winebth.sys/winebluetooth.c - dlls/winebth.sys/winebth.c - dlls/winebth.sys/winebth_priv.h - include/wine/winebth.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/24193bd9758d4cbbe4eb9ed2111abe...