From 2587e482d8b91634aee11e5832aec4d6bdd5aa22 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Thu, 24 Dec 2020 22:35:03 -0800
Subject: [PATCH] Add BBS property: msg_from_bbsid

Exposes the FTN BBSID value from the message header (if there is one).
---
 src/sbbs3/js_bbs.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp
index e6c29da79f..205e49b5d7 100644
--- a/src/sbbs3/js_bbs.cpp
+++ b/src/sbbs3/js_bbs.cpp
@@ -105,6 +105,7 @@ enum {
 	,BBS_PROP_MSG_FROM
 	,BBS_PROP_MSG_FROM_EXT
 	,BBS_PROP_MSG_FROM_NET
+	,BBS_PROP_MSG_FROM_BBSID
 	,BBS_PROP_MSG_FROM_AGENT
 	,BBS_PROP_MSG_REPLYTO
 	,BBS_PROP_MSG_REPLYTO_EXT
@@ -230,6 +231,7 @@ enum {
 	,"message sender name"
 	,"message sender extension"
 	,"message sender network address"
+	,"message sender BBS ID"
 	,"message sender agent type"
 	,"message reply-to name"
 	,"message reply-to extension"
@@ -571,6 +573,12 @@ static JSBool js_bbs_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
 			else
 				p=smb_netaddrstr(&sbbs->current_msg->from_net,tmp);
 			break;
+		case BBS_PROP_MSG_FROM_BBSID:
+			if(sbbs->current_msg == NULL || sbbs->current_msg->ftn_bbsid == NULL)
+				p = nulstr;
+			else // Should we return only the last ID of the QWKnet route here?
+				p = sbbs->current_msg->ftn_bbsid;
+			break;
 		case BBS_PROP_MSG_FROM_AGENT:
 			if(sbbs->current_msg!=NULL)
 				val=sbbs->current_msg->from_agent;
@@ -1044,6 +1052,7 @@ static jsSyncPropertySpec js_bbs_properties[] = {
 	{	"msg_from"			,BBS_PROP_MSG_FROM			,PROP_READONLY	,310},
 	{	"msg_from_ext"		,BBS_PROP_MSG_FROM_EXT		,PROP_READONLY	,310},
 	{	"msg_from_net"		,BBS_PROP_MSG_FROM_NET		,PROP_READONLY	,310},
+	{	"msg_from_bbsid"	,BBS_PROP_MSG_FROM_BBSID	,PROP_READONLY	,31802},
 	{	"msg_from_agent"	,BBS_PROP_MSG_FROM_AGENT	,PROP_READONLY	,310},
 	{	"msg_replyto"		,BBS_PROP_MSG_REPLYTO		,PROP_READONLY	,310},
 	{	"msg_replyto_ext"	,BBS_PROP_MSG_REPLYTO_EXT	,PROP_READONLY	,310},
-- 
GitLab