diff mbox series

plugins: Do not try to autopair with Nissan Connect devices

Message ID 01070182f561c630-852e0333-6f04-448b-b064-46a2f000e860-000000@eu-central-1.amazonses.com (mailing list archive)
State New, archived
Headers show
Series plugins: Do not try to autopair with Nissan Connect devices | expand

Checks

Context Check Description
tedd_an/pre-ci_am fail error: patch failed: plugins/autopair.c:66 error: plugins/autopair.c: patch does not apply hint: Use 'git am --show-current-patch' to see the failed patch

Commit Message

Florian Leeber Aug. 31, 2022, 7:30 p.m. UTC
It seems that Nissan Connect carkits a) do not use 0000 but 1234 as 
default code
but also b) the autopair plugin is not allowed to make a second attempt 
to pair.
Let´s try to not use the autopairing at all for those devices.
---
  plugins/autopair.c | 3 +++
  1 file changed, 3 insertions(+)

--
2.17.1

Comments

bluez.test.bot@gmail.com Aug. 31, 2022, 7:42 p.m. UTC | #1
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz Aug. 31, 2022, 8:18 p.m. UTC | #2
Hi Florian,

On Wed, Aug 31, 2022 at 12:44 PM Florian Leeber <florian@ubports.com> wrote:
>
> It seems that Nissan Connect carkits a) do not use 0000 but 1234 as
> default code
> but also b) the autopair plugin is not allowed to make a second attempt
> to pair.
> Let´s try to not use the autopairing at all for those devices.
> ---
>   plugins/autopair.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/plugins/autopair.c b/plugins/autopair.c
> index 0b09e89..6bf07e3 100644
> --- a/plugins/autopair.c
> +++ b/plugins/autopair.c
> @@ -66,6 +66,9 @@ static ssize_t autopair_pincb(struct btd_adapter *adapter,
>          /* The iCade shouldn't use random PINs like normal keyboards */
>          if (strstr(name, "iCade") != NULL)
>                  return 0;
> +       /* Nissan Connect carkits use PIN 1234 but refuse a retry */
> +       if (strstr(name, "NISSAN CONNECT") != NULL)
> +               return 0;

Well this is already starting to grow which imo defeats the purpose of
hardcoding directly on the code so perhaps we could have a section
e.g. [Autopair] where one can enter device names that shall not use
defaults PINs, or may an entry where one can add its own specific PIN
sequence for a given device name including none:

[Autopair]
PIN=0000,1234
# The iCade shouldn't use random PINs like normal keyboards
iCade=
# Nissan Connect carkits use PIN 1234 but it refuses retries
NISSAN CONNECT=1234

With this the logic is check if there is an entry for the device name
and then use as PIN otherwise use the PIN entry (if not defined use
the current settings as default).

>          /* This is a class-based pincode guesser. Ignore devices with an
>           * unknown class.
> --
> 2.17.1
>
Bastien Nocera Sept. 1, 2022, 10:46 a.m. UTC | #3
On Wed, 2022-08-31 at 13:18 -0700, Luiz Augusto von Dentz wrote:
> Hi Florian,
> 
> On Wed, Aug 31, 2022 at 12:44 PM Florian Leeber <florian@ubports.com>
> wrote:
> > 
> > It seems that Nissan Connect carkits a) do not use 0000 but 1234 as
> > default code
> > but also b) the autopair plugin is not allowed to make a second
> > attempt
> > to pair.
> > Let´s try to not use the autopairing at all for those devices.
> > ---
> >   plugins/autopair.c | 3 +++
> >   1 file changed, 3 insertions(+)
> > 
> > diff --git a/plugins/autopair.c b/plugins/autopair.c
> > index 0b09e89..6bf07e3 100644
> > --- a/plugins/autopair.c
> > +++ b/plugins/autopair.c
> > @@ -66,6 +66,9 @@ static ssize_t autopair_pincb(struct btd_adapter
> > *adapter,
> >          /* The iCade shouldn't use random PINs like normal
> > keyboards */
> >          if (strstr(name, "iCade") != NULL)
> >                  return 0;
> > +       /* Nissan Connect carkits use PIN 1234 but refuse a retry
> > */
> > +       if (strstr(name, "NISSAN CONNECT") != NULL)
> > +               return 0;
> 
> Well this is already starting to grow which imo defeats the purpose
> of
> hardcoding directly on the code so perhaps we could have a section
> e.g. [Autopair] where one can enter device names that shall not use
> defaults PINs, or may an entry where one can add its own specific PIN
> sequence for a given device name including none:
> 
> [Autopair]
> PIN=0000,1234
> # The iCade shouldn't use random PINs like normal keyboards
> iCade=
> # Nissan Connect carkits use PIN 1234 but it refuses retries
> NISSAN CONNECT=1234
> 
> With this the logic is check if there is an entry for the device name
> and then use as PIN otherwise use the PIN entry (if not defined use
> the current settings as default).

FWIW, gnome-bluetooth has its own database on top of bluez, which we
prefer to the code in bluez. I'd be happy getting rid of it.

Loads of devices that need pairing despite their class and Bluetooth
version, and devices that need special handling like the Navman GPS
that expects a non-numerical PIN.

The database:
https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/blob/master/lib/pin-code-database.xml
The code to parse it:
https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/blob/master/lib/pin.c
Florian Leeber Sept. 1, 2022, 6:10 p.m. UTC | #4
Am 01.09.2022 um 12:46 schrieb Bastien Nocera:
> On Wed, 2022-08-31 at 13:18 -0700, Luiz Augusto von Dentz wrote:
>> Hi Florian,
>>
>> On Wed, Aug 31, 2022 at 12:44 PM Florian Leeber <florian@ubports.com>
>> wrote:
>> gs as default). 
> FWIW, gnome-bluetooth has its own database on top of bluez, which we
> prefer to the code in bluez. I'd be happy getting rid of it.
>
> Loads of devices that need pairing despite their class and Bluetooth
> version, and devices that need special handling like the Navman GPS
> that expects a non-numerical PIN.
>
> The database:
> https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/blob/master/lib/pin-code-database.xml
> The code to parse it:
> https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/blob/master/lib/pin.c

