Commit Diff


commit - 088e9e4957af3d265a30e14b2ab38b5693bb5d91
commit + 2b49c69507c75bacfe7059627968cb6485ff36a2
blob - 0dfd9a295c635a4809894cc834ccf5cd305bc391
blob + e637178de5a719aef0399ece16b12ec88038fd6a
--- main.c
+++ main.c
@@ -776,18 +776,11 @@ dkim_signature_parse_h(struct signature *sig, const ch
 void
 dkim_signature_parse_i(struct signature *sig, const char *start, const char *end)
 {
-	const char *i;
-
 	if (sig->i != NULL) {
 		dkim_signature_state(sig, DKIM_PERMERROR, "Duplicate i tag");
 		return;
 	}
-	i = osmtpd_ltok_skip_local_part(start, 1);
-	if (i[0] != '@') {
-		dkim_signature_state(sig, DKIM_PERMERROR, "Invalid i tag");
-		return;
-	}
-	if (osmtpd_ltok_skip_domain(i + 1, 0) != end) {
+	if (osmtpd_ltok_skip_sig_i_tag_value(start, 0) != end) {
 		dkim_signature_state(sig, DKIM_PERMERROR, "Invalid i tag");
 		return;
 	}