Skip to content
Snippets Groups Projects
Commit 1e740508 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

MIME-encode To and From header fields that contain non-ASCII chars

This fixes the display of gitlab pushes from Deucе in conforming news readers.
parent 91125d1b
Branches
Tags
No related merge requests found
...@@ -20,29 +20,29 @@ function get_news_from(hdr) ...@@ -20,29 +20,29 @@ function get_news_from(hdr)
{ {
if(!hdr.from_net_type || !hdr.from_net_addr) /* local message */ if(!hdr.from_net_type || !hdr.from_net_addr) /* local message */
return format("\"%s\" <%s@%s>" return format("\"%s\" <%s@%s>"
,hdr.from ,mimehdr.encode(hdr.from)
,hdr.from.replace(/ /g,".").toLowerCase() ,hdr.from.replace(/ /g,".").toLowerCase()
,system.inetaddr); ,system.inetaddr);
if(!hdr.from_net_addr.length) if(!hdr.from_net_addr.length)
return hdr.from; return mimehdr.encode(hdr.from);
if(hdr.from_net_addr.indexOf('@')!=-1) if(hdr.from_net_addr.indexOf('@')!=-1)
return format("\"%s\" <%s>" return format("\"%s\" <%s>"
,hdr.from ,mimehdr.encode(hdr.from)
,hdr.from_net_addr); ,hdr.from_net_addr);
if(hdr.from_net_type == NET_FIDO) if(hdr.from_net_type == NET_FIDO)
return format("\"%s\" (%s) <%s>" return format("\"%s\" (%s) <%s>"
,hdr.from ,mimehdr.encode(hdr.from)
,hdr.from_net_addr ,hdr.from_net_addr
,fidoaddr_to_emailaddr(hdr.from, hdr.from_net_addr)); ,fidoaddr_to_emailaddr(hdr.from, hdr.from_net_addr));
if(hdr.from_net_type == NET_QWK) if(hdr.from_net_type == NET_QWK)
return format("\"%s\" (%s) <%s!%s@%s>" return format("\"%s\" (%s) <%s!%s@%s>"
,hdr.from ,mimehdr.encode(hdr.from)
,hdr.from_net_addr ,hdr.from_net_addr
,hdr.from_net_addr ,hdr.from_net_addr
,hdr.from.replace(/ /g,".") ,hdr.from.replace(/ /g,".")
,system.inetaddr); ,system.inetaddr);
return format("\"%s\" <%s@%s>" return format("\"%s\" <%s@%s>"
,hdr.from ,mimehdr.encode(hdr.from)
,hdr.from.replace(/ /g,".").toLowerCase() ,hdr.from.replace(/ /g,".").toLowerCase()
,hdr.from_net_addr); ,hdr.from_net_addr);
} }
...@@ -50,13 +50,13 @@ function get_news_from(hdr) ...@@ -50,13 +50,13 @@ function get_news_from(hdr)
function write_news_header(hdr,writeln) function write_news_header(hdr,writeln)
{ {
/* Required header fields */ /* Required header fields */
writeln("To: " + hdr.to); writeln("To: " + mimehdr.encode(hdr.to));
writeln("Subject: " + get_news_subject(hdr)); writeln("Subject: " + get_news_subject(hdr));
writeln("Message-ID: " + hdr.id); writeln("Message-ID: " + hdr.id);
writeln("Date: " + hdr.date); writeln("Date: " + hdr.date);
/* Optional header fields */ /* Optional header fields */
writeln("X-Comment-To: " + hdr.to); writeln("X-Comment-To: " + mimehdr.encode(hdr.to));
if(hdr.path!=undefined) if(hdr.path!=undefined)
writeln("Path: " + system.inetaddr + "!" + hdr.path); writeln("Path: " + system.inetaddr + "!" + hdr.path);
if(hdr.from_org!=undefined) if(hdr.from_org!=undefined)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment