Commit Diff


commit - fddd7e1e21bc87a24aeca4650a48254254e0cdcb
commit + cea8f7d8db1eca73b3f4612fb70896bfee8e77ea
blob - b3d4cb83bc6b87b9508a17fdbbac6496b1d7aca9
blob + c818d10e1d88e57e6e9072da94b25188aed43674
--- main.c
+++ main.c
@@ -280,6 +280,7 @@ dkim_dataline(char *type, int version, struct timespec
 			tmp[0] = tmpchar;
 		}
 		dkim_signature_printf(session, "; b=");
+printf("round 1\n");
 		if (!dkim_signature_normalize(session))
 			return;
 		if ((tmp = strdup(session->signature.signature)) == NULL) {
@@ -311,6 +312,7 @@ dkim_dataline(char *type, int version, struct timespec
 		free(tmp);
 		dkim_signature_printf(session, "%s\r\n", b);
 		free(b);
+printf("round 2\n");
 		dkim_signature_normalize(session);
 		tmp = session->signature.signature;
 		while ((tmp2 = strchr(tmp, '\r')) != NULL) {
@@ -637,9 +639,7 @@ dkim_signature_normalize(struct dkim_session *session)
 			}
 			continue;
 		}
-		if (linelen > DKIM_SIGNATURE_LINELEN + 1) {
-			if (checkpoint == 0)
-				break;
+		if (linelen > DKIM_SIGNATURE_LINELEN + 1 && checkpoint != 0) {
 			for (skip = checkpoint + 1;
 			    sig[skip] == ' ' || sig[skip] == '\t';
 			    skip++)