~vorlon/ubuntu/oneiric/cyrus-sasl2/multiarch

« back to all changes in this revision

Viewing changes to debian/doc/libsasl.5.xml

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek
  • Date: 2009-06-04 16:03:06 UTC
  • mfrom: (2.1.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090604160306-wioioa3amb1up5ws
Tags: 2.1.23.dfsg1-1ubuntu1
* Merge from Debian unstable, remaining changes:
  - Add sysv-rc dependency
  - Since the libsasl2 package description so clearly
    states that the library is "completely useless" without one of the
    libsasl2-modules packages, upgrade the Recommends on a single package
    to an ORd Depends on the complete list of them.
  - Prepend XS-Original- to Vcs-{Browser,Svn}.
  - Remove stop links from rc0 and rc6
  - stop service only when switching to single user mode.
* Dropped changes, superseded in Debian:
  - build-depend on libdb4.6-dev; Debian has moved on to db4.7
  - Added debian/patches/021ubuntu-fix-threaded-sasl.dpatch
    - Fixes SEGV in threaded SASL applications.
* debian/rules: remove all the build-*stamp files on clean, not just
  build-stamp.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 
3
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
 
4
<refentry>
 
5
  <refmeta>
 
6
    <refentrytitle>libsasl</refentrytitle>
 
7
 
 
8
    <manvolnum>5</manvolnum>
 
9
  </refmeta>
 
10
 
 
11
  <refnamediv>
 
12
    <refname>libsasl</refname>
 
13
 
 
14
    <refpurpose>authentication library</refpurpose>
 
15
  </refnamediv>
 
16
 
 
17
  <refsynopsisdiv>
 
18
    <para>Cyrus SASL library handling communication between an application and
 
19
    the Cyrus SASL authentication framework.</para>
 
20
  </refsynopsisdiv>
 
21
 
 
22
  <refsection>
 
23
    <title>Description</title>
 
24
 
 
25
    <para>This document describes generic configuration options for the Cyrus
 
26
    SASL authentication library <systemitem
 
27
    class="library">libsasl</systemitem>.</para>
 
28
 
 
29
    <para>The library handles communication between an application and the
 
30
    Cyrus SASL authentication framework. Both exchange information before
 
31
    <systemitem class="library">libsasl</systemitem> can start offering
 
32
    authentication services for the application.</para>
 
33
 
 
34
    <para>The application, among other data, sends the
 
35
    <parameter>service_name</parameter>. The service name is the services name
 
36
    as specified by IANA. SMTP servers, for example, send
 
37
    <option>smtp</option> as <parameter>service_name</parameter>. This
 
38
    information is handed over by <systemitem
 
39
    class="library">libsasl</systemitem> e.g. when Kerberos or PAM
 
40
    authentication takes place.</para>
 
41
 
 
42
    <para>Configuration options in general are read either from a file or
 
43
    passed by the application using <systemitem
 
44
    class="library">libsasl</systemitem> during library initialization.</para>
 
45
 
 
46
    <refsection>
 
47
      <title>File-Based configuration</title>
 
48
 
 
49
      <para>When an application (server) starts, it initializes the
 
50
      <systemitem class="library">libsasl</systemitem> library. The
 
51
      application passes <parameter>app_name</parameter> (application name) to
 
52
      the SASL library. Its value is used to construct the name of the
 
53
      application specific SASL configuration file. The Cyrus SASL
 
54
      sample-server, for example, sends <option>sample</option> as
 
55
      <parameter>app_name</parameter>. Using this value the SASL library will
 
56
      search the configuration directories for a file named
 
57
      <filename>sample.conf</filename> and read configuration options from
 
58
      it.</para>
 
59
 
 
60
      <note>
 
61
        <para>Consult the applications manual to determine what
 
62
        <parameter>app_name</parameter> it sends to the Cyrus SASL
 
63
        library.</para>
 
64
      </note>
 
65
    </refsection>
 
66
 
 
67
    <refsection>
 
68
      <title>Application-Based Configuration</title>
 
69
 
 
70
      <para>Configuration options for <systemitem
 
71
      class="library">libsasl</systemitem> are written down together with
 
72
      application specific options in the applications configuration file. The
 
73
      application reads them and passes them over to <systemitem
 
74
      class="library">libsasl</systemitem> when it loads the library.</para>
 
75
 
 
76
      <note>
 
77
        <para>An example for application-based configuration is the Cyrus IMAP
 
78
        server <systemitem class="daemon">imapd</systemitem>. SASL
 
79
        configuration is written to <filename>imapd.conf</filename> and passed
 
80
        to the SASL library when the <systemitem
 
81
        class="daemon">imapd</systemitem> server starts.</para>
 
82
      </note>
 
83
    </refsection>
 
84
  </refsection>
 
85
 
 
86
  <refsection>
 
87
    <title>Configuration Syntax</title>
 
88
 
 
89
    <para>The general format of Cyrus SASL configuration file is as
 
90
    follows:</para>
 
91
 
 
92
    <variablelist>
 
93
      <varlistentry>
 
94
        <term>Configuration options</term>
 
95
 
 
96
        <listitem>
 
97
          <para>Configuration options are written each on a single physical
 
98
          line. Parameter and value must be separated by a colon and a single
 
99
          whitespace:</para>
 
100
 
 
101
          <programlisting>parameter: value</programlisting>
 
102
 
 
103
          <important>
 
104
            <para>There must be no trailing whitespace after the value or
 
105
            Cyrus SASL will fail to apply the value appropriately!</para>
 
106
          </important>
 
107
        </listitem>
 
108
      </varlistentry>
 
109
 
 
110
      <varlistentry>
 
111
        <term>Comments, Emtpy lines and whitespace-only lines</term>
 
112
 
 
113
        <listitem>
 
114
          <para>Empty lines and whitespace-only lines are ignored, as are
 
115
          lines whose first non-whitespace character is a
 
116
          <quote>#</quote>.</para>
 
117
        </listitem>
 
118
      </varlistentry>
 
119
    </variablelist>
 
120
  </refsection>
 
121
 
 
122
  <refsection>
 
123
    <title>Options</title>
 
124
 
 
125
    <para>There are generic options and options specific to the password
 
126
    verification service or auxiliary property plugin choosen by the
 
127
    administrator. Such specific options are documented in manuals listed in
 
128
    <xref linkend="seealso" />.</para>
 
129
 
 
130
    <para>The following configuration parameters are generic configuration
 
131
    options:</para>
 
132
 
 
133
    <variablelist>
 
134
      <varlistentry>
 
135
        <term><parameter>authdaemond_path</parameter> (default:
 
136
        <option>/dev/null</option>)</term>
 
137
 
 
138
        <listitem>
 
139
          <para>Path to Courier MTA authdaemond's unix socket. Only applicable
 
140
          when <parameter>pwcheck_method</parameter> is set to
 
141
          <option>authdaemond</option>.</para>
 
142
        </listitem>
 
143
      </varlistentry>
 
144
 
 
145
      <varlistentry>
 
146
        <term><parameter>auto_transition</parameter>: (default:
 
147
        <option>no</option>)</term>
 
148
 
 
149
        <listitem>
 
150
          <para>Automatically transition users to other mechanisms when they
 
151
          do a successful plaintext authentication and if an auxprop plugin is
 
152
          used.</para>
 
153
 
 
154
          <important>
 
155
            <para>This option does not apply to the <citerefentry>
 
156
                <refentrytitle>ldapdb</refentrytitle>
 
157
 
 
158
                <manvolnum>5</manvolnum>
 
159
              </citerefentry> plugin. It is a read-only plugin.</para>
 
160
          </important>
 
161
 
 
162
          <variablelist>
 
163
            <varlistentry>
 
164
              <term><option>no</option></term>
 
165
 
 
166
              <listitem>
 
167
                <para>Do not transition users to other mechanisms.</para>
 
168
              </listitem>
 
169
            </varlistentry>
 
170
 
 
171
            <varlistentry>
 
172
              <term><option>noplain</option></term>
 
173
 
 
174
              <listitem>
 
175
                <para>Transition users to other mechanisms, but write
 
176
                non-plaintext secrets only.</para>
 
177
              </listitem>
 
178
            </varlistentry>
 
179
 
 
180
            <varlistentry>
 
181
              <term><option>yes</option></term>
 
182
 
 
183
              <listitem>
 
184
                <para>Transition users to other mechanisms.</para>
 
185
              </listitem>
 
186
            </varlistentry>
 
187
          </variablelist>
 
188
 
 
189
          <note>
 
190
            <para>The only mechanisms (as currently implemented) which don't
 
191
            use plaintext secrets are OTP and SRP.</para>
 
192
          </note>
 
193
        </listitem>
 
194
      </varlistentry>
 
195
 
 
196
      <varlistentry>
 
197
        <term><parameter>auxprop_plugin</parameter>: (default: empty)</term>
 
198
 
 
199
        <listitem>
 
200
          <para>A whitespace-separated list of one or more auxiliary plugins
 
201
          used if the <parameter>pwcheck_method</parameter> parameter
 
202
          specifies <option>auxprop</option> as an option. Plugins will be
 
203
          queried in list order. If no plugin is specified, all available
 
204
          plugins will be queried.</para>
 
205
 
 
206
          <variablelist>
 
207
            <varlistentry>
 
208
              <term><option>ldapdb</option></term>
 
209
 
 
210
              <listitem>
 
211
                <para>Specify <option>ldapdb</option> to use the Cyrus SASL
 
212
                <citerefentry>
 
213
                    <refentrytitle>ldapdb</refentrytitle>
 
214
 
 
215
                    <manvolnum>5</manvolnum>
 
216
                  </citerefentry> plugin.</para>
 
217
              </listitem>
 
218
            </varlistentry>
 
219
 
 
220
            <varlistentry>
 
221
              <term><option>sasldb</option></term>
 
222
 
 
223
              <listitem>
 
224
                <para>Specify <option>sasldb</option> to use the Cyrus SASL
 
225
                <citerefentry>
 
226
                    <refentrytitle>sasldb</refentrytitle>
 
227
 
 
228
                    <manvolnum>5</manvolnum>
 
229
                  </citerefentry> plugin.</para>
 
230
              </listitem>
 
231
            </varlistentry>
 
232
 
 
233
            <varlistentry>
 
234
              <term><option>sql</option></term>
 
235
 
 
236
              <listitem>
 
237
                <para>Specify <option>sql</option> to use the Cyrus SASL
 
238
                <citerefentry>
 
239
                    <refentrytitle>sql</refentrytitle>
 
240
 
 
241
                    <manvolnum>5</manvolnum>
 
242
                  </citerefentry> plugin.</para>
 
243
              </listitem>
 
244
            </varlistentry>
 
245
          </variablelist>
 
246
        </listitem>
 
247
      </varlistentry>
 
248
 
 
249
      <varlistentry>
 
250
        <term><parameter>log_level</parameter>: (default:
 
251
        <option>1</option>)</term>
 
252
 
 
253
        <listitem>
 
254
          <para>Specifies a numeric log level. Available log levels
 
255
          are:</para>
 
256
 
 
257
          <variablelist>
 
258
            <varlistentry>
 
259
              <term><option>0</option></term>
 
260
 
 
261
              <listitem>
 
262
                <para>Don't log anything</para>
 
263
              </listitem>
 
264
            </varlistentry>
 
265
 
 
266
            <varlistentry>
 
267
              <term><option>1</option></term>
 
268
 
 
269
              <listitem>
 
270
                <para>Log unusual errors</para>
 
271
              </listitem>
 
272
            </varlistentry>
 
273
 
 
274
            <varlistentry>
 
275
              <term><option>2</option></term>
 
276
 
 
277
              <listitem>
 
278
                <para>Log all authentication failures</para>
 
279
              </listitem>
 
280
            </varlistentry>
 
281
 
 
282
            <varlistentry>
 
283
              <term><option>3</option></term>
 
284
 
 
285
              <listitem>
 
286
                <para>Log non-fatal warnings</para>
 
287
              </listitem>
 
288
            </varlistentry>
 
289
 
 
290
            <varlistentry>
 
291
              <term><option>4</option></term>
 
292
 
 
293
              <listitem>
 
294
                <para>More verbose than 3</para>
 
295
              </listitem>
 
296
            </varlistentry>
 
297
 
 
298
            <varlistentry>
 
299
              <term><option>5</option></term>
 
300
 
 
301
              <listitem>
 
302
                <para>More verbose than 4</para>
 
303
              </listitem>
 
304
            </varlistentry>
 
305
 
 
306
            <varlistentry>
 
307
              <term><option>6</option></term>
 
308
 
 
309
              <listitem>
 
310
                <para>Traces of internal protocols</para>
 
311
              </listitem>
 
312
            </varlistentry>
 
313
 
 
314
            <varlistentry>
 
315
              <term><option>7</option></term>
 
316
 
 
317
              <listitem>
 
318
                <para>Traces of internal protocols, including passwords</para>
 
319
              </listitem>
 
320
            </varlistentry>
 
321
          </variablelist>
 
322
 
 
323
          <important>
 
324
            <para>Cyrus SASL sends log messages to the application that runs
 
325
            it. The application decides if it forwards such messages to the
 
326
            <citerefentry>
 
327
                <refentrytitle>sysklogd</refentrytitle>
 
328
 
 
329
                <manvolnum>8</manvolnum>
 
330
              </citerefentry> service, to which
 
331
            <parameter>facility</parameter> they are sent and which
 
332
            <parameter>priority</parameter> is given to the message.</para>
 
333
          </important>
 
334
        </listitem>
 
335
      </varlistentry>
 
336
 
 
337
      <varlistentry>
 
338
        <term><parameter>mech_list</parameter>: (default: empty)</term>
 
339
 
 
340
        <listitem>
 
341
          <para>The optional <parameter>mech_list</parameter> parameter
 
342
          specifies a whitespace-separated list of one or more mechanisms
 
343
          allowed for authentication.</para>
 
344
        </listitem>
 
345
      </varlistentry>
 
346
 
 
347
      <varlistentry>
 
348
        <term><parameter>pwcheck_method</parameter>: (default:
 
349
        <option>auxprop</option>)</term>
 
350
 
 
351
        <listitem>
 
352
          <para>A whitespace-separated list of one or more mechanisms. Cyrus
 
353
          SASL provides the following mechanisms:</para>
 
354
 
 
355
          <variablelist>
 
356
            <varlistentry>
 
357
              <term><option>authdaemond</option></term>
 
358
 
 
359
              <listitem>
 
360
                <para>Configures Cyrus SASL to contact the Courier MTA
 
361
                <citerefentry>
 
362
                    <refentrytitle>authdaemond</refentrytitle>
 
363
 
 
364
                    <manvolnum>8</manvolnum>
 
365
                  </citerefentry> password verification service for password
 
366
                verification.</para>
 
367
              </listitem>
 
368
            </varlistentry>
 
369
 
 
370
            <varlistentry>
 
371
              <term><option>alwaystrue</option></term>
 
372
 
 
373
              <listitem>
 
374
                <para>TODO</para>
 
375
              </listitem>
 
376
            </varlistentry>
 
377
 
 
378
            <varlistentry>
 
379
              <term><option>auxprop</option></term>
 
380
 
 
381
              <listitem>
 
382
                <para>Cyrus SASL will use its own plugin infrastructure to
 
383
                verify passwords. The
 
384
                <parameter><parameter>auxprop_plugin</parameter></parameter>
 
385
                parameter controls which plugins will be used.</para>
 
386
              </listitem>
 
387
            </varlistentry>
 
388
 
 
389
            <varlistentry>
 
390
              <term><option>pwcheck</option></term>
 
391
 
 
392
              <listitem>
 
393
                <para>Verify passwords using the Cyrus SASL <citerefentry>
 
394
                    <refentrytitle>pwcheck</refentrytitle>
 
395
 
 
396
                    <manvolnum>8</manvolnum>
 
397
                  </citerefentry> password verification service. The pwcheck
 
398
                daemon is considered deprecated and should not be used
 
399
                anymore. Use the saslauthd password verification service
 
400
                instead.</para>
 
401
              </listitem>
 
402
            </varlistentry>
 
403
 
 
404
            <varlistentry>
 
405
              <term><option>saslauthd</option></term>
 
406
 
 
407
              <listitem>
 
408
                <para>Verify passwords using the Cyrus SASL <citerefentry>
 
409
                    <refentrytitle>saslauthd</refentrytitle>
 
410
 
 
411
                    <manvolnum>8</manvolnum>
 
412
                  </citerefentry> password verification service.</para>
 
413
              </listitem>
 
414
            </varlistentry>
 
415
          </variablelist>
 
416
        </listitem>
 
417
      </varlistentry>
 
418
 
 
419
      <varlistentry>
 
420
        <term><parameter>saslauthd_path</parameter>: (default: empty)</term>
 
421
 
 
422
        <listitem>
 
423
          <para>Path to <citerefentry>
 
424
              <refentrytitle>saslauthd</refentrytitle>
 
425
 
 
426
              <manvolnum>8</manvolnum>
 
427
            </citerefentry> run directory (including the
 
428
          <filename>/mux</filename> named pipe)</para>
 
429
        </listitem>
 
430
      </varlistentry>
 
431
    </variablelist>
 
432
  </refsection>
 
433
 
 
434
  <refsection id="seealso">
 
435
    <title>See also</title>
 
436
 
 
437
    <para><citerefentry>
 
438
        <refentrytitle>authdaemond</refentrytitle>
 
439
 
 
440
        <manvolnum>5</manvolnum>
 
441
      </citerefentry>, <citerefentry>
 
442
        <refentrytitle>ldapdb</refentrytitle>
 
443
 
 
444
        <manvolnum>5</manvolnum>
 
445
      </citerefentry>, <citerefentry>
 
446
        <refentrytitle>libsasl</refentrytitle>
 
447
 
 
448
        <manvolnum>5</manvolnum>
 
449
      </citerefentry>, <citerefentry>
 
450
        <refentrytitle>saslauthd</refentrytitle>
 
451
 
 
452
        <manvolnum>8</manvolnum>
 
453
      </citerefentry>, <citerefentry>
 
454
        <refentrytitle>saslauthd.conf</refentrytitle>
 
455
 
 
456
        <manvolnum>5</manvolnum>
 
457
      </citerefentry>, <citerefentry>
 
458
        <refentrytitle>saslpasswd2</refentrytitle>
 
459
 
 
460
        <manvolnum>5</manvolnum>
 
461
      </citerefentry>, <citerefentry>
 
462
        <refentrytitle>sasldblistusers2</refentrytitle>
 
463
 
 
464
        <manvolnum>5</manvolnum>
 
465
      </citerefentry>, <citerefentry>
 
466
        <refentrytitle>sasldb</refentrytitle>
 
467
 
 
468
        <manvolnum>5</manvolnum>
 
469
      </citerefentry>, <citerefentry>
 
470
        <refentrytitle>sql</refentrytitle>
 
471
 
 
472
        <manvolnum>5</manvolnum>
 
473
      </citerefentry></para>
 
474
  </refsection>
 
475
 
 
476
  <refsection>
 
477
    <title>Readme files</title>
 
478
 
 
479
    <para><filename>README.Debian</filename></para>
 
480
  </refsection>
 
481
 
 
482
  <refsection>
 
483
    <title>Author</title>
 
484
 
 
485
    <para>This manual was written for the Debian distribution because the
 
486
    original program does not have a manual page. Parts of the documentation
 
487
    have been taken from the Cyrus SASL's
 
488
    <filename>options.html</filename>.</para>
 
489
 
 
490
    <para><address>Patrick Ben Koetter
 
491
<email>p@state-of-mind.de</email></address></para>
 
492
  </refsection>
 
493
</refentry>