New issue 124: LDAP login 500 Internal Server Error if attribute mail is used.
https://bitbucket.org/conservancy/kallithea/issue/124/ldap-login-500-internal-server-error-if

Alexey Vasiliev:

Ldap module configured to connect to AD ldap port 3268 (objectClass=*) 
Login attribute sAMAccountName Subtree
email attribyte in AD is mail. 
If that attribute filled in config Email Attribute : mail 
all LDAP users with mail address cannot login to kallithea with error 500 
(users who don't have email still can login)

Please find below the error in log:

2015-04-15 18:45:18.245 INFO  [kallithea.lib.auth_modules] Authenticating user 
using kallithea.lib.auth_modules.auth_ldap plugin
2015-04-15 18:45:18.408 INFO  [kallithea.lib.auth_modules.auth_ldap] user 
alexey authenticated correctly
Error - <class 'sqlalchemy.exc.IntegrityError'>: (IntegrityError) UNIQUE 
constraint failed: users.email u'UPDATE users SET password=?, email=? WHERE 
users.user_id = ?' 
('$2a$10$fJ.JA4IemdQLsJsOzKqDvOItcr4tJ1D6JQSA0c4FLg/6JecFThVXu', 
'[email protected]', 3)
URL: http://kallithea:5000/_admin/login?came_from=%2F
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/weberror/errormiddleware.py',
 line 162 in __call__
  app_iter = self.application(environ, sr_checker)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/beaker/middleware.py', 
line 155 in __call__
  return self.wrap_app(environ, session_start_response)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/routes/middleware.py', 
line 131 in __call__
  response = self.app(environ, start_response)
File '/opt/kallithea/venv/local/lib/python2.7/site-packages/pylons/wsgiapp.py', 
line 107 in __call__
  response = self.dispatch(controller, environ, start_response)
File '/opt/kallithea/venv/local/lib/python2.7/site-packages/pylons/wsgiapp.py', 
line 312 in dispatch
  return controller(environ, start_response)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/kallithea/lib/base.py', 
line 383 in __call__
  return WSGIController.__call__(self, environ, start_response)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/pylons/controllers/core.py',
 line 211 in __call__
  response = self._dispatch_call()
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/pylons/controllers/core.py',
 line 162 in _dispatch_call
  response = self._inspect_call(func)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/pylons/controllers/core.py',
 line 105 in _inspect_call
  result = self._perform_call(func, args)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/pylons/controllers/core.py',
 line 57 in _perform_call
  return func(**args)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/kallithea/controllers/login.py',
 line 122 in index
  c.form_result = login_form.to_python(dict(request.POST))
File '/opt/kallithea/venv/local/lib/python2.7/site-packages/formencode/api.py', 
line 439 in to_python
  value = tp(value, state)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/formencode/schema.py', 
line 226 in _to_python
  new = validator.to_python(new, state)
File '/opt/kallithea/venv/local/lib/python2.7/site-packages/formencode/api.py', 
line 442 in to_python
  vp(value, state)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/kallithea/model/validators.py',
 line 319 in validate_python
  if not auth_modules.authenticate(username, password):
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/kallithea/lib/auth_modules/__init__.py',
 line 408 in authenticate
  environ=environ or {})
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/kallithea/lib/auth_modules/__init__.py',
 line 293 in _authenticate
  Session().flush()
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py',
 line 1734 in flush
  self._flush(objects)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py',
 line 1805 in _flush
  flush_context.execute()
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py',
 line 331 in execute
  rec.execute(self)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py',
 line 475 in execute
  uow
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py',
 line 59 in save_obj
  mapper, table, update)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py',
 line 485 in _emit_update_statements
  execute(statement, params)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py',
 line 1449 in execute
  params)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py',
 line 1584 in _execute_clauseelement
  compiled_sql, distilled_params
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py',
 line 1698 in _execute_context
  context)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py',
 line 1691 in _execute_context
  context)
File 
'/opt/kallithea/venv/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py',
 line 331 in do_execute
  cursor.execute(statement, parameters)
