+2004-09-29 Simon Josefsson <jas@extundo.com>
+
+ * GNUS-NEWS: Generated.
+
+ * Makefile.in (GNUS-NEWS): Add.
+
2004-09-15 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus-encrypt.el: Autoload password-read-and-add and
** Gnus now view DNS master files sent as text/dns using dns-mode.
+** Gnus now support the "hashcash" client puzzle anti-spam idea. See
+the Gnus manual, section Hashcash, for more information.
+
\f
* For older news, see Gnus info node "New Features".
cd texi && $(MAKE) uninstall
cd etc && $(MAKE) uninstall
+GNUS-NEWS:
+ cd texi && $(MAKE) GNUS-NEWS
+
# Rule for Lars and nobody else.
some:
cd lisp && $(MAKE) EMACS="$(EMACS)" some
+2004-09-29 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * spam.el (spam-verify-bogofilter): -V, not -sV option
+
2004-09-28 Kevin Greiner <kgreiner@compsol.cc>
* gnus-agent.el (gnus-agent-synchronize-group-flags): Replaced
(setq spam-bogofilter-valid
(not (string-match "^bogofilter version 0\\.\\([0-9]\\|1[01]\\)\\."
(shell-command-to-string
- (format "%s -sV" spam-bogofilter-path))))))
+ (format "%s -V" spam-bogofilter-path))))))
spam-bogofilter-valid)
(defun spam-check-bogofilter (&optional score)
+2004-09-29 Simon Josefsson <jas@extundo.com>
+
+ * gnus-news.texi: Add.
+
+2004-09-29 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * gnus.texi (Hashcash): changed location of library, also mention
+ that payments can be verified and fix the name of the
+ hashcash-path variable
+
2004-09-23 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-faq.texi ([5.12]): Use 5.10 instead of 5.10.0.
@subsection Hashcash
@cindex hashcash
-Spam \e$B$H@o$&$?$a$N?7$7$$5;K!$O!"%a%C%;!<%8$rAw?.$9$k:]$K$$$/$P$/$+$NIiC4\e(B
-\e$B$rAw?.<T$K6/$$$^$9!#$3$l$O%$%s%?!<%M%C%HI8=`$N0lIt$G$O$J$$$N$G!"@$3&Cf$N\e(B
-\e$B$9$Y$F$N?M$,$3$N5;K!$r;H$&$3$H$OEv$F$K$G$-$J$$$H$$$&L@$i$+$J7gE@$,$"$j$^\e(B
-\e$B$9$,!">.5,LO$J6&F1BN$G$OLr$KN)$D$G$7$g$&!#\e(B
+Spam \e$B$H@o$&$?$a$N?7$7$$5;K!$O!"$$$/$i$+IiC4$K$O$J$k$,L@$i$+$KFHFC$J$3$H\e(B
+\e$B$r!"Aw?.$9$k%a%C%;!<%8$KBP$7$FAw?.<T$,9T$J$&$3$H$r5a$a$k$3$H$G$9!#$3$l$O\e(B
+\e$B%$%s%?!<%M%C%HI8=`$N0lIt$G$O$J$$$N$G!"@$3&Cf$N$9$Y$F$N?M$,$3$N5;K!$r;H$&\e(B
+\e$B$3$H$OEv$F$K$G$-$J$$$H$$$&L@$i$+$J7gE@$,$"$j$^$9$,!">.5,LO$J6&F1BN$G$OLr\e(B
+\e$B$KN)$D$G$7$g$&!#\e(B
\e$BA09`$NF;6qN`$,<B:]$K$&$^$/F/$$$?$H$7$F$b!"$=$l$i$O?7$7$$7A<0$N\e(B spam \e$B$,8=\e(B
\e$B$l$k$?$S$K$7$g$C$A$e$&99?7$+$D@0Hw$5$l$k$3$H$K$h$C$F$N$_F0:n$7$^$9!#$3$N\e(B
\e$B$U$&$K$7$F2<$5$$\e(B:
@lisp
-(require 'hashcash)
(add-hook 'message-send-hook 'mail-add-payment)
@end lisp
-@file{hashcash.el} \e$B%i%$%V%i%j\e(B
-\e$B$O\e(B @uref{http://users.actrix.gen.nz/mycroft/hashcash.el} \e$B$+3+H/HG\e(B
-\e$B$N\e(B gnus \e$B$N\e(B contrib \e$B%G%#%l%/%H%j$K$"$j$^$9!#\e(B
+@file{hashcash.el} \e$B%i%$%V%i%j$O\e(B Gnus \e$B$NCf$G!"$^$?\e(B
+\e$B$O\e(B @uref{http://users.actrix.gen.nz/mycroft/hashcash.el} \e$B$H$7$F8+$D$1$k\e(B
+\e$B$3$H$,$G$-$^$9!#\e(B
\e$B$$$/$D$+$NDI2C$NJQ?t$N@_Dj$b$7$J$1$l$P$J$j$^$;$s\e(B:
\e$B$G!"\e(B@var{string} \e$B$OJ8;zNs\e(B (\e$BDL>o$O%a!<%k%"%I%l%9$+%K%e!<%9%0%k!<%WL>\e(B) \e$B$H\e(B
\e$B$7$F;H$o$l$^$9!#\e(B
-@item hashcash
-@vindex hashcash
-@code{hashcash} \e$B%P%$%J%j$,%$%s%9%H!<%k$5$l$F$$$k>l=j$r<($7$^$9!#\e(B
+@item hashcash-path
+@vindex hashcash-path
+@code{hashcash} \e$B%P%$%J%j$,%$%s%9%H!<%k$5$l$F$$$k>l=j!#$3$NJQ?t\e(B
+\e$B$O\e(B @code{executable-find} \e$B$K$h$C$F<+F0E*$K@_Dj$5$l$k$O$:$G$9$,!"$=$l\e(B
+\e$B$,\e(B @code{nil} \e$B$@$C$?\e(B (\e$B$"$j$,$A$J$N$O\e(B @code{hashcash} \e$B%P%$%J%j$,<B\e(B
+\e$B9T\e(B path \e$BCf$KL5$$\e(B) \e$B>l9g$O!"\e(Bhashcash payments \e$B$r%A%'%C%/$9$k$H$-$K7Y9p$5$l!"\e(B
+hashcash payments \e$B$r@8@.$9$k$H$-$O%(%i!<$K$J$k$G$7$g$&!#\e(B
@end table
-\e$B:#$N$H$3$m\e(B gnus \e$B$K\e(B hashcash \e$B%/%C%-!<$rG'>Z$9$k<jCJ$O$"$j$^$;$s!#$"$J$?$,\e(B
-\e$B<j:n6H$G%a!<%k$r$U$k$$$K$+$1$k%9%/%j%W%H$r%+%9%?%^%$%:$9$k$3$H$,5a$a$i$l\e(B
-\e$B$F$$$^$9!#$7$+$7!"$3$NJ,Ln$K$*$1$k2~NI$OM-MQ$J9W8%$K$J$k$G$7$g$&!#\e(B
+Gnus \e$B$O\e(B hashcash \e$B%/%C%-!<$rG'>Z$9$k$3$H$,$G$-$^$9$,!"<j$G%+%9%?%^%$%:$7\e(B
+\e$B$?%a!<%k_I2a%9%/%j%W%H$G9T$J$&$3$H$b$G$-$^$9!#%a%C%;!<%8Cf$N\e(B hashcash \e$B%/%C\e(B
+\e$B%-!<$rG'>Z$9$k$K$O!"\e(B@code{hashcash.el} \e$B%i%$%V%i%j\e(B
+\e$B$N\e(B @code{mail-check-payment} \e$B4X?t$r;H$C$F2<$5$$!#F~$C$F$-$?%a!<%k\e(B
+\e$B$N\e(B hashcash \e$B%/%C%-!<$r3NG'$7!"$=$l$K$h$C$F%a!<%k$r_I2a$9$k$?$a$K!"\e(B
+@code{spam-use-hashcash} \e$B%P%C%/%(%s%I$G\e(B @code{spam.el} \e$B$r;H$&$3$H$b$G$-\e(B
+\e$B$^$9!#\e(B
@node Filtering Spam Using The Spam ELisp Package
@subsection Spam ELisp \e$B%Q%C%1!<%8$r;H$C$?\e(B Spam \e$B$N_I2a\e(B
@item Gnus now view DNS master files sent as text/dns using dns-mode.
+@item Gnus now support the ``hashcash'' client puzzle anti-spam idea.
+See the Gnus manual, section Hashcash, for more information.
+
@end itemize
@c gnus-news.texi ends here.
@cindex hashcash
A novel technique to fight spam is to require senders to do something
-costly for each message they send. This has the obvious drawback that
-you cannot rely on everyone in the world using this technique,
-since it is not part of the Internet standards, but it may be useful
-in smaller communities.
+costly and demonstrably unique for each message they send. This has
+the obvious drawback that you cannot rely on everyone in the world
+using this technique, since it is not part of the Internet standards,
+but it may be useful in smaller communities.
While the tools in the previous section work well in practice, they
work only because the tools are constantly maintained and updated as
like:
@lisp
-(require 'hashcash)
(add-hook 'message-send-hook 'mail-add-payment)
@end lisp
-The @file{hashcash.el} library can be found in the Gnus development
-contrib directory or at
+The @file{hashcash.el} library can be found in Gnus or at
@uref{http://users.actrix.gen.nz/mycroft/hashcash.el}.
You will need to set up some additional variables as well:
@var{amount})} cells, where the @var{string} is the string to use
(normally the email address or newsgroup name is used).
-@item hashcash
-@vindex hashcash
-Where the @code{hashcash} binary is installed.
+@item hashcash-path
+@vindex hashcash-path
+Where the @code{hashcash} binary is installed. This variable should
+be automatically set by @code{executable-find}, but if it's nil
+(usually because the @code{hashcash} binary is not in your path)
+you'll get a warning when you check hashcash payments and an error
+when you generate hashcash payments.
@end table
-Currently there is no built in functionality in Gnus to verify
-hashcash cookies, it is expected that this is performed by your hand
-customized mail filtering scripts. Improvements in this area would be
-a useful contribution, however.
+Gnus can verify hashcash cookies, although this can also be done by
+hand customized mail filtering scripts. To verify a hashcash cookie
+in a message, use the @code{mail-check-payment} function in the
+@code{hashcash.el} library. You can also use the @code{spam.el}
+package with the @code{spam-use-hashcash} backend to validate hashcash
+cookies in incoming mail and filter mail accordingly.
@node Filtering Spam Using The Spam ELisp Package
@subsection Filtering Spam Using The Spam ELisp Package