<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">
<div>
<div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>
<div class="gmail-m_8385193948001352957gmail-gE gmail-m_8385193948001352957gmail-iv gmail-m_8385193948001352957gmail-gt" style="padding:20px 0px 0px;font-size:0.875rem;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif">
<span style="font-family:Arial,Helvetica,sans-serif;font-size:small">Hi list!</span><br>
</div>
<div class="gmail-m_8385193948001352957gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium">
<div id="gmail-m_8385193948001352957gmail-:dj" class="gmail-m_8385193948001352957gmail-ii gmail-m_8385193948001352957gmail-gt" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px">
<div id="gmail-m_8385193948001352957gmail-:dk" class="gmail-m_8385193948001352957gmail-a3s gmail-m_8385193948001352957gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif">
<div dir="ltr">
<div><br>
</div>
<div>We have been using kallithea for quite a while now and are very happy with it. But recently I have upgraded our two instances from 3.x to 4.1.</div>
<div>Upgrade went fine and all seems to work ok except fort this;</div>
<div>We have our users in Active Directory (server 2012) and for those users with non ascii chars in their name (åäö in our case since we are in Sweden) this happens when they try to login:</div>
<div><br>
</div>
<div>2019-07-30 16:02:55.021 ERROR [kallithea.model.user] Traceback (most recent call last):<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/kallithea/model/user.py", line 169, in create_or_update<br>
    Session().flush() # make database assign new_user.user_id<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2446, in flush<br>
    self._flush(objects)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2584, in _flush<br>
    transaction.rollback(_capture_exception=True)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 67, in __exit__<br>
    compat.reraise(exc_type, exc_value, exc_tb)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2544, in _flush<br>
    flush_context.execute()<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 416, in execute<br>
    rec.execute(self)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 583, in execute<br>
    uow,<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 245, in save_obj<br>
    insert,<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1116, in _emit_insert_statements<br>
    statement, params<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 980, in execute<br>
    return meth(self, multiparams, params)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 273, in _execute_on_connection<br>
    return connection._execute_clauseelement(self, multiparams, params)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1099, in _execute_clauseelement<br>
    distilled_params,<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1240, in _execute_context<br>
    e, statement, parameters, cursor, context<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1458, in _handle_dbapi_exception<br>
    util.raise_from_cause(sqlalchemy_exception, exc_info)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 296, in raise_from_cause<br>
    reraise(type(exception), exception, tb=exc_tb, cause=cause)<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context<br>
    cursor, statement, parameters, context<br>
  File "/opt/kallithea/.local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 536, in do_execute<br>
    cursor.execute(statement, parameters)<br>
ProgrammingError: (sqlite3.ProgrammingError) You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
 [SQL: u'INSERT INTO users (username, password, active, admin, firstname, lastname, email, last_login, extern_type, extern_name, api_key, inherit_default_permissions, created_on, user_data) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (u'omannen',
 '*masked*', 0, 0, u'\xf6mannen', u'man', 'omannen@*masked*', None, 'ldap', 'CN=\xc3\xb6mannen man,OU=*masked*', '*masked*', 1, '2019-07-30 16:02:55.016018', None)] (Background on this error at: <a href="http://sqlalche.me/e/f405" target="_blank">http://sqlalche.me/e/f405</a>)<br>
</div>
<div><br>
</div>
This is an example with a test user called "Ömannen man". It worked fine before upgrade and i I rename the user in AD to not have any ÅÄÖ login works...<br clear="all">
<div>
<div dir="ltr" class="gmail-m_8385193948001352957gmail-m_-6336303226440265791m_-3889384694642587787gmail_signature">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>
<p style="font-size:12.8px;background-image:initial;background-position:initial;background-repeat:initial">
Has anyone seen this issue or is it something in my upgrade/setup that is causing this?</p>
<p style="font-size:12.8px;background-image:initial;background-position:initial;background-repeat:initial">
Os is centos 7.6<br>
locale :<br>
LANG=en_US.UTF-8<br>
LC_CTYPE="en_US.UTF-8"<br>
LC_NUMERIC="en_US.UTF-8"<br>
LC_TIME="en_US.UTF-8"<br>
LC_COLLATE="en_US.UTF-8"<br>
LC_MONETARY="en_US.UTF-8"<br>
LC_MESSAGES="en_US.UTF-8"<br>
LC_PAPER="en_US.UTF-8"<br>
LC_NAME="en_US.UTF-8"<br>
LC_ADDRESS="en_US.UTF-8"<br>
LC_TELEPHONE="en_US.UTF-8"<br>
LC_MEASUREMENT="en_US.UTF-8"<br>
LC_IDENTIFICATION="en_US.UTF-8"<br>
LC_ALL=</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>Best regards</div>
<div>------------------</div>
<div>Carl Boberg</div>
<div>Sysadmin / Operations</div>
<div><a href="http://www.unifaun.com" target="_blank">www.unifaun.com</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>