git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] gitweb: Support comparing blobs (files) with different names
Date: Sat, 31 Mar 2007 18:16:04 +0200	[thread overview]
Message-ID: <200703311816.05283.jnareb@gmail.com> (raw)
In-Reply-To: <200703310155.14452.jnareb@gmail.com>

On Sat, Mar 31, 2007 at 01:55 +0200, Jakub Narebski wrote:
> On Wed, Mar 28, 2007, Martin Koegler wrote:
> 
>> I created a blob with a "strange" filename: &()=!"§$%[<>]*#+_;.
>> In the result of the blob view, the " is not escaped in the filename in the header
>> and a strange content type is returned:
>> 
>> $ telnet localhost 80
>> Trying 127.0.0.1...
>> Connected to localhost.
>> Escape character is '^]'.
>> GET /gitweb/gitweb.cgi?p=t/.git;a=blob;f=%26()%3D%21%22%A7%24%25%5B%3C%3E%5D%2A%23%2B_%3B.;hb=7bfed2588bee66b33db544830606fa6606478fd9 HTTP/1.0
>> 
>> HTTP/1.1 200 OK
>> Date: Wed, 28 Mar 2007 19:55:36 GMT
>> Server: Apache
>> Content-disposition: inline; filename="&()=!"§$%[<>]*#+_;."
>> Expires: Thu, 29 Mar 2007 19:55:39 GMT
>> Connection: close
>> Content-Type: application/vnd.mif
>> 
>> xx
> 
> There are two separate things. 
> 
> First is not escaped filename in HTTP header. There was some discussion
> about this, and even patch by Luben Tuikov which added to_qtext 
> subroutine to deal with escaping in HTTP (which has diferent rules than
> escaping in HTML, or in HTML attributes)
>  * gitweb: using quotemeta
>    http://thread.gmane.org/gmane.comp.version-control.git/28050/
>  * [PATCH] gitweb: Convert Content-Disposition filenames into qtext
>    http://thread.gmane.org/gmane.comp.version-control.git/28437
> But the patch was newer accepted; either lost in the noise, or in lack
> of summary to the discussion.

Junio, do you remember by chance why this patch was dropped?

> Second is detecting file as binary (for text files we always return
> HTML), and content type set. Gitweb checks mimetype of a file (based
> on extension, mainly) by default using /etc/mime.magic, and if it is
> neither text/* nor HTML images (png, jpg, gif) it uses "blobdiff_plain"
> view. Perhaps instead of just calling git_blob_plain($mimetype) we
> should do a redirect (but then how to pass detected mimetype?). It looks
> like there is an error with mimetype detection: could you tell me the
> line with "application/vnd.mif" in your /etc/mime.types?


Unfortunately trying to find the source of this error failed (perhaps
due to name of file slightly changed by accident), and I get no errors.
WORKSFORME aka SAA#1 (Standard Answer of Admin #1: Works for me).

I use the following script to debug errors in gitweb:

-- >8 ------------------------------------
#!/bin/sh

export GATEWAY_INTERFACE="CGI/1.1"
export HTTP_ACCEPT="*/*"
export REQUEST_METHOD="GET"
export QUERY_STRING=""$1""
export PATH_INFO=""$2""

ddd "/var/www/cgi-bin/gitweb/gitweb.cgi"
-- >8 ------------------------------------

-- 
Jakub Narebski
Poland

  parent reply	other threads:[~2007-03-31 21:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-25 20:34 [PATCH] gitweb: show no difference message Martin Koegler
2007-03-25 20:34 ` [PATCH] gitweb: Support comparing blobs with different names Martin Koegler
2007-03-25 20:34   ` [PATCH] gitweb: link base commit (hpb) to blobdiff output Martin Koegler
2007-03-25 20:34     ` [PATCH] gitweb: support filename prefix in git_patchset_body Martin Koegler
2007-03-25 20:34       ` [PATCH] gitweb: support filename prefix in git_difftree_body Martin Koegler
2007-03-25 20:34         ` [PATCH] gitweb: Add treediff Martin Koegler
2007-03-26 17:12           ` Jakub Narebski
2007-03-26 21:05             ` Martin Koegler
2007-03-27  1:15               ` Jakub Narebski
2007-03-26 17:12       ` [PATCH] gitweb: support filename prefix in git_patchset_body Jakub Narebski
2007-03-26 20:55         ` Martin Koegler
2007-03-27  1:07           ` Jakub Narebski
2007-03-26 17:12   ` [PATCH] gitweb: Support comparing blobs (files) with different names Jakub Narebski
2007-03-26 20:41     ` Martin Koegler
2007-03-27  0:56       ` Jakub Narebski
2007-03-27 19:56         ` Martin Koegler
2007-03-27 23:58           ` Jakub Narebski
2007-03-28 21:03             ` Martin Koegler
2007-03-30  8:48               ` Jakub Narebski
2007-03-30 23:55               ` Jakub Narebski
2007-03-31  9:18                 ` Martin Koegler
2007-03-31 16:16                 ` Jakub Narebski [this message]
     [not found]                   ` <7vmz1t6oe2.fsf@assigned-by-dhcp.cox.net>
2007-04-03 14:57                     ` Jakub Narebski
2007-04-04 21:27                       ` Jakub Narebski
2007-04-05 10:38                         ` Junio C Hamano
2007-03-31 14:52               ` [PATCH] gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches Jakub Narebski
2007-03-26 17:11 ` [PATCH] gitweb: show no difference message Jakub Narebski
2007-03-26 21:01   ` Jakub Narebski

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=200703311816.05283.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=mkoegler@auto.tuwien.ac.at \
    /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).