Bug#680381: unblock: spip/2.1.16-1

July 05th, 2012 - 09:30 am ET by David Prévot | Report spam
This is a multi-part MIME message sent by reportbug.


MIME-Version: 1.0

Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: freeze-exception

Please unblock package spip, it's a minor release that will fix a
security issue, and a few bugs. The attached debdiff is pretty thin:
most of the changes, in the security screen file, are due to rewritten
comments.

unblock spip/2.1.16-1

Debian Release: 6.0.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable'), (150, 'testing'), (120, 'unstable'), (110, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


diff -Nru spip-2.1.15/debian/changelog spip-2.1.16/debian/changelog
spip-2.1.15/debian/changelog 2012-06-12 19:17:13.000000000 -0400
+++ spip-2.1.16/debian/changelog 2012-07-04 08:46:23.000000000 -0400
@@ -1,3 +1,13 @@
+spip (2.1.16-1) unstable; urgency=high
+
+ * New upstream version:
+ - fixes PHP injection (Closes: #680118);
+ - fixes growing session directory;
+ - fixes PHP 5.4 compatibility.
+ * Update security screen file to 1.1.3.
+
+ -- David Prévot <taffit@debian.org> Wed, 04 Jul 2012 08:42:01 -0400
+
spip (2.1.15-1) unstable; urgency=high

* New upstream version, fixes cross site scripting.
diff -Nru spip-2.1.15/debian/patches/fix_displayed_version.patch spip-2.1.16/debian/patches/fix_displayed_version.patch
spip-2.1.15/debian/patches/fix_displayed_version.patch 2012-06-12 17:55:50.000000000 -0400
+++ spip-2.1.16/debian/patches/fix_displayed_version.patch 2012-07-04 08:30:47.000000000 -0400
@@ -2,7 +2,7 @@
Make it obvious it's a Debian (patched) version
Forwarded: not-needed
Author: David Prévot <taffit@debian.org>
-Last-Update: 2012-06-12
+Last-Update: 2012-07-04
a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -423,7 +423,7 @@
@@ -10,7 +10,7 @@
// 1.xxyy : xx00 versions stables publiees, xxyy versions de dev
// (ce qui marche pour yy ne marchera pas forcement sur une version plus ancienne)
-$spip_version_affichee = "$spip_version_branche";
-+$spip_version_affichee = "2.1.15-1 (Debian)";
++$spip_version_affichee = "2.1.16-1 (Debian)";

// ** Securite **
$visiteur_session = $auteur_session = $connect_statut = $connect_toutes_rubriques = $hash_recherche = $hash_recherche_strict = $ldap_present ='';
diff -Nru spip-2.1.15/debian/security/ecran_securite.php spip-2.1.16/debian/security/ecran_securite.php
spip-2.1.15/debian/security/ecran_securite.php 2012-06-12 17:06:39.000000000 -0400
+++ spip-2.1.16/debian/security/ecran_securite.php 2012-07-04 08:31:30.000000000 -0400
@@ -5,21 +5,20 @@
*
*/

-define('_ECRAN_SECURITE', '1.1.2'); // 12 juin 2012
+define('_ECRAN_SECURITE', '1.1.3'); // 3 juillet 2012

/*
* Documentation : http://www.spip.net/fr_article4200.html
- *
*/

/*
- * test utilisateur
+ * Test utilisateur
*/
if (isset($_GET['test_ecran_securite']))
$ecran_securite_raison = 'test '._ECRAN_SECURITE;

/*
- * detecteur de robot d'indexation
+ * Détecteur de robot d'indexation
*/
if (!defined('_IS_BOT'))
define('_IS_BOT',
@@ -28,10 +27,11 @@
(string) $_SERVER['HTTP_USER_AGENT'])
);

