Projet

Général

Profil

Development #13592

gérer les paramètres en entrée de l'API en unicode

Ajouté par Serghei Mihai il y a plus de 7 ans. Mis à jour il y a environ 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
13 octobre 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Surtout quand ils comportent des accents.


Fichiers


Demandes liées

Lié à EOPayment - Bug #13562: systempayv2: problème d'encodage des prénoms/nomsFermé12 octobre 2016

Actions

Révisions associées

Révision d6b80acd (diff)
Ajouté par Serghei Mihai il y a plus de 7 ans

ogone: handle properly unicode params (#13592)

Révision 0432124e (diff)
Ajouté par Serghei Mihai il y a plus de 7 ans

tests: make sure API handles unicode input params (#13592)

Historique

#1

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Fichier 0001-make-sure-api-handles-unicode-input-params-13592.patch ajouté
  • Statut changé de Nouveau à En cours
  • Patch proposed changé de Non à Oui

Mise à jour des tests ainsi qu'une correction dans le backend Ogone.

#2

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Lié à Bug #13562: systempayv2: problème d'encodage des prénoms/noms ajouté
#3

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Fichier 0001-make-sure-api-handles-unicode-input-params-13592.patch supprimé
#5

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

Dans le backend Ogone:

values = ['%s=%s' % (a, b) for a, b in values if a in keep]

Ça va chier si a ou b contiennent des accents et sont en unicode.

Tu devrais ajouter des chaînes avec accent dans les tests (en UTF-8 ou en unicode, pour voir).

#6

Mis à jour par Serghei Mihai il y a plus de 7 ans

Yep, je viens de rajouter la conversion en utf-8 et des paramètres en unicode avec des accents.

#7

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

Je n'ai pas été clair: '%s=%s' % (a, b) va foirer si a ou b sont unicode avec des accents, il faut écrire u'%s=%s' % (a, b).

#8

Mis à jour par Serghei Mihai il y a plus de 7 ans

a et b sont des chaînes en utf-8 car passées par le code du #13624, donc soit faut les passer en unicode avec force_text avant.
Patch à jour.

#9

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

Désolé je ne comprends pas pourquoi il y a de l'UTF-8 on a dit qu'on ne devait avoir que de l'Unicode.

#10

Mis à jour par Serghei Mihai il y a plus de 7 ans

C'est moi qui s'est melé les pinceaux.
Le backend Ogone convertit les parametres en utf-8 avant le calcul de la signature alors qu'il doit le faire après, vue que la signature est calculée à partir de la chaîne en utf-8 de tous les paramètres concatenées.

#11

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

Ack.

#12

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 0432124e0a93c25a6217c265fabd436c5e4ba9cb
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Thu Oct 13 16:59:10 2016 +0200

    tests: make sure API handles unicode input params (#13592)

commit d6b80acd0241d31788abc9240ebc65b9f97e6335
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Thu Oct 20 16:57:28 2016 +0200

    ogone: handle properly unicode params (#13592)
#13

Mis à jour par Serghei Mihai il y a environ 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF