threads / patch / 120

patchprovide better committer information to commit-tree.c

Subject: [PATCH] provide better committer information to commit-tree.c

## tl;dr

10 messages between Apr 19, 2005 and Apr 19, 2005. Diffs are folded; open one to read it.

replies: 9people: 6as markdown or json

Greg KH· Apr 19, 2005, 00:11 UTC · lore
Here's a small patch to commit-tree.c that does two things:
	- allows the committer email address and name to be overridden
	  by environment variables (if you don't like the environment
	  variable names I've used (COMMIT_AUTHOR_NAME,
	  COMMIT_AUTHOR_EMAIL), feel free to change them.)
	- provide the proper domainname to the author/committer email
	  address (otherwise, my address was only showing up as from the
	  hostname.)

This allows people to set sane values for the commit names and email addresses, preventing odd, private hostnames and domains from being exposed to the world.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Show changes to commit-tree.c +9 −5
--- a/commit-tree.c.orig	2005-04-18 17:02:50.000000000 -0700
+++ b/commit-tree.c	2005-04-18 17:03:19.000000000 -0700
@@ -284,8 +284,8 @@
 	unsigned char tree_sha1[20];
 	unsigned char parent_sha1[MAXPARENT][20];
 	unsigned char commit_sha1[20];
-	char *gecos, *realgecos;
-	char *email, realemail[1000];
+	char *gecos, *realgecos, *commitgecos;
+	char *email, *commitemail, realemail[1000];
 	char date[20], realdate[20];
 	char *audate;
 	char comment[1000];
@@ -317,20 +317,24 @@
 	memcpy(realemail, pw->pw_name, len);
 	realemail[len] = '@';
 	gethostname(realemail+len+1, sizeof(realemail)-len-1);
+	strcat(realemail, ".");
+	getdomainname(realemail+strlen(realemail), sizeof(realemail)-strlen(realemail)-1);
 	time(&now);
 	tm = localtime(&now);
 
 	strftime(realdate, sizeof(realdate), "%s %z", tm);
 	strcpy(date, realdate);
 
+	commitgecos = getenv("COMMIT_AUTHOR_NAME") ? : realgecos;
+	commitemail = getenv("COMMIT_AUTHOR_EMAIL") ? : realemail;
 	gecos = getenv("AUTHOR_NAME") ? : realgecos;
 	email = getenv("AUTHOR_EMAIL") ? : realemail;
 	audate = getenv("AUTHOR_DATE");
 	if (audate)
 		parse_rfc2822_date(audate, date, sizeof(date));
 
-	remove_special(gecos); remove_special(realgecos);
-	remove_special(email); remove_special(realemail);
+	remove_special(gecos); remove_special(realgecos); remove_special(commitgecos);
+	remove_special(email); remove_special(realemail); remove_special(commitemail);
 
 	init_buffer(&buffer, &size);
 	add_buffer(&buffer, &size, "tree %s\n", sha1_to_hex(tree_sha1));
@@ -345,7 +349,7 @@
 
 	/* Person/date information */
 	add_buffer(&buffer, &size, "author %s <%s> %s\n", gecos, email, date);
-	add_buffer(&buffer, &size, "committer %s <%s> %s\n\n", realgecos, realemail, realdate);
+	add_buffer(&buffer, &size, "committer %s <%s> %s\n\n", commitgecos, commitemail, realdate);
 
 	/* And add the comment */
 	while (fgets(comment, sizeof(comment), stdin) != NULL)
Linus Torvalds· Apr 19, 2005, 00:31 UTC · re: Greg KH · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, 18 Apr 2005, Greg KH wrote:
>
> Here's a small patch to commit-tree.c that does two things:

Gaah, I really was hoping that people wouldn't feel like they have to lie about their committer information.

I guess we don't have much choice, but I'm not happy about it.
		Linus
Greg KH· Apr 19, 2005, 00:45 UTC · re: Linus Torvalds · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, Apr 18, 2005 at 05:31:16PM -0700, Linus Torvalds wrote:
Show 10 quoted lines
> 
> 
> On Mon, 18 Apr 2005, Greg KH wrote:
> >
> > Here's a small patch to commit-tree.c that does two things:
> 
> Gaah, I really was hoping that people wouldn't feel like they have to lie 
> about their committer information.
> 
> I guess we don't have much choice, but I'm not happy about it.

Well Russell has stated that he has to for EU Privacy reasons. And I'd like to do it as I don't have a local suse.de hostname for my laptop and my employer probably doesn't really want my greg@dunce.kroah.org address showing up :)

But if you really don't like it, and you don't want anyone trying to hide anything, at least allow for a proper domainname. On my boxes, the domainname doesn't show up at all without that patch (just the getdomainname() part). I'll split it out if you want.

thanks,
greg k-h
David Woodhouse· Apr 19, 2005, 00:52 UTC · re: Greg KH · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, 2005-04-18 at 17:45 -0700, Greg KH wrote:
> Well Russell has stated that he has to for EU Privacy reasons.  And I'd
> like to do it as I don't have a local suse.de hostname for my laptop and
> my employer probably doesn't really want my greg@dunce.kroah.org address
> showing up :)

Why not? Do they complain that we see 'greg@dunce.kroah.org' when you connect to an IRC server? This _isn't_ an email address, and doesn't really need to be treated as such.

