Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)

  • État Fermée
  • Pourcentage achevé
    100%
  • Type Anomalie
  • Catégorie Freebox OS → API
  • Assignée à
    rfliedel
  • Système d'exploitation Tous
  • Sévérité Haute
  • Priorité Très Basse
  • Basée sur la version 3.4.1
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par manatlan - 28/06/2017
Dernière modification par aastier - 17/10/2019

FS#21624 - Bug API dans /api/v4/fs/rm/

Je constate un BUG dans l’api /api/v4/fs/rm/ pour certains fichiers

Quand je POST vers /api/v4/fs/rm/ une liste contenant un certain path, j’obtiens :
{”result”: {”msg”: “Requ\u00eate invalide : impossible de parser le json”, “error_code”: “invalid_request”, “success”: false}}

Alors que si je GET le même path vers l’api /api/v4/fs/info/<PATH>, il me retourne bel et bien les infos du fichiers (c’est donc qu’il existe ;-))

ça eusse marché dans le temps (plus de 6mois), mais depuis qques temps, il y a certain paths qui ne sont pas supprimables ;-(
s’il faut plus d’infos, des exemples : pas de soucis

Fermée par  aastier
17.10.2019 09:38
Raison de la fermeture :  Résolu
manatlan a commenté le 28.06.2017 07:35

Arghhh, je viens de trouver votre problème !
en fait, il semblerait que certains PATH (encode en b64 par la box (api ls)) : c'est visiblement ceux qui se finissent par des "=" ...
Vous devez avoir qqchose dans votre code qui supprime les "=" en fin, et du coup le decodage en base64 n'est plus bon (prob de padding)

Si vous pouviez corriger, ce serait super !

Admin
rfliedel a commenté le 28.06.2017 09:23

Bonjour,

vous avez un dump de la requête qui ne marche pas ?

manatlan a commenté le 28.06.2017 09:42

je pourrai rien faire ce soir.
Mais jeudi soir, je vous fournirai ça

manatlan a commenté le 29.06.2017 18:23

En voulant vous faire le DUMP, j'ai fini par trouver le problème, et le résoudre.
EN fait, dans mes requêtes vers l'api V4, je ne mettais jamais le content-type.
EN rajoutant le content-type JSON sur l'api RM : ça marche ...

Donc pour résumer : si on veut supprimer un PATH EN BASE64 QUI TERMINE PAR "=", il faut VRAIMENT envoyer le content-type JSON lors du POST vers RM.
CE n'est pas necessaire pour les path qui ne terminent pas par "="

(bon, je vais le mettre partout ... mais vous avez là un petit bug)

manatlan a commenté le 29.06.2017 18:26

NB: ça marchait sans le content-type qui va bien, jadis !

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche