bugmldonkey, a multi-networks file-sharing client - Bugs: bug #17116, HTTP: Can not download URLs...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #17116: HTTP: Can not download URLs containing "+"

Submitter:  spiralvoice <spiralvoice>
Submitted:  Sun 16 Jul 2006 05:03:59 PM UTC
   
 
Category:  Core Severity:  3 - Normal
Item Group:  Program malfunction Status:  Fixed
Assigned to:  None Open/Closed:  Closed
Release:  2.7.7 Release: 
Operating System:  None Binaries Origin:  CVS / Self compiled
CPU type:  None

Sat 17 Mar 2007 06:45:30 PM UTC, comment #4: 

Fixed with patch #5775

spiralvoice <spiralvoice>
Group administrator
Sat 03 Mar 2007 11:32:12 PM UTC, comment #3: 

forget what i said earlier + is allowed, so we need extra encoder for web interface

orbit <orbit>
Sat 03 Mar 2007 02:33:05 AM UTC, comment #2: 

patch works but break web interface ;)

for some shitty reason someone thought submitting command parameters with + as separator is a good idea, it's not

If I get it right in RFC1738,
in http/ftp scheme "+" should be encoded "%2B"



I think we have tree options:

  1. won't fix ;)
  2. write extra encoder for web interface
  3. rewrite web interface code (could break some external e.g. Mozilla protocol handler), but in my view the neatest solution
orbit <orbit>
Fri 02 Mar 2007 11:33:32 PM UTC, comment #1: 

for testing de-/encoding
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

i don't could test it yet but this could help

diff -u -r1.6 url.ml
--- src/utils/lib/url.ml        25 Feb 2006 21:09:03 -0000        1.6
+++ src/utils/lib/url.ml        2 Mar 2007 23:24:52 -0000
@@ -42,7 +42,7 @@
     else Char.chr (Char.code '0' + x) in
   for i=0 to len-1 do
     match s.[i] with
-    | 'a'..'z' | 'A'..'Z' | '0'..'9' | '.' | '-' | '*' | '_' ->
+    | 'a'..'z' | 'A'..'Z' | '0'..'9' | '.' | '-' | '*' | '_' | '(' | ')' ->
         res.[!pos] <- s.[i]; incr pos
 (*    | ' ' -> res.[!pos] <- '+'; incr pos *)
     | c ->
@@ -68,7 +68,6 @@
   let rec iter i =
     if i < len then
       match s.[i] with
-      | '+' -> Buffer.add_char r  ' '; iter (i+1)
       | '%' ->
           let n =
             try

  • why should '+' be replaced by ' '?
  • to the list above ' should be added but I'm to lazy to look up how to write it, ''' won't work i guess ;)
orbit <orbit>
Sun 16 Jul 2006 05:03:59 PM UTC, original submission:  

These URLs do not work with dllink:

http://beatallica.org/Beatallica%2B-%2BA%2BGarage%2BDayz%2BNite%2B(2001)%2B%5Bflac%5D.torrent
http://beatallica.org/Beatallica%2B-%2BBeatallica%2B(2004)%2B%5Bflac%5D.torrent

but downloading the .torrent files with wget and putting
them into torrents/incoming works.

spiralvoice <spiralvoice>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by spiralvoice (Posted a comment)
  • -email is unavailable- added by orbit (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-03-17 spiralvoice StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code