|
|
cbf214e |
commit 783f4475291c9c2393e37ead83947dcad4706982
|
|
|
cbf214e |
Author: Murray S. Kucherawy <msk@trusteddomain.org>
|
|
|
cbf214e |
Date: Mon Sep 17 10:37:34 2018 -0700
|
|
|
366d11d |
|
|
|
cbf214e |
Fix issue #100: Correct application of sendmail's "no lead space"
|
|
|
cbf214e |
flag when adding seal header fields. Reported by Matt Domsch.
|
|
|
366d11d |
|
|
|
cbf214e |
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
|
|
|
cbf214e |
index e2154a6..7889af4 100644
|
|
|
cbf214e |
--- a/RELEASE_NOTES
|
|
|
cbf214e |
+++ b/RELEASE_NOTES
|
|
|
cbf214e |
@@ -4,11 +4,13 @@ This listing shows the versions of the OpenARC package, the date of
|
|
|
cbf214e |
release, and a summary of the changes in that release.
|
|
|
cbf214e |
|
|
|
cbf214e |
0.1.1 2018/??/??
|
|
|
cbf214e |
- Add FinalReceiver configuration option. When enabled, this filter will
|
|
|
cbf214e |
- append "arc.chain=dom(n)...dom(1)" custody chain data to the A-R field.
|
|
|
cbf214e |
+ Add FinalReceiver configuration option.
|
|
|
cbf214e |
Fix issue #47: Fix syntax of ARC-Authentication-Results with respect
|
|
|
cbf214e |
to semicolons. Problem noted by Matt Domsch; based on a
|
|
|
cbf214e |
patch from Ben Arblaster.
|
|
|
cbf214e |
+ Fix issue #100: Correct application of sendmail's "no lead space"
|
|
|
cbf214e |
+ flag when adding seal header fields. Reported by Matt
|
|
|
cbf214e |
+ Domsch.
|
|
|
cbf214e |
|
|
|
cbf214e |
0.1.0 2017/12/06
|
|
|
cbf214e |
Initial pre-release.
|
|
|
cbf214e |
diff --git a/openarc/openarc.c b/openarc/openarc.c
|
|
|
cbf214e |
index ca6107d..bc5dee3 100644
|
|
|
cbf214e |
--- a/openarc/openarc.c
|
|
|
cbf214e |
+++ b/openarc/openarc.c
|
|
|
cbf214e |
@@ -3666,22 +3666,26 @@ mlfi_eom(SMFICTX *ctx)
|
|
|
cbf214e |
sealhdr = arc_hdr_next(sealhdr))
|
|
|
cbf214e |
{
|
|
|
cbf214e |
size_t len;
|
|
|
cbf214e |
- u_char *hfptr;
|
|
|
cbf214e |
- u_char *hfdest;
|
|
|
cbf214e |
+ u_char *hfvdest;
|
|
|
cbf214e |
u_char hfname[BUFRSZ + 1];
|
|
|
cbf214e |
+ u_char hfvalue[BUFRSZ + 1];
|
|
|
cbf214e |
|
|
|
cbf214e |
- hfptr = arc_hdr_name(sealhdr, &len;;
|
|
|
cbf214e |
- hfdest = hfname;
|
|
|
366d11d |
memset(hfname, '\0', sizeof hfname);
|
|
|
cbf214e |
+ strlcpy(hfname, arc_hdr_name(sealhdr, &len),
|
|
|
cbf214e |
+ sizeof hfname);
|
|
|
cbf214e |
+ hfname[len] = '\0';
|
|
|
cbf214e |
+
|
|
|
cbf214e |
+ hfvdest = hfvalue;
|
|
|
cbf214e |
+ memset(hfvalue, '\0', sizeof hfvalue);
|
|
|
cbf214e |
if (cc->cctx_noleadspc)
|
|
|
cbf214e |
{
|
|
|
366d11d |
- hfname[0] = ' ';
|
|
|
366d11d |
- hfdest++;
|
|
|
cbf214e |
+ hfvalue[0] = ' ';
|
|
|
cbf214e |
+ hfvdest++;
|
|
|
cbf214e |
}
|
|
|
cbf214e |
- strncpy(hfdest, hfptr, len);
|
|
|
cbf214e |
+ strlcat(hfvalue, arc_hdr_value(sealhdr),
|
|
|
cbf214e |
+ sizeof hfvalue);
|
|
|
366d11d |
|
|
|
cbf214e |
- status = arcf_insheader(ctx, 1, hfname,
|
|
|
cbf214e |
- arc_hdr_value(sealhdr));
|
|
|
cbf214e |
+ status = arcf_insheader(ctx, 1, hfname, hfvalue);
|
|
|
cbf214e |
if (status == MI_FAILURE)
|
|
|
cbf214e |
{
|
|
|
cbf214e |
if (conf->conf_dolog)
|