From c6c7e0257768023fc3f0b2f0a0a14da37f7392f4 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mon, 27 Nov 2017 16:26:50 +0100 Subject: [PATCH] autopair: Add more common PIN codes for audio devices PIN codes "1111", and "1234" are fairly common PIN codes used for audio devices such as speakers and headsets. This replaces similar quirks already present in gnome-bluetooth's PIN database. Change-Id: I6ca058cd15a3e7b4d58720dbb6e4011f78824653 Signed-off-by: himanshu --- plugins/autopair.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/autopair.c b/plugins/autopair.c index 6980b0a..70e1993 100755 --- a/plugins/autopair.c +++ b/plugins/autopair.c @@ -92,10 +92,20 @@ static ssize_t autopair_pincb(struct btd_adapter *adapter, case 0x06: /* Headphones */ case 0x07: /* Portable Audio */ case 0x0a: /* HiFi Audio Device */ - if (attempt > 1) - return 0; - memcpy(pinbuf, "0000", 4); - return 4; + { + const char *pincodes[] = { + "0000", + "1234", + "1111" + }; + const char *pincode; + + if (attempt > G_N_ELEMENTS(pincodes)) + return 0; + pincode = pincodes[attempt - 1]; + memcpy(pinbuf, pincode, strlen(pincode)); + return strlen(pincode); + } } break; -- 2.7.4