[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dolibarr-bugtrack] [bug #27469] Des documents ne peuvent plus êtretéléc
From: |
Sylvain Beucler |
Subject: |
[Dolibarr-bugtrack] [bug #27469] Des documents ne peuvent plus êtretéléchargés: urldecode superflu |
Date: |
Thu, 17 Sep 2009 13:35:07 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.14) Gecko/2009091010 Iceweasel/3.0.6 (Debian-3.0.6-3) |
URL:
<http://savannah.nongnu.org/bugs/?27469>
Summary: Des documents ne peuvent plus être téléchargés:
urldecode superflu
Project: Dolibarr
Submitted by: Beuc
Submitted on: jeu 17 sep 2009 13:35:04 GMT
Severity: 3 - Normal
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Release: 2.6.1
Operating System: None
_______________________________________________________
Details:
L'erreur se produit quand on tente de télécharger un fichier contenant un
'+':
Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic:
Dolibarr: 2.6.1
Date: 20090917153026
Niveau de fonctionnalités: 0
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch
mod_ssl/2.2.9 OpenSSL/0.9.8g
Referer: https://XXX/dolibarr/comm/propal.php?propalid=68
Url sollicitée:
/dolibarr/document.php?modulepart=propal&file=DV200906054%2F200906054-DevisSigne%2BBCClient.pdf
MenuManager: eldy_backoffice.php/eldy_backoffice.php
Message: Le fichier
/var/www/public/dolibarr/documents/propale/DV200906054/200906054-DevisSigne
BCClient.pdf n'existe pas
Le fichier document.php utile la fonction PHP 'urlencode' pour convertir le
nom du document dans l'URL en nom de document pour le système de fichiers.
Hors, PHP a déjà fait cette opération. Par conséquent le résultat
(stocké dans $original_file) subit le décodage 2 fois. Cela ne pose pas de
problème dans le cas courant, quand le nom de fichier ne contient pas le
signe '%' ou '+', mais cela rendre les autres documents impossible à
télécharger.
Noter que $original_file est défini plusieurs fois: une fois tout en haut du
fichier, plus sa valeur est réinitialisée plus bas (copier/coller).
La modification suivante corrige le problème:
cvs diff: Diffing .
Index: document.php
===================================================================
RCS file: /sources/dolibarr/dolibarr/htdocs/document.php,v
retrieving revision 1.66
diff -u -r1.66 document.php
--- document.php 24 Feb 2009 22:52:55 -0000 1.66
+++ document.php 17 Sep 2009 13:27:21 -0000
@@ -66,7 +66,7 @@
//$encoding='ISO-8859-1';
$action = $_GET["action"];
-$original_file = urldecode($_GET["file"]);
+$original_file = $_GET["file"];
$modulepart = urldecode($_GET["modulepart"]);
$urlsource = urldecode($_GET["urlsource"]);
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?27469>
_______________________________________________
Message posté via/par Savannah
http://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dolibarr-bugtrack] [bug #27469] Des documents ne peuvent plus êtretéléchargés: urldecode superflu,
Sylvain Beucler <=