-/* - interdit de passer une variable id_article (ou id_xxx) qui ne
- * soit pas numerique (ce qui bloque l'exploitation de divers trous
- * de securite, dont celui de toutes les versions < 1.8.2f)
- * (sauf pour id_table, qui n'est pas numerique jusqu'a [5743])
+/*
+ * Interdit de passer une variable id_article (ou id_xxx) qui ne
+ * soit pas numérique (ce qui bloque l'exploitation de divers trous
+ * de sécurité, dont celui de toutes les versions < 1.8.2f)
+ * (sauf pour id_table, qui n'est pas numérique jusqu'à  [5743])
*/
foreach ($_GET as $var => $val)
if ($_GET[$var] AND strncmp($var,"id_",3)==0 AND $var!='id_table')
@@ -43,15 +43,14 @@
if ($GLOBALS[$var] AND strncmp($var,"id_",3)==0 AND $var!='id_table')
$GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval',$GLOBALS[$var]):intval($GLOBALS[$var]);

-
-/* - interdit la variable $cjpeg_command, qui etait utilisee sans
- * precaution dans certaines versions de dev (1.8b2 -> 1.8b5)
- *
+/*
+ * Interdit la variable $cjpeg_command, qui était utilisée sans
+ * précaution dans certaines versions de dev (1.8b2 -> 1.8b5)
*/
$cjpeg_command='';

-/* - controle de quelques variables (XSS)
- *
+/*
+ * Contrôle de quelques variables (XSS)
*/
foreach(array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre') as $var) {
if (isset($_GET[$var]))
@@ -60,15 +59,15 @@
$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,',' ',(string)$_POST[$var]);
}

-/* - filtre l'acces a spip_acces_doc (injection SQL en 1.8.2x)
- *
+/*
+ * Filtre l'accès à  spip_acces_doc (injection SQL en 1.8.2x)
*/
if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
$file = addslashes((string)$_GET['file']);
}

/*
- * - agenda joue a l'injection php
+ * Agenda joue à  l'injection php
*/
if (isset($_REQUEST['partie_cal'])
AND $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal']))
@@ -78,7 +77,7 @@
$ecran_securite_raison = "echelle";

/*
- * - espace prive
+ * Espace privé
*/
if (isset($_REQUEST['exec'])
AND !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec']))
@@ -107,8 +106,8 @@
}
}

-/* - bloque les requetes contenant %00 (manipulation d'include)
- *
+/*
+ * Bloque les requêtes contenant %00 (manipulation d'include)
*/
if (strpos(
@get_magic_quotes_gpc() ?
@@ -117,22 +116,23 @@
) !== false)
$ecran_securite_raison = "%00";

-/* - bloque les requetes fond=formulaire_
- *
+/*
+ * Bloque les requêtes fond=formulaire_
*/
if (isset($_REQUEST['fond'])
AND preg_match(',^formulaire_,i', $_REQUEST['fond']))
$ecran_securite_raison = "fond=formulaire_";

-/* - bloque les requetes du type ?GLOBALS[type_urls]=toto (bug vieux php)
- *
+/*
+ * Bloque les requêtes du type ?GLOBALS[type_urls]=toto (bug vieux php)
*/
if (isset($_REQUEST['GLOBALS']))
$ecran_securite_raison = "GLOBALS[GLOBALS]";

