-
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.