git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] gitweb: Support comparing blobs (files) with different names

From
Jakub Narebski <jnareb@gmail.com>
Date
Mar 31, 2007, 16:16 UTC
Message-ID
<200703311816.05283.jnareb@gmail.com>
In-Reply-To
<200703310155.14452.jnareb@gmail.com>
On Sat, Mar 31, 2007 at 01:55 +0200, Jakub Narebski wrote:
Show 34 quoted lines
> 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?
Show 8 quoted lines
> 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
Previous: Martin KoeglerNext: Jakub Narebski
Message 22 of 28 in “gitweb: show no difference message”
  1. gitweb: show no difference messageMartin Koegler, Mar 25, 2007
  2. gitweb: Support comparing blobs with different namesMartin Koegler, Mar 25, 2007
  3. gitweb: link base commit (hpb) to blobdiff outputMartin Koegler, Mar 25, 2007
  4. gitweb: support filename prefix in git_patchset_bodyMartin Koegler, Mar 25, 2007
  5. gitweb: support filename prefix in git_difftree_bodyMartin Koegler, Mar 25, 2007
  6. gitweb: Add treediffMartin Koegler, Mar 25, 2007
  7. Jakub NarebskiMar 26, 2007
  8. Martin KoeglerMar 26, 2007
  9. Jakub NarebskiMar 27, 2007
  10. Jakub NarebskiMar 26, 2007
  11. Martin KoeglerMar 26, 2007
  12. Jakub NarebskiMar 27, 2007
  13. gitweb: Support comparing blobs (files) with different namesJakub Narebski, Mar 26, 2007
  14. Martin KoeglerMar 26, 2007
  15. Jakub NarebskiMar 27, 2007
  16. Martin KoeglerMar 27, 2007
  17. Jakub NarebskiMar 27, 2007
  18. Martin KoeglerMar 28, 2007
  19. Jakub NarebskiMar 30, 2007
  20. Jakub NarebskiMar 30, 2007
  21. Martin KoeglerMar 31, 2007
  22. Jakub NarebskiMar 31, 2007
  23. gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patchesJakub Narebski, Mar 31, 2007
  24. Jakub NarebskiMar 26, 2007
  25. Jakub NarebskiMar 26, 2007
  26. Jakub NarebskiApr 3, 2007
  27. Jakub NarebskiApr 4, 2007
  28. Junio C HamanoApr 5, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.