Yum errors out with error "UnboundLocalError: local variable 'user' referenced before assignment" on Red Hat Enterprise Linux 5

Solution Unverified - Updated -

Issue

  • Yum does not support email address in HTTP basic authentication.
  • The directive 'baseurl is specified as:

    baseurl=http://user@domain.com:password@server.domain.com/redhat/enterprise/$releasever/$basearch/
    
  • The below yum trace-back follows while using the above URL:
    # yum install airship 
    Loaded plugins: rhnplugin, security 
    Traceback (most recent call last): 
      File "/usr/bin/yum", line 29, in ? 
        yummain.user_main(sys.argv[1:], exit_code=True) 
      File "/usr/share/yum-cli/yummain.py", line 309, in user_main 
        errcode = main(args) 
      File "/usr/share/yum-cli/yummain.py", line 178, in main 
        result, resultmsgs = base.doCommands() 
      File "/usr/share/yum-cli/cli.py", line 345, in doCommands 
        self._getTs(needTsRemove) 
      File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs 
        self._getTsInfo(remove_only) 
      File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo 
        pkgSack = self.pkgSack 
      File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 661, in <lambda> 
        pkgSack = property(fget=lambda self: self._getSacks(), 
      File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 501, in _getSacks 
        self.repos.populateSack(which=repos) 
      File "/usr/lib/python2.4/site-packages/yum/repos.py", line 260, in populateSack 
        sack.populate(repo, mdtype, callback, cacheonly) 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 168, in populate 
        if self._check_db_version(repo, mydbtype): 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 226, in _check_db_version 
        return repo._check_db_version(mdtype) 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1229, in _check_db_version 
        repoXML = self.repoXML 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1392, in <lambda> 
        repoXML = property(fget=lambda self: self._getRepoXML(), 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1384, in _getRepoXML 
        self._loadRepoXML(text=self) 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1374, in _loadRepoXML 
        return self._groupLoadRepoXML(text, ["primary"]) 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1358, in _groupLoadRepoXML 
        if self._commonLoadRepoXML(text): 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1204, in _commonLoadRepoXML 
        result = self._getFileRepoXML(local, text) 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 985, in _getFileRepoXML 
        cache=self.http_caching == 'all') 
      File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 822, in _getFile 
        http_headers=headers, 
      File "/usr/lib/python2.4/site-packages/urlgrabber/mirror.py", line 412, in urlgrab 
        return self._mirror_try(func, url, kw) 
      File "/usr/lib/python2.4/site-packages/urlgrabber/mirror.py", line 398, in _mirror_try 
        return func_ref( *(fullurl,), **kwargs ) 
      File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 900, in urlgrab 
        (url,parts) = opts.urlparser.parse(url, opts)  
      File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 671, in parse 
        parts = self.process_http(parts) 
      File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 699, in process_http 
        auth_handler.add_password(None, host, user, password) 
    UnboundLocalError: local variable 'user' referenced before assignment 
    

Environment

  • Red Hat Enterprise Linux Server 5
  • External yum repository configured in /etc/yum.conf or /etc/yum.repos.d/*
  • User needs to authenticate to the repository with username:password, and username has punctuation characters (such as '#' and '@')

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content