Discussion:
Newsportal et le From (was:Re: Format du champ From)
(trop ancien pour répondre)
yamo'
2021-11-04 11:44:46 UTC
Permalink
Salut,
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'
2021-11-04 14:28:49 UTC
Permalink
Salut,
Post by yamo'
Salut,
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
<https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/newsportal.php>
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
2021-11-04 14:49:19 UTC
Permalink
Post by yamo'
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
Olivier Miakinen
2021-11-04 14:41:47 UTC
Permalink
Post by yamo'
Pas grave, il faut donc modifier la fonction address_decode de
<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
yamo'
2021-11-04 16:49:33 UTC
Permalink
Salut,
Post by Olivier Miakinen
Post by yamo'
Pas grave, il faut donc modifier la fonction address_decode de
<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 !?!
$header->name=$fromline[0]["personal"];
$header->name=headerDecode2($fromline[0]["personal"]);
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
2021-11-04 17:18:33 UTC
Permalink
Post by yamo'
$personal=substr($parsestring,0,$ha_pos-1);
$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 =)
Post by yamo'
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'
2021-11-05 07:49:52 UTC
Permalink
Salut,
Post by Olivier Miakinen
Post by yamo'
$personal=substr($parsestring,0,$ha_pos-1);
$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
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.
Post by Olivier Miakinen
Post by yamo'
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<***@example.test>
Pour
From: <***@example.test>name
Où name est la chaîne barbare de caractères...
Post by Olivier Miakinen
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
2021-11-05 19:23:30 UTC
Permalink
Post by yamo'
J'ai réussi à contrer l'affichage mais je ne sais pas si c'est un cas qui
Pour
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: <***@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: <***@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
Continuer la lecture sur narkive:
Loading...