Package: apt-proxy
Version: 1.9.28
Severity: normal

apt_proxy.py does not correctly split an URI with a password that
contains an '@'.

For example, a netloc of
"username:[EMAIL PROTECTED]@hostname.repository.com"
is parsed to
['username:alias', 'domain.com', 'hostname.repository.com'].
Since this list contains more than the expected two items,
apt-proxy even fails to load.

See the following patch for a fix.

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11.7
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages apt-proxy depends on:
ii  bzip2                         1.0.2-6    high-quality block-sorting file co
ii  debconf                       1.4.49     Debian configuration management sy
ii  logrotate                     3.7-2      Log rotation utility
ii  python                        2.3.5-2    An interactive high-level object-o
ii  python-apt                    0.5.10     Python interface to libapt-pkg
ii  python-bsddb3                 3.3.0-6    Python interface to libdb3
ii  python-twisted                1.3.0-8    Event-based framework for internet
ii  python2.3                     2.3.5-3    An interactive high-level object-o

-- debconf information excluded

*** /tmp/apt-proxy_ftppasswd.patch
diff -urN a/apt_proxy.py b/apt_proxy.py
--- a/apt_proxy.py      2005-05-16 09:56:07.000000000 +0200
+++ b/apt_proxy.py      2005-05-16 09:55:51.000000000 +0200
@@ -1275,8 +1275,8 @@
                      query, fragment = urlparse.urlparse(uri)
 
         if '@' in netloc:
-            auth, netloc = netloc.split('@')
-            self.username, self.password = auth.split(':')
+           auth = re.split('^([^:]+):(.+)@([EMAIL PROTECTED])$', netloc)
+           self.username, self.password, netloc = auth[1], auth[2], auth[3]
         else:
             self.username = None
         if ':' in netloc:


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to