Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eurêka décodage MIME dans NewsPortal (was: Toutes les élections etc.)

0 views
Skip to first unread message

Olivier Miakinen

unread,
Oct 27, 2020, 8:53:03 PM10/27/20
to
[diapublication avec suivi]

Le 26/10/2020 à 17:11, yamo' a écrit :
>
> Je garde la liste suivante pour mémoire :
>
>>> Bug #1 (e.g. MicroPlanet-Gravity/2.9.15)
>>> Some old or misconfigured newsreaders post articles with 8-bit characters
>>> in the headers when there should be only ASCII. This is a problem because
>>> there is no foolproof way to guess which charset was used.
>>> Workaround #1
>>> The most commonly encountered character set for this bug, at least on
>>> usenet-fr, is CP1252 (Windows Latin1) which is a superset of ISO-8859-1
>>> (ISO Latin1). However, UTF-8 is usually so easy to recognize that we
>>> first assume the text is un UTF-8. If this assumption fails, we then
>>> convert from CP1252. This probably covers over 99% of cases. Anyway, the
>>> main thing is to have a unique character set in the end, which is UTF-8.
>>>
>>> Bug #2 (e.g. SeaMonkey/2.49.4 or Thunderbird/68.12.1)
>>> In quoted-printable encoding, use lower case hexadecimal digits 'a'
>>> through 'f' instead of upper case 'A' through 'F'.
>>> Workaround #2
>>> Ignore the case of hexadecimal digits when decoding quoted-printable.
>>>
>>> Bug #3 (e.g. MicroPlanet-Gravity/3.0.4)
>>> Have an unencoded '?' within a quoted-printable encoded-word. It should
>>> normally be encoded as '=3F'.
>>> Workaround #3
>>> Accept to find an unencoded '?' in the 'encoded-text' part.
>>>
>>> Bug #4 (e.g. NewsPortal/0.50.1)
>>> Have headers lines with at least one MIME encoded-word where the length
>>> of the line is greater than 76. This was sometimes the case for the
>>> first line of a multiline header.
>>> Workaround #4
>>> Don't care about the length of header lines.
>>>
>>> Bug #5 (e.g. MesNews/1.08.06.00)
>>> Violation of the rule that each encoded-word must represent an integral
>>> number of characters.
>>> Workaround #5
>>> Concatenate the encoded-text parts of multiple adjacent encoded-words
>>> with the same charset, before interpreting the result according to
>>> this charset.
>
> Celui là n'est peut-être pas encore totalement corrigé (à l'affichage
> j'ai des choses étonnantes.
> [...]

J'ai trouvé.

En attendant une refonte plus complète parce que le code est plein de
rustines pas belles (et peut-être buguées), voici ce qu'il faut faire
dans newsportal.php.

1) Remplacer l'horrRRRIble fonction headerDecode() par :
=====================================================
function headerDecode($value) {
return "" . new MimeDecodeHeader($value);
}
=====================================================

2) Supprimer la fonction want_translit() qui ne sert plus à rien.



[suivi vers fr.comp.lang.php]


yamo'

unread,
Oct 28, 2020, 6:53:43 AM10/28/20
to
Salut,

Olivier Miakinen a écrit :
> [diapublication avec suivi]


> J'ai trouvé.

> En attendant une refonte plus complète parce que le code est plein de
> rustines pas belles (et peut-être buguées), voici ce qu'il faut faire
> dans newsportal.php.

J'ai viré les deaderDecode en trop. J'envoie dès que c'est fonctionnel.

> 1) Remplacer l'horrRRRIble fonction headerDecode() par :
> =====================================================
> function headerDecode($value) {
> return "" . new MimeDecodeHeader($value);
> }
> =====================================================

En faisant ça j'ai des entêtes non décodées sur la version de test ;
j'ai quelque chose qui commence par : "=?UTF-8?B?"

http://news2web.pasdenom.info/article.php?id=30592&group=fr.test#30592
http://news2web.pasdenom.info/article.php?id=30591&group=fr.test#30591
http://news2web.pasdenom.info/article.php?id=30593&group=fr.test#30593



