Piwigo Bugtracker

Piwigo bug tracker has moved to Github

This bugtracker is kept to provide history on old issues.


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000913Piwigoauthenticationpublic2009.01.10 10:422009.02.26 21:15
Reportersym_zo 
Assigned Toplg 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version2.0.0RC4 
Target Version2.0.1Fixed in Version2.0.1 
Summary0000913: Impossible to connect with an IPv6 address
DescriptionEn effet, lorsque l'on tente de se connecter à Piwigo au moyen d'une adresse IPv6, la connexion échoue à cause d'une fonction vsprintf qui n'a pas assez d'argument.

En fait, cette fonction, utilisée par get_remote_addr_session_hash(), présuppose que la string $_SERVER['REMOTE_ADDR'] contient (au moins) un caractère ".". Malheureusement, lorsque le visiteur est pourvu d'une addresse IPv6, son adresse n'en contient pas, puisqu'une addresse IPv6 est de la forme :
"XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX"
(voir http://fr.wikipedia.org/wiki/IPv6#Adresses_IPv6 [^] )

Par conséquent, vsprintf échoue, ce qui provoque en cascade l'échec de la connexion (dont l'utilisateur n'est pas averti, d'ailleurs).

Voici une proposition de bugfix, qui dans mon cas a résolu le problème (attention, le triple égal est important!) :

function get_remote_addr_session_hash()
{
        $separator = ( FALSE === strpos($_SERVER['REMOTE_ADDR'],'.') ? ':':'.' );
        return vsprintf( "%02X%02X", explode($separator,$_SERVER['REMOTE_ADDR']) );
}


Steps To Reproduce1) obtenir une adresse IPv6
2) Vérifier avec un phpinfo que c'est bien cette adresse qui est stockée par $_SERVER['REMOTE_ADDR']
3) tenter de se connecter à piwigo
Additional Informationerreurs affichées :


Warning: vsprintf() [function.vsprintf]: Too few arguments in /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/functions_session.inc.php on line 96

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/functions_session.inc.php:96) in /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/user.inc.php on line 49

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/functions_session.inc.php:96) in /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/user.inc.php on line 49

Warning: Cannot modify header information - headers already sent by (output started at /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/functions_session.inc.php:96) in /home/jehan/web-projects/labo/phpwebgallery-2.0.0RC4/include/page_header.php on line 83
TagsNo tags attached.
browserany
Database engine and version
PHP version
Web serverApache 1.3.x
Attached Files

- Relationships

-  Notes
(0002505)
sym_zo (reporter)
2009.02.26 09:37

Bonjour !

Sans vouloir faire le gros ch***, ce serait possible de clore ce bug ? Je vous ai fourni le fix, donc ça pourrait même être fait rapidement ;-) (Enfin... Sauf si je suis incapable d'écrire trois lignes de PHP sans me planter).

Vous êtes géniaux :)
(0002506)
plg (manager)
2009.02.26 21:15

Thank you for the patch. Sorry for the delay, we were working full time on the website preparation :-) Unfortunately your bug fix is not part of release 2.0.0, but it will be fixed in 2.0.1.

Fixed on branch 2.0 in [Subversion] r3165
Merged on trunk in [Subversion] r3166

- Issue History
Date Modified Username Field Change
2009.01.10 10:42 sym_zo New Issue
2009.01.10 10:42 sym_zo browser => any
2009.01.10 10:42 sym_zo Web server => Apache 1.3.x
2009.01.10 11:35 plg Assigned To => plg
2009.01.10 11:35 plg Status new => assigned
2009.01.10 11:35 plg Target Version => 2.0.0
2009.02.26 09:37 sym_zo Note Added: 0002505
2009.02.26 21:15 plg Note Added: 0002506
2009.02.26 21:15 plg Status assigned => closed
2009.02.26 21:15 plg Resolution open => fixed
2009.02.26 21:15 plg Fixed in Version => 2.0.1
2009.02.26 21:15 plg Target Version 2.0.0 => 2.0.1
2009.02.26 21:15 plg Summary Impossible de se connecter au moyen d'une adresse IPv6 => Impossible to connect with an IPv6 address


Copyright © 2000 - 2018 MantisBT Team
Contact
Powered by Mantis Bugtracker