From a6471015678690fe50ca50de1d0f5c7d31afcff9 Mon Sep 17 00:00:00 2001 From: PropGit Date: Tue, 10 Mar 2020 15:43:15 -0700 Subject: [PATCH 1/5] Updated mac_sign_and_package script to sign with runtime option (Hardened Runtime) for notarization acceptance. --- package/mac_app_sign_and_package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/mac_app_sign_and_package.sh b/package/mac_app_sign_and_package.sh index 3912c5b..15baef5 100755 --- a/package/mac_app_sign_and_package.sh +++ b/package/mac_app_sign_and_package.sh @@ -273,7 +273,7 @@ echo # Attempt to deeply codesign the app bundle # echo "Code signing the application bundle: ${DISTRIBUTION}${APP_BUNDLE} with identity: \"${APP_IDENTITY}\"" -codesign -s "$APP_IDENTITY" --deep -f -v "${DISTRIBUTION}${APP_BUNDLE}" +codesign -s "$APP_IDENTITY" --deep -f -v --options runtime "${DISTRIBUTION}${APP_BUNDLE}" if [ "$?" != "0" ]; then echo "[Error] Codesigning the application bundle failed!" 1>&2 exit 1 From 4bb2935b042196e102bb67ab7013fd05f135137d Mon Sep 17 00:00:00 2001 From: PropGit Date: Tue, 10 Mar 2020 15:49:10 -0700 Subject: [PATCH 2/5] Added Parallax-signed Mac FTDI driver v2.4.2 (from 8/2019) --- .../Contents/MacOS/FTDIUSBSerialDriver | Bin 70352 -> 79392 bytes .../Contents/_CodeSignature/CodeResources | 10 ++++++++++ 2 files changed, 10 insertions(+) diff --git a/package/drivers/FTDIUSBSerialDriver.kext/Contents/MacOS/FTDIUSBSerialDriver b/package/drivers/FTDIUSBSerialDriver.kext/Contents/MacOS/FTDIUSBSerialDriver index 2ece7c1ee1632e7c94c831c282062a7e764763d6..9c20f335667f9ee58464b6bcd13f40f3d669b7d8 100755 GIT binary patch delta 4096 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 VWd6)|^WNiy1C6{@J%~o&e*gpHcBcRU delta 1846 zcma)7d010d7Ju*MB@ng%0V10wAPR)#J(5Te>jFY)G>8JSh!P|zA~XR>V$nh*Q>Zu< z&n+s6^R{3$lr%$tV4E{+s)KzkBZaoqNx@=brC; zw{jfrsfLv=a2877-AH>Udd^`Gd<|-MZR)iI9}(+Ln`I9$DHA#)ytL6nCm{d;X8^!l zzZ?KSy#=2=|IkFwcLR`402pVKvuh2D9T*lC$mMVVt4K%pw>9fWdRGvB|FpV|A!B~> zU(uDos?#}@_=nBx~i7t{pJWdBI-34?4=+QyX5tcy0=;Pir1D$53gMJvf=Y{0W zB=QL$@g1R?30VBNGnO~*XZOLSfpsWm2$hNt+>hS9heS}2=zUskpn*H4zOgKTMo{Gw$ zCVQP<ZeoLODdA1M(vPg1S8_fRr%OU z4?YN*7`;yhjYoD9aFH<1WGBX(vy%l&#F7I7YJ?zhpHP%4O3I{e7D$s51sT*&gkr$~ zVS+eWBuq%9ZcY9ySuEgFUEjNML&=DR-k0(J1Yjd;^rVrA_y6JB_Cx2WF+$WIC6J+y z1F(B@G+7IAu!b_tde}d-*Clo!Zl-(H&-WdR0_p*{M?{X~@oWe0a{q9b!v6`FQCWyd z7wV^SN2U%6(N_ol@x#%WO&VqLaXRndVQcAEEoHR^VQYy6#x8l#wJ`hHEIako70l{ZsU>@TT-98v4yBp7i9Qs-t6PxYiA(tF}YP>OX zi{yV6!hry&kV6DS4nY|Gjh`#ildr1~A3+gE-D5eL!8WiJzbLD+qkbJldXC-f1v)iL z_cvHz3-bsf2OadAsIVL)>lBg>#suP0U*JI`=Pkk_7}5zK9&Z4FHg1?!YmH?tSYbtP zZjsFNM@b;4g<%|Ia0Dw@uyr95-glL$-UQ(RvPQ3buSKi8DwAXmk-A< zUHYfR9j$ZPl04!c^-K>1x9n1BN>Fq;du@z))pgYqXA5=tH@U}Fhd*mQEy>{K6TS+g z$aYVUUEjqW8|adKi;GH#F3y^dSJzB>3>GFZs$MfD$7!qB!H-u@btSGT^pE)z*VK2t z)G^f1E${j8qVMBt_x$NswTp@=?WWMlR2pgc;*&Yw;bz~DSi+->hBvPLXLj7lcm-KZ z^L8|Rr*O8+ebKI}4AoAVUkZ8c)Em`*)h&baO!bRjeFVS7=zbq6$7LaMTqd@9@o)Bj z^)F&dAoB7;KmiVhKs-<>2fMJ&Mf!Tw7hxfOC=+G-Fk=z#r6QSvL>P5~shrM&Yqu@h z62^Wj==k-^8{LE1_6--41|Jy2Rnd$VIxVojYsc(aDPj&+DB*;NLedz?(xjyQ?9_l% zep;{?DLDaB?1NL8Q9BNKrw6gTccz7I4&NJ`nHCfny;;J|C{clHWrcQm_%>P1&Q8wM zo9FcthdqfZ&7%zQPtvc=l`-ZrO|i|kYWLn_8*$qseO?9nZ}>v9a{81*aGv_CYDEN@ zW~tF`ntl2WX~cvTGSF8WjwMr((vF9hYxJsPCIi}l9E~0 z<6^?GCAQ9oau_OobPFxK?u5+Jo$Ip(LCw`=x yg?f~gJoSuVb)0;ltlC~w6-)Ho!z%l?=W?&?q%?eZF0K9e&@a%F^ZMUVZT=?~zTJEP diff --git a/package/drivers/FTDIUSBSerialDriver.kext/Contents/_CodeSignature/CodeResources b/package/drivers/FTDIUSBSerialDriver.kext/Contents/_CodeSignature/CodeResources index b375c3e..342594a 100644 --- a/package/drivers/FTDIUSBSerialDriver.kext/Contents/_CodeSignature/CodeResources +++ b/package/drivers/FTDIUSBSerialDriver.kext/Contents/_CodeSignature/CodeResources @@ -48,6 +48,11 @@ weight 1100 + ^Resources/Base\.lproj/ + + weight + 1010 + ^version.plist$ @@ -107,6 +112,11 @@ weight 1100 + ^Resources/Base\.lproj/ + + weight + 1010 + ^[^/]+$ nested From 538a201eeb92cb950c847a2e0d82c2fad2255eb1 Mon Sep 17 00:00:00 2001 From: PropGit Date: Mon, 23 Mar 2020 19:41:32 -0700 Subject: [PATCH 3/5] Added timestamp and entitlements to sign script. Left experimental entitlements in commit. --- .../mac-resources/neededToRun.entitlements | 18 +++++++++++++++ .../neededToRun.entitlements_works | 22 +++++++++++++++++++ .../neededToRun.entitlements_works2 | 20 +++++++++++++++++ .../neededToRun.entitlements_works3 | 18 +++++++++++++++ package/mac_app_sign_and_package.sh | 2 +- 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 package/mac-resources/neededToRun.entitlements create mode 100644 package/mac-resources/neededToRun.entitlements_works create mode 100644 package/mac-resources/neededToRun.entitlements_works2 create mode 100644 package/mac-resources/neededToRun.entitlements_works3 diff --git a/package/mac-resources/neededToRun.entitlements b/package/mac-resources/neededToRun.entitlements new file mode 100644 index 0000000..6b048ec --- /dev/null +++ b/package/mac-resources/neededToRun.entitlements @@ -0,0 +1,18 @@ + + + + + com.apple.security.automation.apple-events + + com.apple.security.device.audio-input + + com.apple.security.device.camera + + com.apple.security.personal-information.addressbook + + com.apple.security.personal-information.calendars + + com.apple.security.cs.allow-unsigned-executable-memory + + + diff --git a/package/mac-resources/neededToRun.entitlements_works b/package/mac-resources/neededToRun.entitlements_works new file mode 100644 index 0000000..6a38669 --- /dev/null +++ b/package/mac-resources/neededToRun.entitlements_works @@ -0,0 +1,22 @@ + + + + + com.apple.security.automation.apple-events + + com.apple.security.device.audio-input + + com.apple.security.device.camera + + com.apple.security.personal-information.addressbook + + com.apple.security.personal-information.calendars + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + + diff --git a/package/mac-resources/neededToRun.entitlements_works2 b/package/mac-resources/neededToRun.entitlements_works2 new file mode 100644 index 0000000..edc8bae --- /dev/null +++ b/package/mac-resources/neededToRun.entitlements_works2 @@ -0,0 +1,20 @@ + + + + + com.apple.security.automation.apple-events + + com.apple.security.device.audio-input + + com.apple.security.device.camera + + com.apple.security.personal-information.addressbook + + com.apple.security.personal-information.calendars + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-unsigned-executable-memory + + + diff --git a/package/mac-resources/neededToRun.entitlements_works3 b/package/mac-resources/neededToRun.entitlements_works3 new file mode 100644 index 0000000..6b048ec --- /dev/null +++ b/package/mac-resources/neededToRun.entitlements_works3 @@ -0,0 +1,18 @@ + + + + + com.apple.security.automation.apple-events + + com.apple.security.device.audio-input + + com.apple.security.device.camera + + com.apple.security.personal-information.addressbook + + com.apple.security.personal-information.calendars + + com.apple.security.cs.allow-unsigned-executable-memory + + + diff --git a/package/mac_app_sign_and_package.sh b/package/mac_app_sign_and_package.sh index 15baef5..3ae9f1b 100755 --- a/package/mac_app_sign_and_package.sh +++ b/package/mac_app_sign_and_package.sh @@ -273,7 +273,7 @@ echo # Attempt to deeply codesign the app bundle # echo "Code signing the application bundle: ${DISTRIBUTION}${APP_BUNDLE} with identity: \"${APP_IDENTITY}\"" -codesign -s "$APP_IDENTITY" --deep -f -v --options runtime "${DISTRIBUTION}${APP_BUNDLE}" +codesign -s "$APP_IDENTITY" --deep -f -v --options runtime --timestamp --entitlements "./mac-resources/neededToRun.entitlements" "${DISTRIBUTION}${APP_BUNDLE}" if [ "$?" != "0" ]; then echo "[Error] Codesigning the application bundle failed!" 1>&2 exit 1 From f23388c828c5fe1388efdf81b82125334c6cc589 Mon Sep 17 00:00:00 2001 From: PropGit Date: Mon, 23 Mar 2020 19:42:42 -0700 Subject: [PATCH 4/5] Removed experimental entitlements. --- .../neededToRun.entitlements_works | 22 ------------------- .../neededToRun.entitlements_works2 | 20 ----------------- .../neededToRun.entitlements_works3 | 18 --------------- 3 files changed, 60 deletions(-) delete mode 100644 package/mac-resources/neededToRun.entitlements_works delete mode 100644 package/mac-resources/neededToRun.entitlements_works2 delete mode 100644 package/mac-resources/neededToRun.entitlements_works3 diff --git a/package/mac-resources/neededToRun.entitlements_works b/package/mac-resources/neededToRun.entitlements_works deleted file mode 100644 index 6a38669..0000000 --- a/package/mac-resources/neededToRun.entitlements_works +++ /dev/null @@ -1,22 +0,0 @@ - - - - - com.apple.security.automation.apple-events - - com.apple.security.device.audio-input - - com.apple.security.device.camera - - com.apple.security.personal-information.addressbook - - com.apple.security.personal-information.calendars - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.cs.allow-unsigned-executable-memory - - - diff --git a/package/mac-resources/neededToRun.entitlements_works2 b/package/mac-resources/neededToRun.entitlements_works2 deleted file mode 100644 index edc8bae..0000000 --- a/package/mac-resources/neededToRun.entitlements_works2 +++ /dev/null @@ -1,20 +0,0 @@ - - - - - com.apple.security.automation.apple-events - - com.apple.security.device.audio-input - - com.apple.security.device.camera - - com.apple.security.personal-information.addressbook - - com.apple.security.personal-information.calendars - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-unsigned-executable-memory - - - diff --git a/package/mac-resources/neededToRun.entitlements_works3 b/package/mac-resources/neededToRun.entitlements_works3 deleted file mode 100644 index 6b048ec..0000000 --- a/package/mac-resources/neededToRun.entitlements_works3 +++ /dev/null @@ -1,18 +0,0 @@ - - - - - com.apple.security.automation.apple-events - - com.apple.security.device.audio-input - - com.apple.security.device.camera - - com.apple.security.personal-information.addressbook - - com.apple.security.personal-information.calendars - - com.apple.security.cs.allow-unsigned-executable-memory - - - From 4397cd245e0c9a6eb17074ff43794f9a1edbc866 Mon Sep 17 00:00:00 2001 From: PropGit Date: Wed, 25 Mar 2020 10:41:08 -0700 Subject: [PATCH 5/5] [#95] Fixed case-sensitive Bluetooth port filtering that caused extra ports to appear in list. --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 9218040..0c9cd72 100644 --- a/index.js +++ b/index.js @@ -420,7 +420,7 @@ function scanWPorts() { // Get consistently formatted port path; If Windows, strip off possible leading port origin path for ease in comparison var portPath = ((platform === pfWin) && (port.path.indexOf(winPortOrigin) === 0)) ? port.path.slice(winPortOriginLen) : port.path; // Add only proper port types (platform specific and excluding bluetooth ports) - if ((portPath.indexOf(portPattern[platform]) === 0) && (port.displayName.indexOf(' bt ') === -1 && port.displayName.indexOf('bluetooth') === -1)) { + if ((portPath.indexOf(portPattern[platform]) === 0) && (port.displayName.toLowerCase().indexOf(' bt ') === -1 && port.displayName.toLowerCase().indexOf('bluetooth') === -1)) { addPort({path: port.path}); } });