summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeder Stray <peder.stray@gmail.com>2020-02-03 14:35:03 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2020-02-03 15:52:27 +0000
commit258dfd012173250b20520c8fb24329eb8998970a (patch)
tree61990c955558288753572eefbd2bdf5a50d4c647 /src
parent3f008c6043698cb7309be81ec15186a94166a037 (diff)
downloadexim4-258dfd012173250b20520c8fb24329eb8998970a.tar.gz
Support tail-glob in headers_remove. Bug 159
Diffstat (limited to 'src')
-rw-r--r--src/src/transport.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/src/transport.c b/src/src/transport.c
index ed3dcf0af..02994d2ca 100644
--- a/src/src/transport.c
+++ b/src/src/transport.c
@@ -738,10 +738,17 @@ for (header_line * h = header_list; h; h = h->next) if (h->type != htype_old)
return FALSE;
}
len = s ? Ustrlen(s) : 0;
- if (strncmpic(h->text, s, len) != 0) continue;
- ss = h->text + len;
- while (*ss == ' ' || *ss == '\t') ss++;
- if (*ss == ':') break;
+ if (len && s[len-1] == '*') /* trailing glob */
+ {
+ if (strncmpic(h->text, s, len-1) == 0) break;
+ }
+ else
+ {
+ if (strncmpic(h->text, s, len) != 0) continue;
+ ss = h->text + len;
+ while (*ss == ' ' || *ss == '\t') ss++;
+ if (*ss == ':') break;
+ }
}
if (s) { include_header = FALSE; break; }
}