IPX800 n'accepte pas header http 'authorization' minuscule

j’essaye d’accéder a l’api HTTP par un contrôleur domotique ( VERA ) qui fonctionne en environnent LUA. LUA est strict sur l’implémentation des requêtes HTTP et le standard precise que les « headers » recus par le serveur ( comme le header « authorization » par exemple en case de Basic Authentication ) ne doivent pas etre sensibles a la case ( minuscule ou majuscule )

il se trouve que LUA envoie toujours les headers en minuscule et que IPX800 n’accepte que le header « Authorization » avec un A majuscule. ( j’ai prouve ce comportement avec Fiddler par exemple ). c’est assez fréquent mais pas compatible avec la norme, et plus embêtant, cela empêche la communication par HTTP entre un contrôleur LUA comme VERA et une IPX800 qui serait protégée par user/mot de passe

pourriez consider ce fix dans un prochain firmware. il suffit de comparer les headers reçus et les headers attendus tous les deux en minuscule, indépendamment de comment ils ont été reçus. ou bien, a moindre frais, d’accepter « authorization » sans A majuscule comme un header valide

plus d’information et sur les standards : http://forum.micasaverde.com/index.php?topic=13081.0

bonjour
y a t il une chance d’avoir ce fix dans la beta/prochaine version ?

Bonjour,

Je pense que ce ne sera pas bien compliqué à implanter donc il y a de forte chance que ce soit sur la prochaine version.

Cet

Super! merci
je dispose maintenant d’un plugin interessant pour la vera (http://apps.mios.com/plugin.php?id=7426) qui peut exposer les differents elements de l’IPX sous la forme d’un device VERA directement utilisable dans les scenres/scenario domotiques. Avec cette correction, plus la correction du bug dans les etiquettes push, et la nouvelle api pour obtenir les noms ( je crois avoir vu cela ) , la communication sera encore plus efficace entre les 2 systemes. cela peut interesser les utilisateurs…

Bonjour,

Voici une béta pour test.

Merci de me confirmer que les requêtes avec des headers minuscules passent correctement.

Cdt,

Patrick
IPX800_3.05.45b.rar (512 KB)

Desole de la question bete mais comment flasher cette beta ?
j’ai pris l’arborescence de IPX800_3.05.42 avec l’utilitaire GCEScanDevices.jar et j’ai remplace les fichiers du repertoire Firmware avec ceux la IPX800_3.05.45b.bin et IPX800_3.05.45b.hex

Cependant apres la manip, le site web de l’ipx ( sur la page http://192.168.1.xx/protect/settings/config.htm) annonce:

« Firmware version: 3.05.42 Site version: 3.05.45b »
est ce normal ? mauvaise methode ?

Toujours est il que dans cette configuration, avec admin/test comme user/pwd la requete sur http://192.168.1.10/globalstatus.xml retourne un 401 avec
authorization:Basic YWRtaW46dGVzdA== dans le header , et un 200 avec Authorization:Basic YWRtaW46dGVzdA== dans le header.

Peut etre que ma carte n’est pas flashee comme il faut sur la version 3.05.45b.
Je confirme cependant que la page http://192.168.1.10/ioname.xml existe bien. donc

http://192.168.1.10/globalstatus.xml retourne
3.05.42
c bizarre.
cordialement

Bonjour,

Vous pouvez mettre a jour le firmware manuellement avec
cette méthode: Comment faire la mise à jour de l'IPX800

Cdt

Le problème c est l étape hard reset. La carte est dans un tableau assez compliqué et je n ai pas accès facilement au bouton reset
Y a t il moyen de déclencher ce reset a distance?

Bonjour
Non le hard reset n’est pas possible à distance…
cdt

Humm bon alors ca va etre dur pour moi de tester ce nouveau firmware a moins que vous me fournissiez un package complete avec l’outil de mise a jour a distance. je ne peux pas demonter facilement la carte.

pour GCE, voici une methode pour tester facilement de votre cote.

a) utiliser chrome avec l’extension suivante cRest ( extension tres simple et utile )
https://chrome.google.com/webstore/detail/crest-client/baedhhmoaooldchehjhlpppaieoglhml

b) configurer l ipx avec un user:admin pwd:test

c) sous chrome depuis l’extension , mettre http://192.168.1.10/globalstatus.xml dans l’url du request builder , et taper le Header suivant:

authorization:Basic YWRtaW46dGVzdA=

ca devrait marcher si le nouveau firmware fix le probleme.

avec le firmware courant, cela ne marche que si l’on met le header avec un A majuscule

Authorization:Basic YWRtaW46dGVzdA=

il y a certainement moyen de faire pareil avec d’autres outils/extensions similaire comme firefox or fiddle.