From 17e2c968353c72020cf624716f5acf2d0f987dd2 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 14 Jun 2019 21:08:53 +0000
Subject: [PATCH] Since Revision 1.36 of load/fidocfg.js (Jan-8-2019), a
 blank/unconfigured BinkP session password ("SessionPwd") in sbbsecho.ini
 would cause BinkIT/BinkP to behave as though a session password was
 specified. The reason for the change to fidocfg.js (specifying a default
 value for "SessionPwd" as a blank string) was to force the return value to a
 string so that numeric passwords were not returned as numbers but rather
 strings. The binkit.js and binkp.js code assumed that a blank password would
 be 'undefined' and not a blank string. This commit changes binkit.js and
 binkp.js to treat all of the following session password values as "no
 password" with respect to BinkP: - false - undefined - blank string ('')

---
 exec/binkit.js     | 4 ++--
 exec/load/binkp.js | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/exec/binkit.js b/exec/binkit.js
index 6df18fb692..9dd63bae07 100644
--- a/exec/binkit.js
+++ b/exec/binkit.js
@@ -316,7 +316,7 @@ function callout_auth_cb(mode, bp)
 	 */
 	var addrs = [];
 
-	if (bp.cb_data.binkitpw === undefined || bp.cb_data.binkitpw === '-')
+	if (!bp.cb_data.binkitpw || bp.cb_data.binkitpw === '-')
 		addrs.push(bp.cb_data.binkit_to_addr);
 	else {
 		bp.remote_addrs.forEach(function(addr) {
@@ -982,7 +982,7 @@ function inbound_auth_cb(pwd, bp)
 		if (bp.cb_data.binkitcfg.node[addr] !== undefined) {
 			log(LOG_INFO, "Inbound session for: " + addr);
 			cpw = bp.cb_data.binkitcfg.node[addr].pass;
-			if (cpw === undefined)
+			if (!cpw)
 				cpw = '-';
 			if (pwd[0].substr(0, 9) === 'CRAM-MD5-') {
 				if (mystic_broken_cram(bp))
diff --git a/exec/load/binkp.js b/exec/load/binkp.js
index b4ffe4138a..ae4d8e90a2 100644
--- a/exec/load/binkp.js
+++ b/exec/load/binkp.js
@@ -413,7 +413,7 @@ BinkP.prototype.connect = function(addr, password, auth_cb, port, inet_host)
 		throw("No address specified!");
 	addr = FIDO.parse_addr(addr, this.default_zone, this.default_domain);
 
-	if (password === undefined)
+	if (!password)
 		password = '-';
 	if (password === '-')
 		this.require_md5 = false;
-- 
GitLab