-/* - bloque les requetes des bots sur:
- * les agenda
- * les paginations entremelees
+/*
+ * Bloque les requêtes des bots sur:
+ * les agenda
+ * les paginations entremélées
*/
if (_IS_BOT AND (
(isset($_REQUEST['echelle']) AND isset($_REQUEST['partie_cal']) AND isset($_REQUEST['type']))
@@ -162,27 +162,29 @@
if (isset($_REQUEST[$var]) AND is_array($_REQUEST[$var]))
$ecran_securite_raison = "xss ".$var;

-/* Parade antivirale contre un cheval de troie */
-if(!function_exists('tmp_lkojfghx')){
-function tmp_lkojfghx(){}
-function tmp_lkojfghx2($a=0,$b=0,$c=0,$d=0){
- // si jamais on est arrive ici sur une erreur php
- // et qu'un autre gestionnaire d'erreur est defini, l'appeller
- if($b&&$GLOBALS['tmp_xhgfjokl'])
- call_user_func($GLOBALS['tmp_xhgfjokl'],$a,$b,$c,$d);
-}
+/*
+ * Parade antivirale contre un cheval de troie
+ */
+if (!function_exists('tmp_lkojfghx')) {
+ function tmp_lkojfghx() {}
+ function tmp_lkojfghx2($a=0, $b=0, $c=0, $d=0) {
+ // si jamais on est arrivé ici sur une erreur php
+ // et qu'un autre gestionnaire d'erreur est défini, l'appeller
+ if ($b&&$GLOBALS['tmp_xhgfjokl'])
+ call_user_func($GLOBALS['tmp_xhgfjokl'],$a,$b,$c,$d);
+ }
}
if (isset($_POST['tmp_lkojfghx3']))
$ecran_securite_raison = "gumblar";

/*
- * Outils XML mal securises < 2.0.9
+ * Outils XML mal sécurisés < 2.0.9
*/
if (isset($_REQUEST['transformer_xml']))
$ecran_securite_raison = "transformer_xml";

/*
- * Sauvegarde mal securisee < 2.0.9
+ * Sauvegarde mal securisée < 2.0.9
*/
if (isset($_REQUEST['nom_sauvegarde'])
AND strstr((string)$_REQUEST['nom_sauvegarde'], '/'))
@@ -194,14 +196,15 @@

/*
* op permet des inclusions arbitraires ;
- * on verifie 'page' pour ne pas bloquer ... drupal
+ * on vérifie 'page' pour ne pas bloquer ... drupal
*/
if (isset($_REQUEST['op']) AND isset($_REQUEST['page'])
AND $_REQUEST['op'] !== preg_replace('/[^\-\w]/', '', $_REQUEST['op']))
$ecran_securite_raison = 'op';

-
-/* Forms & Table ne se mefiait pas assez des uploads de fichiers */
+/*
+ * Forms & Table ne se méfiait pas assez des uploads de fichiers
+ */
if (count($_FILES)){
foreach($_FILES as $k=>$v){
if (preg_match(',^fichier_\d+$,',$k)
@@ -210,16 +213,22 @@
}
}

-/* reinstall=oui un peu trop permissif */
+/*
+ * reinstall=oui un peu trop permissif
+ */
if (isset($_REQUEST['reinstall'])
AND $_REQUEST['reinstall'] == 'oui')
$ecran_securite_raison = 'reinstall=oui';

-/* echappement xss referer */
+/*
+ * à‰chappement xss referer
+ */
if (isset($_SERVER['HTTP_REFERER']))
$_SERVER['HTTP_REFERER'] = strtr($_SERVER['HTTP_REFERER'], '<>"\'', '[]##');

-/* Reinjection des cles en html dans l'admin r19561 */
+/*
+ * Réinjection des clés en html dans l'admin r19561
+ */
if (strpos($_SERVER['REQUEST_URI'],"ecrire/")!==false){
$zzzz=implode("",array_keys($_REQUEST));
if (strlen($zzzz)!=strcspn($zzzz,'<>"\''))
@@ -227,6 +236,21 @@
}

/*
+ * Injection par connect
+ */
+if (isset($_REQUEST['connect'])
+ AND
+ // cas qui permettent de sortir d'un commentaire PHP
+ (strpos($_REQUEST['connect'], "?".">")!==false
+ OR strpos($_REQUEST['connect'], "")!==false
+ OR strpos($_REQUEST['connect'], "")!==false)
+ ) {
+ $_REQUEST['connect'] = str_replace(array("?".">", "", ""), "", $_REQUEST['connect']);
+ if (isset($_GET['connect'])) $_GET['connect'] = $_REQUEST['connect'];
+ if (isset($_POST['connect'])) $_POST['connect'] = $_REQUEST['connect'];
+}
+
+/*
* S'il y a une raison de mourir, mourons
*/
if (isset($ecran_securite_raison)) {
@@ -237,15 +261,15 @@
header("Content-Type: text/html");
die("<html><title>Error 403: Forbidden</title><body><h1>Error 403</h1><p>You are not authorized to view this page ($ecran_securite_raison)</p></body></html>");
}
+
/*
- * Fin securite
+ * Fin sécurité
*/



/*
- * Bloque les bots quand le load deborde
- *
+ * Bloque les bots quand le load déborde
*/
if (!defined('_ECRAN_SECURITE_LOAD'))
define('_ECRAN_SECURITE_LOAD', 4);
diff -Nru spip-2.1.15/ecrire/base/connect_sql.php spip-2.1.16/ecrire/base/connect_sql.php
spip-2.1.15/ecrire/base/connect_sql.php 2012-06-12 10:32:34.000000000 -0400
+++ spip-2.1.16/ecrire/base/connect_sql.php 2012-07-03 11:31:38.000000000 -0400
@@ -60,11 +60,7 @@
if (!isset($GLOBALS['db_ok'])) {
// fera mieux la prochaine fois
if ($install) return false;
- if ($f AND $readable)
- spip_log("spip_connect: fichier de connexion '$f' OK.");
- else
- spip_log("spip_connect: fichier de connexion '$f' non trouve");
- spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.");
+ spip_log("spip_connect: serveur $index mal defini dans '$f'. spip_connect_version: " . @$GLOBALS['spip_connect_version']);
// ne plus reessayer si ce n'est pas l'install
return $connexions[$index]=false;
}
diff -Nru spip-2.1.15/ecrire/exec/auteurs.php spip-2.1.16/ecrire/exec/auteurs.php
spip-2.1.15/ecrire/exec/auteurs.php 2012-06-12 10:32:30.000000000 -0400
+++ spip-2.1.16/ecrire/exec/auteurs.php 2012-07-03 11:31:37.000000000 -0400
@@ -56,7 +56,11 @@
lettres_d_auteurs(requete_auteurs($tri, $statut, $recherche), $debut, MAX_AUTEURS_PAR_PAGE, $tri);


- $recherche = auteurs_tranches(afficher_n_auteurs($auteurs), $debut, $lettre, $tri, $statut, MAX_AUTEURS_PAR_PAGE, $nombre_auteurs,$cherche);
+
+ $arg = ($statut ? ("&statut=" .urlencode($statut)) : '')
+ . ($cherche ? ("&recherche=" . urlencode($cherche)) : '');
+
+ $recherche = auteurs_tranches(afficher_n_auteurs($auteurs), $debut, $lettre, $tri, $statut, MAX_AUTEURS_PAR_PAGE, $nombre_auteurs, $arg);

if ($cherche){
$cherche = htmlspecialchars($cherche);
@@ -80,7 +84,7 @@
$visiteurs ? _T('info_visiteurs') : _T('info_auteurs'),
"auteurs","redacteurs");

- echo bandeau_auteurs($tri, $visiteurs);
+ echo bandeau_auteurs($visiteurs);

echo $trouve, "<div class='nettoyeur'></div>";

@@ -91,9 +95,9 @@
}

// http://doc.spip.org/@bandeau_auteurs
-function bandeau_auteurs($tri, $visiteurs)
+function bandeau_auteurs($visiteurs)
{
- global $connect_id_auteur, $connect_statut, $connect_toutes_rubriques;
+ global $connect_id_auteur;

$ret = debut_gauche("auteurs",true) . debut_boite_info(true);

@@ -102,16 +106,16 @@
else
$ret .= "<p class='arial1'>"._T('info_gauche_auteurs'). '</p>';

- if ($connect_statut == '0minirezo')
+ if (autoriser('voir', 'auteur'))
$ret .= "<p class='arial1'>". _T('info_gauche_auteurs_exterieurs') . '</p>';

$ret .= fin_boite_info(true);

$ret .= pipeline('affiche_gauche',array('args'=>array('exec'=>'auteurs'),'data'=>''));

- if ($connect_statut == '0minirezo') {
+ if (autoriser('voir', 'auteur')) {

- if ($connect_toutes_rubriques)
+ if (autoriser('creer', 'auteur'))
$res = icone_horizontale(_T('icone_creer_nouvel_auteur'), generer_url_ecrire("auteur_infos", 'new=oui'), "auteur-24.gif", "creer.gif", false);
else $res = '';

@@ -174,13 +178,10 @@
}

// http://doc.spip.org/@auteurs_tranches
-function auteurs_tranches($auteurs, $debut, $lettre, $tri, $statut, $max_par_page, $nombre_auteurs, $cherche='')
+function auteurs_tranches($auteurs, $debut, $lettre, $tri, $statut, $max_par_page, $nombre_auteurs, $arg='')
{
global $spip_lang_right;

- $arg = ($statut ? ("&statut=" .urlencode($statut)) : '')
- . ($cherche ? ("&recherche=" . urlencode($cherche)) : '');
-
$res ="<tr class='titrem'>"
. "<th style='width: 20px'>";

@@ -292,37 +293,40 @@
// http://doc.spip.org/@requete_auteurs
function requete_auteurs($tri, $statut, $recherche=NULL)
{
- global $connect_statut, $spip_lang, $connect_id_auteur;
+ global $connect_id_auteur;

- //
- // Construire la requete
- //
-
// si on n'est pas minirezo, ignorer les auteurs sans article
// sauf les admins, toujours visibles.

// limiter les statuts affiches
- if ($connect_statut == '0minirezo') {
+ if (autoriser('voir', 'auteur')) {
if ($statut[0]=='!') {
$statut = substr($statut,1); $not = "NOT";
} else $not = '';
$visit = !statut_min_redac($statut);
$statut = preg_split('/\W+/', $statut);
- $sql_visible = sql_in("aut.statut", $statut, $not);
+ $where = sql_in("aut.statut", $statut, $not);
} else {
- $sql_visible = "(
+ $where = "(
aut.statut = '0minirezo'
OR aut.id_auteur=$connect_id_auteur
OR " . sql_in('art.statut', array('prop', 'publie'))
. ')';
$visit = false;
}
+ if ($recherche) $where .= " AND $recherche" ;
+ return requete_auteurs_tri($tri, $where, $visit);
+}
+
+function requete_auteurs_tri($tri, $where, $visit=false)
+{
+ global $spip_lang;

$sql_sel = '';
$join = $visit ?
""
:
- (strpos($sql_visible,'art.statut')?("LEFT JOIN spip_auteurs_articles AS lien ON aut.id_auteur=lien.id_auteur" . " LEFT JOIN spip_articles AS art ON (lien.id_article = art.id_article)"):"");
+ (strpos($where,'art.statut')?("LEFT JOIN spip_auteurs_articles AS lien ON aut.id_auteur=lien.id_auteur" . " LEFT JOIN spip_articles AS art ON (lien.id_article = art.id_article)"):"");

// tri
switch ($tri) {
@@ -332,7 +336,7 @@
$join = $visit ?
"LEFT JOIN spip_forum AS lien ON aut.id_auteur=lien.id_auteur"
: ("LEFT JOIN spip_auteurs_articles AS lien ON aut.id_auteur=lien.id_auteur"
- . (strpos($sql_visible,'art.statut')?" LEFT JOIN spip_articles AS art ON (lien.id_article = art.id_article)":""));
+ . (strpos($where,'art.statut')?" LEFT JOIN spip_articles AS art ON (lien.id_article = art.id_article)":""));
break;

case 'site':
@@ -361,9 +365,7 @@
"UPPER(aut.nom) AS unom",
$sql_sel),array('',null)),
'FROM' => "spip_auteurs AS aut $join",
- 'WHERE' => $sql_visible . ($recherche
- ? " AND $recherche"
- : ''),
+ 'WHERE' => $where,
'GROUP BY' => "aut.statut, aut.nom_site, aut.nom, aut.id_auteur",
'ORDER BY' => $sql_order);
}
diff -Nru spip-2.1.15/ecrire/inc/autoriser.php spip-2.1.16/ecrire/inc/autoriser.php
spip-2.1.15/ecrire/inc/autoriser.php 2012-06-12 10:32:34.000000000 -0400
+++ spip-2.1.16/ecrire/inc/autoriser.php 2012-07-03 11:31:38.000000000 -0400
@@ -356,6 +356,12 @@
AND !$qui['restreint'];
}

+function autoriser_auteur_creer_dist($faire, $type, $id, $qui, $opt) {
+ return
+ $qui['statut'] == '0minirezo'
+ AND !$qui['restreint'];
+}
+
// Autoriser a modifier un groupe de mots $id
// y compris en ajoutant/modifiant les mots lui appartenant
// http://doc.spip.org/@autoriser_groupemots_modifier_dist
diff -Nru spip-2.1.15/ecrire/inc/drapeau_edition.php spip-2.1.16/ecrire/inc/drapeau_edition.php
spip-2.1.15/ecrire/inc/drapeau_edition.php 2012-06-12 10:32:34.000000000 -0400
+++ spip-2.1.16/ecrire/inc/drapeau_edition.php 2012-07-03 11:31:38.000000000 -0400
@@ -69,7 +69,7 @@
// http://doc.spip.org/@signale_edition
function signale_edition ($id, $auteur, $type='article') {
$edition = lire_tableau_edition();
- if ($id_a = $auteur['id_auteur'])
+ if (isset($auteur['id_auteur']) and $id_a = $auteur['id_auteur'])
$nom = $auteur['nom'];
else
$nom = $id_a = $GLOBALS['ip'];
diff -Nru spip-2.1.15/ecrire/inc/lien.php spip-2.1.16/ecrire/inc/lien.php
spip-2.1.15/ecrire/inc/lien.php 2012-06-12 10:32:34.000000000 -0400
+++ spip-2.1.16/ecrire/inc/lien.php 2012-07-03 11:31:38.000000000 -0400
@@ -54,7 +54,13 @@
$class = "spip_mail";
elseif (preg_match('/^<html>/',$texte)) # cf traiter_lien_explicite
$class = "spip_url spip_out";
- elseif (!$class) $class = "spip_out"; # si pas spip_in|spip_glossaire
+ elseif (!$class) {
+ # spip_out sur les URLs externes
+ if (preg_match(',^\w+://,iS', $lien)
+ AND strncasecmp($lien, url_de_base(), strlen(url_de_base()))
+ )
+ $class = "spip_out"; # si pas spip_in|spip_glossaire
+ }

// Si l'objet n'est pas de la langue courante, on ajoute hreflang
if (!$hlang AND $lang!==$GLOBALS['spip_lang'])
diff -Nru spip-2.1.15/ecrire/inc/session.php spip-2.1.16/ecrire/inc/session.php
spip-2.1.15/ecrire/inc/session.php 2012-06-12 10:32:34.000000000 -040
0
+++ spip-2.1.16/ecrire/inc/session.php 2012-07-03 11:31:38.000000000 -040
0
@@ -103,6 +103,10 @@
time() + $duree
);
spip_log("ajoute session $fichier_session cookie $duree");
+
+ // purger au passage les vieux fichiers de session
+ supprimer_sessions(-1);
+
return $_COOKIE['spip_session'];
}
}
@@ -147,7 +151,7 @@
$GLOBALS['visiteur_session'] = $sauve;

// si c'est le meme, rafraichir les valeurs
- if ($auteur['id_auteur'] == $sauve['id_auteur'])
+ if (isset($sauve['id_auteur']) and $auteur['id_auteur'] == $sauve['id_auteur'])
verifier_session();
}

