Erik Faye-Lund wrote: > On Tue, Jul 28, 2009 at 4:46 AM, Frans Pop<elendil@xxxxxxxxx> wrote: > > I assume that this is a configuration issue in the git setup of the > > sender, but shouldn't git-send-email refuse to send out messages with an > > invalid Message-Id? > > Not quite. git-send-email generates these message-ids itself (those > who contain "-git-send-email-", that is), and should as such be able > to rely on them being generated correctly. [...] > I'm no perl-expert, but the code looks pretty much correct to me. git-format-patch generates its own message IDs if it needs them for threading, with gen_message_id() (in builtin-log.c). That one appends the committer email address blindly, without verifying that it has an @ in it. Blame the committer's broken config, I guess. The untested patch at the end might catch this, but then it's still a fair ways from correct address verification _and_ email addresses aren't required to have a hostname part. diff --git i/builtin-log.c w/builtin-log.c index fe8e4e1..7003784 100644 --- i/builtin-log.c +++ w/builtin-log.c @@ -604,9 +604,12 @@ static void gen_message_id(struct rev_info *info, char *base) const char *committer = git_committer_info(IDENT_WARN_ON_NO_NAME); const char *email_start = strrchr(committer, '<'); const char *email_end = strrchr(committer, '>'); + const char *email_at = strrchr(committer, '@'); struct strbuf buf = STRBUF_INIT; if (!email_start || !email_end || email_start > email_end - 1) die("Could not extract email from committer identity."); + if (!email_at || email_start > email_at - 1 || email_at > email_end - 1) + die ("Committer email address invalid, cannot form message-id"); strbuf_addf(&buf, "%s.%lu.git.%.*s", base, (unsigned long) time(NULL), (int)(email_end - email_start - 1), email_start + 1); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html