git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "W. Trevor King" <wking@drexel.edu>
To: git@vger.kernel.org, Jakub Narebski <jnareb@gmail.com>
Subject: Re: [PATCH v3] Isolate If-Modified-Since handling in gitweb
Date: Wed, 21 Mar 2012 10:04:30 -0400	[thread overview]
Message-ID: <20120321140429.GA28721@odin.tremily.us> (raw)
In-Reply-To: <m3sjh2ay6j.fsf@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 3571 bytes --]

On Wed, Mar 21, 2012 at 06:19:51AM -0700, Jakub Narebski wrote:
> By the way, it is custom on this mailing list to usually Cc (send a
> copy) to all people participating in discussion, and not only to git
> mailing list.

Ah, sorry.  I figured that if you got the original email to the list,
I'd just be doubling up in your inbox by Cc-ing you directly.

> Though trouble with coming up with a short but fairly complete
> one-line summary might mean that this patch would be better split in
> two: refactoring and adding support for If-Modified-Since to
> snapshots.

Agreed.

> >                                  where it is appropriate
>                                    ^^^^^^^^^^^^^^^^^^^^^^^
> This doesn't add any information.  I think it the commit message would
> be better if you either remove this, or expand (in a separate
> paragraph) where support for If-Modified-Since might make sense, and
> where it could not.

I'll expand it in the refactoring patch.

> BTW. what happened to diffstat?

My local branch has sequential commits for each patch version (e.g.,
commits for v1, v2, ...).  When it's time to email the list, I'm
supposed to send logical patches against the trunk (e.g., patches for
refactoring, git_snapshot, ...).  For v2 I just used `git diff
origin/master` to generate the patch, and it doesn't include the
diffstat.  Now that I'm splitting into two patches, I'll probably use
`git rebase -i origin/master` and just keep track of the changes by
hand ;).  If there's a better way that I'm overlooking, feel free to
point me in the right direction.

> Tests (to be put, I think, in t/t9501-gitweb-standalone-http-status.sh)?
> We could use test_tick() and $test_tick for that (or extract formatted
> committer date from a commit).

I'll try to set that up.  Should it be bundled into the git_snapshot
patch, or should there be three patches:

1: gitweb: Refactor If-Modified-Since handling
2: gitweb: Add If-Modified-Since tests for git_snapshot
3: gitweb: Add If-Modified-Since support for git_snapshot

> > @@ -7029,6 +7051,10 @@ sub git_snapshot {
> >  
> >  	my ($name, $prefix) = snapshot_name($project, $hash);
> >  	my $filename = "$name$known_snapshot_formats{$format}{'suffix'}";
> > +
> > +	my %co = parse_commit($hash) or die_error(404, "Unknown commit object");
> > +	die_if_unmodified($co{'committer_epoch'});
> > +
> 
> That unexplainably changes behavior of 'snapshot' action.  Before we
> would accept snapshot of a tree given by its SHA-1, now we do not.
> 
> This might be a good idea from a security point of view wrt. leaking
> information (c.f. "git archive --remote" behavior), but it at least
> needs to be explained in commit message, and perhaps even in a comment
> above this line.
> 
> Alternative solution would be to skip If-Modified-Since handling if we
> request snapshot by tree id:
> 
>   +
>   +	my %co = parse_commit($hash);
>   +	die_if_unmodified($co{'committer_epoch'}) if %co;
>   +

I'm still not understanding the problem here.  The following all work
in my testing:

  http://.../gitweb.cgi?p=a/.git;a=snapshot;h=1d545cab4a8dc894fae2c2634a74993ea62b054d;sf=tgz
  http://.../gitweb.cgi?p=a/.git;a=snapshot;h=1d5;sf=tgz
  http://.../gitweb.cgi?p=a/.git;a=snapshot;h=HEAD;sf=tgz

Can you give me an example of a hash that you expect to not work?

Cheers,
Trevor

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

  reply	other threads:[~2012-03-21 15:15 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20  0:23 What's cooking in git.git (Mar 2012, #07; Mon, 19) Junio C Hamano
2012-03-15  7:54 ` [PATCH] Pull gitweb If-Modified-Since handling out into its own function and use for snapshots W. Trevor King
2012-03-20  1:48   ` W. Trevor King
2012-03-20 23:07     ` Junio C Hamano
2012-03-20 11:55   ` Jakub Narebski
2012-03-20 16:40     ` [PATCH v2] " W. Trevor King
2012-03-21 12:11       ` [PATCH v3] Isolate If-Modified-Since handling in gitweb W. Trevor King
2012-03-21 13:19         ` Jakub Narebski
2012-03-21 14:04           ` W. Trevor King [this message]
2012-03-21 16:55             ` Jakub Narebski
2012-03-21 17:38               ` W. Trevor King
2012-03-21 19:22                 ` Junio C Hamano
2012-03-21 19:55                   ` W. Trevor King
2012-03-21 20:04                     ` Jakub Narebski
2012-03-21 20:09                       ` Junio C Hamano
2012-03-21 20:34                         ` W. Trevor King
2012-03-22 13:05                 ` Jakub Narebski
2012-03-21 17:21           ` Junio C Hamano
2012-03-22 12:46             ` Jakub Narebski
2012-03-22 17:00               ` Junio C Hamano
2012-03-26 11:09               ` [PATCH v4 0/3] " W. Trevor King
2012-03-26 11:11                 ` [PATCH v4 1/3] gitweb: add `status` headers to git_feed() responses W. Trevor King
2012-03-26 11:12                 ` [PATCH v4 2/3] gitweb: refactor If-Modified-Since handling W. Trevor King
2012-03-26 17:12                   ` Junio C Hamano
2012-03-26 11:13                 ` [PATCH v4 3/3] gitweb: add If-Modified-Since handling to git_snapshot() W. Trevor King
2012-03-26 19:14                   ` [PATCH v5 " W. Trevor King
2012-03-27 22:31                     ` Jakub Narebski
2012-03-28 13:58                       ` W. Trevor King
2012-03-27 19:24                 ` [PATCH v4 0/3] Isolate If-Modified-Since handling in gitweb Jakub Narebski
2012-03-27 19:49                   ` W. Trevor King
2012-03-27 19:57                     ` Jakub Narebski
2012-03-27 19:55                   ` W. Trevor King
2012-03-27 20:18                     ` Junio C Hamano
2012-03-26 17:36     ` [PATCH v4 2/3] gitweb: refactor If-Modified-Since handling W. Trevor King
2012-03-26 18:39       ` Junio C Hamano
2012-03-26 19:12         ` [PATCH v5 " W. Trevor King
2012-03-27 22:24           ` Jakub Narebski
2012-03-28 13:51             ` W. Trevor King
2012-03-28 14:13               ` Jakub Narebski
2012-03-28 15:46                 ` [PATCH v6 0/3] " wking
2012-03-28 15:46                   ` [PATCH v6 1/3] gitweb: add `status` headers to git_feed() responses wking
2012-03-28 15:47                   ` [PATCH v6 2/3] gitweb: refactor If-Modified-Since handling wking
2012-03-28 15:47                   ` [PATCH v6 3/3] gitweb: add If-Modified-Since handling to git_snapshot() wking
2012-03-28 16:08                     ` Jakub Narebski
2012-03-28 15:56                   ` [PATCH v6 0/3] gitweb: refactor If-Modified-Since handling W. Trevor King
2012-03-20 23:35 ` Incremental updates to What's cooking Junio C Hamano

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=20120321140429.GA28721@odin.tremily.us \
    --to=wking@drexel.edu \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).