invalid credentials causes TypeError: 'NoneType' object is not subscriptable

Bug #938815 reported by Dan Prince
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Fix Released
Undecided
Dan Prince

Bug Description

Using keystoneclient with invalid credentials causes a 500 TypeError:

    return resp(environ, start_response)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/home/dprince/projects/keystone/.venv/lib/python2.7/site-packages/webob/dec.py", line 208, in call_func
    return self.func(req, *args, **kwargs)
  File "/home/dprince/projects/keystone/keystone/common/wsgi.py", line 179, in __call__
    result = method(context, **params)
  File "/home/dprince/projects/keystone/keystone/service.py", line 219, in authenticate
    user_id = user_ref['id']
TypeError: 'NoneType' object is not subscriptable
. (HTTP 500)

----

We should handle this more gracefully and return a HTTP 401.

Dan Prince (dan-prince)
Changed in keystone:
status: New → In Progress
assignee: nobody → Dan Prince (dan-prince)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to keystone (master)

Fix proposed to branch: master
Review: https://review.openstack.org/4400

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to keystone (master)

Reviewed: https://review.openstack.org/4400
Committed: http://github.com/openstack/keystone/commit/015dd3d9d157e79ffd1e0b8859fea96fa3798987
Submitter: Jenkins
Branch: master

commit 015dd3d9d157e79ffd1e0b8859fea96fa3798987
Author: Dan Prince <email address hidden>
Date: Wed Feb 22 11:50:07 2012 -0500

    Return HTTP 401 bad user/password is specified.

    Update keystone/service.py to more gracefully handle auth
    failures and return an HTTP 401.

    Fixes LP Bug #938815.

    Change-Id: I44d7a9b36e6ac30f30326beb76b125dc2addc2fb

Changed in keystone:
status: In Progress → Fix Committed
Joseph Heck (heckj)
Changed in keystone:
milestone: none → essex-4
Thierry Carrez (ttx)
Changed in keystone:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in keystone:
milestone: essex-4 → 2012.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.