Projet

Général

Profil

Development #41235

trace encodage login dump

Ajouté par Frédéric Péters il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
01 avril 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Dupliqué par Authentic 2 - Bug #41247: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 861: ordinal not in range(128)Fermé02 avril 2020

Actions

Révisions associées

Révision 93bde75d (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

tests: add data to test handling of UTF-8 in lasso dumps (#41235)

Révision 1f3fae60 (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

idp_saml2: convert dumps to unicode for uniformity (#41235)

Révision 7efb84dd (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

idp_saml2: fix type mismatch when using ctree.fromstring (#41235)

Révision 4df5a620 (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

tests: add non-ASCII chars case for PickledObjectField (#41235)

Révision 265db4d4 (diff)
Ajouté par Benjamin Dauvergne il y a environ 4 ans

misc: use base64 to store PickledObjectField content (#41235)

Historique

#2

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é
#4

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • Assigné à mis à Benjamin Dauvergne
#5

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • Statut changé de Nouveau à En cours
#7

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.

#8

Mis à jour par Paul Marillonnet il y a environ 4 ans

Pourquoi est-ce qu'on est contraint de retirer les lookup ?

#9

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).

#10

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.

#11

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.

#12

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)
#13

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.

#14

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.

#15

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

Formats disponibles : Atom PDF