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.