diff -Nru spip-2.1.15/ecrire/inc_version.php spip-2.1.16/ecrire/inc_version.php
spip-2.1.15/ecrire/inc_version.php 2012-06-12 10:32:39.000000000 -040
0
+++ spip-2.1.16/ecrire/inc_version.php 2012-07-03 11:31:38.000000000 -040
0
@@ -410,7 +410,7 @@
// numero de branche, utilise par les plugins
// pour specifier les versions de SPIP necessaire
// il faut s'en tenir a un nombre de decimales fixe ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2
-$spip_version_branche = "2.1.15";
+$spip_version_branche = "2.1.16";
// version des signatures de fonctions PHP
// (= numero SVN de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes)
$spip_version_code = 15375;
diff -Nru spip-2.1.15/ecrire/public/compiler.php spip-2.1.16/ecrire/public/compiler.php
spip-2.1.15/ecrire/public/compiler.php 2012-06-12 10:32:39.000000000 -0400
+++ spip-2.1.16/ecrire/public/compiler.php 2012-07-03 11:31:38.000000000 -0400
@@ -969,6 +969,8 @@

$secondes = spip_timer('calcul_skel');
spip_log("COMPIL ($secondes) [$sourcefile] $nom.php");
+ // $connect n'est pas sà»r : on nettoie
+ $connect = preg_replace(',[^\w],', '', $connect);

