Browse Source

Prevent folder trimming from removing embedded passwords in filenames.

Reduce the number of calls to sanitize_foldername() and rely on NzbObject to do its work.
Also allow "oversized" incomplete folders to be sent back to the queue, by not sanitizing/trimming again.
pull/183/head
shypike 11 years ago
parent
commit
433711bdc6
  1. 2
      sabnzbd/dirscanner.py
  2. 2
      sabnzbd/interface.py
  3. 2
      sabnzbd/nzbstuff.py
  4. 2
      sabnzbd/rss.py
  5. 4
      sabnzbd/urlgrabber.py

2
sabnzbd/dirscanner.py

@ -110,7 +110,6 @@ def ProcessArchiveFile(filename, path, pp=None, script=None, cat=None, catdir=No
return -1, []
name = re.sub(r'\[.*nzbmatrix.com\]', '', name)
name = os.path.basename(name)
name = misc.sanitize_foldername(name)
if data:
try:
nzo = nzbstuff.NzbObject(name, 0, pp, script, data, cat=cat, url=url,
@ -173,7 +172,6 @@ def ProcessSingleFile(filename, path, pp=None, script=None, cat=None, catdir=Non
if not nzbname:
# Prevent embedded password from being damaged by sanitize and trimming
nzbname = os.path.split(name)[1]
name = misc.sanitize_foldername(name)
try:
nzo = nzbstuff.NzbObject(name, 0, pp, script, data, cat=cat, priority=priority, nzbname=nzbname,

2
sabnzbd/interface.py

@ -2587,7 +2587,7 @@ def GetRssLog(feed):
if sabnzbd.rss.special_rss_site(url):
nzbname = ""
else:
nzbname = xml_name(sanitize_foldername(job.get('title', '')))
nzbname = xml_name(job.get('title', ''))
return url, \
title, \
'*' * int(job.get('status', '').endswith('*')), \

2
sabnzbd/nzbstuff.py

@ -567,7 +567,7 @@ class NzbObject(TryList):
work_name, password = scan_password(work_name)
if not work_name:
work_name = filename
if nzb and work_name:
if nzb and work_name and not reuse:
work_name = sanitize_foldername(work_name)
self.work_name = work_name

2
sabnzbd/rss.py

@ -588,7 +588,7 @@ def _HandleLink(jobs, link, title, flag, orgcat, cat, pp, script, download, star
if special_rss_site(link):
nzbname = None
else:
nzbname = sanitize_foldername(title)
nzbname = title
m = RE_NEWZBIN.search(link)
if m and m.group(1).lower() == 'newz' and m.group(2) and m.group(3):
if download:

4
sabnzbd/urlgrabber.py

@ -204,10 +204,6 @@ class URLGrabber(Thread):
if not filename:
filename = os.path.basename(url) + '.nzb'
# Sanitize and trim name, preserving the extension
filename, ext = os.path.splitext(filename)
filename = misc.sanitize_foldername(filename)
filename += '.' + misc.sanitize_foldername(ext)
pp = future_nzo.pp
script = future_nzo.script

Loading…
Cancel
Save