Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commit ccc0e401 authored by Rob Swindell's avatar Rob Swindell 💬

When packing netmail (stored messages), don't discard non-zero zones

As reported by Ragnarok (DOCKSUD) via DOVE-Net, when packing (packetizing) netmail messages, the source and destination zones from the netmail header were discarded (since they are defined as "optional" in FTS-1) and the zone values were replaced with the system's primary/default zone number. If the netmail message included an INTL kludge, the source and destination zone values would be parsed from that kludge line and this issue would not be noticed. 

So the fix is: Only if the netmail message header contains a source or destination zone number of 0, replace that zone with the system's primary/default zone number. As before, the INTL kludge zone information can override the header fields.

Also, there's no reason to force the point numbers from the header to zero, since if they were not valid (e.g. "fill" in the original FTS-1 specification), they would be already zero. So use the source and destination point numbers, as is, from the netmail header too (with the FMPT and TOPT kludge override support left in-tact).
parent f1994189
Pipeline #2444 passed with stage
in 9 minutes and 24 seconds
......@@ -5377,8 +5377,10 @@ void pack_netmail(void)
lprintf(LOG_ERR,"ERROR line %d reading fido msghdr from %s",__LINE__,path);
continue;
}
hdr.destzone=hdr.origzone=sys_faddr.zone;
hdr.destpoint=hdr.origpoint=0;
if(hdr.destzone == 0)
hdr.destzone = sys_faddr.zone;
if(hdr.origzone == 0)
hdr.origzone = sys_faddr.zone;
getzpt(fidomsg,&hdr); /* use kludge if found */
addr.zone = hdr.destzone;
addr.net = hdr.destnet;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment