/[anubis]/anubis/doc/anubis.texi
ViewVC logotype

Diff of /anubis/doc/anubis.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by polak, Sat Apr 26 19:15:27 2003 UTC revision 1.4 by polak, Tue Jun 17 11:15:37 2003 UTC
# Line 50  documents GNU Anubis Version @value{VERS Line 50  documents GNU Anubis Version @value{VERS
50  @menu  @menu
51  * Overview::                        Preliminary information.  * Overview::                        Preliminary information.
52  * Configuration::                   Writing your own configuration files.  * Configuration::                   Writing your own configuration files.
53    * Rule System::                     How to use the Rule System.
54  * Invoking Anubis::                 How to invoke the GNU @command{anubis}.  * Invoking Anubis::                 How to invoke the GNU @command{anubis}.
55  * Sample Beginning::                Here is a sample beginning.  * Sample Beginning::                Here is a sample beginning.
56  * TLS/SSL::                         Using the TLS/SSL Encryption.  * TLS/SSL::                         Using the TLS/SSL Encryption.
# Line 126  to the proxy server, which forwards it t Line 127  to the proxy server, which forwards it t
127  the response, and passes it back to the internal host.  the response, and passes it back to the internal host.
128    
129    
130  @node Configuration, Invoking Anubis, Overview, Top  @node Configuration, Rule System, Overview, Top
131  @chapter Configuration  @chapter Configuration
132  @cindex configuration  @cindex configuration
133  @cindex settings  @cindex settings
# Line 181  rules). Line 182  rules).
182  @menu  @menu
183  * CONTROL Section::  * CONTROL Section::
184  * TRANSLATION Section::  * TRANSLATION Section::
185  * GUILE section::  * GUILE Section::
 * Rule System::  