Oh my, this escalated quickly ;) - tbh implementing this as a fully 
fledged config-based feature might be over my head. I am not proficient 
with the Bluez code at all, and my main work currently is being the OTA 
release manager for Ubuntu Touch. I could only work on this with some 
support to get the basics established.

Thanks for the hint with the database, we did not know about this.
Luiz Augusto von Dentz Sept. 1, 2022, 11:56 p.m. UTC | #5
Hi Florian,

On Thu, Sep 1, 2022 at 11:10 AM Florian Leeber <florian@ubports.com> wrote:
>
> Am 01.09.2022 um 12:46 schrieb Bastien Nocera:
> > On Wed, 2022-08-31 at 13:18 -0700, Luiz Augusto von Dentz wrote:
> >> Hi Florian,
> >>
> >> On Wed, Aug 31, 2022 at 12:44 PM Florian Leeber <florian@ubports.com>
> >> wrote:
> >> gs as default).
> > FWIW, gnome-bluetooth has its own database on top of bluez, which we
> > prefer to the code in bluez. I'd be happy getting rid of it.
> >
> > Loads of devices that need pairing despite their class and Bluetooth
> > version, and devices that need special handling like the Navman GPS
> > that expects a non-numerical PIN.
> >
> > The database:
> > https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/blob/master/lib/pin-code-database.xml
> > The code to parse it:
> > https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/blob/master/lib/pin.c
>
> Oh my, this escalated quickly ;) - tbh implementing this as a fully
> fledged config-based feature might be over my head. I am not proficient
> with the Bluez code at all, and my main work currently is being the OTA
> release manager for Ubuntu Touch. I could only work on this with some
> support to get the basics established.
>
> Thanks for the hint with the database, we did not know about this.

Can't you solve the problem in the agent thought? Or does the current
logic make the pairing fail right away?

>
Florian Leeber Sept. 2, 2022, 6:50 p.m. UTC | #6
Am 02.09.2022 um 01:56 schrieb Luiz Augusto von Dentz:
> Hi Florian,
>
> On Thu, Sep 1, 2022 at 11:10 AM Florian Leeber <florian@ubports.com> wrote:
>> Am 01.09.2022 um 12:46 schrieb Bastien Nocera:
>>> On Wed, 2022-08-31 at 13:18 -0700, Luiz Augusto von Dentz wrote:
>>>> Hi Florian,
>>>>
>>>>
> Can't you solve the problem in the agent thought? Or does the current
> logic make the pairing fail right away?
>
The problem seems to be that the carkit allows only one try. After a 
failed code it cancels the pairing (Seems they violate the specs?). So I 
could either resort the list to make 1234 being the first to try. But I 
think this would maybe affect other stuff and 0000 is probably the most 
used default code.
bluez.test.bot@gmail.com Sept. 29, 2022, 4:49 p.m. UTC | #7
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 5:44 p.m. UTC | #8
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 6:40 p.m. UTC | #9
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 7:01 p.m. UTC | #10
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 7:29 p.m. UTC | #11
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 7:47 p.m. UTC | #12
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 8:34 p.m. UTC | #13
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 8:53 p.m. UTC | #14
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 9:30 p.m. UTC | #15
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 9:52 p.m. UTC | #16
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 10:32 p.m. UTC | #17
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 10:52 p.m. UTC | #18
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 11:40 p.m. UTC | #19
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
bluez.test.bot@gmail.com Sept. 29, 2022, 11:59 p.m. UTC | #20
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----
error: patch failed: plugins/autopair.c:66
error: plugins/autopair.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
diff mbox series

Patch

diff --git a/plugins/autopair.c b/plugins/autopair.c
index 0b09e89..6bf07e3 100644
--- a/plugins/autopair.c
+++ b/plugins/autopair.c
@@ -66,6 +66,9 @@  static ssize_t autopair_pincb(struct btd_adapter *adapter,
         /* The iCade shouldn't use random PINs like normal keyboards */
         if (strstr(name, "iCade") != NULL)
                 return 0;
+       /* Nissan Connect carkits use PIN 1234 but refuse a retry */
+       if (strstr(name, "NISSAN CONNECT") != NULL)
+               return 0;

         /* This is a class-based pincode guesser. Ignore devices with an
          * unknown class.