taskmldonkey, a multi-networks file-sharing client - Tasks: task #5904, shell:// type url for rss feeds

 
 

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

task #5904: shell:// type url for rss feeds

Submitter:  Joakim Verona <jave>
Submitted:  Thu 14 Sep 2006 09:43:07 PM UTC
   
 
Category:  None Priority:  1 - Later
Status:  None Assigned to:  None
Open/Closed:  Closed Should Start On:  Thu 14 Sep 2006 12:00:00 AM UTC
Should be Finished on:  Thu 14 Sep 2006 12:00:00 AM UTC

Thu 14 Sep 2006 09:43:07 PM UTC, original submission:  

Ive made a small patch for rss feeds, so shell:// style urls can be used.

I wanted this so I could get broken rss feeds, and fix them up with xmllint first.

There are of course pros and cons to this.
Pro:
- mldonkey dont need to deal with each and every brokeness out there. feed them first through xmllint or whatever
- rss feeds can be synthesized from web pages( i have a couple of these already)

Con:
- maybe opens new security holes

The cons could be handled the same way as for the "!" command(my patch currently doesnt). Pango has a pach for a security enhanced "!" command, which could be refactored to be used with this shell:// extension. The idea is that this extension wont cause more trouble than the existing "!" command, if done properly.

here is what the patch looks like:

in commonweb:

rename mldonkey_wget to mldonkey_wget_url

let mldonkey_wget_shell url f =                                                                                                                                                                                                                                                    
  let command_urlencoded = Str.string_after url 8 in                                                                                                                                                                                                                               
  let command = Url.decode command_urlencoded in                                                                                                                                                                                                                                   
  let filename = "/tmp/crapname.out" in                                                                                                                                                                                                                                            
    Sys.command (Printf.sprintf "%s > %s" command filename);                                                                                                                                                                                                                       
    (f filename : unit)                                                                                                                                                                                                                                                            
      ( wget does something like this at the end: (f filename : unit); )                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                   
let mldonkey_wget url f =                                                                                                                                                                                                                                                          
  if Str.string_match (Str.regexp "shell://") url 0 then                                                                                                                                                                                                                           
    mldonkey_wget_shell url f                                                                                                                                                                                                                                                      
  else                                                                                                                                                                                                                                                                             
    mldonkey_wget_url url f


a testcase:
urladd rss shell:///tmp/rsscommand%2520http%253A//thepiratebay.org/rss.php%253Fcat%253D601

where rsscommand looks like:

curl $1|xmllint -

Joakim Verona <jave>
Group Member

 

(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

 

CC list is empty

 

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.

 

Follows 1 latest change.

Date Changed by Updated Field Previous Value => Replaced by
2006-09-25 spiralvoice Reassign ItemFrom group mldonkey, a multi-networks file-sharing client, task tracker To group mldonkey, a multi-networks file-sharing client, patch tracker

Back to the top

Powered by Savane 3.13-caa5.
Corresponding source code