186  @end menu  @end menu
187    
188    
# Line 390  user-notprivileged = @var{username}  @r{ Line 390  user-notprivileged = @var{username}  @r{
390  @end example  @end example
391    
392    
393  @node TRANSLATION Section, GUILE section, CONTROL Section, Configuration  @node TRANSLATION Section, GUILE Section, CONTROL Section, Configuration
394  @section The TRANSLATION Section  @section The TRANSLATION Section
395  @cindex TRANSLATION section, The  @cindex TRANSLATION section, The
396    
# Line 430  and this means that @emph{all} users at Line 430  and this means that @emph{all} users at
430  the local john's configuration file.  the local john's configuration file.
431    
432    
433  @node GUILE section, Rule System, TRANSLATION Section, Configuration  @node GUILE Section, , TRANSLATION Section, Configuration
434  @section The GUILE section  @section The GUILE Section
435  @cindex GUILE section, The  @cindex GUILE section, The
436  @cindex Guile  @cindex Guile
437    @cindex extension language
438  @cindex Scheme  @cindex Scheme
439    
440  [This section is missing :-P]  [This section is missing :-P]
441    
442    
443  @node Rule System, , GUILE section, Configuration  @node Rule System, Invoking Anubis, Configuration, Top
444  @section The Rule System (The RULE Section)  @chapter The Rule System
445  @cindex Basic regular expressions  @cindex Basic regular expressions
446  @cindex Extended regular expressions  @cindex Extended regular expressions
447  @cindex Perl regular expressions  @cindex Perl regular expressions
# Line 474  and the @w{@code{---END---}} line ends i Line 475  and the @w{@code{---END---}} line ends i
475    
476    
477  @node Grammar, Action List, Rule System, Rule System  @node Grammar, Action List, Rule System, Rule System
478  @subsection Grammar (The Rule System)  @section Grammar
479  @cindex grammar  @cindex grammar
480    
481  [This section is missing :-P]  [This section is missing :-P]
482    
483    
484  @node Action List, Trigger, Grammar, Rule System  @node Action List, Trigger, Grammar, Rule System
485  @subsection The Action List  @section The Action List
486  @cindex Action List  @cindex Action List
487    
488  An @dfn{action list} is a list of action commands, which control processing  An @dfn{action list} is a list of action commands, which control processing
# Line 496  a long time. Line 497  a long time.
497  * Editing Headers::     How to edit a message header on-the-fly.  * Editing Headers::     How to edit a message header on-the-fly.
498  * Inserting Files::     How to append text files to an outgoing message.  * Inserting Files::     How to append text files to an outgoing message.
499  * Mail Encryption::     How to encrypt a message on-the-fly.  * Mail Encryption::     How to encrypt a message on-the-fly.
500  * Remailers::           How to enable the support for Remailers Type-I.  * Scheme Programs::     How to execute an external Scheme programs.
501  * External Processor::  How to process a message body using an external tool.  * External Processor::  How to process a message body using an external tool.
502    
503  * Command Summary::     A short command summary.  * Command Summary::     A short command summary.
# Line 504  a long time. Line 505  a long time.
505  @end menu  @end menu
506    
507  @node Editing Headers, Inserting Files, Action List, Action List  @node Editing Headers, Inserting Files, Action List, Action List
508  @subsubsection Editing Headers  @subsection Editing Headers
509  @cindex message header  @cindex message header
510    
511  @table @samp  @table @samp
512  @item add = @var{header-line}  @item add header[@var{key}] @var{value}
513  This action command adds the @var{header-line} to an outgoing  This action command adds a header line to an outgoing message.
514  message. For example:  The "header" keyword may be omitted. A @var{key} is the header
515    name. For example:
516    
517  @example  @example
518  add = X-Comment: GNU's Not Unix!  add header[X-Comment1] "GNU's Not Unix!"
519    add [X-Comment2] "Support FSF!"
520  @end example  @end example
521    
522  @item remove = @var{header-line} (a regular expression)  @item remove header[@var{key}]
523  This action command removes the header lines that match @var{header-line}  This action command removes the header lines that match a pattern
524  from an outgoing message. This has to be a regular expression.  from an outgoing message. The "header" keyword may be omitted.
525  For example:  A @var{key} is the header name and it can be a regular expression
526    matching a set of header names for "remove". For example:
527    
528  @example  @example
529  remove =^X-Mailer:  remove header["^X-Mailer"]
530    remove ["^X-.*"]
531  @end example  @end example
532    
533  This will remove the @samp{X-Mailer:} line from an outgoing  The first example will remove the @samp{X-Mailer:} line from
534  message.  an outgoing message, and the second one will remove all "X-*"
535    header lines.
536    
537  @item modify = @var{old-header-line} >> @var{new-header-line}  @item modify header[@var{key}] [@var{new-key}] @var{value}
538  This action command modifies a message header line (entirely or partly).  This action command modifies a message header line (entirely or partly).
539  An old header line (must be a regular expression) and a new header line  The "header" keyword may be omitted. A @var{key} is the header name.
540  are separated with @code{ >> }, i.e. @code{@key{SPC}>>@key{SPC}}.  It may be a regular expression matching a set of header names.
541    A @var{new-key} is optional.
542    
543  For example, the following code will change the @samp{Reply-To:}  For example, the following code will change the @samp{Reply-To:}
544  line only if you would send an email to @url{friend@@somewhere.net}.  line only if you would send an email to @url{friend@@somewhere.net}.
545    
546  @example  @example
547  @group  @group
548  if header =^To:.*<?friend@@somewhere.net>?  if header[To] = ".*<?friend@@somewhere.net>?"
549     modify =^Reply-To: >> Reply-To: private@@somewhere.net     modify header[Reply-To] "private@@somewhere.net"
550  fi  fi
551  @end group  @end group
552  @end example  @end example
# Line 549  line to @samp{X-Mailer: The Big Boss} en Line 556  line to @samp{X-Mailer: The Big Boss} en
556    
557  @example  @example
558  @group  @group
559  if header =^X-Mailer: PINE  if header[X-Mailer] = PINE
560     modify =^X-Mailer: >> X-Mailer: The Big Boss     modify header[X-Mailer] "The Big Boss"
561  fi  fi
562  @end group  @end group
563  @end example  @end example
# Line 560  and @dfn{back-references}, you can make Line 567  and @dfn{back-references}, you can make
567    
568  @example  @example
569  @group  @group
570  if header =^X-Mailer: (.*)  if header[X-Mailer] = "(.*)"
571     modify =^X-Mailer: >> X-Mailer: The lousy mailer \1     modify [X-Mailer] "The lousy mailer \1"
572  fi  fi
573  @end group  @end group
574  @end example  @end example
# Line 569  fi Line 576  fi
576  It is allowed to make up to nine substitutions (range: \1---\9).  It is allowed to make up to nine substitutions (range: \1---\9).
577  @end table  @end table
578    
579    
580  @node Inserting Files, Mail Encryption, Editing Headers, Action List  @node Inserting Files, Mail Encryption, Editing Headers, Action List
581  @subsubsection Inserting Files  @subsection Inserting Files
582    
583  @table @samp  @table @samp
584  @item signature-file-append = @var{yes-or-no}  @item signature-file-append = @var{yes-or-no}
# Line 589  This action command is rarely useful. Line 597  This action command is rarely useful.
597  @end table  @end table
598    
599    
600  @node Mail Encryption, Remailers, Inserting Files, Action List  @node Mail Encryption, Scheme Programs, Inserting Files, Action List
601  @subsubsection Mail Encryption  @subsection Mail Encryption
602  @cindex GNU Privacy Guard, GnuPG  @cindex GNU Privacy Guard, GnuPG
603  @cindex Pretty Good Privacy, PGP  @cindex Pretty Good Privacy, PGP
604  @cindex GPG/PGP private key  @cindex GPG/PGP private key
# Line 637  gpg-passphrase = @var{passphrase} Line 645  gpg-passphrase = @var{passphrase}
645  gpg-sign = yes  gpg-sign = yes
646  @end group  @end group
647  @end example  @end example
648    @end table
649    
650    
651    @node Scheme Programs, External Processor, Mail Encryption, Action List
652    @subsection Executing Scheme Programs
653    @cindex Scheme
654    @cindex Guile
655    
656    @menu
657    * ROT-13::          ROT-13 support.
658    * Remailers::       How to enable the support for Remailers Type-I.
659    @end menu
660    
661    
662    @node ROT-13, Remailers, Scheme Programs, Scheme Programs
663    @subsubsection ROT-13
664    @cindex ROT-13
665    
666    @table @samp
667  @item rot13-subject = @var{yes-or-no}  @item rot13-subject = @var{yes-or-no}
668  This command enables the simple ROT-13 message subject encoding.  This command enables the simple ROT-13 message subject encoding.
669  Value @samp{no} is the default. The ROT-13 encoding is a simple form  Value @samp{no} is the default. The ROT-13 encoding is a simple form
# Line 651  Value @samp{no} is the default. Line 677  Value @samp{no} is the default.
677  @end table  @end table
678    
679    
680  @node Remailers, External Processor, Mail Encryption, Action List  @node Remailers, , ROT-13, Scheme Programs
681  @subsubsection Remailers Type-I  @subsubsection Remailers Type-I
682  @cindex remailer  @cindex remailer
683    
# Line 694  and it is a random delay. Value @samp{no Line 720  and it is a random delay. Value @samp{no
720  @end table  @end table
721    
722    
723  @node External Processor, Command Summary, Remailers, Action List  @node External Processor, Command Summary, Scheme Programs, Action List
724  @subsubsection Using an External Processor  @subsection Using an External Processor
725    
726  @table @samp  @table @samp
727  @item external-body-processor = @var{file-name} [@var{args}]  @item external-body-processor = @var{file-name} [@var{args}]
# Line 704  which works on standard input and output Line 730  which works on standard input and output
730  crypto engine, a spell checker, some text generator, whatever.  crypto engine, a spell checker, some text generator, whatever.
731  @end table  @end table
732    
733    
734  @node Command Summary, Quick Example, External Processor, Action List  @node Command Summary, Quick Example, External Processor, Action List
735  @subsubsection Command Summary  @subsection Command Summary
736    
737  @example  @example
738  @group  @group
739  add = @var{header-line}  add header[@var{key}] @var{value}
740  remove = @var{header-line} (a regular expression)  remove header[@var{key}] @var{value}
741  modify = @var{old-header-line} >> @var{new-header-line}  modify header[@var{key}] [@var{new-key}] @var{value}
742  signature-file-append = @var{yes-or-no}  signature-file-append = @var{yes-or-no}
743  body-append = @var{file-name}  body-append = @var{file-name}
744  body-clear-append = @var{file-name}  body-clear-append = @var{file-name}
745  gpg-passphrase = @var{passphrase}  gpg-passphrase = @var{passphrase}
746  gpg-encrypt = @var{gpg-keys}  gpg-encrypt = @var{gpg-keys}
747  gpg-sign = @var{passphrase} or @samp{yes} if @samp{gpg-passphrase} is specified.  gpg-sign = @var{passphrase} or @samp{yes} if @samp{gpg-passphrase} is specified.
 rot13-subject = @var{yes-or-no}  
 rot13-body = @var{yes-or-no}  
 rm-rrt = @var{email-address}  
 rm-post = @var{news-group}  
 rm-gpg = @var{gpg-key}  
 rm-header = @var{header-line}  
 rm-lt = @var{time}  
 rm-rlt = @var{yes-or-no}  
