Sujet : Hoa et Suhosin

Bonjour, je viens de télécharger la version Hoa en test (lien que ivan m'a donné), mais je n'arrive déjà pas à faire un

gg@portable-gg:/var/www/hoa2/Data/Bin$ ./hoa version

Est-ce normal ?

Re : Hoa et Suhosin

As-tu modifié la ligne 42 dans le fichier /Data/Bin/hoa.bat ?
Tu dois mettre l'adresse de ton compilateur PHP :


Pour ma part :

set PHP="C:\wamp\bin\php\php5.2.9-2\php.exe"

Ensuite l'adresse de ton fichier hoa.bat doit être mis dans la variables d'environnement de ton OS : PATH.

Réessaye ...

" L'imagination est plus importante que la connaissance. La connaissance est limitée alors que l'imagination englobe le monde entier, stimule le progrès, suscite l'évolution. " - Life in the cloud :: Getting Started with Hoa - Hoa débutant

Re : Hoa et Suhosin

Je suis sous Debian (Linux) et ceci dans le fichier hoa est normalement suffisant

#!/usr/bin/env php

Re : Hoa et Suhosin

Bonjour,

Pour utiliser la ligne de commande Hoa, j'ai toujours préfixé le chemin du fichier par "php"

php ./hoa version

Est-ce que ça fonctionne comme ça?
il peut y avoir des problèmes de droits également? le fichier est-il exécutable?

5

Re : Hoa et Suhosin

Hey smile,

Quelle est ton erreur surtout ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Hoa et Suhosin

Justement aucune.

Comme je venais de faire des test avec Xdebug, au début il mettais une erreur (je ne sais plus quoi et j'arrive pas à reproduire).
Du coup j'ai désinstallé Xdebug  (aptitude purge php5-xdebug).

Et depuis la commande passe mais sans résultat et sans erreur.

dans le syslog , j'ai ceci

Jan 17 17:07:16 portable-gg suhosin[13154]: ALERT - Include filename ('hoa://Data/Etc/Configuration/.Cache/HoaConsole.php') is an URL that is not allowed (attacker 'REMOTE_ADDR not set', file '/var/www/hoa2/Framework/Core/Parameter.php', line 343)

7

Re : Hoa et Suhosin

Mince, Suhosin fait des siennes. Elle commence à m'énerver cette distribution …

Bon, la solution est simple. Il faut ajouter hoa:// dans les protocoles non-bloqués par Suhosin. Dans ton php.ini, il faut ajouter ceci :

suhosin.executor.include.whitelist="hoa"

Au passage, tu peux également ajouter phar:// :

suhosin.executor.include.whitelist="hoa,phar"

Ça devrait fonctionner.

Le problème est que Suhosin bloque certain stream wrapper (ou URL scheme selon la terminologie utilisée) pour des raisons de sécurité. Il devrait peut-être résoudre l'URL avant de la bloquer mais bon … passons …
Du coup, il ne connait pas l'URL hoa://, c'est pourquoi il faut lui dire de faire confiance à ce genre d'URL. PHP n'a pas ce problème car il sait résoudre ces URL mais Suhosin en a décidé autrement et permet d'en bloquer. Une forme de sécurité … ou pas. Il faut voir.
Du coup, comme PHP va commencer à utiliser massivement PHAR, je t'ai fait ajouter phar:// dans cette liste des URL schemes en qui avoir confiance, histoire que tu n'aies pas de soucis par l'avenir.

Désolé pour cette première mauvaise impression … mais j'ose espérer que tu comprendras que ça ne dépend pas de Hoa, mais bien de Suhosin. Merci en tout cas d'avoir fait remonter le problème, ça servira à d'autres !

Lien m'ayant aidé : Suhosin, configuration.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

8

Re : Hoa et Suhosin

J'ai commité un changeset que j'aimerais que tu testes smile.

Avant d'ajouter hoa à l'instruction suhosin.executor.include.whitelist de ton php.ini, j'aimerais que tu mettes à jour Hoa :

$ hg pull
$ hg update

et tu relances ta ligne de commande. Tu devrais avoir quelque chose du genre :

$ hoa version
Uncaught exception (Hoa_Exception):
Hoa_Core::__construct: (0) The URL scheme hoa:// is not authorized by Suhosin. You must
add this to your php.ini: suhosin.executor.include.whitelist="hoa", thanks :-).
in /Users/hywan/Development/Hoa/Project/Framework/Core/Core.php around line 206.

  À ce moment là, touche ton php.ini comme précisé dans mon précédent message, et relance ta ligne de commande. Le problème devrait avoir disparu. Et au passage, XDebug devrait fonctionner (car c'était sûrement Suhosin qui bloquait le tout).

Au cas où tu n'as pas utilisé Mercurial, j'ai remis les archives à jour (comme toujours en fait smile).

Tout ça pour voir si la détection de hoa:// dans l'instruction de Suhosin fonctionne bien smile. Merci de me donner tes retours.

PS : je me suis permis de renommer le sujet (retouche si ça ne te convient pas) smile.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Hoa et Suhosin

Bonsoir,

Ai-je donné l'impression d'avoir reçu une mauvaise impression ? pas du tout smile

Donc j'ai mis à jour comme demandé, et j'ai bien visualiser le message.

Par contre sur ma Debian(Testing), cela ne se modifie pas dans le php.ini (cela ne fonctionne pas), mais bien dans un fichier de configuration spécifique à suhosin : /etc/php/conf.d/suhosin.ini

Il suffit alors de décomenter le ;suhosin.executor.include.whitelist =

Dans la doc ils mettent des strings séparé par des virgules.
Donc pour hoa et phar, je dois écrire comme ceci.

suhosin.executor.include.whitelist = "hoa","phar"

Je poursuis donc mes expériences wink

10

Re : Hoa et Suhosin

Quand tu as écris "hoa,phar" il a crié ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »