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

Newsportal et le From (was:Re: Format du champ From)

1 view
Skip to first unread message

yamo'

unread,
Nov 4, 2021, 7:44:49 AM11/4/21
to
Salut,

Olivier Miakinen a tapoté le 04/11/2021 11:13:
> Je suis désolé, Stéphane, de t'avoir fait précédemment croire le
> contraire, c'est moi qui n'avais pas bien lu les RFC.


Pas grave, il faut donc modifier la fonction address_decode de
Newsportal :
<https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/newsportal.php>


--
Stéphane

yamo'

unread,
Nov 4, 2021, 10:28:50 AM11/4/21
to
Salut,
yamo' a écrit :
Et question subsidiaire, est-ce qu'il y aurait une page expliquant
simplement le fuseau horaire pour php et éventuellement javascript si c'est
un mal nécessaire : du côté entêtes c'est envoyé en UTC (sûrement de
la conf debian par défaut) mais du côté affichage ce message sera sur
Newsportal affiché comme posté à 16h28 au lieu de 15h28 heure d'hiver...

--
Stéphane




Olivier Miakinen

unread,
Nov 4, 2021, 10:41:47 AM11/4/21
to
Le 04/11/2021 à 12:44, yamo' a écrit :
>
> Pas grave, il faut donc modifier la fonction address_decode de
> Newsportal :
> <https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/newsportal.php>

Ben... je ne vois pas de décodage du tout pour le champ From !?!

Essaye de remplacer (à la ligne du diable - 666) :
$header->name=$fromline[0]["personal"];
par :
$header->name=headerDecode2($fromline[0]["personal"]);

--
Olivier Miakinen

Olivier Miakinen

unread,
Nov 4, 2021, 10:49:18 AM11/4/21
to
Le 04/11/2021 à 15:28, yamo' a écrit :
>
> Et question subsidiaire, est-ce qu'il y aurait une page expliquant
> simplement le fuseau horaire pour php et éventuellement javascript si c'est
> un mal nécessaire : du côté entêtes c'est envoyé en UTC (sûrement de
> la conf debian par défaut) mais du côté affichage ce message sera sur
> Newsportal affiché comme posté à 16h28 au lieu de 15h28 heure d'hiver...

J'ai trouvé ceci mais je ne l'ai jamais utilisé :
https://www.php.net/manual/fr/class.datetimezone.php

Un cran au dessus :
https://www.php.net/manual/fr/refs.calendar.php


--
Olivier Miakinen

yamo'

unread,
Nov 4, 2021, 12:49:36 PM11/4/21
to
Salut,

Olivier Miakinen a tapoté le 04/11/2021 15:41:
En remplaçant (sur une instance de test) la ligne 309 :

$personal=substr($parsestring,0,$ha_pos-1);
par :
$personal=substr($parsestring,0,$ha_pos);

Et, ça corrige l'affichage. Je n'ai pas vu d'effet de bord (au pire, ça
devrait traiter un espace en trop).

--
Stéphane

Olivier Miakinen

unread,
Nov 4, 2021, 1:18:34 PM11/4/21
to
Le 04/11/2021 à 17:49, yamo' a écrit :
>
> En remplaçant (sur une instance de test) la ligne 309 :
>
> $personal=substr($parsestring,0,$ha_pos-1);
> par :
> $personal=substr($parsestring,0,$ha_pos);
>
> Et, ça corrige l'affichage.

Ah, en effet ! Je ne sais pas où est fait le décodage MIME, mais
le problème était bien un caractère tronqué :

http://news2web.pasdenom.info/thread.php?group=fr.bienvenue
http://news2web.pasdenom.info/article.php?id=737&group=fr.bienvenue#737
Affichage : =?UTF-8?B?R8OpcmFsZCBOaWVsIA==?
(il manque le dernier =)

> Je n'ai pas vu d'effet de bord (au pire, ça
> devrait traiter un espace en trop).

S'il devait y avoir cet effet de bord, alors vu qu'on a le droit de
mettre plusieurs espaces ou tabulations, y compris des FWS (folding
white space), le problème existerait potentiellement ailleurs et il
faudrait commencer par un trim() sur la chaîne.

Bon, eh bien problème résolu.

--
Olivier Miakinen

yamo'

unread,
Nov 5, 2021, 3:49:53 AM11/5/21
to
Salut,
Olivier Miakinen a écrit :
> Le 04/11/2021 à 17:49, yamo' a écrit :
>>
>> En remplaçant (sur une instance de test) la ligne 309 :
>>
>> $personal=substr($parsestring,0,$ha_pos-1);
>> par :
>> $personal=substr($parsestring,0,$ha_pos);
>>
>> Et, ça corrige l'affichage.

> Ah, en effet ! Je ne sais pas où est fait le décodage MIME, mais
> le problème était bien un caractère tronqué :

> http://news2web.pasdenom.info/thread.php?group=fr.bienvenue
> http://news2web.pasdenom.info/article.php?id=737&group=fr.bienvenue#737
> Affichage : =?UTF-8?B?R8OpcmFsZCBOaWVsIA==?
> (il manque le dernier =)

Ce code est utilisé lors de la mise en cache disque d'un groupe. Le
décodage se fait lors du processus d'affichage.

>> Je n'ai pas vu d'effet de bord (au pire, ça
>> devrait traiter un espace en trop).

J'ai réussi à contrer l'affichage mais je ne sais pas si c'est un cas qui
peut exister hors du test : j'ai inversé l'ordre habituel :
From: name<us...@example.test>
Pour
From: <us...@example.test>name
Où name est la chaîne barbare de caractères...

> S'il devait y avoir cet effet de bord, alors vu qu'on a le droit de
> mettre plusieurs espaces ou tabulations, y compris des FWS (folding
> white space), le problème existerait potentiellement ailleurs et il
> faudrait commencer par un trim() sur la chaîne.

> Bon, eh bien problème résolu.

Ok, je vais pousser la modification sur le dépôt git.
--
Stéphane


Olivier Miakinen

unread,
Nov 5, 2021, 3:23:32 PM11/5/21
to
Le 05/11/2021 08:49, yamo' a écrit :
>
> J'ai réussi à contrer l'affichage mais je ne sais pas si c'est un cas qui
> peut exister hors du test : j'ai inversé l'ordre habituel :
> From: name<us...@example.test>
> Pour
> From: <us...@example.test>name
> Où name est la chaîne barbare de caractères...

Non, c'est une syntaxe invalide :
https://datatracker.ietf.org/doc/html/rfc5322#section-3.4

En revanche, la syntaxe utilisée par MacSOUP était :
From: <us...@example.test> (name)

Et même s'il y a peu de chances de le rencontrer tu peux vérifier
que ton code accepte ceci :
From: <us...@example.test>(name)

(cela dit on est complètement hors charte ici... si nécessaire je te
suggère de repartir de l'article qui est sur fcul)


--
Olivier Miakinen
0 new messages