> 2) Supprimer la fonction want_translit() qui ne sert plus à rien.

Fait sur le code _non_envoyé_ sur git.



> [suivi vers fr.comp.lang.php]





Olivier Miakinen

unread,
Oct 28, 2020, 7:52:31 AM10/28/20
to
Le 28/10/2020 à 11:53, yamo' a écrit :
>
> En faisant ça j'ai des entêtes non décodées sur la version de test ;
> j'ai quelque chose qui commence par : "=?UTF-8?B?"
>
> http://news2web.pasdenom.info/article.php?id=30592&group=fr.test#30592
> http://news2web.pasdenom.info/article.php?id=30591&group=fr.test#30591
> http://news2web.pasdenom.info/article.php?id=30593&group=fr.test#30593

J'ai peut-être une idée.

Dans article.php il y a un appel à headerDecode() dans un fichier qui
n'inclut pas mime.inc.php. Ça pourrait être ça.

Tu ne peux pas voir les messages d'erreur ? Je demande ça aussi parce
qu'il y avait une erreur dans l'ancien headerDecode(), que tu n'avais
pas vue alors qu'elle empêchait un iconv (heureusement que c'était de
UTF-8 vers UTF-8).

yamo'

unread,
Oct 28, 2020, 9:15:33 AM10/28/20
to
Salut,

Olivier Miakinen a tapoté le 28/10/2020 12:52:
> Le 28/10/2020 à 11:53, yamo' a écrit :
>>
>> En faisant ça j'ai des entêtes non décodées sur la version de test ;
>> j'ai quelque chose qui commence par : "=?UTF-8?B?"
>>
>> http://news2web.pasdenom.info/article.php?id=30592&group=fr.test#30592
>> http://news2web.pasdenom.info/article.php?id=30591&group=fr.test#30591
>> http://news2web.pasdenom.info/article.php?id=30593&group=fr.test#30593
>
> J'ai peut-être une idée.
>
> Dans article.php il y a un appel à headerDecode() dans un fichier qui
> n'inclut pas mime.inc.php. Ça pourrait être ça.

Il appelle newsportal.php qui lui appelle les bibliothèques.
Au niveau logique, je mettrais plutôt newsportal.php dans /lib vu qu'il
n'est jamais appelé par un navigateur.

J'ai trouvé un pis aller : j'encode avec ta fonction et j'affiche avec
l'ancienne...

> Tu ne peux pas voir les messages d'erreur ? Je demande ça aussi parce
> qu'il y avait une erreur dans l'ancien headerDecode(), que tu n'avais
> pas vue alors qu'elle empêchait un iconv (heureusement que c'était de
> UTF-8 vers UTF-8).

Il y a pas mal d'erreurs (php NOTICE et php WARNING), c'est probablement
noyé dedans ... Grâce à toi j'ai vu l'erreur...

Pour information, je suis en php 7.3 mais je ne pense pas qu'il y ait
beaucoup de différence avec 7.2.

