git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DKIM: fix verify under TLS & chunking, with pipelined next command
[exim.git]
/
src
/
src
/
smtp_in.c
diff --git
a/src/src/smtp_in.c
b/src/src/smtp_in.c
index ee248c5173e4c1ac0ab81524532b47f40f7c73c2..ffda0ec811e7d01cbb29fed65200b9971dd050b6 100644
(file)
--- a/
src/src/smtp_in.c
+++ b/
src/src/smtp_in.c
@@
-581,12
+581,12
@@
return buf;
}
void
}
void
-smtp_get_cache(
void
)
+smtp_get_cache(
unsigned lim
)
{
#ifndef DISABLE_DKIM
int n = smtp_inend - smtp_inptr;
{
#ifndef DISABLE_DKIM
int n = smtp_inend - smtp_inptr;
-if (
chunking_state == CHUNKING_LAST && chunking_data_left < n
)
- n =
chunking_data_left
;
+if (
n > lim
)
+ n =
lim
;
if (n > 0)
dkim_exim_verify_feed(smtp_inptr, n);
#endif
if (n > 0)
dkim_exim_verify_feed(smtp_inptr, n);
#endif
@@
-661,7
+661,9
@@
for(;;)
if (chunking_state == CHUNKING_LAST)
{
#ifndef DISABLE_DKIM
if (chunking_state == CHUNKING_LAST)
{
#ifndef DISABLE_DKIM
+ dkim_collect_input = dkim_save;
dkim_exim_verify_feed(NULL, 0); /* notify EOD */
dkim_exim_verify_feed(NULL, 0); /* notify EOD */
+ dkim_collect_input = 0;
#endif
return EOD;
}
#endif
return EOD;
}