Le 22/12/2022 10:18, jdd a écrit :
Bonjour,
comme toujours j'essaie de comprendre dans le but de documenter le
fonctionnement de certains aspects d'usenet.
je n'ai pas trouvé de détail sur la façon dont fonctionnent les robots.
Je ne suis pas clair sur la façon dont fonctionnent les cancels.
si je me trompe, dites-le moi :-)
* un cancel quand il est fait de façon usuelle par un usager est envoyé
sur le même groupe que le message cancellé, mais est-ce nécessairement
en réponse au message cancellé [1]? est-ce nécessairement sur le même
groupe [2]? est-ce nécessairement sur le même serveur [3]? (laissons de
côté pour l'instant l'aspect authentification).
[1] Techniquement, la seule signification possible de « en réponse au
message cancellé », ce serait « avec un champ References qui contient
le Message-ID de l'article annulé ». Et donc la réponse à cette question
est non.
En revanche, outre la règle absolue permettant de reconnaître un cancel,
à savoir le champ d'entête Control avec le mot-clé cancel suivi du
Message-ID, il existe quelques règles de savoir vivre des robots qui
sont par exemple la convention $alz et la convention cyberspam. Ces
conventions ne sont pas nécessaires pour que l'annulation soit valide
et prise en compte.
[2] Que l'annulation soit émise avec la même liste de newsgroups que
l'article à annuler permet de s'assurer qu'elle soit bien transmise aux
serveurs qui feedent ces groupes. Par exemple, si un spam a été crossposté
sur fr.exemple et sur de.beispiel mais que l'annulation n'est émise que
sur de.beispiel, les serveurs ne proposant que fr.* risquent de ne pas
la voir.
Cela étant dit, je suppose qu'à partir du moment où un serveur reçoit
l'ordre d'annulation il va le traiter sans tenir compte de son champ
Newsgroups.
[3] Il n'est pas nécessaire que l'ordre d'annulation soit émis *depuis*
le même serveur que celui de l'article à annuler, et heureusement. Parce
que sinon il serait impossible d'annuler la plupart des spams, lesquels
proviennent pour l'immense majorité des cas de google groupes.
En gros, un serveur A peut recevoir un spam depuis un serveur B puis une
annulation pour ce spam depuis un serveur C. S'il accepte les annulations
de C, le serveur A en tiendra compte.
* dans ce cas le serveur annule le message visé et copie le message de
cancel sur control.cancel?
Cette histoire de « copier » des articles sur control ou control.cancel
est quelque chose qui peut être virtuel. Personne n'ira vérifier comment
un serveur gère cela en mémoire ou sur le disque. D'ailleurs je ne suis
même pas sûr qu'un serveur de news soit obligé de gérer un groupe nommé
control ou control.cancel, et en principe ça ne doit pas avoir d'influence
sur le traitement effectif des annulations.
Ce que j'observe malgré tout, c'est que sur les quelques serveurs que j'ai
essayés les articles arrivant au serveur avec un « Control: cancel MID »
sont visibles quand on s'est abonnés à « control.cancel ».
* que fait un robot? Il envoie un message de cancel par son propre
serveur [1]? Celui-çi annule les messages visés [2] et recopie le
message de cancel sur control.cancel [3]?
[1] Oui, et en cela un robot n'est pas différent d'un utilisateur
humain qui envoie un cancel via son logiciel de news.
[2] Oui s'il est configuré pour les accepter.
[3] Voir plus haut ce que je pense du verbe « recopier ». Mais oui,
les serveurs que je connais rendent des tels articles accessibles sur
le groupe (ou pseudo-groupe) nommé control.cancel.
ou alors un message de cancel est systématiquement recopié sur
control.cancel et diffusé à partir de là [1]? Pareil pour les usagers
ou les robots [2]?
[1] À mon humble avis, la rediffusion d'un article, qu'il ait ou non
un champ Control, est indépendante du fait qu'il soit ou non rendu
visible sur requête à un groupe donné (control.cancel ou autre).
Donc non.
[2] Aucune différence ne peut être faite à priori entre les humains et
les robots. Mais bien sûr il est possible pour un serveur de mettre
des filtres pour autoriser certains émetteurs, qu'il s'agisse d'humains
ou de robots, selon certains critères propres à chaque serveur.
si je surveille les opérations avec postfilter, je surveille les
*entrées* de *mon serveur*? je peux autoriser - ou pas - les usagers à
poster des messages de cancel.
les messages venus des autres serveurs sont surveillés par cleanfeed?
mais aussi par readers.conf?
D'après les réponses récentes de ceux qui savent, c'est ce que j'ai
compris. Je n'en sais pas plus.
-- Olivier Miakinen