Support passwords with ä, ö and å in them

Issue #35 resolved
Evgeny Kotelnikov created an issue

So here's what happers if you try to register with a password that has ö in it (\xf6).

Sep 08 13:40:52 xdat09 uwsgi[31775]: Traceback (most recent call last):
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/router.py", line 251, in __call__
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = self.invoke_subrequest(request, use_tweens=True)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/router.py", line 227, in invoke_subrequest
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = handle_request(request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/fire/security.py", line 96, in tween
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = handler(request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = handler(request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid_tm/__init__.py", line 82, in tm_tween
Sep 08 13:40:52 xdat09 uwsgi[31775]: reraise(*exc_info)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid_tm/__init__.py", line 63, in tm_tween
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = handler(request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/router.py", line 161, in handle_request
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = view_callable(context, request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/config/views.py", line 586, in __call__
Sep 08 13:40:52 xdat09 uwsgi[31775]: return view(context, request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/config/views.py", line 319, in attr_view
Sep 08 13:40:52 xdat09 uwsgi[31775]: return view(context, request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/config/views.py", line 295, in predicate_wrapper
Sep 08 13:40:52 xdat09 uwsgi[31775]: return view(context, request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/config/views.py", line 345, in rendered_view
Sep 08 13:40:52 xdat09 uwsgi[31775]: result = view(context, request)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/pyramid/config/views.py", line 467, in _class_requestonly_view
Sep 08 13:40:52 xdat09 uwsgi[31775]: response = getattr(inst, attr)()
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/fire/views/signup.py", line 109, in step3_account
Sep 08 13:40:52 xdat09 uwsgi[31775]: course = data['course'] )
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/fire/models.py", line 350, in create
Sep 08 13:40:52 xdat09 uwsgi[31775]: u = cls(*args, **kargs)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "<string>", line 4, in __init__
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/sqlalchemy/orm/state.py", line 196, in _initialize_instance
Sep 08 13:40:52 xdat09 uwsgi[31775]: return manager.original_init(*mixed[1:], **kwargs)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "<string>", line 6, in __init__
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/fire/models.py", line 338, in __init__
Sep 08 13:40:52 xdat09 uwsgi[31775]: super(User, self).__init__(**kwargs)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py", line 498, in _declarative_constructor
Sep 08 13:40:52 xdat09 uwsgi[31775]: setattr(self, k, kwargs[k])
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/sqlalchemy/ext/hybrid.py", line 745, in __set__
Sep 08 13:40:52 xdat09 uwsgi[31775]: self.fset(instance, value)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/fire/models.py", line 369, in password
Sep 08 13:40:52 xdat09 uwsgi[31775]: self._pw_hash = hash_pwd(value)
Sep 08 13:40:52 xdat09 uwsgi[31775]: File "/home/fire_oop/.fire-virtualenv/lib/python2.7/site-packages/fire/security.py", line 134, in hash_pwd
Sep 08 13:40:52 xdat09 uwsgi[31775]: h.update(pwd)
Sep 08 13:40:52 xdat09 uwsgi[31775]: UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 12: ordinal not in range(128)

Unicode encode error. Obviously that shouldn't be an issue.

Comments (1)

  1. Log in to comment