Deutsch   English   Français   Italiano  
<tfesfm$s8r$1@shakotay.alphanet.ch>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!news.alphanet.ch!alphanet.ch!.POSTED!not-for-mail
From: Marc SCHAEFER <schaefer@alphanet.ch>
Newsgroups: fr.comp.usenet.serveurs
Subject: Re: usage de cancel-clock
Date: Fri, 9 Sep 2022 08:11:34 -0000 (UTC)
Organization: Posted through news.alphanet.ch
Message-ID: <tfesfm$s8r$1@shakotay.alphanet.ch>
References: <tfers7$g3o$1@ns507557.dodin.fr.nf>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 9 Sep 2022 08:11:34 -0000 (UTC)
Injection-Info: shakotay.alphanet.ch; posting-account="schaefer";
	logging-data="28955"; mail-complaints-to="usenet@alphanet.ch"; posting-host="634ce6c9682d817d72f6177875e2bb4f.nnrp.alphanet.ch"
User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-21-amd64 (x86_64))
Cancel-Lock: sha256:jFtfd0oD5l7OEq/YuWueB+QFPSHEJWfvrZWlQqWZJS4= sha256:O8wg5542odGnyQk4NZL3xYonBqOewMD5wMA1S92QzLw=
Bytes: 3319
Lines: 50

jdd <jdd@dodin.org> wrote:
> Je n'ai sans doute pas cherché assez, mais je n'ai pas trouvé comment un 
> simple utilisateur pas forcément doué en informatique peut utiliser 
> cette procédure :-(

Il faut déjà comprendre les fondamentaux. Et il y a un bug en ce qui te
concerne vu ton choix de non authentification (voir (*) ci-dessous).

filter_nnrpd.pl sert à l'injection d'articles par tes utilisateurs,
et tu peux y MODIFIER certains entêtes.

filter_innd.pl (qui appelle cleanfeed.local) est appelé pour les
articles transitant par ton serveur, et tu ne peux rien modifier.

Rappelons que pour Cancel-Lock, il peut y avoir N valeurs (p.ex.
une Cancel-Lock utilisateur et une Cancel-Lock serveur). Il suffit
que le Cancel-Key corresponde à un des Cancel-Lock pour que l'article
soit supprimé. Cela permet par exemple au newsmaster d'émettre des
cancels authentifiés.

Pour Cancel-Lock, il y a donc deux fonctionnalités séparées:

1) appliquer les cancels uniquement lorsque le Cancel-Key dévoilé
   correspond au Cancel-Lock de l'article original

   -> ça c'est dans filter_innd.pl (cleanfeed.local), et c'est
      assez facile à faire.

2) éventuellement et en option, protéger tes utilisateurs locaux
   qui n'auraient pas de client NNTP/NNRP capable d'ajouter le
   Cancel-Lock, et aussi te donner la possibilité de supprimer
   globalement en cas de besoin: ajouter un Cancel-Lock serveur.

   Ici, il y a ajout de Cancel-Lock par filter_nnrpd.pl, avec
   un secret global au serveur (les clés étant générées par
   hashage).

Mais il y a un élément à ne pas oublier: si l'utilisateur ne gère pas
les Cancel-Lock lui-même, quand un utilisateur *authentifié localement*
émet un Cancel, il faut y ajouter la Cancel-Key correspondante du
serveur! Sinon un utilisateur local NE PEUT PLUS supprimer ses
propres messages!

Et sur ce dernier point, tu as un gros souci, car tu n'authentifies
pas les utilisateurs! (*)

Une solution serait alors de calculer la Cancel-Key de chaque article
non pas p.ex. avec hash(user, msgid) mais avec hash(adresse IP, msgid).
Ou faire des vérifications d'authentification complexes locales avant
d'émettre la Cancel-Key. Ce qui revient un peu au même que de définir
quels sont ces identifiants pour le hachage.