From 41974615ddcb58f965b4f757e855c0065840d236 Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Tue, 26 Mar 2013 04:29:24 +0000
Subject: [PATCH] Match user accounts by callsign+SSID in the users's chat
 handle field. (Will make it possible to map each of a user's 16 available
 SSIDs to a particular service later on, using eg. VA7RRX-0 for RLogin,
 VA7RRX-1 for QWK networking, etc.)

---
 exec/ax25tunnel.js | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/exec/ax25tunnel.js b/exec/ax25tunnel.js
index 00141e641f..dcbd07d0c2 100644
--- a/exec/ax25tunnel.js
+++ b/exec/ax25tunnel.js
@@ -106,11 +106,11 @@ while(!js.terminated) {
 			}
 			if(!AX25.clients.hasOwnProperty(packet.clientID)) {
 				var a = new AX25.Client(AX25.tncs[tnc], packet);
-				var usernumber = system.matchuserdata(U_HANDLE, packet.sourceCallsign);
+				var usernumber = system.matchuserdata(U_HANDLE, packet.sourceCallsign + packet.sourceSSID);
 				if(usernumber < 1) {
-					var u = system.new_user(packet.sourceCallsign);
+					var u = system.new_user(packet.sourceCallsign + packet.sourceSSID);
 					u.alias = packet.sourceCallsign;
-					u.handle = packet.sourceCallsign;
+					u.handle = packet.sourceCallsign + packet.sourceSSID;
 					u.security.password = time(); // Do something better here
 					try {
 						var callsign=CallSign.Lookup.Any(u.alias);
@@ -123,14 +123,6 @@ while(!js.terminated) {
 						u.location = callsign.city + ", " + callsign.provstate;
 						u.zipcode = callsign.postalzip;
 					}
-					var out = format(
-						"Welcome to %s, %s! Your account has been created.\r\n"
-						+ "You can visit us on the internet at %s\r\n"
-						+ "Your password is %s. You'll need that to log in online"
-						+ "\r\n\r\n",
-						system.name, u.alias, system.inet_addr, u.security.password
-					);
-					a.sendString(out);
 				} else {
 					var u = new User(usernumber);
 				}
@@ -170,11 +162,13 @@ while(!js.terminated) {
 		}
 		if(tunnels[AX25.clients[c].id].dataWaiting) {
 			var fromTunnel = tunnels[AX25.clients[c].id].receive();
-			AX25.clients[c].sendString(fromTunnel);
+			if(fromTunnel.length > 0)
+				AX25.clients[c].sendString(fromTunnel);
 		}
 		if(AX25.clients[c].dataWaiting) {
 			var fromClient = AX25.clients[c].receiveString();
-			tunnels[AX25.clients[c].id].send(fromClient);
+			if(fromClient.length > 0)
+				tunnels[AX25.clients[c].id].send(fromClient);
 		}
 	}
 	
-- 
GitLab