Sauf erreurs (je le fais à l'ancienne avec meld (un diff graphique)),
news2web est à jour :
<http://news2web.pasdenom.info/thread.php?group=fr.test>


--
Stéphane

Olivier Miakinen

unread,
Oct 28, 2020, 10:34:20 AM10/28/20
to
Le 28/10/2020 à 14:15, yamo' a écrit :
>
> J'ai trouvé un pis aller : j'encode avec ta fonction et j'affiche avec
> l'ancienne...

Je regarde :
https://gitlab.com/yamo-nntp/newsportal/-/blob/master/newsportal.php

Note que si tu réponds à un article mal encodé, il peut être normal
que ma fonction laisse des =?UTF-8?B? et ce serait une erreur de tenter
de les traiter quand même. Je pense que tu devrais retirer le code que
tu as rajouté dans headerDecode2.

Quand tu me signales un décodage qui te semble incorrect, au lieu de
me donner le lien vers news2web.pasdenom.info, donne moi plutôt :
- le MID de l'article auquel tu réponds ;
- le MID de ta réponse (s'il y en a une) ;
- une copie de l'affichage du Subject tel que tu le vois.

Je te dirai alors si l'affichage qui te semble incorrect est en fait
normal parce que tu réponds à un article qui *est* incorrect.

>> Tu ne peux pas voir les messages d'erreur ? Je demande ça aussi parce
>> qu'il y avait une erreur dans l'ancien headerDecode(), que tu n'avais
>> pas vue alors qu'elle empêchait un iconv (heureusement que c'était de
>> UTF-8 vers UTF-8).
>
> Il y a pas mal d'erreurs (php NOTICE et php WARNING), c'est probablement
> noyé dedans ... Grâce à toi j'ai vu l'erreur...

Pourtant elle est toujours là.

À la ligne 482 dans le cas de QP, il y a une instruction qui extrait le
charset ($charset).

Mais dans les lignes 490 à 493, dans le cas de B64, cette instruction
n'existe pas. Et tu devrais donc avoir une erreur sur la ligne 495.

> Pour information, je suis en php 7.3 mais je ne pense pas qu'il y ait
> beaucoup de différence avec 7.2.

En effet. Tout ce code devrait fonctionner à l'identique dans les
dernières versions 5 et dans toutes les versions 6 et 7. D'ailleurs
sur mon Linux j'étais en version 7.2, mais là dans Cygwin sur Windows
je suis en 7.3.7.

> Sauf erreurs (je le fais à l'ancienne avec meld (un diff graphique)),
> news2web est à jour :
> <http://news2web.pasdenom.info/thread.php?group=fr.test>

Pour être sûr, voici les lignes 489 à 496 de newsportal.php tel que je
peux le voir maintenant. Si tu as corrigé l'histoire du $charset, ça
n'a pas été reporté.

if (preg_match('/=\?.*\?B\?.*\?=/i',$value)) { // base64 decoding
$result1=preg_replace('/(.*)=\?.*\?B\?(.*)\?=(.*)/i','\1',$value);
$result2=preg_replace('/(.*)=\?.*\?B\?(.*)\?=(.*)/i','\2',$value);
$result3=preg_replace('/(.*)=\?.*\?B\?(.*)\?=(.*)/i','\3',$value);
$result2=base64_decode($result2);
// Fix made by Julien Élie

$newvalue=$result1.recode_charset($result2,$charset,mb_internal_encoding()).$result3;
}

Olivier Miakinen

unread,
Oct 28, 2020, 10:51:01 AM10/28/20
to
Le 28/10/2020 à 15:34, je répondais à yamo' :
>
> Note que si tu réponds à un article mal encodé, il peut être normal
> que ma fonction laisse des =?UTF-8?B? et ce serait une erreur de tenter
> de les traiter quand même. Je pense que tu devrais retirer le code que
> tu as rajouté dans headerDecode2.

C'est le cas en particulier si tu réponds à l'une des réponses faites
avec Nemo ou avec MacCafé, ou l'une des réponses de réponses qui ont suivi.

Ces réponses de Nemo et MacCafé sont buguées car ils ont collé des
=?UTF-8?B? à ce qui précédait au lieu de laisser une espace avant
(et après).

Donc, ne teste que les articles que SeaMonkey, Mozilla ou Pan arrivent
à décoder et qui te semblent corrects avec ces nouvelleurs, même si
Nemo et MacCafé n'y arrivent pas. En particulier les articles de DV
faits avec MesNews et qui ne sont pas des réponses.

yamo'

unread,
Oct 28, 2020, 11:11:45 AM10/28/20
to
Olivier Miakinen a tapoté le 28/10/2020 15:50:
> Le 28/10/2020 à 15:34, je répondais à yamo' :
>>
>> Note que si tu réponds à un article mal encodé, il peut être normal
>> que ma fonction laisse des =?UTF-8?B? et ce serait une erreur de tenter
>> de les traiter quand même. Je pense que tu devrais retirer le code que
>> tu as rajouté dans headerDecode2.

Je viens juste de le faire. et j'ai enfin vu le $charset manquant, après
moi les et regex :-( ...


> C'est le cas en particulier si tu réponds à l'une des réponses faites
> avec Nemo ou avec MacCafé, ou l'une des réponses de réponses qui ont suivi.
>
> Ces réponses de Nemo et MacCafé sont buguées car ils ont collé des
> =?UTF-8?B? à ce qui précédait au lieu de laisser une espace avant
> (et après).
>
> Donc, ne teste que les articles que SeaMonkey, Mozilla ou Pan arrivent
> à décoder et qui te semblent corrects avec ces nouvelleurs, même si
> Nemo et MacCafé n'y arrivent pas. En particulier les articles de DV
> faits avec MesNews et qui ne sont pas des réponses.


J'avais des bugs même avec ces posts là :

1.
<news:C5f98f0e94823...@news.domain.invalid>
<http://news2web.pasdenom.info/article.php?id=%3CC5f98f0e9482...@news.domain.invalid%3E&group=fr.test>
<http://al.howardknight.net/?ID=160389753900>

2.
<news:rn9qog$nut$1...@pasdenom.info>
<http://news2web.pasdenom.info/article.php?id=%3Crn9qog$nut$1...@pasdenom.info%3E&group=fr.test>
<http://al.howardknight.net/?ID=160389777900>




--
Stéphane

Olivier Miakinen

unread,
Oct 28, 2020, 11:55:39 AM10/28/20
to
Le 28/10/2020 à 16:11, yamo' a écrit :
> Olivier Miakinen a tapoté le 28/10/2020 15:50:
>> Le 28/10/2020 à 15:34, je répondais à yamo' :
>>>
>>> Note que si tu réponds à un article mal encodé, il peut être normal
>>> que ma fonction laisse des =?UTF-8?B? et ce serait une erreur de tenter
>>> de les traiter quand même. Je pense que tu devrais retirer le code que
>>> tu as rajouté dans headerDecode2.
>
> Je viens juste de le faire. et j'ai enfin vu le $charset manquant, après
> moi les et regex :-( ...

Ok.

>> C'est le cas en particulier si tu réponds à l'une des réponses faites
>> avec Nemo ou avec MacCafé, ou l'une des réponses de réponses qui ont suivi.
>>
>> Ces réponses de Nemo et MacCafé sont buguées car ils ont collé des
>> =?UTF-8?B? à ce qui précédait au lieu de laisser une espace avant
>> (et après).
>>
>> Donc, ne teste que les articles que SeaMonkey, Mozilla ou Pan arrivent
>> à décoder et qui te semblent corrects avec ces nouvelleurs, même si
>> Nemo et MacCafé n'y arrivent pas. En particulier les articles de DV
>> faits avec MesNews et qui ne sont pas des réponses.
>
>
> J'avais des bugs même avec ces posts là :
>
> 1.
> <news:C5f98f0e94823...@news.domain.invalid>
> <http://news2web.pasdenom.info/article.php?id=%3CC5f98f0e9482...@news.domain.invalid%3E&group=fr.test>
> <http://al.howardknight.net/?ID=160389753900>
>
> 2.
> <news:rn9qog$nut$1...@pasdenom.info>
> <http://news2web.pasdenom.info/article.php?id=%3Crn9qog$nut$1...@pasdenom.info%3E&group=fr.test>
> <http://al.howardknight.net/?ID=160389777900>

Tu avais, et donc tu ne les as plus. Mais est-ce que tu les as de
nouveau en n'utilisant plus la vieille version de headerDecode ?

Au fait, dans article.php je vois qu'il y a un message_read()
avant de faire un headerDecode_old(). Or le décodage devrait avoir
déjà été fait (donc pas besoin de le refaire). Sauf... sauf s'il
a récupéré un article en cache qui était tout cassé ! Je serais
toi, j'essaierais de vider le cache, et de retirer cet appel à
headerDecode_old() au lieu de le remplacer par headerDecode2().

Sur des articles relus correctement dès le début par la fonction
message_parse(), ça devrait fonctionner correctement.

yamo'

unread,
Oct 28, 2020, 12:55:42 PM10/28/20
to
Salut,

Olivier Miakinen a tapoté le 28/10/2020 16:54:
> Le 28/10/2020 à 16:11, yamo' a écrit :

>> J'avais des bugs même avec ces posts là :
>>
>> 1.
>> <news:C5f98f0e94823...@news.domain.invalid>
>> <http://news2web.pasdenom.info/article.php?id=%3CC5f98f0e9482...@news.domain.invalid%3E&group=fr.test>
>> <http://al.howardknight.net/?ID=160389753900>
>>
>> 2.
>> <news:rn9qog$nut$1...@pasdenom.info>
>> <http://news2web.pasdenom.info/article.php?id=%3Crn9qog$nut$1...@pasdenom.info%3E&group=fr.test>
>> <http://al.howardknight.net/?ID=160389777900>
>
> Tu avais, et donc tu ne les as plus. Mais est-ce que tu les as de
> nouveau en n'utilisant plus la vieille version de headerDecode ?

Oui, j'ai fait le test :
find /path/to/spool/ -type f -exec rm {} \;

En laissant juste return($value) dans la vieille fonction.

Cas 1 :

<http://news2web.pasdenom.info/img/_sans_decode2.png>

Cas 2 :

<http://news2web.pasdenom.info/img/cas2_sans_decode2.png>

>
> Au fait, dans article.php je vois qu'il y a un message_read()
> avant de faire un headerDecode_old(). Or le décodage devrait avoir
> déjà été fait (donc pas besoin de le refaire). Sauf... sauf s'il
> a récupéré un article en cache qui était tout cassé ! Je serais
> toi, j'essaierais de vider le cache, et de retirer cet appel à
> headerDecode_old() au lieu de le remplacer par headerDecode2().
>
> Sur des articles relus correctement dès le début par la fonction
> message_parse(), ça devrait fonctionner correctement.


Avec la vieille function normale, ça fonctionne correctement (liens
précédemment donnés).

Tout se passe comme si ta fonction remettais à plat l'entête mais en ne
la décodant pas à la fin.
Et comme je te l'ai dit par mail, en testant en ligne de commande ça
fonctionne bien...

Il doit y avoir quelque chose dans le php.ini qui diffère.


--
Stéphane

Olivier Miakinen

unread,
Oct 28, 2020, 1:37:13 PM10/28/20
to
Le 28/10/2020 à 17:55, yamo' a écrit :
> Salut,
>
> Olivier Miakinen a tapoté le 28/10/2020 16:54:
>> Le 28/10/2020 à 16:11, yamo' a écrit :
>
>>> J'avais des bugs même avec ces posts là :
>>>
>>> 1.
>>> <news:C5f98f0e94823...@news.domain.invalid>
>>> <http://news2web.pasdenom.info/article.php?id=%3CC5f98f0e9482...@news.domain.invalid%3E&group=fr.test>
>>> <http://al.howardknight.net/?ID=160389753900>
>>>
>>> 2.
>>> <news:rn9qog$nut$1...@pasdenom.info>
>>> <http://news2web.pasdenom.info/article.php?id=%3Crn9qog$nut$1...@pasdenom.info%3E&group=fr.test>
>>> <http://al.howardknight.net/?ID=160389777900>
>>
>> Tu avais, et donc tu ne les as plus. Mais est-ce que tu les as de
>> nouveau en n'utilisant plus la vieille version de headerDecode ?
>
> Oui, j'ai fait le test :
> find /path/to/spool/ -type f -exec rm {} \;
>
> En laissant juste return($value) dans la vieille fonction.

Et pourtant...

>
> Cas 1 :
>
> <http://news2web.pasdenom.info/img/_sans_decode2.png>

printf("%s\n", new MimeDecodeHeader("=?UTF-8?B?w6nDoMOr?="));
=> "éàë"

>
> Cas 2 :
>
> <http://news2web.pasdenom.info/img/cas2_sans_decode2.png>

printf("%s\n", new MimeDecodeHeader(
"Re: =?UTF-8?B?w4AgcmVtcGxhY2Vy?="));
=> "Re: À remplacer"

Ils n'auraient pas par hasard été doublement encodés ?

printf("%s\n", new MimeDecodeHeader(
"=?UTF-8?B?PT9VVEYtOD9CP3c2bkRvTU9yPz0=?="));
=> "=?UTF-8?B?w6nDoMOr?="

>> Au fait, dans article.php je vois qu'il y a un message_read()
>> avant de faire un headerDecode_old(). Or le décodage devrait avoir
>> déjà été fait (donc pas besoin de le refaire). Sauf... sauf s'il
>> a récupéré un article en cache qui était tout cassé ! Je serais
>> toi, j'essaierais de vider le cache, et de retirer cet appel à
>> headerDecode_old() au lieu de le remplacer par headerDecode2().
>>
>> Sur des articles relus correctement dès le début par la fonction
>> message_parse(), ça devrait fonctionner correctement.
>
>
> Avec la vieille function normale, ça fonctionne correctement (liens
> précédemment donnés).

Et avec headerDecode2() au lieu de headerDecode_old() ça ne marche pas
aussi bien ? Ou directement avec « "".new MimeDecodeHeader() » ?

> Tout se passe comme si ta fonction remettais à plat l'entête mais en ne
> la décodant pas à la fin.
> Et comme je te l'ai dit par mail, en testant en ligne de commande ça
> fonctionne bien...
>
> Il doit y avoir quelque chose dans le php.ini qui diffère.

Il y a bien un truc que j'ai dû changer pour ne pas toucher à mon
php.ini, c'est de mettre <?php au lieu de <? comme balises de début.
Mais là je soupçonne plutôt que ce qu'on lui passe n'est pas ce que
l'on croit.

yamo'

unread,
Nov 1, 2020, 4:41:33 AM11/1/20
to
Salut,

Olivier Miakinen a écrit :

> Il y a bien un truc que j'ai dû changer pour ne pas toucher à mon
> php.ini, c'est de mettre <?php au lieu de <? comme balises de début.
> Mais là je soupçonne plutôt que ce qu'on lui passe n'est pas ce que
> l'on croit.


Oui, je le pense, j'ai refait le test en ne décodant qu'avec
headerDecode2 et c'est encore encodé même pour un post anodin de
Seamonkey :
Subject:
=?UTF-8?B?c3VqZXQgYWNjZW50dcOpIGRlIHLDqWbDqXJlbmNlIChTZWFtb25rZXkp?=
Affiché :
=?UTF-8?B?c3VqZXQgYWNjZW50dcOpIGRlIHLDqWbDqXJlbmNlIChTZWFtb25rZXkp?=

Pour tester, je l'ai appliqué deux fois sans succès :
=?UTF-8?B?c3VqZXQgYWNjZW50dcOpIGRlIHLDqWbDqXJlbmNlIChTZWFtb25rZXkp?=

En attendant mieux, je laisse l'ancienne fonction.

AU fait, je déplace newsportal.php dans lib ce qui me paraît plus
logique...

--
Stéphane


Otomatic

unread,
Nov 1, 2020, 5:43:20 AM11/1/20
to
Olivier Miakinen <om+...@miakinen.net> écrivait :

> Il y a bien un truc que j'ai dû changer pour ne pas toucher à mon
> php.ini, c'est de mettre <?php au lieu de <? comme balises de début.
> Mais là je soupçonne plutôt que ce qu'on lui passe n'est pas ce que
> l'on croit.
Directive short_open_tag

> This directive determines whether or not PHP will recognize code between
> <? and ?> tags as PHP source which should be processed as such. It is
> generally recommended that <?php and ?> should be used and that this feature
> should be disabled, as enabling it may result in issues when generating XML
> documents, however this remains supported for backward compatibility reasons.
> Note that this directive does not control the <?= shorthand tag, which can be
> used regardless of this directive.

http://php.net/short-open-tag
short_open_tag = Off

yamo'

unread,
Nov 1, 2020, 5:56:54 AM11/1/20
to
Salut,

yamo' a tapoté le 28/10/2020 17:55:
>
> Il doit y avoir quelque chose dans le php.ini qui diffère.


C'était pire que ça : mon apache tournait avec du php5!

Là j'ai la dernière version de php7.3 mais qui tourne comme si c'était
du php5....
Bon y a du taf, j'ai des erreurs partout.

--
Stéphane

Olivier Miakinen

unread,
Nov 1, 2020, 10:12:07 AM11/1/20
to
Le 01/11/2020 11:43, Otomatic m'a répondu :
>
>> Il y a bien un truc que j'ai dû changer pour ne pas toucher à mon
>> php.ini, c'est de mettre <?php au lieu de <? comme balises de début.
>> Mais là je soupçonne plutôt que ce qu'on lui passe n'est pas ce que
>> l'on croit.
> Directive short_open_tag

Oui, mais j'écrivais « pour ne pas toucher à mon php.ini ».

À ma connaissance, cette directive qui est déconseillée depuis un moment,
c'est dans le php.ini qu'elle se met si on veut revenir à l'usage ancien.

>> [...] It is
>> generally recommended that <?php and ?> should be used and that this feature
>> should be disabled [...]
Voilà. Même si la raison (utiliser XML) on s'en fout un peu ici, je préfère
ne pas revenir en arrière.

--
Olivier Miakinen

Olivier Miakinen

unread,
Nov 1, 2020, 10:15:55 AM11/1/20
to
Le 01/11/2020 11:56, yamo' a écrit :
>
> C'était pire que ça : mon apache tournait avec du php5!
>
> Là j'ai la dernière version de php7.3 mais qui tourne comme si c'était
> du php5....
> Bon y a du taf, j'ai des erreurs partout.

Aïe... bon courage !

Déjà, tu peux commencer par remplacer les balises de début <? par <?php
comme je l'ai fait, parce que ça c'est assuré de fonctionner en PHP 5
comme en PHP 7.

Sinon, si tu ne t'en sors pas avec PHP 7 et qu'il te faut revenir à PHP 5,
je peux revoir mon code pour m'assurer qu'il fonctionne dans les deux
versions.

--
Olivier Miakinen

yamo'

unread,
Nov 1, 2020, 10:37:23 AM11/1/20
to
Olivier Miakinen a tapoté le 01/11/2020 16:15:
> Le 01/11/2020 11:56, yamo' a écrit :
>>
>> C'était pire que ça : mon apache tournait avec du php5!
>>
>> Là j'ai la dernière version de php7.3 mais qui tourne comme si c'était
>> du php5....
>> Bon y a du taf, j'ai des erreurs partout.
>
> Aïe... bon courage !


> Déjà, tu peux commencer par remplacer les balises de début <? par <?php
> comme je l'ai fait, parce que ça c'est assuré de fonctionner en PHP 5
> comme en PHP 7.

Je pense que c'est un des plus gros soucis. Je vais regarder avec la
modification du php.ini et revenir dessus une fois corrigé.
Il y a des <? en pagaille.

>
> Sinon, si tu ne t'en sors pas avec PHP 7 et qu'il te faut revenir à PHP 5,
> je peux revoir mon code pour m'assurer qu'il fonctionne dans les deux
> versions.

Je regarderai tranquillement quand j'aurais suffisamment de temps.
Ce qui m'a étonné c'est quand j'ai vu la version de php qui vient de
debian 8 alors que je suis sur debian 10, il doit y avoir quelques
failles corrigées entre deux!
Là, ça fonctionne un peu par miracle donc je vais tester avec des
machines virtuelles.


--
Stéphane

yamo'

unread,
Nov 2, 2020, 4:53:29 AM11/2/20
to
Corrigé en local.

http://news2web.pasdenom.info/thread.php?group=fr.test


Pour pousser les modifications git en ligne de commande va être utile...


--
Stéphane

yamo'

unread,
Nov 2, 2020, 9:10:15 AM11/2/20
to
Salut,

Olivier Miakinen a écrit :
> [diapublication avec suivi]


> En attendant une refonte plus complète parce que le code est plein de
> rustines pas belles (et peut-être buguées), voici ce qu'il faut faire
> dans newsportal.php.

> 1) Remplacer l'horrRRRIble fonction headerDecode() par :

Merci Olivier!

J'ai poussé la version 0.50.1f qui fonctionne _réellement_ en php7.3 :

<https://gitlab.com/yamo-nntp/newsportal/-/tags/0.50.1f>

--
Stéphane

0 new messages