Hi, On Mon, Aug 31, 2015 at 4:32 PM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > > If bt_crypt_new fails or ext_signed should disable any signing operation > but currently only incoming operations were being ignored and only if > ext_signed is set which ignores the fact that bt_crypt_new can still > fail if the necessary kernel modules are not available. > --- > src/shared/att.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/src/shared/att.c b/src/shared/att.c > index 70f5d72..d88169e 100644 > --- a/src/shared/att.c > +++ b/src/shared/att.c > @@ -82,7 +82,6 @@ struct bt_att { > void *debug_data; > > struct bt_crypto *crypto; > - bool ext_signed; > > struct sign_info *local_sign; > struct sign_info *remote_sign; > @@ -294,7 +293,7 @@ static bool encode_pdu(struct bt_att *att, struct att_send_op *op, > if (pdu_len > 1) > memcpy(op->pdu + 1, pdu, length); > > - if (!sign || !(op->opcode & ATT_OP_SIGNED_MASK)) > + if (!sign || !(op->opcode & ATT_OP_SIGNED_MASK) || !att->crypto) > return true; > > if (!sign->counter(&sign_cnt, sign->user_data)) > @@ -782,7 +781,7 @@ static void handle_notify(struct bt_att *att, uint8_t opcode, uint8_t *pdu, > const struct queue_entry *entry; > bool found; > > - if ((opcode & ATT_OP_SIGNED_MASK) && !att->ext_signed) { > + if ((opcode & ATT_OP_SIGNED_MASK) && !att->crypto) { > if (!handle_signed(att, opcode, pdu, pdu_len)) > return; > pdu_len -= BT_ATT_SIGNATURE_LEN; > @@ -962,7 +961,6 @@ struct bt_att *bt_att_new(int fd, bool ext_signed) > return NULL; > > att->fd = fd; > - att->ext_signed = ext_signed; > att->mtu = BT_ATT_DEFAULT_LE_MTU; > att->buf = malloc(att->mtu); > if (!att->buf) > -- > 2.4.3 Applied. -- Luiz Augusto von Dentz -- 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