annotate xml/en/docs/mail/ngx_mail_auth_http_module.xml @ 671:59def594b0c9

Fixed spelling.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 06 Sep 2012 06:13:43 +0000
parents 81ac18894319
children 95c3c3bbf1ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
664
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
2
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
3 <!--
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
4 Copyright (C) 2006, 2007 Anton Yuzhaninov
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
5 Copyright (C) Nginx, Inc.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
6 -->
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
7
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
9
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
10 <module name="Module ngx_mail_auth_http_module"
667
81ac18894319 link and lang tags corrected.
Maxim Konovalov <maxim@nginx.com>
parents: 664
diff changeset
11 link="/en/docs/mail/ngx_mail_auth_http_module.html"
81ac18894319 link and lang tags corrected.
Maxim Konovalov <maxim@nginx.com>
parents: 664
diff changeset
12 lang="en"
664
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
13 rev="1">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
14
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
15 <section id="directives" name="Directives">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
16
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
17 <directive name="auth_http">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
18 <syntax><value>URL</value></syntax>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
19 <default/>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
20 <context>mail</context>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
21 <context>server</context>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
22
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
23 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
24 Sets the URL of the HTTP authentication server.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
25 The protocol is described below.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
26 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
27
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
28 </directive>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
29
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
30
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
31 <directive name="auth_http_header">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
32 <syntax><value>header</value> <value>value</value></syntax>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
33 <default/>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
34 <context>mail</context>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
35 <context>server</context>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
36
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
37 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
38 Allows to append the specified header to requests to the authentication server.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
39 Can be used as a shared secret to verify
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
40 that the request came in from nginx.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
41 For example:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
42 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
43 auth_http_header X-Auth-Key "secret_string";
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
44 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
45 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
46
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
47 </directive>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
48
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
49
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
50 <directive name="auth_http_timeout">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
51 <syntax><value>time</value></syntax>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
52 <default>60s</default>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
53 <context>mail</context>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
54 <context>server</context>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
55
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
56 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
57 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
58
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
59 </directive>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
60
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
61 </section>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
62
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
63
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
64 <section id="protocol" name="Protocol">
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
65
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
66 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
67 The HTTP is used to communicate with the authentication server.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
68 The data in the response body is ignored, information is passed only in headers.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
69 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
70
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
71 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
72 Requests and responses examples:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
73 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
74
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
75 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
76 Request:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
77 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
78 GET /auth HTTP/1.0
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
79 Host: localhost
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
80 Auth-Method: plain # plain or apop or cram-md5
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
81 Auth-User: user
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
82 Auth-Pass: password
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
83 Auth-Protocol: imap # imap, pop3 or smtp
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
84 Auth-Login-Attempt: 1 # attempt count in a single session
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
85 Client-IP: 192.168.1.1
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
86 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
87 Good response:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
88 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
89 HTTP/1.0 200 OK # this line is ignored
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
90 Auth-Status: OK
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
91 Auth-Server: 10.1.1.1
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
92 Auth-Port: 143
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
93 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
94 Bad response:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
95 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
96 HTTP/1.0 200 OK # this line is ignored
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
97 Auth-Status: Invalid login or password
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
98 Auth-Wait: 3 # wait for 3 seconds before returning an error to the client
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
99 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
100 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
101
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
102 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
103 If there is no the <header>Auth-Wait</header> header,
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
104 the connection will be closed after returning an error.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
105 The current implementation allocates memory per each authentication attempt,
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
106 which is freed only at the end of a session.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
107 Therefore a number of invalid authentication attempts in a single session
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
108 must be limited — the server must response without
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
109 the <header>Auth-Wait</header> header after 10-20 attempts
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
110 (see the <header>Auth-Login-Attempt</header> header).
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
111 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
112
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
113 <para>
671
59def594b0c9 Fixed spelling.
Ruslan Ermilov <ru@nginx.com>
parents: 667
diff changeset
114 When using the APOP or CRAM-MD5 request-response will look like:
664
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
115 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
116 GET /auth HTTP/1.0
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
117 Host: localhost
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
118 Auth-Method: apop
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
119 Auth-User: user
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
120 Auth-Salt: &lt;238188073.1163692009@mail.example.com&gt;
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
121 Auth-Pass: auth_response
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
122 Auth-Protocol: imap
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
123 Auth-Login-Attempt: 1 # attempt count in a single session
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
124 Client-IP: 192.168.1.1
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
125 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
126 Good response:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
127 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
128 HTTP/1.0 200 OK # this line is ignored
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
129 Auth-Status: OK
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
130 Auth-Server: 10.1.1.1
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
131 Auth-Port: 143
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
132 Auth-Pass: plain-text-pass
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
133 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
134 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
135
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
136 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
137 For the SMTP, the response additionally takes into account
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
138 the <header>Auth-Error-Code</header> header — it is used
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
139 as a response code if exists.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
140 Otherwise the code 535 5.7.0 will be added to
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
141 the <header>Auth-Status</header> by default.
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
142 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
143
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
144 <para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
145 For example, if the following response is received
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
146 from the authentication server:
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
147 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
148 HTTP/1.0 200 OK
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
149 Auth-Status: Temporary server problem, try again later
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
150 Auth-Error-Code: 451 4.3.0
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
151 Auth-Wait: 3
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
152 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
153 then the SMTP client will be given an error
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
154 <example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
155 451 4.3.0 Temporary server problem, try again later
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
156 </example>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
157 </para>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
158
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
159 </section>
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
160
8283b1048b27 Translated mail modules into English.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
161 </module>