748  external-body-processor = @var{file-name} [@var{args}]  external-body-processor = @var{file-name} [@var{args}]
749  @end group  @end group
750  @end example  @end example
751    
752    
753  @node Quick Example, , Command Summary, Action List  @node Quick Example, , Command Summary, Action List
754  @subsubsection Quick Example  @subsection Quick Example
755    
756  [This section is missing :-P]  [This section is missing :-P]
757    
758    
759  @node Trigger, , Action List, Rule System  @node Trigger, , Action List, Rule System
760  @subsection The Trigger  @section The Trigger
761  @cindex Trigger, The  @cindex Trigger, The
762    
763  Adding the @samp{@@@@@var{rule-name}} code to your message header line,  Adding the @samp{@@@@@var{rule-name}} code to your message header line,
# Line 780  while using a substitution and back-refe Line 799  while using a substitution and back-refe
799  ---BEGIN RULE---  ---BEGIN RULE---
800  rule "gpg-encrypt:(.*)"  rule "gpg-encrypt:(.*)"
801     gpg-encrypt = \1     gpg-encrypt = \1
802     add = X-GPG-Comment: Encrypted for \1     add header[X-GPG-Comment] "Encrypted for \1"
803  done  done
804  ---END---  ---END---
805  @end group  @end group
# Line 794  without creating a separate rules for ea Line 813  without creating a separate rules for ea
813  those 3---4 lines are enough.  those 3---4 lines are enough.
814    
815    
816  @node Invoking Anubis, Sample Beginning, Configuration, Top  @node Invoking Anubis, Sample Beginning, Rule System, Top
817  @chapter Invoking GNU Anubis  @chapter Invoking GNU Anubis
818  @cindex command line  @cindex command line
819    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26