// Assimiler la fct principale a une boucle anonyme, c'est plus simple
$code = new Boucle;
diff -Nru spip-2.1.15/svn.revision spip-2.1.16/svn.revision
spip-2.1.15/svn.revision 2012-06-12 09:40:48.000000000 -0400
+++ spip-2.1.16/svn.revision 2012-07-03 11:11:27.000000000 -0400
@@ -1,10 +1,10 @@
<svn_revision>
<text_version>
-Origine: svn://trac.rezo.net/spip/tags/spip-2.1.15
-Revision: 19579
-Dernier commit: 2012-06-12 15:40:48 +0200
+Origine: svn://trac.rezo.net/spip/tags/spip-2.1.16
+Revision: 19678
+Dernier commit: 2012-07-03 17:11:27 +0200
</text_version>
-<origine>svn://trac.rezo.net/spip/tags/spip-...rigine>
-<revision>19579</revision>
-<commit>2012-06-12 15:40:48 +0200 </commit>
+<origine>svn://trac.rezo.net/spip/tags/spip-...rigine>
+<revision>19678</revision>
+<commit>2012-07-03 17:11:27 +0200 </commit>
</svn_revision>
\ Pas de fin de ligne à  la fin du fichier.




To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 2 repliesReplies Make a reply

Similar topics