-- 
dwmw2
Greg KH· Apr 19, 2005, 01:12 UTC · re: David Woodhouse · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Tue, Apr 19, 2005 at 10:52:30AM +1000, David Woodhouse wrote:
Show 8 quoted lines
> On Mon, 2005-04-18 at 17:45 -0700, Greg KH wrote:
> > Well Russell has stated that he has to for EU Privacy reasons.  And I'd
> > like to do it as I don't have a local suse.de hostname for my laptop and
> > my employer probably doesn't really want my greg@dunce.kroah.org address
> > showing up :)
> 
> Why not? Do they complain that we see 'greg@dunce.kroah.org' when you
> connect to an IRC server?

No, this employer seems quite sane :) However, irc connections are as "real" as a kernel changelog message to a lot of people.

> This _isn't_ an email address, and doesn't really need to be treated
> as such. 

Ok, then why display it as one? Seriously, it doesn't really bother me, just added it as I thought others would need it. I know the "shortlog" program can pick the real names out of the Signed-off-by: lines.

But I'll wait for Russell to wake up and start quoting the proper EU privacy laws that he feels causes him to be forced to obfuscate his email addresses in the changelog commits (as he did for the bk ones.)

thanks,
greg k-h
Petr Baudis· Apr 19, 2005, 01:15 UTC · re: Greg KH · lore

Re: [PATCH] provide better committer information to commit-tree.c

Dear diary, on Tue, Apr 19, 2005 at 03:12:37AM CEST, I got a letter where Greg KH <greg@kroah.com> told me that...

> But I'll wait for Russell to wake up and start quoting the proper EU
> privacy laws that he feels causes him to be forced to obfuscate his
> email addresses in the changelog commits (as he did for the bk ones.)

I'd be actually pretty interested in knowing about such laws; I think I missed it on LKML when it went through. And after all, being an EU citizen myself...

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
David Woodhouse· Apr 19, 2005, 01:20 UTC · re: Greg KH · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, 2005-04-18 at 18:12 -0700, Greg KH wrote:
> Ok, then why display it as one? 

Nobody ever displays it as one as far as I'm aware. That would be something like "mailto:$COMMITTER"

> But I'll wait for Russell to wake up and start quoting the proper EU
> privacy laws that he feels causes him to be forced to obfuscate his
> email addresses in the changelog commits (as he did for the bk ones.)

He's talking about his own interpretation of the UK's Data Protection Act, which requires you to be registered and fulfil certain other requirements if you keep personal information about people in a database. Email addresses have been ruled to be 'personal information' in this context, but this _isn't_ an email address -- and there are other get-out clauses for noncommercial situations such as this anyway, I believe.

Besides, he can still obscure the author information as he unfortunately insists on doing; it's the _committer_ information which we're discussing here -- and that's always going to be himself in this case.

-- 
dwmw2
Chris Wedgwood· Apr 19, 2005, 01:47 UTC · re: Greg KH · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, Apr 18, 2005 at 05:45:48PM -0700, Greg KH wrote:
> But if you really don't like it, and you don't want anyone trying to
> hide anything, at least allow for a proper domainname.  On my boxes,
> the domainname doesn't show up at all without that patch (just the
> getdomainname() part).  I'll split it out if you want.

there are plenty of times you need this... internal domain names usually have the MTA rewrite addresses as needed, i don't see how this is all the different

we have internal/private state that's not globally useful and need to replace it with something that is, how else could we do this?

Linus Torvalds· Apr 19, 2005, 02:51 UTC · re: Chris Wedgwood · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, 18 Apr 2005, Chris Wedgwood wrote:
Show 14 quoted lines
>
> On Mon, Apr 18, 2005 at 05:45:48PM -0700, Greg KH wrote:
> 
> > But if you really don't like it, and you don't want anyone trying to
> > hide anything, at least allow for a proper domainname.  On my boxes,
> > the domainname doesn't show up at all without that patch (just the
> > getdomainname() part).  I'll split it out if you want.
> 
> there are plenty of times you need this... internal domain names
> usually have the MTA rewrite addresses as needed, i don't see how this
> is all the different
> 
> we have internal/private state that's not globally useful and need to
> replace it with something that is, how else could we do this?

Guys, I ended up applying Greg's patch, since it's clear that many people want to do this. So ..

		Linus
Russell King· Apr 19, 2005, 08:18 UTC · re: Greg KH · lore

Re: [PATCH] provide better committer information to commit-tree.c

On Mon, Apr 18, 2005 at 05:45:48PM -0700, Greg KH wrote:
Show 13 quoted lines
> On Mon, Apr 18, 2005 at 05:31:16PM -0700, Linus Torvalds wrote:
> > 
> > 
> > On Mon, 18 Apr 2005, Greg KH wrote:
> > >
> > > Here's a small patch to commit-tree.c that does two things:
> > 
> > Gaah, I really was hoping that people wouldn't feel like they have to lie 
> > about their committer information.
> > 
> > I guess we don't have much choice, but I'm not happy about it.
> 
> Well Russell has stated that he has to for EU Privacy reasons.

That's author information, not committer information. For my committing purposes, I'm going to be the one doing the commit, and I'm unlikely to issue a suit on myself for spreading my own personal information.

-- 
Russell King

← back to recent threads