Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1012676ybh; Wed, 11 Mar 2020 15:37:46 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv23NNYRUxGqFgK9zcOXLq+kDAy0NaP/T4jOs39gen4C7+hGPR+v7E3Awl8vHtvAYKHP0PO X-Received: by 2002:a9d:75c9:: with SMTP id c9mr4263756otl.155.1583966266038; Wed, 11 Mar 2020 15:37:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583966266; cv=none; d=google.com; s=arc-20160816; b=oLvd2pmPebPcw90+9z8T94I0b+nHVba5VyDVvKswamd6+uYHbIbMI6rHrOYQev3rop hzn/MV7QSaNLSc680aD6WS23e1Iio7pvRzxbCHwEQBIEXqHvBNcQ6F7zftvUEwqHXXp+ jLTtoCyM6AOpRo1w+ihSKWVbKxSHFOhUMI+l/B4Ck6ZyuMOXFeQ0YzIIV0bFx0aH3u9U 1X9sM56vtO4s4JHDBHNJJPtBTp3gjNM4Dti4WrF3mQTEUok/rCXRgPpHqXCKPX04kytH WuJOU0C7znzH9LTPSJFKNbKVZ1h8yFlrbq82zLp8pZ5PRwoIegBD+IGHi/WNr3OZ0AR8 PE7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=ihe3Xga4TXdBVw3Y9fRxURivY9iZ8h2FJqnlmeBsDWk=; b=dol1E17ZlBdCnObgB08mhleYH415nD8lSCyDwI02EqevLKBNVafeng61EY3Ql5/aH9 vew6ep5oEUm6RoPbzh1lsNniVcnTgA8t4IqeESHSm7rFGXs9d6URPb2YEBNpu+T70TyM k+YKCjxHc5AwFQZmG4869cLjX0Et+ugK1iozXMnbajvAqGSX3Pv13llxno9hwFULcF9L 5VAKjS8L0v3fyAjVMS+n1sGeqZhBPEQXOzRxAwp0Z+zBRsqACOwGhPM4HYnktgf36lPr 9S5iX42XfpJEp5LDlUrIVbGHPbNnPvAIgGwapvXLixusQAW+g+8cwB+DOgGqyRe2rGQh 7oyQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e6si1920250oti.166.2020.03.11.15.37.21; Wed, 11 Mar 2020 15:37:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729919AbgCKWhP (ORCPT + 99 others); Wed, 11 Mar 2020 18:37:15 -0400 Received: from mga05.intel.com ([192.55.52.43]:15609 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729881AbgCKWhO (ORCPT ); Wed, 11 Mar 2020 18:37:14 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Mar 2020 15:37:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,542,1574150400"; d="scan'208";a="415722331" Received: from ingas-nuc1.sea.intel.com ([10.251.157.250]) by orsmga005.jf.intel.com with ESMTP; 11 Mar 2020 15:37:14 -0700 From: Inga Stotland To: linux-bluetooth@vger.kernel.org Cc: brian.gix@intel.com, Inga Stotland Subject: [PATCH BlueZ] test/test-mesh: Add support for static OOB in the agent Date: Wed, 11 Mar 2020 15:37:12 -0700 Message-Id: <20200311223712.31784-1-inga.stotland@intel.com> X-Mailer: git-send-email 2.21.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org This allows to display a 16-octet key to be entered on the remote device during provisioning. --- test/agent.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/agent.py b/test/agent.py index 778dbe092..af9edd35c 100755 --- a/test/agent.py +++ b/test/agent.py @@ -3,6 +3,7 @@ import sys import dbus import dbus.service +import numpy try: from termcolor import colored, cprint @@ -17,6 +18,12 @@ AGENT_PATH = "/mesh/test/agent" bus = None +def array_to_string(b_array): + str_value = "" + for b in b_array: + str_value += "%02x" % b + return str_value + class Agent(dbus.service.Object): def __init__(self, bus): self.path = AGENT_PATH @@ -27,6 +34,7 @@ class Agent(dbus.service.Object): caps = [] oob = [] caps.append('out-numeric') + #caps.append('static-oob') oob.append('other') return { AGENT_IFACE: { @@ -46,3 +54,14 @@ class Agent(dbus.service.Object): def DisplayNumeric(self, type, value): print(set_cyan('DisplayNumeric ('), type, set_cyan(') number ='), set_green(value)) + + @dbus.service.method(AGENT_IFACE, in_signature="s", out_signature="ay") + def PromptStatic(self, type): + static_key = numpy.random.randint(0, 255, 16) + key_str = array_to_string(static_key) + + print(set_cyan('PromptStatic ('), type, set_cyan(')')) + print(set_cyan('Enter 16 octet key on remote device: '), + set_green(key_str)); + + return dbus.Array(static_key, signature='y') -- 2.21.1