diff --git a/exec/load/newsutil.js b/exec/load/newsutil.js index ad34063e583564579fe590d599ed5dc3ff2a9045..564f9bc3ef8962029fffaf7971de62efd9d13a07 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;