Fatal error: Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator

Hi,

bekomme bei einem frisch aufgesetzten OXID_CE_4.1.0_17976 folgenden Fehler bei OpenID Anmeldung:

Fatal error: Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator. in /var/www/vhosts/demo.shirtnetwork.de/httpdocs/oxid/die-shirttuner/core/openid/Auth/OpenID/CryptUtil.php on line 52

Verschwinden tut der Fehler wenn ich in der oxOpenId Klasse folgendes ändere:

if ( (PHP_OS == “WINNT”) && !defined(‘Auth_OpenID_RAND_SOURCE’) ) { /** * The OpenID suite from JanRain points to a randomness source specific * to Linux/Unix/Mac “/dev/urandom”. Need to set Auth_OpenID_RAND_SOURCE to null. */ define(‘Auth_OpenID_RAND_SOURCE’, null);}

if ( (PHP_OS == “WINNT”) || !defined(‘Auth_OpenID_RAND_SOURCE’) ) {
/**
* The OpenID suite from JanRain points to a randomness source specific
* to Linux/Unix/Mac “/dev/urandom”. Need to set Auth_OpenID_RAND_SOURCE to null.
*/
define(‘Auth_OpenID_RAND_SOURCE’, null);
}

Gibt es eine schönere Lösung die eventuell auch mit /dev/urandom funktioniert, ich habe extra auf dem Server gecheckt ob das hinhaut - liegt wohl am open_basedir irgendwie.

Aggrosoft it intelligence GbR

Das sieht ja so aus, als ob trotz Unix/Linux System (jedenfalls offenbar kein WINNT) /dev/urandom nicht gefunden werden kann. Insofern ist der Fix brauchbar, da dann openID auf den Pseudo-Randomnumber-Generator umgebogen wird, siehe CryptUtil.php. Trotzdem ist es sicher besser, den Zufallszahlengenerator zum Laufen zu bringen, als den Sourcecode zu verändern.

Ist /dev/urandom auf dem Server vorhanden? Oder /dev/random ? Siehe http://linux.about.com/library/cmd/blcmdl4_urandom.htm falls nicht. Auch Zugriffsrechte prüfen.

Take my love, take my land
Take me where I cannot stand
I don’t care, I’m still free
You can’t take the sky from me …

Habe ich alles schon gegen gecheckt, habe extra selbst ein script geschrieben das dieses urandom ausführt - auf dem Terminal kann ich es auch über cat /dev/urandom aufrufen.

Jedenfalls sollte der oxid shop nicht einfach mit einer hässlichen Fehlermeldung den Geist aufgeben sondern eher auf meinen Patch zurück greifen, eventuell mit einer Hinweismeldung oder keine Ahnung - wie es ist, ist es nicht schön.

Aggrosoft it intelligence GbR

Hallo,

hier hab ich zum Thema noch etwas gefunden:

Gruß