/[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.8 by polak, Thu Jul 10 14:23:59 2003 UTC revision 1.9 by polak, Thu Jul 10 18:52:44 2003 UTC
# Line 215  for instance: @code{bind} or @code{BIND} Line 215  for instance: @code{bind} or @code{BIND}
215  * Proxy Settings::  * Proxy Settings::
216  * Encryption Settings::  * Encryption Settings::
217  * Security Settings::  * Security Settings::
   
 * Option Summary::  
218  @end menu  @end menu
219    
220    
# Line 261  local-mta /usr/sbin/sendmail -bs Line 259  local-mta /usr/sbin/sendmail -bs
259  @opindex esmtp-auth @var{username}:@var{password}  @opindex esmtp-auth @var{username}:@var{password}
260  This option allows you to specify a user name and a password for the  This option allows you to specify a user name and a password for the
261  ESMTP authentication. Use this option if your MTA requires such an  ESMTP authentication. Use this option if your MTA requires such an
262  authentication, but your MUA does not support it. A user name (@var{username})  authentication, but your MUA does not support it. A @var{username}
263  and a password (@var{password}) are separated with a colon (@samp{:}).  and a @var{password} are separated with a colon (@samp{:}).
264  Currently only @dfn{CRAM-MD5} and @dfn{LOGIN} authentication methods are  Currently only @dfn{CRAM-MD5} and @dfn{LOGIN} authentication methods are
265  supported (and @dfn{CRAM-MD5} has a priority). The @dfn{LOGIN} method,  supported (and @dfn{CRAM-MD5} has a priority). The @dfn{LOGIN} method,
266  for security reasons, can only be used both with the TLS/SSL encryption.  for security reasons, can only be used both with the TLS/SSL encryption.
# Line 343  and a default mode is SOCKS protocol ver Line 341  and a default mode is SOCKS protocol ver
341  @deffn Option socks-auth @var{username}:@var{password}  @deffn Option socks-auth @var{username}:@var{password}
342  @opindex socks-auth @var{username}:@var{password}  @opindex socks-auth @var{username}:@var{password}
343  Specify a user name and a password, if a SOCKS proxy server requires them.  Specify a user name and a password, if a SOCKS proxy server requires them.
344  A user name (@var{username}) and a password (@var{password}) are separated  A @var{username} and a @var{password} are separated with a colon (@samp{:}).
 with a colon (@samp{:}).  
345  @end deffn  @end deffn
346    
347    
# Line 386  Specify a CA certificate file (supported Line 383  Specify a CA certificate file (supported
383  @end deffn  @end deffn
384    
385    
386  @node Security Settings, Option Summary, Encryption Settings, CONTROL Section  @node Security Settings, , Encryption Settings, CONTROL Section
387  @subsection Security Settings  @subsection Security Settings
388    
389  @deffn Option allow-local-mta @var{yes-or-no}  @deffn Option allow-local-mta @var{yes-or-no}
# Line 414  in the @file{/etc/passwd}, if necessary. Line 411  in the @file{/etc/passwd}, if necessary.
411  @end deffn  @end deffn
412    
413    
 @node Option Summary, , Security Settings, CONTROL Section  
 @subsection Option Summary  
 @printindex op  
   
   
414  @node TRANSLATION Section, GUILE Section, CONTROL Section, Configuration  @node TRANSLATION Section, GUILE Section, CONTROL Section, Configuration
415  @section The TRANSLATION Section  @section The TRANSLATION Section
416  @cindex TRANSLATION section, The  @cindex TRANSLATION section, The
# Line 461  the local john's configuration file. Line 453  the local john's configuration file.
453    
454  @node GUILE Section, , TRANSLATION Section, Configuration  @node GUILE Section, , TRANSLATION Section, Configuration
455  @section The GUILE Section  @section The GUILE Section
456  @cindex GUILE section  @cindex GUILE section, The
457  @cindex Guile  @cindex Guile
458  @cindex extension language  @cindex extension language
459  @cindex Scheme  @cindex Scheme
# Line 499  Reads the given Scheme program. Line 491  Reads the given Scheme program.
491    
492  @node Rule System, Invoking Anubis, Configuration, Top  @node Rule System, Invoking Anubis, Configuration, Top
493  @chapter The Rule System  @chapter The Rule System
494    @cindex rule system
495    
496  The rule system is a core part of GNU Anubis. It can be regarded  The rule system is a core part of GNU Anubis. It can be regarded
497  as a program that is executed for every outgoing message.  as a program that is executed for every outgoing message.
# Line 539  It allows to execute arbitrary actions d Line 532  It allows to execute arbitrary actions d
532  condition is met. A conditional statement in its simplest form is:  condition is met. A conditional statement in its simplest form is:
533    
534  @deffn Syntax if @var{part} [@var{pattern-match-flags}] @var{cond-expr}  @deffn Syntax if @var{part} [@var{pattern-match-flags}] @var{cond-expr}
535  @deffnx Syntax  @var{action-list-1}  @deffnx Syntax @var{action-list-1}
536  @deffnx Syntax fi  @deffnx Syntax fi
537            
538  The @var{part} specifies which part of the input should be considered  The @var{part} specifies which part of the input should be considered
# Line 552  command or headers will be searched. Line 545  command or headers will be searched.
545    
546  The optional @var{pattern-match-flags} alter the pattern matching  The optional @var{pattern-match-flags} alter the pattern matching
547  type used in subsequent conditional expression. It  type used in subsequent conditional expression. It
548  will be described in detail in the section @ref{Regular expressions}.  will be described in detail in the section @ref{Regular Expressions}.
549  The @var{cond-expr} is a @dfn{conditional expression}.  The @var{cond-expr} is a @dfn{conditional expression}.
550  It consists of a series of @dfn{conditions} joined together with  It consists of a series of @dfn{conditions} joined together with
551  boolean operators @samp{and} or @samp{or} (@pxref{Boolean operators}).  boolean operators @samp{and} or @samp{or} (@pxref{Boolean Operators}).
552  Each condition is:  Each condition is:
553    
554  @table @asis  @table @asis
# Line 578  is useful for changing operator preceden Line 571  is useful for changing operator preceden
571  The simplest example:  The simplest example:
572    
573  @smallexample  @smallexample
574    @group
575  if header [Subject] "^ *Re:"  if header [Subject] "^ *Re:"
576    ...    ...
577  fi  fi
578    @end group
579  @end smallexample  @end smallexample
580    
581  The actions represented by @dots{} will be executed only if the  The actions represented by @dots{} will be executed only if the
# Line 593  the two different action sets depending Line 588  the two different action sets depending
588  syntax is:  syntax is:
589    
590  @deffn Syntax if @var{part} [@var{flags}] @var{cond-expr}  @deffn Syntax if @var{part} [@var{flags}] @var{cond-expr}
591  @deffnx Syntax  @var{action-list-1}  @deffnx Syntax @var{action-list-1}
592  @deffnx Syntax else  @deffnx Syntax else
593  @deffnx Syntax @var{action-list-2}    @deffnx Syntax @var{action-list-2}  
594  @deffnx Syntax fi  @deffnx Syntax fi
# Line 603  Here, The @var{action-list-1} is execute Line 598  Here, The @var{action-list-1} is execute
598  executed.  executed.
599    
600  @smallexample  @smallexample
601    @group
602  if @var{part} [@var{flags}] @var{cond-expr}  if @var{part} [@var{flags}] @var{cond-expr}
603    @var{action-list-1}    @var{action-list-1}
604  else  else
605    @var{action-list-2}      @var{action-list-2}  
606  fi  fi
607    @end group
608  @end smallexample  @end smallexample
609  @noindent  @noindent
610    
# Line 620  rule sets. Line 617  rule sets.
617  @end deffn  @end deffn
618    
619  @menu  @menu
620  * Boolean operators::  * Boolean Operators::
621  * Regular expressions::  * Regular Expressions::
622  * Action List::  * Action List::
623  * Triggers::  * Triggers::
624  @end menu  @end menu
625    
626    
627  @node Boolean operators, Regular expressions, Rule System, Rule System  @node Boolean Operators, Regular Expressions, Rule System, Rule System
628  @section Boolean operators  @section Boolean Operators
629    
630  The following table lists the three boolean operators that can be used  The following table lists the three boolean operators that can be used
631  in Anubis conditional expressions in the order of increasing binding  in Anubis conditional expressions in the order of increasing binding
# Line 643  strength: Line 640  strength:
640  As an example, let's consider the following statement:  As an example, let's consider the following statement:
641    
642  @smallexample  @smallexample
643    @group
644  if header[X-Mailer] "mutt" or header[X-Mailer] "mail" \  if header[X-Mailer] "mutt" or header[X-Mailer] "mail" \
645     and not header[Content-Type] "^multipart/mixed;.*"     and not header[Content-Type] "^multipart/mixed;.*"
646     @var{action}     @var{action}
647  fi  fi
648    @end group
649  @end smallexample  @end smallexample
650  @noindent  @noindent
651    
# Line 673  Notice the use of parentheses to change Line 672  Notice the use of parentheses to change
672  boolean operators.  boolean operators.
673    
674    
675  @node Regular expressions, Action List, Boolean operators, Rule System  @node Regular Expressions, Action List, Boolean Operators, Rule System
676  @section Regular expressions  @section Regular Expressions
677  @cindex regex, flag  @cindex regex, flag
678  @cindex re, flag  @cindex re, flag
679  @cindex perl, flag  @cindex perl, flag
# Line 738  next occurrence of the @code{regex} stat Line 737  next occurrence of the @code{regex} stat
737  A couple of examples:  A couple of examples:
738    
739  @smallexample  @smallexample
740    @group
741  if header[Subject] :perlre "(?<=(?<!foo)bar)baz"  if header[Subject] :perlre "(?<=(?<!foo)bar)baz"
742   ...   ...
743  fi  fi
744    @end group
745  @end smallexample  @end smallexample
 @noindent  
746    
747    @noindent
748  This will match any @code{Subject} header whose value  This will match any @code{Subject} header whose value
749  matches an occurrence of @samp{baz} that is preceded by @samp{bar}  matches an occurrence of @samp{baz} that is preceded by @samp{bar}
750  which in turn is not preceded by @samp{foo}.  which in turn is not preceded by @samp{foo}.
# Line 752  which in turn is not preceded by @samp{f Line 752  which in turn is not preceded by @samp{f
752  @smallexample  @smallexample
753  if header[Subject] :scase "^Re"  if header[Subject] :scase "^Re"
754  @end smallexample  @end smallexample
 @noindent  
755    
756    @noindent
757  will match a @code{Subject} header whose value starts with @samp{Re},  will match a @code{Subject} header whose value starts with @samp{Re},
758  but will not match it if it starts with @samp{RE} or @samp{re}.  but will not match it if it starts with @samp{RE} or @samp{re}.
759    
# Line 767  For information about Perl-style regular Line 767  For information about Perl-style regular
767  Perl documentation.  Perl documentation.
768    
769    
770  @node Action List, Triggers, Regular expressions, Rule System  @node Action List, Triggers, Regular Expressions, Rule System
771  @section Action List  @section Action List
772  @cindex Action List  @cindex Action List
773    
# Line 781  with GNU Anubis > 3.6.2, because this Ma Line 781  with GNU Anubis > 3.6.2, because this Ma
781  a long time.  a long time.
782    
783  @menu  @menu
784  * Adding Headers or Text::  * Adding Headers or Text:: How to add a new header or body line(s).
785  * Removing Headers::  * Removing Headers::       How to remove a message header line(s).
786  * Modifying Messages::  How to modify a message contents on-the-fly.  * Modifying Messages::     How to modify a message contents on-the-fly.
787  * Inserting Files::     How to append text files to an outgoing message.  * Inserting Files::        How to append text files to an outgoing message.
788  * Mail Encryption::     How to encrypt a message on-the-fly.  * Mail Encryption::        How to encrypt a message on-the-fly.
789  * Remailers::           How to enable the support for Remailers Type-I.  * Remailers::              How to enable the support for Remailers Type-I.
790  * Rot-13::              How to use rot-13 transformation.  * Rot-13::                 How to use rot-13 transformation.
791  * External Processor::  How to process a message body using an external tool.  * External Processor::     How to process a message body using an external tool.
792    * Quick Example::          A quick example of using an action list.
 * Command Summary::     A short command summary  
 * Quick Example::       A quick example of using an action list.  
793  @end menu  @end menu
794    
795    
# Line 822  Use of this command with @samp{here docu Line 820  Use of this command with @samp{here docu
820  to append multiline text to the message, e.g.:  to append multiline text to the message, e.g.:
821    
822  @smallexample  @smallexample
823    @group
824  add body <<-EOT  add body <<-EOT
825      Regards,      Regards,
826      Hostmaster      Hostmaster
827      EOT      EOT
828    @end group
829  @end smallexample  @end smallexample
830    
831    
# Line 841  message. The syntax is: Line 841  message. The syntax is:
841    
842  The name of the header to delete is given by @var{string} parameter.  The name of the header to delete is given by @var{string} parameter.
843  By default only those headers are removed whose names match it exactly.  By default only those headers are removed whose names match it exactly.
844  Optional @var{flags} allow to change this behavior. @xref{Regular  Optional @var{flags} allow to change this behavior. @xref{Regular Expressions},
845  expressions}, for the detailed description of these.  for the detailed description of these.
846  @end deffn  @end deffn
847    
848  An example:  An example:
# Line 1065  Adds an extra header line to the remaile Line 1065  Adds an extra header line to the remaile
1065  Example:  Example:
1066    
1067  @smallexample  @smallexample
1068    @group
1069  rule "remail:(.*)/(.*)"  rule "remail:(.*)/(.*)"
1070   guile-process remailer-I #:rrt antonius_block@@helsingor.net \   guile-process remailer-I #:rrt antonius_block@@helsingor.net \
1071                            #:post \1 \                            #:post \1 \
1072                            #:latent \2 \                            #:latent \2 \
1073                            #:header "X-Processed-By: GNU Anubis & Remailer-I"                            #:header "X-Processed-By: GNU Anubis & Remailer-I"
1074  done  done
1075    @end group
1076  @end smallexample  @end smallexample
1077    
1078  @end deffn  @end deffn
# Line 1110  Encrypt the @samp{Subject} header. Line 1112  Encrypt the @samp{Subject} header.
1112  For example:  For example:
1113    
1114  @smallexample  @smallexample
1115    @group
1116  rule "rot-13.*body"  rule "rot-13.*body"
1117   guile-process rot-13 #:body   guile-process rot-13 #:body
1118  done  done
# Line 1117  done Line 1120  done
1120  rule "rot-13.*subj"  rule "rot-13.*subj"
1121   guile-process rot-13 #:subject   guile-process rot-13 #:subject
1122  done  done
1123    @end group
1124  @end smallexample    @end smallexample  
1125  @end deffn  @end deffn
1126    
1127    
1128  @node External Processor, Command Summary, Rot-13, Action List  @node External Processor, Quick Example, Rot-13, Action List
1129  @subsection Using an External Processor  @subsection Using an External Processor
1130    
1131  @deffn Command external-body-processor @var{program} [@var{args}]  @deffn Command external-body-processor @var{program} [@var{args}]
# Line 1134  from the @var{program} replaces the body Line 1138  from the @var{program} replaces the body
1138  @end deffn  @end deffn
1139    
1140    
1141  @node Command Summary, Quick Example, External Processor, Action List  @node Quick Example, , External Processor, Action List
 @subsection Command Summary  
 @printindex cm  
   
   
 @node Quick Example, , Command Summary, Action List  
1142  @subsection Quick Example  @subsection Quick Example
1143    
1144  Here is a quick example of using an action list:  Here is a quick example of using an action list:

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

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