From 8ef121cdbb0a78ec0beacdd1913b0451429b4fed Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 7 Dec 2005 12:41:58 +0000 Subject: [PATCH] hcidump: Make it possible to obfuscate pin codes and link keys --- tools/hcidump.1 | 3 +++ tools/parser/hci.c | 20 ++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/tools/hcidump.1 b/tools/hcidump.1 index e7ce4c28f..6a7c51266 100644 --- a/tools/hcidump.1 +++ b/tools/hcidump.1 @@ -96,6 +96,9 @@ Use the BTSnoop file format. .TP .BR -V ", " "\-\^\-verbose" Enables a more verbose decoding of every packet. +.TP +.BR -Y ", " "\-\^\-novendor" +Don't display any vendor commands or events and don't show any pin code or link key in plain text. .SH FILTERS .B filter diff --git a/tools/parser/hci.c b/tools/parser/hci.c index 295178066..d14f8c54f 100644 --- a/tools/parser/hci.c +++ b/tools/parser/hci.c @@ -630,7 +630,10 @@ static inline void pin_code_reply_dump(int level, struct frame *frm) p_indent(level, frm); ba2str(&cp->bdaddr, addr); memset(pin, 0, sizeof(pin)); - memcpy(pin, cp->pin_code, cp->pin_len); + if (parser.flags & DUMP_NOVENDOR) + memset(pin, '*', cp->pin_len); + else + memcpy(pin, cp->pin_code, cp->pin_len); printf("bdaddr %s len %d pin \'%s\'\n", addr, cp->pin_len, pin); } @@ -644,7 +647,10 @@ static inline void link_key_reply_dump(int level, struct frame *frm) ba2str(&cp->bdaddr, addr); printf("bdaddr %s key ", addr); for (i = 0; i < 16; i++) - printf("%2.2X", cp->link_key[i]); + if (parser.flags & DUMP_NOVENDOR) + printf("**"); + else + printf("%2.2X", cp->link_key[i]); printf("\n"); } @@ -830,7 +836,10 @@ static inline void return_link_keys_dump(int level, struct frame *frm) p_indent(level, frm); printf("bdaddr %s key ", addr); for (i = 0; i < 16; i++) - printf("%2.2X", key[i]); + if (parser.flags & DUMP_NOVENDOR) + printf("**"); + else + printf("%2.2X", key[i]); printf("\n"); frm->ptr += 2; @@ -2154,7 +2163,10 @@ static inline void link_key_notify_dump(int level, struct frame *frm) ba2str(&evt->bdaddr, addr); printf("bdaddr %s key ", addr); for (i = 0; i < 16; i++) - printf("%2.2X", evt->link_key[i]); + if (parser.flags & DUMP_NOVENDOR) + printf("**"); + else + printf("%2.2X", evt->link_key[i]); printf(" type %d\n", evt->key_type); } -- 2.47.3