Description

I logged in Ubuntu official wiki via Launchpad but it told me:

The username you have chosen is already taken. If it is your username, enter your password below to associate the username with your OpenID. Otherwise, please choose a different username and leave the password field blank.

I inserted the password and it compares a page which told me that there was a bug. Sorry for my english

Steps to reproduce

Example

Component selection

Details

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

    • /var/lib/python-support/python2.5/MoinMoin/request/request_fcgi.py in init (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, fcgRequest=<MoinMoin.support.thfcgi.Request instance at 0x2245518>, env={'CONTENT_LENGTH': '105', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DOCUMENT_ROOT': '/srv/wiki.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'eo', 'HTTP_CACHE_CONTROL': 'max-age=259200', 'HTTP_CONNECTION': 'keep-alive', ...}, form=FieldStorage(None, None, [MiniFieldStorage('logi...niFieldStorage('submit', 'Associate this name')]), properties={})

      1. 26 self.fcgform = form
      2. 27 self._setup_vars_from_std_env(env)
      3. 28 RequestBase.init(self, properties)

      4. 29
      5. 30 except Exception, err:
    • /var/lib/python-support/python2.5/MoinMoin/request/init.py in init (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, properties={})

      1. 205 # set self.user even if _handle_auth_form raises an Exception
      2. 206 self.user = None
      3. 207 self.user = self._handle_auth_form(user_obj)
      4. 208 del user_obj
      5. 209 self.cfg.session_handler.after_auth(self, self.cfg.session_id_handler, self.user)
        • self = <MoinMoin.request.request_fcgi.Request object at 0x59cbd50>

        • self.user = None
        • self._handle_auth_form = <bound method Request._handle_auth_form of <Moin...equest.request_fcgi.Request object at 0x59cbd50>>

        • user_obj = <MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>

    • /var/lib/python-support/python2.5/MoinMoin/request/init.py in _handle_auth_form (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, user_obj=<MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>)

      1. 610 return self.handle_auth(user_obj, attended=True, username=username,
      2. 611 password=password, login=login, logout=logout,
      3. 612 stage=stage, openid_identifier=oid)
      4. 613
      5. 614 def handle_auth(self, user_obj, attended=False, **kw):
        • stage = u'openid'
        • openid_identifier undefined
        • oid = None
    • /var/lib/python-support/python2.5/MoinMoin/request/init.py in handle_auth (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, user_obj=<MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>, attended=True, **kw={'login': True, 'logout': False, 'openid_identifier': None, 'password': rupower90\m/u, 'stage': u'openid', 'username': None})

      1. 642 if stage and authmethod.name != stage:
      2. 643 continue
      3. 644 ret = authmethod.login(self, user_obj, **extra)
      4. 645 user_obj = ret.user_obj
      5. 646 cont = ret.continue_flag
        • ret undefined
        • authmethod = <MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>

        • authmethod.login = <bound method OpenIDAuth.login of <MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>>

        • self = <MoinMoin.request.request_fcgi.Request object at 0x59cbd50>

        • user_obj = <MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>

        • extra = {'attended': True, 'cookie': <SimpleCookie: MOIN_SESSION='elnughfk0oicl44_5j8...1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)'>, 'multistage': True, 'openid_identifier': None, 'password': rupower90\m/u, 'username': None}

    • /var/lib/python-support/python2.5/MoinMoin/auth/openidrp.py in login (self=<MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>, request=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, user_obj=<MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>, **kw={'attended': True, 'cookie': <SimpleCookie: MOIN_SESSION='elnughfk0oicl44_5j8...1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)'>, 'multistage': True, 'openid_identifier': None, 'password': rupower90\m/u, 'username': None})

      1. 321
      2. 322 if continuation:
      3. 323 return self._handle_continuation(request)
      4. 324
      5. 325 # openid is designed to work together with other auths
        • self = <MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>

        • self._handle_continuation = <bound method OpenIDAuth._handle_continuation of...n.auth.openidrp.OpenIDAuth instance at 0xe57320>>

        • request = <MoinMoin.request.request_fcgi.Request object at 0x59cbd50>

    • /var/lib/python-support/python2.5/MoinMoin/auth/openidrp.py in _handle_continuation (self=<MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>, request=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>)

      1. 300 return self._handle_name_continuation(request)
      2. 301 elif oidstage == '3':
      3. 302 return self._handle_associate_continuation(request)
      4. 303 return CancelLogin()

      5. 304
        • self = <MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>

        • self._handle_associate_continuation = <bound method OpenIDAuth._handle_associate_conti...n.auth.openidrp.OpenIDAuth instance at 0xe57320>>

        • request = <MoinMoin.request.request_fcgi.Request object at 0x59cbd50>

    • /var/lib/python-support/python2.5/MoinMoin/auth/openidrp.py in _handle_associate_continuation (self=<MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>, request=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>)

      1. 268 def _handle_associate_continuation(self, request):
      2. 269 if not 'openid.id' in request.session:
      3. 270 return CancelLogin()

      4. 271
      5. 272 _ = request.getText

TypeError

init() takes exactly 2 arguments (1 given)

System Details

Workaround

Don't know

Discussion

There is some newer openid code (contributed by RowanKerr, working for Ubuntu) and it has recently been merged into moin/1.9. The bug is fixed there.

Just giving a string or None to CancelLogin would also fix this specific problem in 1.6.x.

Plan


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/OpenIdCannotLogin (last edited 2009-09-05 17:57:14 by ThomasWaldmann)