commit cea8f7d8db1eca73b3f4612fb70896bfee8e77ea from: Martijn van Duren date: Sat Apr 6 16:21:12 2019 UTC break inside an if might not be what you want... 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++)