From 077101367aa78cfac4db902387a60f06c685db3e Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 13 Apr 2004 11:51:51 +0000
Subject: [PATCH] Generate new msg header for control msg response.

---
 exec/listserver.js | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/exec/listserver.js b/exec/listserver.js
index 59c95ec69d..66680f8192 100644
--- a/exec/listserver.js
+++ b/exec/listserver.js
@@ -32,6 +32,10 @@ for(var l in list_array) {
 	/* Set default list addresses */
 	if(!list_array[l].address)
 		list_array[l].address = format("%s@%s", list_array[l].name, system.inet_addr);
+	if(!msg_area.sub[list_array[l].sub]) {
+		log(LOG_WARNING,"!Unrecognized sub-board internal code: " + list_array[l].sub);
+		continue;
+	}
 	if(!list_array[l].description)
 		list_array[l].description = msg_area.sub[list_array[l].sub].description;
 }
@@ -92,24 +96,28 @@ if(this.recipient_list_filename!=undefined) {
 		log(LOG_INFO,format("ListServer Control message from %s to %s: %s"
 			,header.from, header.to, header.subject));
 
+		file_remove(recipient_list_filename);
+
 		if(subj_cmd)
 			body.unshift(header.subject);	/* Process the subject as a command */
 
 		var response = process_control_msg(body);
-		
-		header.subject		= response.subject;
-		header.to			= sender_name;
-		header.to_net_addr	= sender_address;
-		header.from			= listserver_address;
-		header.from_agent	= AGENT_PROCESS;
+		var resp_hdr = {};
 
-		/* Write response to message */
-		if(!mailbase.save_msg(header, response.body.join('\r\n'))) {
-			log(LOG_ERR,format("%s !ERROR %s saving response message to mail msgbase"
-				,list.name, msgbase.error));
-		} 
+		resp_hdr.subject		= "Synchronet Listserver Results";
+		resp_hdr.to				= sender_name;
+		resp_hdr.to_net_addr	= sender_address;
+		resp_hdr.to_net_type	= NET_INTERNET;
+		resp_hdr.from			= listserver_address;
+		resp_hdr.from_agent		= AGENT_PROCESS;
+		resp_hdr.reply_id		= header["message-id"];
 
-		file_remove(recipient_list_filename);
+		/* Write response to message */
+		if(mailbase.save_msg(resp_hdr, response.body.join('\r\n')))
+			log(LOG_INFO,"ListServer Response to control message created");
+		else
+			log(LOG_ERR,format("ListServer !ERROR %s saving response message to mail msgbase"
+				,msgbase.error));
 
 		exit();
 	}
-- 
GitLab