From d7b413bd0e376ccfd2ed6b8824e583791171b93c Mon Sep 17 00:00:00 2001 From: Rick Sommerville Date: Sat, 22 May 2021 18:26:56 -0400 Subject: [PATCH] WIFI-2416 Automatically DigiCert if no redirector setup Signed-off-by: Rick Sommerville --- .../opensync/files/bin/wlan_ap_redirector.sh | 13 +++++++++++-- .../openwrt/rootfs/common/etc/init.d/opensync | 8 ++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/feeds/wlan-ap/opensync/files/bin/wlan_ap_redirector.sh b/feeds/wlan-ap/opensync/files/bin/wlan_ap_redirector.sh index d42358915..2585a4cc5 100755 --- a/feeds/wlan-ap/opensync/files/bin/wlan_ap_redirector.sh +++ b/feeds/wlan-ap/opensync/files/bin/wlan_ap_redirector.sh @@ -25,12 +25,21 @@ if [ -z "$1" ]; then "https://${DIGICERT_API_URI}/iot/api/v2/device/${digicert_device_id}"` controller_url=`echo ${device_data} | jsonfilter -e '@.fields[@.name="Redirector"].value'` - # TODO: we should get the port with the redirector record and only default to 6643 if no port was specified - redirector_addr="ssl:${controller_url}:6643" + if [ -z "$controller_url" ]; then + echo "No redirector found for this device" + exit 1 + fi + controller_port=`echo ${controller_url} | cut -d ":" -f2)` + if [ -z "$controller_port" ]; then + redirector_addr="ssl:${controller_url}:6643" + else + redirector_addr="ssl:${controller_url}" + fi else redirector_addr=$1 fi uci set system.tip.redirector="${redirector_addr}" +uci set system.tip.deployed=0 uci commit system /etc/init.d/opensync restart diff --git a/feeds/wlan-ap/opensync/src/platform/openwrt/rootfs/common/etc/init.d/opensync b/feeds/wlan-ap/opensync/src/platform/openwrt/rootfs/common/etc/init.d/opensync index 7af126203..b1377f97b 100755 --- a/feeds/wlan-ap/opensync/src/platform/openwrt/rootfs/common/etc/init.d/opensync +++ b/feeds/wlan-ap/opensync/src/platform/openwrt/rootfs/common/etc/init.d/opensync @@ -37,6 +37,14 @@ start_service() { echo "Setting certificates" mkdir -p ${CERTS_DEST_PATH} cp ${CERTS_SRC_PATH}/* ${CERTS_DEST_PATH}/ + echo "Checking Redirector" + redirector=$(uci get system.tip.redirector) + if [ -z "$redirector" ]; then + logger -t opensync "Contacting DigiCert for redirector address" + wlan_ap_redirector.sh + else + logger -t opensync "Redirector address is ${redirector}" + fi echo "Starting OpenSync" procd_set_param command ${PROG} procd_close_instance