git://git.exim.org
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a7921bb
)
Fix bug in relaxed body canon.
author
Tom Kistner
<tom@duncanthrax.net>
Thu, 29 Oct 2009 11:08:01 +0000
(11:08 +0000)
committer
Tom Kistner
<tom@duncanthrax.net>
Thu, 29 Oct 2009 11:08:01 +0000
(11:08 +0000)
src/src/pdkim/pdkim.c
patch
|
blob
|
history
diff --git
a/src/src/pdkim/pdkim.c
b/src/src/pdkim/pdkim.c
index 306e327e5b56bca94513e90ba462c40a1e252eac..dbc1f4d0cdd3df2b9cb7c89bbf22802480b18723 100644
(file)
--- a/
src/src/pdkim/pdkim.c
+++ b/
src/src/pdkim/pdkim.c
@@
-20,7
+20,7
@@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-/* $Cambridge: exim/src/src/pdkim/pdkim.c,v 1.
5 2009/10/29 10:12:28
tom Exp $ */
+/* $Cambridge: exim/src/src/pdkim/pdkim.c,v 1.
6 2009/10/29 11:08:01
tom Exp $ */
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
@@
-864,7
+864,10
@@
int pdkim_update_bodyhash(pdkim_ctx *ctx, char *data, int len) {
if (relaxed_data == NULL) return PDKIM_ERR_OOM;
while (*p != '\0') {
char c = *p;
if (relaxed_data == NULL) return PDKIM_ERR_OOM;
while (*p != '\0') {
char c = *p;
- if ( (c == '\t') || (c == ' ') ) {
+ if (c == '\r') {
+ if ( (q > 0) && (relaxed_data[q-1] == ' ') ) q--;
+ }
+ else if ( (c == '\t') || (c == ' ') ) {
c = ' '; /* Turns WSP into SP */
if (seen_wsp) {
p++;
c = ' '; /* Turns WSP into SP */
if (seen_wsp) {
p++;