Replies

#1 Mehdi Dogguy
July 05th, 2012 - 11:00 am ET | Report spam
tags 680381 + pending
thanks

On 04/07/12 15:06, David Prévot wrote:
Package: release.debian.org
Severity: normal
User:
Usertags: freeze-exception

Please unblock package spip, it's a minor release that will fix a
security issue, and a few bugs. The attached debdiff is pretty thin:
most of the changes, in the security screen file, are due to rewritten
comments.

unblock spip/2.1.16-1




We cannot unblock packages that are not uploaded. The changes look okay.
So please upload (if you were waiting for our approval) and get back to
us once the package has hit the archive.

Regards,

Mehdi Dogguy مهدي الدڤي
http://dogguy.org/



To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Replies Reply to this message
#2 David Prévot
July 05th, 2012 - 11:20 am ET | Report spam
Hash: SHA256

Le 05/07/2012 08:50, Mehdi Dogguy a écrit :
tags 680381 + pending

unblock spip/2.1.16-1



We cannot unblock packages that are not uploaded. The changes look okay.
So please upload (if you were waiting for our approval)



Done, thanks. I was indeed waiting for your approval, in order not to
mess with the “unstable” status if you'd disagreed with this request
(sorry I forgot to mention that in the first place).

Cheers

David




To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
email Follow the discussion Replies Reply to this message
Help Create a new topicReplies Make a reply
Search Make your own search