Hi Marcel, On Wed, Feb 26, 2014 at 3:37 AM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > Hi Andre, > >> We should only add connection parameters for public, random static and >> random private resolvable with IRK. If we allow non-resolvable or >> resolvable without IRK, the background scan may run indefinitely. So, to >> avoid this undesired behavior, we should check the address type in >> hci_conn_params_add(). > > this makes no sense. We should only allow auto-connection from public and static random addresses. These two are identity addresses. > > Every IRK has an identity address assigned to it. If you want to auto-connect a device using a resolvable private address, then the identity address needs to be programmed into our auto-connection list. The RPA should never ever go there. > > That is how connect() works actually. You give it the identity address and it will use the IRK to match it to the RPA in use. We need to do exactly the same. > > In addition please keep in mind that userspace only knows about RPA as long as they are not identified. Once they are identified, the kernel will only tell us about identity addresses. The RPA will be in all mgmt commands and events automatically resolved. Ok, so I'll change hci_conn_params_add() to accept public and random static addresses only. BR, Andre -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html