From bebed0b413b07ffb20caa05e3c328fde4d3c05bf Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Debian Linux)" <rob@synchro.net>
Date: Wed, 13 Nov 2024 14:30:25 -0800
Subject: [PATCH] Import and export the message "editor" as the NNTP
 "user-agent" header field

The message editor is exported/imported to/from FTN as the "NOTE" kludge.

For Accession, per irc.synchro.net
---
 exec/load/newsutil.js | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/exec/load/newsutil.js b/exec/load/newsutil.js
index ad34063e58..564f9bc3ef 100755
--- a/exec/load/newsutil.js
+++ b/exec/load/newsutil.js
@@ -56,12 +56,15 @@ function write_news_header(hdr,writeln)
 		writeln("X-FTN-CHRS: " + hdr.ftn_charset);
 
 	var content_type;
+	var user_agent;
 
 	if(hdr.field_list!=undefined) {
 		for(var i in hdr.field_list) {
 			if(hdr.field_list[i].type==RFC822HEADER) {
 				if(hdr.field_list[i].data.toLowerCase().indexOf("content-type:")==0)
 					content_type = hdr.field_list[i].data;
+				if(hdr.field_list[i].data.toLowerCase().indexOf("user-agent:")==0)
+					user_agent = hdr.field_list[i].data;
 				writeln(hdr.field_list[i].data);
 			} else if(hdr.field_list[i].type==FIDOCTRL) {
 				writeln("X-FTN-Kludge: " + hdr.field_list[i].data);
@@ -72,6 +75,10 @@ function write_news_header(hdr,writeln)
 			}
 		}
 	}
+
+	if(user_agent === undefined && hdr.editor !== undefined)
+		writeln("User-Agent: " + hdr.editor);
+
 	if(content_type==undefined) {
 		var charset = hdr.text_charset;
 		if(!charset) {
@@ -165,6 +172,9 @@ function parse_news_header(hdr, line)
 			if(!hdr.reply_id && data.length)
 				hdr.reply_id=data.match(/(?:\S+\s)*(\S+)$/)[1];
 			break;
+		case "user-agent":
+			hdr.editor=data;
+			break;
 		case "x-gateway":
 			hdr.gateway=data;
 			break;
-- 
GitLab