Development #41235
trace encodage login dump
0%
Description
File "/usr/lib/python2.7/dist-packages/authentic2/idp/saml/saml2_endpoints.py" in continue_sso 602. login_dump = login_dump.replace('<Login ', '<lasso:Login ').replace('</Login>', '</lasso:Login>') Exception Type: UnicodeDecodeError at /idp/saml2/continue Exception Value: 'ascii' codec can't decode byte 0xc3 in position 861: ordinal not in range(128)
Fichiers
Demandes liées
Révisions associées
idp_saml2: convert dumps to unicode for uniformity (#41235)
idp_saml2: fix type mismatch when using ctree.fromstring (#41235)
tests: add non-ASCII chars case for PickledObjectField (#41235)
misc: use base64 to store PickledObjectField content (#41235)
Historique
Mis à jour par Frédéric Péters il y a environ 4 ans
- Dupliqué par Bug #41247: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 861: ordinal not in range(128) ajouté
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Fichier 0001-tests-add-data-to-test-handling-of-UTF-8-in-lasso-du.patch 0001-tests-add-data-to-test-handling-of-UTF-8-in-lasso-du.patch ajouté
- Fichier 0002-idp_saml2-convert-dumps-to-unicode-for-uniformity-41.patch 0002-idp_saml2-convert-dumps-to-unicode-for-uniformity-41.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
J'ai fait une branche spéciale pour le hotfix, juste au dessus de v2.37.
Mis à jour par Paul Marillonnet il y a environ 4 ans
Pourquoi est-ce qu'on est contraint de retirer les lookup ?
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Paul Marillonnet a écrit :
Pourquoi est-ce qu'on est contraint de retirer les lookup ?
Parce que ça n'a jamais servi à rien, on ne fait que deux opérations, .get_or_create()
et .get(value=xxx)
. Manu avait fait évoluer le code sans vérifier si ça servait à quelque chose; de mon coté je pense que j'avais juste recopié le code de django-jsonfield de l'époque sans trop chercher. Moins de code, moins de bugs.
PS: Pour expliciter les commits sur la branche, on a deux bugs qui s'enchaînent, celui sur le replace() parce qu'on tente de remplacer des chaînes unicode dans une chaîne str. Ensuite quand on passe en unicode on a un bug dans KeyValue qui fait que pickle.dumps() pond des octets qui ne passent pas dans postgres même en QuotedString, d'où le passage en base64 et la simplification du code au passage (j'avais même envie de virer to_python()
parce que d'après la doc ça ne sert qu'aux formulaires et à la sérialisation, deux choses qu'on ne fait pas).
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
D'ac faisons comme ça.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Paul Marillonnet a écrit :
D'ac faisons comme ça.
Dans la branche qui s'applique sur master il y a un bug en plus corrigé au niveau de la nouvelle gestion des extensions, lors du parsing des noeuds XML il faut passer des bytes, ça marchait parce que les chaînes unicode ne contenait que de l'ASCII et c'était converti à la volée.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 265db4d4c2400426fa84f1ccdd1988fb1daeeb0f Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Mon Apr 27 00:22:33 2020 +0200 misc: use base64 to store PickledObjectField content (#41235) commit 4df5a6205c5bde27e5343f384a103ec46358ea1d Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Mon Apr 27 00:28:28 2020 +0200 tests: add non-ASCII chars case for PickledObjectField (#41235) commit 7efb84dd7a96a943ad06afb43c19a48661adc7d5 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Mon Apr 27 00:51:25 2020 +0200 idp_saml2: fix type mismatch when using ctree.fromstring (#41235) commit 1f3fae60148b15f210ae15c6e50708571505c9c8 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sun Apr 26 22:04:47 2020 +0200 idp_saml2: convert dumps to unicode for uniformity (#41235) commit 93bde75df83d2d48e73ccb9fc31aef11980405d1 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sun Apr 26 21:25:15 2020 +0200 tests: add data to test handling of UTF-8 in lasso dumps (#41235)
Mis à jour par Paul Marillonnet il y a environ 4 ans
Benjamin Dauvergne a écrit :
Dans la branche qui s'applique sur master il y a un bug en plus corrigé au niveau de la nouvelle gestion des extensions, lors du parsing des noeuds XML il faut passer des bytes, ça marchait parce que les chaînes unicode ne contenait que de l'ASCII et c'était converti à la volée.
Ah bein j'avais pas vu qu'il y avait des commits cachés dans la branche, tant pis.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Paul Marillonnet a écrit :
Benjamin Dauvergne a écrit :
Dans la branche qui s'applique sur master il y a un bug en plus corrigé au niveau de la nouvelle gestion des extensions, lors du parsing des noeuds XML il faut passer des bytes, ça marchait parce que les chaînes unicode ne contenait que de l'ASCII et c'était converti à la volée.
Ah bein j'avais pas vu qu'il y avait des commits cachés dans la branche, tant pis.
Je vais modifier git-redmine pour arrêter de poster les commits par défaut et me reposer toujours sur la branche, c'est quand même beaucoup plus simple pour tout le monde.
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: add data to test handling of UTF-8 in lasso dumps (#41235)