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

  • État Nouveau
  • Pourcentage achevé
    0%
  • Type Anomalie
  • Catégorie Non trié
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version 4.8.18
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée

FS#40043 - API MDP camera freebox avec caractere speciale

bonjour
je constate un petit soucis avec mes cameras freebox avec un mot de passe avec / (caractère spéciale)

      "props" : {
          "Ip" : "192.168.0.32",
          "Login" : "freeboxcam",
          "Mac" : "34:27:92:XX:XX:XX",
          "Pass" : "XXX3QeM/",
          "Stream" : "http://freeboxcam:XXX3QeM/@192.168.0.32/img/stream.m3u8"

impossible d’automatisé la lecture de nodes et renvoyer le Stream
Si je remplace par %2F tous fonctionne , est il possible de faire un traitement du MDP avant génération du Stream coté API J’ai fait une bidouille en attendant path = path.replace(pass,quote(pass , safe=’‘)) en attendant le plus long a été d’identifié pourquoi ca marchait pas chez moi alors que chez les autres ca marchait
bon courage
SVP

nbanba a commenté le 13.02.2025 15:03

Bonjour

Déjà bien joué pour le debug !
C'est assez pourri à trouver ce type de trucs…

Et en effet, comment dire c'est plutôt "bof" qu'un '/' ait put être utilisé dans le mot de passe alors qu'une URI est construite avec pour partie ce même mot de passe…

Déjà '/' est interdit (entre autre pour ça) dans fs/namei.c pour les noms de fichiers

Et le RFC https://datatracker.ietf.org/doc/html/rfc3986#section-2.2 définissant les URI stipule au point 2.2, je cite :

2.2.  Reserved Characters

   URIs include components and subcomponents that are delimited by
   characters in the "reserved" set.  These characters are called
   "reserved" because they may (or may not) be defined as delimiters by
   the generic syntax, by each scheme-specific syntax, or by the
   implementation-specific syntax of a URI's dereferencing algorithm.
   If data for a URI component would conflict with a reserved
   character's purpose as a delimiter, then the conflicting data must be
   percent-encoded before the URI is formed.

      reserved    = gen-delims / sub-delims

      gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

      sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
                  / "*" / "+" / "," / ";" / "="

   The purpose of reserved characters is to provide a set of delimiting
   characters that are distinguishable from other data within a URI.
   URIs that differ in the replacement of a reserved character with its
   corresponding percent-encoded octet are not equivalent.  Percent-
   encoding a reserved character, or decoding a percent-encoded octet
   that corresponds to a reserved character, will change how the URI is
   interpreted by most applications.  Thus, characters in the reserved
   set are protected from normalization and are therefore safe to be
   used by scheme-specific and producer-specific algorithms for
   delimiting data subcomponents within a URI.
...

Dans l'état l'URL de la caméra semble ne pas respecter le RFC3986
Il faudrait en effet soit interdire le '/' soit à défaut forcer le percent encoding sur l'URI des caméras

Cordialement
nbanba

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche