diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2014-05-19 08:29:37 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2014-05-19 08:29:37 +0300 |
commit | 66e3cfbe02297912071adbb7cc59e5f4eb5781d1 (patch) | |
tree | 49fc5573dd703ce37c878bd103ee52bbfd24d88a | |
parent | bc0eeb7706bf5ba3d89f7f5e3563827c3981cc70 (diff) | |
download | anubis-66e3cfbe02297912071adbb7cc59e5f4eb5781d1.tar.gz anubis-66e3cfbe02297912071adbb7cc59e5f4eb5781d1.tar.bz2 |
Improve docs.
* doc/anubis.texi: Update.
* doc/mime.texi: Update.
-rw-r--r-- | doc/anubis.texi | 290 | ||||
-rw-r--r-- | doc/mime.texi | 35 |
2 files changed, 163 insertions, 162 deletions
diff --git a/doc/anubis.texi b/doc/anubis.texi index eec5cfc..17c937a 100644 --- a/doc/anubis.texi +++ b/doc/anubis.texi @@ -16,3 +16,3 @@ @copying -Copyright @copyright{} 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2011 +Copyright @copyright{} 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2011, 2014 Wojciech Polak and Sergey Poznyakoff. @@ -74,3 +74,3 @@ documents GNU Anubis Version @value{VERSION}. * Invoking Anubis:: How to Invoke the GNU @command{anubis}. -* Sample Beginning:: Here is a sample beginning. +* Quick Start:: A Quick Start Example. * TLS/SSL:: Using TLS/SSL Encryption. @@ -198,5 +198,6 @@ Using Mutt with Anubis -GNU Anubis is an @acronym{SMTP} message submission daemon. Its purpose is to receive -the outgoing message, optionally perform some manipulations over its contents, -and to forward altered message to the mail transport agent. +GNU Anubis is an @acronym{SMTP} message submission daemon. Its purpose +is to receive outgoing messages, optionally perform some manipulations +over their content, and to forward altered messages to the mail +transport agent. @@ -231,3 +232,3 @@ key, because his @acronym{MUA} does not support this operation. In such cases, installing GNU Anubis between the @acronym{MUA} and @acronym{MTA} -allows the user to perform any additional processing on the +allows the user to perform additional processing on the sent message. The figure below illustrates this concept: @@ -258,4 +259,4 @@ SOCKS proxies, etc. -When the set of built-in operations is not enough, the user can -define his own operations using Guile, a @dfn{GNU's Ubiquitous +When the set of built-in operations is not enough, administrators can +define new ones using Guile, a @dfn{GNU's Ubiquitous Intelligent Language for Extensions}. @@ -284,3 +285,3 @@ party, its user name and configuration settings. @item Protocol -Any standard for information exchange. A protocol +A standard for information exchange. Protocol defines specific wording and control flow for communications between @@ -290,3 +291,5 @@ two or more programs, devices or systems. Simple Mail Transport Protocol is a common mechanism for exchanging -mail across a network. This protocol is described in the @acronym{RFC} 821 document. +mail across a network. This was described initially in @acronym{RFC} +821, and subsequently extended by more documents, the most recent one +being @acronym{RFC} 5321. @@ -326,3 +329,3 @@ Privacy}). When GNU Anubis accepts incoming connection, it first has to identify -the remote party, i.e. to determine whether it has enough rights to use +the remote party, i.e. to determine whether it is authorised to use Anubis resources and, if so, what configuration settings to use @@ -345,4 +348,3 @@ up to 3.6.2. This mode uses @acronym{SMTP} AUTH mechanism to authenticate incoming -connections. @xref{Pixie-Dixie}, this is the first draft -description of this mode. +connections. @xref{Pixie-Dixie}, original description of this mode. @end table @@ -357,4 +359,4 @@ Deficiencies: @enumerate -@item User must have @command{identd} installed on his machine. -@item Each user must have a system account on the machine running +@item The user must have @command{identd} installed on his machine. +@item The user must have a system account on the machine running GNU Anubis (though the system administrator may relax @@ -376,3 +378,3 @@ Deficiencies: @item A user database is needed -@item User's @acronym{MUA} must be able to perform ESMTP AUTH.@footnote{It is +@item @acronym{MUA}s of the users must be able to perform ESMTP AUTH.@footnote{It is not a serious restriction, however. Users may install Anubis on their @@ -400,3 +402,3 @@ Anubis runs. -@dfn{User Database} is a place where GNU Anubis keeps @dfn{user +A @dfn{User Database} is a storage system where GNU Anubis keeps @dfn{user credentials}, i.e. data necessary for authenticating and authorizing @@ -406,3 +408,3 @@ layer. -User database consists of @dfn{records}. Each record keeps +The user database consists of @dfn{records}. Each record keeps information about a particular @dfn{user}. A record consists @@ -470,3 +472,3 @@ where: @item proto -Specifies the database @dfn{protocol}. Protocol describes how +Specifies the database @dfn{protocol}. The protocol describes how the database is to be accessed. In a way, it may be regarded as @@ -486,6 +488,6 @@ These protocols are described in detail below. @item user -User name necessary to access the database. +The name of the user authorized to access the database. @item password -User password necessary to access the database. +Password for the above user. @@ -526,4 +528,3 @@ If @samp{:} character occurs as a part of a field, it must be escaped by a single backslash character (@samp{\\}, @acronym{ASCII} 92). -The record must contain at least two fields. Fields are placed in -this order: +Each record must contain at least two and no more than four fields: @@ -533,3 +534,3 @@ this order: @item Account name. -@item Path to user configuration file. +@item Pathname of the user configuration file. @end enumerate @@ -558,4 +559,4 @@ a @dfn{key} and @dfn{content}. Its @code{key} holds the value of @acronym{SMTP} password, system account name and path to user -configuration file, separated by commas. As usual, the two last fields -are optional. +configuration file, separated by commas. As it was with @samp{text} +databases, the two last fields are optional. @@ -590,3 +591,3 @@ may be specified in @acronym{URL} as discussed below. @smallexample -@var{proto}://[[@var{user}[:@var{password}]@@@var{host}/@var{dbname}[@var{params}] +@var{proto}://[[@var{user}[:@var{password}]@@]@var{host}/]@var{dbname}[@var{params}] @end smallexample @@ -598,5 +599,5 @@ databases. Optional @var{user} and @var{password} specify authentication -credentials necessary to access the database. +credentials for accessing the database. -@var{Host} sets domain name or @acronym{IP} address of the machine running +@var{Host} sets the domain name or @acronym{IP} address of the machine running the database. It may be omitted if the database resides on @@ -606,3 +607,3 @@ The database name is specified by the @var{dbname} element. -Any further details needed for connecting to the database are +Further details needed for connecting to the database are given by @acronym{URL} parameters. All of them have reasonable @@ -666,3 +667,3 @@ is organized in groups, each group beginning with the group name in square brackets on a separate line. Within a group, each non-empty -line consists of a MySQL option name, optionally followed by an equal +line consists of a MySQL option name, optionally followed by an equals sign and the value. By default, the values from the @samp{anubis} @@ -700,4 +701,4 @@ record in the database, provided that he already has one. -All administrative tasks are done using @command{anubisadm} command --- -a multipurpose tool for Anubis administrator. +All administrative tasks are done via the @command{anubisadm} command --- +a multipurpose tool for Anubis administrators. @@ -774,3 +775,3 @@ from one format (protocol) to another. For example, suppose you have been running @acronym{GDBM} database (@code{text:/etc/anubis.db}) -for some time, but now it has grown considerably and you decided to +for some time, but now it has grown so big that you decided to switch to PostgreSQL database to improve performance. To do so, @@ -878,3 +879,3 @@ Specify the user's configuration file. -For example, the following command sets new configuration file name +For example, the following command changes the name of configuration file for the user @samp{smith}: @@ -955,3 +956,3 @@ commands. Users maintain their database records via the @command{anubisusr} -command. We recommend to invoke +command. We suggest invoking @command{anubisusr} from your @file{~/.profile}, which will make @@ -1054,3 +1055,3 @@ line introduces a single statement. A statement consists of @dfn{words}, each word being defined as a contiguous sequence of -non-whitespace symbols. A word may be composed of alphanumeric +non-whitespace symbols. The word may be composed of alphanumeric characters and any of the following punctuation symbols: @@ -1106,3 +1107,3 @@ made for back references \1 - \9.} -The familiar shell @dfn{here document} syntax may be used to produce +The familiar shell @dfn{here document} syntax can be used to produce a word containing several lines of text. The syntax is: @@ -1149,8 +1150,8 @@ a very long statement\ -A @samp{#} in a line starts a @dfn{comment}. It and the rest of -the line are ignored. Comments may appear on any of the lines in -the configuration file, except on a command and within a -``here-document'' construction. -A line containing just a comment (with optional whitespace before it) is -effectively blank, and is ignored. For example: +A @samp{#} in a line starts a @dfn{comment}. The @samp{#} character +and the rest of the line following it are ignored. Comments may appear +anywhere in the configuration file, except within a command line or +a ``here-document'' construct. A line containing just a +comment (with optional whitespace before it) is effectively blank, and +is ignored. For example: @@ -1191,3 +1192,3 @@ Sections cannot be nested. -There are five predefined sections, whose names are uppercase. +There are five predefined sections, whose names are in uppercase. The user may define his own sections, which may then be referred @@ -1209,3 +1210,3 @@ configuration file. @item GUILE -Configures Guile interpreter. This section is allowed in both +Configures the Guile interpreter. This section is allowed in both configuration files. @@ -1230,3 +1231,3 @@ The @code{AUTH} session controls various aspects of authentication mode. Configures the greeting message issued by GNU Anubis upon accepting -the connection. +SMTP connection. @end deffn @@ -1254,3 +1255,3 @@ authentication method. Default is @samp{anubis}. Sets the SASL hostname. By default, the server determines it -automatically. If, however, it makes a wrong guess, you can fix it +automatically. If it happens to make a wrong guess, you can fix it using this directive. @@ -1268,7 +1269,7 @@ Sets the SASL realm. By default, the local domain is used as SASL realm The @samp{CONTROL} section defines basic GNU Anubis behavior. -If used in the system configuration file, it applies to all users on -the machine. Each user can have a @samp{CONTROL} section in his +If used in the system-wide configuration file, it applies to all users in +the system. Each user can have a @samp{CONTROL} section in his configuration file, to customize his personal settings. Of course, not all options can be set or changed by the user. Some options can only be -set in the system configuration file, and some only in user +set in the system configuration file, and some only in the user configuration file. By default, options specified in the user @@ -1416,4 +1417,4 @@ This command is allowed only in the system configuration file. @deffn Option logfile @var{file-name} -This command sets the name of the additional log file. GNU Anubis logs -there the messages about user's @acronym{SMTP} session, as defined by +This command sets the name of additional log file. GNU Anubis logs +there messages about user's @acronym{SMTP} session, as defined by the @samp{loglevel} statement (see below). For example: @@ -1429,3 +1430,3 @@ the user's home directory. @deffn Option loglevel @var{level} -This option defines the verbosity level for the additional log +This option defines verbosity level for the additional log file. It may be used only in user configuration file. Allowed @@ -1451,3 +1452,3 @@ When this option is used in the system-wide configuration file, only boolean argument is allowed. Using @samp{tracefile yes} enables -logging of the actions and tests to the default syslog channel. +logging of actions and tests to the default syslog channel. Using @samp{tracefile no} disables it. @@ -1520,7 +1521,7 @@ whitespace. Anubis selects the authentication method using the following algorithm: -@acronym{MTA} presents the list of authentication methods it supports. +@acronym{MTA} presents a list of authentication methods it supports. For each element in @var{mech-list}, Anubis tests whether it is available in the list presented by @acronym{MTA}. If found, this method is -selected. For example, suppose that the @acronym{MTA} supports the following -mechanisms: +selected. For example, suppose that the @acronym{MTA} reports the following +supported mechanisms: @@ -1538,3 +1539,3 @@ esmtp-allowed-mech DIGEST-MD5 CRAM-MD5 LOGIN @noindent -Then, Anubis will select CRAM-MD5. +Then, Anubis will select @samp{CRAM-MD5}. @@ -1543,3 +1544,3 @@ Then, Anubis will select CRAM-MD5. @deffn Option esmtp-require-encryption @var{mech-list} -Declares the list of mechanisms that may be used only over +Declares the list of mechanisms that can be used only over a TLS encrypted channel. By default Anubis uses @@ -1560,5 +1561,6 @@ possible, normally while handling the client @samp{EHLO} command. When this statement is set to @samp{yes}, authentication is delayed -until the client issued the @samp{MAIL} command. This allows you -to select authentication credentials depending on the sender email. -For a detailed description of this feature, see @ref{Modifying SMTP Commands}. +until the client issued the @samp{MAIL} command. This will allow +@command{anubis} to select authentication credentials depending on the +sender email. For a detailed description of this feature, see +@ref{Modifying SMTP Commands}. @end deffn @@ -1641,4 +1643,4 @@ this option does not require setting the @samp{ssl-key} and @deffn Option ssl-priorities @var{list} -Sets cipher suite preferences to use. The @var{list} argument may -contain a single initial keyword or be a colon-separated list of TLS +Sets cipher suite preferences to use. The @var{list} argument is +either a single initial keyword or a colon-separated list of TLS keywords. The description of TLS keywords is well beyond the scope of @@ -1647,3 +1649,3 @@ Strings,,gnutls,GnuTLS Manual}, for a detailed discussion. -Default priority list is @samp{NORMAL}. +The default priority list is @samp{NORMAL}. @end deffn @@ -1760,3 +1762,3 @@ For example: BEGIN TRANSLATION -translate jack@@somewhere.net into john +translate jack@@example.net into john END @@ -1766,3 +1768,3 @@ END @noindent -This rule will allows the remote user @samp{jack} at @samp{somewhere.net} +This rule will allows the remote user @samp{jack} at @samp{example.net} to use the configuration file of the local user @samp{john}. @@ -1771,6 +1773,6 @@ In the contrast, this statement: @smallexample -translate somewhere.net into john +translate example.net into john @end smallexample @noindent -means that @emph{all} users at @samp{somewhere.net} are allowed to use +means that @emph{all} users at @samp{example.net} are allowed to use the local john's configuration file. @@ -1788,4 +1790,4 @@ and output ports. -By default both ports are redirected to syslog. Standard error port -uses the @samp{err} priority, standard output port writes to the +By default both ports are redirected to syslog. The standard error port +uses the @samp{err} priority, and the standard output port writes to the @samp{warning} priority. @@ -1793,4 +1795,4 @@ uses the @samp{err} priority, standard output port writes to the This option has no effect if GNU Anubis is started -with either of @option{--foreground} or @option{--stdio} command line -options. +with either @option{--foreground} or @option{--stdio} command line +option. @end deffn @@ -1798,3 +1800,3 @@ options. @deffn Command guile-debug @var{yes-or-no} -When set to @samp{yes} enables Guile stack traces and debugging output. +When set to @samp{yes}, enables Guile stack traces and debugging output. @end deffn @@ -1818,3 +1820,3 @@ as a program that is executed for every outgoing message. -Throughout this chapter, when showing syntax definitions their +Throughout this chapter, when showing syntax definitions, their optional parts will be enclosed in a pair of square @@ -1874,3 +1876,3 @@ is optional. -A @dfn{conditional statement} defines the control flow within the section. +A @dfn{conditional statement} defines control flow within the section. It allows to execute arbitrary actions depending on whether a certain @@ -1894,3 +1896,3 @@ A simple @var{condition} has the following syntax: @noindent -(where the square brackets denote optional parts). Its parts are: +(square brackets denoting optional parts). Its parts are: @@ -1957,5 +1959,5 @@ executed. -Note, that both @var{action-list-1} and @var{action-list-2} may in +Note, that both @var{action-list-1} and @var{action-list-2} can in turn contain conditionals, so that the conditional -statements may be nested. This allows to create very sophisticated +statements may be nested. This allows for creating very sophisticated rule sets. As an example, consider the following statement: @@ -2046,4 +2048,4 @@ fi -This fragment will first create the string containing all @code{RCPT -TO} addresses, separated by a comma, and then match it against +This fragment will first create a string containing all @code{RCPT +TO} addresses, separated by commas, and then match it against the regular expression on the right hand side. Since this expression @@ -2075,3 +2077,3 @@ of @code{trigger}. -The triggers act as follows: First, the value of the @samp{Subject} header is +The trigger acts as follows: First, the value of the @samp{Subject} header is matched against the pattern @samp{@@@@}@var{pattern}. If it matches, @@ -2110,4 +2112,5 @@ Now, if you send an email with the subject ending on John!@@@@gpg-encrypt-john}), it will be encrypted with John's public -key. The trigger will remove the @samp{@@@@}, so John will only -receive a message with @samp{hello John!} as a subject. +key. The trigger will remove the @samp{@@@@} and the characters +following it, so John will only receive a message with @samp{hello +John!} as a subject. @@ -2131,4 +2134,3 @@ a subject @w{@samp{hello John!@@@@gpg-encrypt:john's_gpg_key}}. This way, you decide at a run time which public key should be used, -without creating separate rules for each user; thanks to back-references, -those 3---4 lines are enough. +without creating separate rules for each user. @@ -2138,3 +2140,3 @@ those 3---4 lines are enough. -The following table lists the three boolean operators that can be used +The following table lists the boolean operators that can be used in Anubis conditional expressions in the order of increasing binding @@ -2198,4 +2200,4 @@ boolean operators. GNU Anubis supports two types of regular expressions: POSIX (both -basic and extended), and Perl-style regular expressions. Among this, -the former are always supported, whereas the support for the latter +basic and extended), and Perl-style regular expressions. The former +are always supported, whereas the support for the latter depends on the configuration settings at compile time. By default @@ -2328,3 +2330,3 @@ can use for instance: @samp{add} or @samp{ADD} or @samp{AdD}, and so on. The @code{stop} command stops processing of the -section immediately. It may be used in the main @code{RULE} section as well as +section immediately. It can be used in the main @code{RULE} section as well as in any user-defined section. For example: @@ -2438,3 +2440,3 @@ For each header whose name matches @var{key}, replaces its name with @var{new-key}. If @var{key} is a regular expressions, @var{new-key} -may contain back references. For example, the following statement +can contain back references. For example, the following statement selects all headers whose names start with @samp{X-} and changes their @@ -2457,5 +2459,2 @@ modify [Subject] "New subject" -@noindent -This statement sets the new value to the @code{Subject} header. - Every occurrence of unescaped @samp{&} in the new value will be replaced @@ -2519,6 +2518,6 @@ modify body :extended ["the old \([[:alnum:]]+\)"] "the new \1" -GNU Anubis is able to modify arguments of the @acronym{SMTP} commands. +GNU Anubis is able to modify arguments of @acronym{SMTP} commands. To instruct it to do so, define a section named @samp{SMTP}. Anubis will call this section each time -it receives an @acronym{SMTP} command. This section may contain +it receives an @acronym{SMTP} command. This section can contain any statements allowed for @samp{RULE} section, plus the @@ -2609,3 +2608,3 @@ END It is because by the time @samp{MAIL FROM} is received, the -@samp{EHLO} command has already been processed and send to +@samp{EHLO} command has already been processed and sent to the server. @@ -2665,5 +2664,5 @@ body-append @var{file-name} Specifies your private key's pass phrase for signing messages -using the GNU Privacy Guard. Of course, to protect your passwords in -the configuration file use the 0600 (u=rw,g=,o=) permissions, -otherwise GNU Anubis won't accept them. +using the GNU Privacy Guard. To protect your passwords from +being compromised, use the 0600 (u=rw,g=,o=) permissions for the +configuration file, otherwise GNU Anubis won't accept them. @@ -2753,3 +2752,3 @@ from it replaces the original body of the message. The amount of data fed to the external program depends on the -message. For plain messages, entire body is passed. For +message. For plain messages, the entire body is passed. For multi-part messages, only the first part is passed by default. @@ -2889,4 +2888,4 @@ Let's consider a more constructive example. The following function checks if the @code{Subject} header starts with string @samp{ODP:} -(a Polish equivalent to @samp{Re:}), and if it does, the function -replaces it with @samp{Re:}. It always adds to the message the header +(a Polish equivalent to @samp{Re:}), and if it does, +replaces it with @samp{Re:}. It also adds the header @@ -2897,4 +2896,4 @@ X-Processed-By: GNU Anubis @noindent -Additionally, if the optional argument is given, it is appended to -the body of the message. +Additionally, an optional argument can be used. If it is given, it will +be appended to the body of the message. @@ -2970,3 +2969,3 @@ reading a disturbing message. GNU Anubis supports @sc{rot}-13 via a loadable Guile function. To enable -this support, you will have to add the following to your @code{GUILE} +this support, add the following to your @code{GUILE} section: @@ -3095,3 +3094,3 @@ GNU Anubis. -There may be some cases when you need to use an external filter that +There may be cases when you need to use an external filter that processes entire message (including headers). You cannot use @@ -3117,5 +3116,5 @@ Any additional arguments it may require. Suppose you have a program @code{/usr/libexec/myfilter}, that accepts -entire message as its output and produces on standard output a -modified version of this message. The program takes as its argument -he name of a directory for temporary files. The following example +entire message as its input and produces on standard output a +modified version of this message. The program takes the name of a +directory for temporary files as its argument. The following example illustrates how to invoke this program: @@ -3231,3 +3230,3 @@ Do not check a user config file permissions. Specify a remote @acronym{SMTP} host name or @acronym{IP} address, which GNU Anubis will -connect and forward mail to (after a processing). +connect and forward mail to. The default @var{port} number is 25. @@ -3277,3 +3276,3 @@ $ anubis -f --local-mta /usr/sbin/sendmail -- sendmail -bs @noindent -Similar to above, but create a tunnel between localhost:24 +Same as above, but create a tunnel between localhost:24 and a local program (local @acronym{MTA}). In this example local program @@ -3307,4 +3306,4 @@ on standard input and output. -@node Sample Beginning -@chapter Sample Beginning +@node Quick Start +@chapter Quick Start @@ -3316,3 +3315,3 @@ Agent) to talk to GNU Anubis directly on port number 24. All @acronym{MTA}, so you must change their settings and specify GNU -Anubis' port number as their target. This makes GNU Anubis to work as +Anubis' port number as their target. This makes GNU Anubis act as an outgoing mail processor between your @acronym{MUA} and the @@ -3339,4 +3338,4 @@ Please note that the @samp{-bs} command line option is a common way to run @acronym{MTA}s on standard input and output, but it is not a rule. -Read your local @acronym{MTA}'s documentation, how to get it working -on standard input and output. +Refer to your @acronym{MTA}'s documentation, for instructions on how +to get it working on standard input and output. @@ -3352,7 +3351,6 @@ bind localhost:25 This can make a conflict between GNU Anubis and your local -@acronym{MTA}, which usually listens on port number 25. To solve this -problem, you may disable the @acronym{MTA} and specify the +@acronym{MTA}, which usually listens on port number 25. To solve this, +disable the @acronym{MTA} and specify the @samp{local-mta} keyword, or run @acronym{MTA} on port number -different than GNU Anubis' port number (e.g. 1111). Please read your -local @acronym{MTA}'s documentation about this topic. For example: +different than GNU Anubis' port number (e.g. 1111). For example: @@ -3376,9 +3374,10 @@ you cannot disable your @acronym{MTA} or change its port number! -According to the @acronym{RFC} 2246 document, the TLS (Transport Layer Security) -protocol provides communications privacy over the Internet. The protocol -allows client/server applications to communicate in a way that is designed -to prevent eavesdropping, tampering, or message forgery. The primary goal -of the TLS Protocol is to provide privacy and data integrity between two -communicating applications. The TLS protocol itself is based on the SSL 3.0 -(Secure Socket Layer) protocol specification. +The @acronym{TLS} (Transport Layer Security) protocol provides +communications privacy over the Internet. It is described in +@acronym{RFC} 2246 document. The protocol allows client/server +applications to communicate in a way that prevents +eavesdropping, tampering, or message forgery. The primary goal of the +protocol is to provide privacy and data integrity between two +communicating applications. The @acronym{TLS} protocol itself is based on the +@acronym{SSL} 3.0 (Secure Socket Layer) protocol specification. @@ -3386,3 +3385,4 @@ GNU Anubis supports the @acronym{TLS/SSL} (via the GnuTLS, a Transport Layer Security Library available from @w{@uref{http://www.gnutls.org/}}), -but your @acronym{MTA} must provide the STARTTLS command first. This can be checked by: +but your @acronym{MTA} must provide the @samp{STARTTLS} command +first. This can be checked by: @@ -3396,2 +3396,3 @@ $ telnet @var{your-smtp-host} 25 @noindent +@cindex oneway TLS encryption The server will response with all its available commands. @@ -3402,3 +3403,4 @@ you should use the @samp{oneway-ssl} keyword in your configuration file. Before using the @acronym{TLS/SSL} encryption, generate -a proper private key and a certificate. You can do it simply with: +a proper private key and a certificate. GNU @command{anubis} provides +a scrypt @file{keygen.sh} which can be used for this, e.g.: @@ -3413,3 +3415,3 @@ $ ./build/keygen.sh This will create the @file{anubis.pem} file. -For example, copy this file to @w{@file{/usr/share/ssl/certs/}}. +Copy it to the directory of your choice, e.g. @w{@file{/usr/share/ssl/certs/}}. Next, edit your configuration file by adding: @@ -3457,6 +3459,5 @@ using it with @code{openssl} to sign outgoing messages. To use @code{openssl} for @acronym{S/MIME} signing, invoke it using -@code{openssl-filter} function defined in @file{entire-msg.scm}. You -will have to supply at least @code{-sign} and @code{-signer} arguments -to the program. Notice, that you should not specify any input or -output files. +@code{openssl-filter} function defined in @file{entire-msg.scm}. Give +it at least @code{-sign} and @code{-signer} arguments. Notice, that +you should not specify any input or output files. @@ -3494,5 +3495,5 @@ deliver the modified message. The local mailer must be given using -Let's summarize the special features of mail delivery mode +Let's summarize the special features of mail delivery mode: @FIXME{This is basically a reminder for me to provide a detailed -description of MDA mode}: +description of MDA mode} @@ -3509,3 +3510,3 @@ Settings}) are ignored. @FIXME{Is it really so? And, again: why?} -The local mailer invocation line may contain meta-variables +The local mailer invocation line can contain meta-variables @code{%sender} and @code{%recipient}, which will be replaced by @@ -3515,3 +3516,3 @@ the mailer. @item -Special option @option{--from} may be used in Anubis command line. +A special option @option{--from} may be used in Anubis command line. This option sets sender email address (see @code{%sender} meta @@ -3552,4 +3553,3 @@ define(`LOCAL_MAILER_ARGS', If you prefer to directly edit @file{sendmail.cf}, use @code{M} -macro to declare Anubis as a local mailer. Following example -illustrates this: +macro to declare Anubis as a local mailer. For example: @@ -3686,3 +3686,3 @@ where @var{maidag} stands for the full file name of running @command{anubis} and the port it listens on. Notice, that -default port value for @samp{smtp} is 25, which means +the default port value for @samp{smtp} is 25, which means that in most cases you will have to specify it explicitly. @@ -3690,3 +3690,3 @@ that in most cases you will have to specify it explicitly. For example, suppose you run @command{anubis} on machine -@samp{anubis.domain.org} and that it listens on port 24. +@samp{anubis.example.org} and that it listens on port 24. Let's also assume you have installed mailutils in the default @@ -3698,3 +3698,3 @@ will contain: set sendmail="/usr/local/sbin/maidag \ - --url smtp://anubis.domain.org:24" + --url smtp://anubis.example.org:24" @end smallexample diff --git a/doc/mime.texi b/doc/mime.texi index 957e762..00d0b1f 100644 --- a/doc/mime.texi +++ b/doc/mime.texi @@ -27,3 +27,3 @@ parts encoded by quoted-printable or, worse yet, base-64 encoding cannot be processed this way. The only way for the user to process -non plain-text multi-part messages is by using some extension procedures +non-plaintext multi-part messages is by using some extension procedures (usually external scripts). @@ -75,3 +75,3 @@ At least messages having @code{multipart/*} and @code{message/rfc822} contents must be handled. These entries must be configurable, thus -giving final user a possibility to disable some of any of +giving final user a possibility to disable some of them. Preferably there should exist a way of specifying new recursive @@ -89,3 +89,3 @@ part being processed. It is important also that it allows for a @dfn{default entry}, i.e. an entry that will be used for processing -a part whose type is not explicitely mentioned in the table. An +a part whose type is not explicitely mentioned in the table. The absence of such default entry should be taken as indication that the @@ -93,3 +93,3 @@ part must be transferred verbatim. -Thus, each entry of the dispatcher table must contain at least +Thus, each entry of the dispatcher table must contain at least the following members. @@ -101,3 +101,3 @@ For the sake of clarity this memo uses shell-style regular expressions (see @code{glob(7)} or @code{fnmatch(3)}). However, Anubis -implementation may use any other regular expression style it deems +implementation can use any other regular expression style it deems appropriate. @@ -114,3 +114,3 @@ a user-defined rule section. -Dispatcher table may contain several entries matching a given +The dispatcher table can contain several entries matching a given MIME type. In this case, the @code{entry point} of each of them @@ -126,5 +126,6 @@ must be invoked in turn. For example, consider this dispatcher table: When processing a part of type @code{text/plain} using this dispatcher -table, first section named @code{plaintext} is called, then its output is -gathered and used as input while calling section named @code{anytext}. -Such approach allows for building flexible structured user programs. +table, first the section named @code{plaintext} is called, then +its output is gathered and used as input for the section named +@code{anytext}. Such approach allows for building flexible structured +user programs. @@ -136,3 +137,3 @@ entries may be used in both system-wide and user-specific configuration files, the order of their priority being -determined as usual by @code{rule-priority} statement (@pxref{Security +determined as usual by the @code{rule-priority} statement (@pxref{Security Settings}). @@ -166,3 +167,3 @@ one is constructed: @smallexample -(@var{section-id} . @var{re}) +(@var{re} . @var{section-id}) @end smallexample @@ -226,6 +227,6 @@ multi-part messages to @var{number}. This memo does not determine how exactly is Anubis supposed to discern -between text and binary messages. The siplest way is possibly using +between text and binary messages. The simplest way is by using the @code{Content-Type} header: if it contains @code{charset=} then it describes a text part. Otherwise it describes a binary part. Probably -some more sophisticated methods should be provided. +some more sophisticated methods should be implemented. @@ -264,6 +265,6 @@ END -This sample configuration shows the idea of using @code{external-body-processor} -statement for binary part processing. Following version of -@code{resize-message} script uses @command{convert} program for -reducing image size to 120x120 pixels: +This example configuration shows the idea of using +@code{external-body-processor} statement for binary part +processing. The following version of @code{resize-message} script uses +@command{convert} program for reducing image size to 120x120 pixels: |