Hi, On Thu, Apr 28, 2011, Johan Hedberg wrote: > On Thu, Apr 28, 2011, Waldemar Rymarkiewicz wrote: > > +static int rfcomm_accept_secure(struct hci_conn *conn, struct rfcomm_dlc *d) > > +{ > > + BT_DBG(""); > > + > > + if (d->sec_level != BT_SECURITY_HIGH) > > + return 1; /* Accept */ > > + > > + if (conn->key_type == HCI_LK_AUTH_COMBINATION || > > + (conn->key_type == HCI_LK_COMBINATION && > > + conn->pin_length == 16)) > > + return 1; > > + > > + return 0; /* Reject */ > > +} > > If conn->key_type and conn->pin_length are like you want them to be in > the second if-statement, shouldn't conn->sec_level already be > BT_SECURITY_HIGH? And if that's the case I guess you don't need a > separate function at all: just check for conn->sec_level. Btw, what > purpose does d->sec_level serve when we already have conn->sec_level? Never mind. d->sec_level is obviously the security requirement for the RFCOMM link which could be different from the current ACL security level. Nevertheless, I think instead of doing the complicated if-statement on the key_type & pin_length you can simply check the value of conn->sec_level. Johan -- 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