IntegrityError: (IntegrityError) UNIQUE constraint failed: users.email u'UPDATE 
users SET password=?, email=? WHERE users.user_id = ?' 
('$2a$10$fJ.JA4IemdQLsJsOzKqDvOItcr4tJ1D6JQSA0c4FLg/6JecFThVXu', 
'[email protected]', 3)


CGI Variables
-------------
  CONTENT_TYPE: 'application/x-www-form-urlencoded; charset="utf-8"'
  HTTP_ACCEPT: 'text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, 
image/*;q=0.9, */*;q=0.8'
  HTTP_ACCEPT_CHARSET: 'utf-8,*;q=0.5'
  HTTP_ACCEPT_ENCODING: 'gzip, deflate, x-gzip, x-deflate'
  HTTP_ACCEPT_LANGUAGE: 'ru,en-US;q=0.9,en;q=0.8'
  HTTP_CACHE_CONTROL: 'no-cache'
  HTTP_CONNECTION: 'keep-alive'
  HTTP_COOKIE: 
'kallithea=9e28e83b95427ef79085741f73bf009c3280713e2d08fc1812ab4cbd9060e0238607feda'
  HTTP_HOST: 'kallithea:5000'
  HTTP_PRAGMA: 'no-cache'
  HTTP_REFERER: 'http://kallithea:5000/'
  HTTP_USER_AGENT: 'Mozilla/5.0 (X11; Linux x86_64) KHTML/4.14.3 (like Gecko) 
Konqueror/4.14'
  PATH_INFO: '/_admin/login'
  QUERY_STRING: 'came_from=%2F'
  REMOTE_ADDR: '192.168.1.1'
  REQUEST_METHOD: 'POST'
  SERVER_NAME: 'localhost'
  SERVER_PORT: '5000'
  SERVER_PROTOCOL: 'HTTP/1.1'
  SERVER_SOFTWARE: 'waitress'


WSGI Variables
--------------
  application: <beaker.middleware.SessionMiddleware object at 0x7f175589d550>
  beaker.get_session: <bound method SessionMiddleware._get_session of 
<beaker.middleware.SessionMiddleware object at 0x7f175589d550>>
  beaker.session: {'_accessed_time': 1429112718.181142, '_creation_time': 
1429112718.181142}
  paste.parsed_querystring: ([('came_from', '/')], 'came_from=%2F')
  paste.registry: <paste.registry.Registry object at 0x7f174eb5ead0>
  paste.throw_errors: True
  pylons.action_method: <bound method LoginController.index of 
<kallithea.controllers.login.LoginController object at 0x7f174ecfca10>>
  pylons.controller: <kallithea.controllers.login.LoginController object at 
0x7f174ecfca10>
  pylons.environ_config: {'session': 'beaker.session', 'cache': 'beaker.cache'}
  pylons.pylons: <pylons.util.PylonsContext object at 0x7f174ecfcfd0>
  pylons.routes_dict: {'action': u'index', 'controller': u'login'}
  routes.route: <routes.route.Route object at 0x7f1755f44390>
  routes.url: <routes.util.URLGenerator object at 0x7f174ec63ed0>
  webob._parsed_post_vars: (MultiDict([('_authentication_token', 
'130779523276473337233051272781982439844'), ('username', 'alexey'), 
('password', '******'), ('sign_in', 'Log In')]), <FakeCGIBody at 0x7f174ec63750 
viewing MultiDict([('_a...n')])>)
  webob._parsed_query_vars: (GET([('came_from', '/')]), 'came_from=%2F')
  webob.adhoc_attrs: {'errors': 'ignore', 'user': <AuthUser('id:1[default] 
ip:192.168.1.1 auth:True')>, 'language': 'en-us'}
  webob.is_body_readable: True
  webob.is_body_seekable: False
  wsgi process: 'Multithreaded'
  wsgi.file_wrapper: <class 'waitress.buffers.ReadOnlyFileBasedBuffer'>
  wsgiorg.routing_args: (<routes.util.URLGenerator object at 0x7f174ec63ed0>, 
{'action': u'index', 'controller': u'login'})
------------------------------------------------------------



_______________________________________________
kallithea-general mailing list
[email protected]
http://lists.sfconservancy.org/mailman/listinfo/kallithea-general

Reply via email to