From: Thomas Rast <trast@student.ethz.ch>
To: "Erik Faye-Lund" <kusmabite@googlemail.com>
Cc: Frans Pop <elendil@planet.nl>, git@vger.kernel.org
Subject: Re: git-send-email generates mail with invalid Message-Id
Date: Tue, 28 Jul 2009 11:27:43 +0200 [thread overview]
Message-ID: <200907281127.44558.trast@student.ethz.ch> (raw)
In-Reply-To: <40aa078e0907280217g76cbfai8544edde605f8772@mail.gmail.com>
Erik Faye-Lund wrote:
> On Tue, Jul 28, 2009 at 4:46 AM, Frans Pop<elendil@planet.nl> 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);
next prev parent reply other threads:[~2009-07-28 9:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-28 2:46 git-send-email generates mail with invalid Message-Id Frans Pop
2009-07-28 9:17 ` Erik Faye-Lund
2009-07-28 9:27 ` Thomas Rast [this message]
2009-07-28 9:51 ` Erik Faye-Lund
2009-07-28 10:03 ` Thomas Rast
2009-07-28 10:14 ` Frans Pop
2009-07-28 10:26 ` Frans Pop
2009-07-28 10:44 ` Nicolas Sebrecht
2009-07-28 11:13 ` Frans Pop
2009-07-28 11:38 ` Nicolas Sebrecht
2009-07-28 11:47 ` Erik Faye-Lund
2009-07-28 12:10 ` Erik Faye-Lund
2009-07-28 15:07 ` Nicolas Sebrecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200907281127.44558.trast@student.ethz.ch \
--to=trast@student.ethz.ch \
--cc=elendil@planet.nl \
--cc=git@vger.kernel.org \
--cc=kusmabite@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.