/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos-keygen.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-08-20 03:22:45 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080820032245-ue341vdvzqdsg68l
* mandos (string_to_delta): Accept a whitespace-separated sequence of
                            intervals and return the sum.  This allows
                            "5m 30s" to be valid.
  (main): Provide an empty default value for the "host" option for
          "clients.conf", making it no longer a required option.

* mandos-clients.conf.xml: Removed <?xml-stylesheet>.
  (DESCRIPTION): Improved text.
  (DEFAULTS): Renamed to "OPTIONS".  Improved text for "timeout" and
              "interval".
  (CLIENTS): Removed; content moved to "OPTIONS".
  (EXPANSION): New section; document %(foo)s and %%(foo)s expansion.
  (FILES): Moved to before "EXAMPLES".
  (BUGS): New section.
  (EXAMPLES): Renamed to "EXAMPLE", as per man-pages(7).  Renamed
              example section "example_client" to "foo".  Changed
              example "host" setting to a more reasonable example host
              name.  Added additional example client "bar".

* mandos-conf.xml: Removed OVERVIEW entity.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="UTF-8"?>
 
1
<?xml version='1.0' encoding='UTF-8'?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY VERSION "1.0">
5
5
<!ENTITY COMMANDNAME "mandos-keygen">
6
 
<!ENTITY TIMESTAMP "2008-08-31">
7
6
]>
8
7
 
9
8
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
9
  <refentryinfo>
11
 
    <title>Mandos Manual</title>
12
 
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
 
    <productname>Mandos</productname>
 
10
    <title>&COMMANDNAME;</title>
 
11
    <!-- NWalsh's docbook scripts use this to generate the footer: -->
 
12
    <productname>&COMMANDNAME;</productname>
14
13
    <productnumber>&VERSION;</productnumber>
15
 
    <date>&TIMESTAMP;</date>
16
14
    <authorgroup>
17
15
      <author>
18
16
        <firstname>Björn</firstname>
31
29
    </authorgroup>
32
30
    <copyright>
33
31
      <year>2008</year>
34
 
      <holder>Teddy Hogeborn</holder>
35
 
      <holder>Björn Påhlsson</holder>
 
32
      <holder>Teddy Hogeborn &amp; Björn Påhlsson</holder>
36
33
    </copyright>
37
34
    <legalnotice>
38
35
      <para>
67
64
  <refnamediv>
68
65
    <refname><command>&COMMANDNAME;</command></refname>
69
66
    <refpurpose>
70
 
      Generate key and password for Mandos client and server.
 
67
      Generate keys for <citerefentry><refentrytitle>password-request
 
68
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
71
69
    </refpurpose>
72
70
  </refnamediv>
73
71
 
74
72
  <refsynopsisdiv>
75
73
    <cmdsynopsis>
76
74
      <command>&COMMANDNAME;</command>
77
 
      <group>
78
 
        <arg choice="plain"><option>--dir
79
 
        <replaceable>DIRECTORY</replaceable></option></arg>
80
 
        <arg choice="plain"><option>-d
81
 
        <replaceable>DIRECTORY</replaceable></option></arg>
82
 
      </group>
83
 
      <sbr/>
84
 
      <group>
85
 
        <arg choice="plain"><option>--type
86
 
        <replaceable>KEYTYPE</replaceable></option></arg>
87
 
        <arg choice="plain"><option>-t
88
 
        <replaceable>KEYTYPE</replaceable></option></arg>
89
 
      </group>
90
 
      <sbr/>
91
 
      <group>
92
 
        <arg choice="plain"><option>--length
93
 
        <replaceable>BITS</replaceable></option></arg>
94
 
        <arg choice="plain"><option>-l
95
 
        <replaceable>BITS</replaceable></option></arg>
96
 
      </group>
97
 
      <sbr/>
98
 
      <group>
99
 
        <arg choice="plain"><option>--subtype
100
 
        <replaceable>KEYTYPE</replaceable></option></arg>
101
 
        <arg choice="plain"><option>-s
102
 
        <replaceable>KEYTYPE</replaceable></option></arg>
103
 
      </group>
104
 
      <sbr/>
105
 
      <group>
106
 
        <arg choice="plain"><option>--sublength
107
 
        <replaceable>BITS</replaceable></option></arg>
108
 
        <arg choice="plain"><option>-L
109
 
        <replaceable>BITS</replaceable></option></arg>
110
 
      </group>
111
 
      <sbr/>
112
 
      <group>
113
 
        <arg choice="plain"><option>--name
114
 
        <replaceable>NAME</replaceable></option></arg>
115
 
        <arg choice="plain"><option>-n
116
 
        <replaceable>NAME</replaceable></option></arg>
117
 
      </group>
118
 
      <sbr/>
119
 
      <group>
120
 
        <arg choice="plain"><option>--email
121
 
        <replaceable>ADDRESS</replaceable></option></arg>
122
 
        <arg choice="plain"><option>-e
123
 
        <replaceable>ADDRESS</replaceable></option></arg>
124
 
      </group>
125
 
      <sbr/>
126
 
      <group>
127
 
        <arg choice="plain"><option>--comment
128
 
        <replaceable>TEXT</replaceable></option></arg>
129
 
        <arg choice="plain"><option>-c
130
 
        <replaceable>TEXT</replaceable></option></arg>
131
 
      </group>
132
 
      <sbr/>
133
 
      <group>
134
 
        <arg choice="plain"><option>--expire
135
 
        <replaceable>TIME</replaceable></option></arg>
136
 
        <arg choice="plain"><option>-x
137
 
        <replaceable>TIME</replaceable></option></arg>
138
 
      </group>
139
 
      <sbr/>
140
 
      <arg><option>--force</option></arg>
141
 
    </cmdsynopsis>
142
 
    <cmdsynopsis>
143
 
      <command>&COMMANDNAME;</command>
144
 
      <group choice="req">
145
 
        <arg choice="plain"><option>--password</option></arg>
146
 
        <arg choice="plain"><option>-p</option></arg>
147
 
      </group>
148
 
      <sbr/>
149
 
      <group>
150
 
        <arg choice="plain"><option>--dir
151
 
        <replaceable>DIRECTORY</replaceable></option></arg>
152
 
        <arg choice="plain"><option>-d
153
 
        <replaceable>DIRECTORY</replaceable></option></arg>
154
 
      </group>
155
 
      <sbr/>
156
 
      <group>
157
 
        <arg choice="plain"><option>--name
158
 
        <replaceable>NAME</replaceable></option></arg>
159
 
        <arg choice="plain"><option>-n
160
 
        <replaceable>NAME</replaceable></option></arg>
161
 
      </group>
162
 
    </cmdsynopsis>
163
 
    <cmdsynopsis>
164
 
      <command>&COMMANDNAME;</command>
165
 
      <group choice="req">
166
 
        <arg choice="plain"><option>--help</option></arg>
167
 
        <arg choice="plain"><option>-h</option></arg>
168
 
      </group>
169
 
    </cmdsynopsis>
170
 
    <cmdsynopsis>
171
 
      <command>&COMMANDNAME;</command>
172
 
      <group choice="req">
173
 
        <arg choice="plain"><option>--version</option></arg>
174
 
        <arg choice="plain"><option>-v</option></arg>
 
75
      <group choice="opt">
 
76
        <arg choice="plain"><option>--dir</option>
 
77
        <replaceable>directory</replaceable></arg>
 
78
      </group>
 
79
      <group choice="opt">
 
80
        <arg choice="plain"><option>--type</option>
 
81
        <replaceable>type</replaceable></arg>
 
82
      </group>
 
83
      <group choice="opt">
 
84
        <arg choice="plain"><option>--length</option>
 
85
        <replaceable>bits</replaceable></arg>
 
86
      </group>
 
87
      <group choice="opt">
 
88
        <arg choice="plain"><option>--name</option>
 
89
        <replaceable>NAME</replaceable></arg>
 
90
      </group>
 
91
      <group choice="opt">
 
92
        <arg choice="plain"><option>--email</option>
 
93
        <replaceable>EMAIL</replaceable></arg>
 
94
      </group>
 
95
      <group choice="opt">
 
96
        <arg choice="plain"><option>--comment</option>
 
97
        <replaceable>COMMENT</replaceable></arg>
 
98
      </group>
 
99
      <group choice="opt">
 
100
        <arg choice="plain"><option>--expire</option>
 
101
        <replaceable>TIME</replaceable></arg>
 
102
      </group>
 
103
      <group choice="opt">
 
104
        <arg choice="plain"><option>--force</option></arg>
 
105
      </group>
 
106
    </cmdsynopsis>
 
107
    <cmdsynopsis>
 
108
      <command>&COMMANDNAME;</command>
 
109
      <group choice="opt">
 
110
        <arg choice="plain"><option>-d</option>
 
111
        <replaceable>directory</replaceable></arg>
 
112
      </group>
 
113
      <group choice="opt">
 
114
        <arg choice="plain"><option>-t</option>
 
115
        <replaceable>type</replaceable></arg>
 
116
      </group>
 
117
      <group choice="opt">
 
118
        <arg choice="plain"><option>-l</option>
 
119
        <replaceable>bits</replaceable></arg>
 
120
      </group>
 
121
      <group choice="opt">
 
122
        <arg choice="plain"><option>-n</option>
 
123
        <replaceable>NAME</replaceable></arg>
 
124
      </group>
 
125
      <group choice="opt">
 
126
        <arg choice="plain"><option>-e</option>
 
127
        <replaceable>EMAIL</replaceable></arg>
 
128
      </group>
 
129
      <group choice="opt">
 
130
        <arg choice="plain"><option>-c</option>
 
131
        <replaceable>COMMENT</replaceable></arg>
 
132
      </group>
 
133
      <group choice="opt">
 
134
        <arg choice="plain"><option>-x</option>
 
135
        <replaceable>TIME</replaceable></arg>
 
136
      </group>
 
137
      <group choice="opt">
 
138
        <arg choice="plain"><option>-f</option></arg>
 
139
      </group>
 
140
    </cmdsynopsis>
 
141
    <cmdsynopsis>
 
142
      <command>&COMMANDNAME;</command>
 
143
      <group choice="req">
 
144
        <arg choice='plain'><option>-h</option></arg>
 
145
        <arg choice='plain'><option>--help</option></arg>
 
146
      </group>
 
147
    </cmdsynopsis>
 
148
    <cmdsynopsis>
 
149
      <command>&COMMANDNAME;</command>
 
150
      <group choice="req">
 
151
        <arg choice='plain'><option>-v</option></arg>
 
152
        <arg choice='plain'><option>--version</option></arg>
175
153
      </group>
176
154
    </cmdsynopsis>
177
155
  </refsynopsisdiv>
178
 
  
 
156
 
179
157
  <refsect1 id="description">
180
158
    <title>DESCRIPTION</title>
181
159
    <para>
182
160
      <command>&COMMANDNAME;</command> is a program to generate the
183
 
      OpenPGP key used by
 
161
      OpenPGP keys used by
184
162
      <citerefentry><refentrytitle>password-request</refentrytitle>
185
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
 
163
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
186
164
      normally written to /etc/mandos for later installation into the
187
 
      initrd image, but this, and most other things, can be changed
188
 
      with command line options.
189
 
    </para>
190
 
    <para>
191
 
      This program can also be used with the
192
 
      <option>--password</option> option to generate a ready-made
193
 
      section for <filename>clients.conf</filename> (see
194
 
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
195
 
      <manvolnum>5</manvolnum></citerefentry>).
 
165
      initrd image, but this, like most things, can be changed with
 
166
      command line options.
196
167
    </para>
197
168
  </refsect1>
198
169
  
199
170
  <refsect1 id="purpose">
200
171
    <title>PURPOSE</title>
 
172
 
201
173
    <para>
202
174
      The purpose of this is to enable <emphasis>remote and unattended
203
175
      rebooting</emphasis> of client host computer with an
204
176
      <emphasis>encrypted root file system</emphasis>.  See <xref
205
177
      linkend="overview"/> for details.
206
178
    </para>
 
179
 
207
180
  </refsect1>
208
181
  
209
182
  <refsect1 id="options">
210
183
    <title>OPTIONS</title>
211
 
    
 
184
 
212
185
    <variablelist>
213
186
      <varlistentry>
214
 
        <term><option>--help</option></term>
215
 
        <term><option>-h</option></term>
 
187
        <term><literal>-h</literal>, <literal>--help</literal></term>
216
188
        <listitem>
217
189
          <para>
218
190
            Show a help message and exit
221
193
      </varlistentry>
222
194
 
223
195
      <varlistentry>
224
 
        <term><option>--dir
225
 
        <replaceable>DIRECTORY</replaceable></option></term>
226
 
        <term><option>-d
227
 
        <replaceable>DIRECTORY</replaceable></option></term>
228
 
        <listitem>
229
 
          <para>
230
 
            Target directory for key files.  Default is
231
 
            <filename>/etc/mandos</filename>.
232
 
          </para>
233
 
        </listitem>
234
 
      </varlistentry>
235
 
 
236
 
      <varlistentry>
237
 
        <term><option>--type
238
 
        <replaceable>TYPE</replaceable></option></term>
239
 
        <term><option>-t
240
 
        <replaceable>TYPE</replaceable></option></term>
241
 
        <listitem>
242
 
          <para>
243
 
            Key type.  Default is <quote>DSA</quote>.
244
 
          </para>
245
 
        </listitem>
246
 
      </varlistentry>
247
 
 
248
 
      <varlistentry>
249
 
        <term><option>--length
250
 
        <replaceable>BITS</replaceable></option></term>
251
 
        <term><option>-l
252
 
        <replaceable>BITS</replaceable></option></term>
253
 
        <listitem>
254
 
          <para>
255
 
            Key length in bits.  Default is 2048.
256
 
          </para>
257
 
        </listitem>
258
 
      </varlistentry>
259
 
 
260
 
      <varlistentry>
261
 
        <term><option>--subtype
262
 
        <replaceable>KEYTYPE</replaceable></option></term>
263
 
        <term><option>-s
264
 
        <replaceable>KEYTYPE</replaceable></option></term>
265
 
        <listitem>
266
 
          <para>
267
 
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
268
 
            encryption-only).
269
 
          </para>
270
 
        </listitem>
271
 
      </varlistentry>
272
 
 
273
 
      <varlistentry>
274
 
        <term><option>--sublength
275
 
        <replaceable>BITS</replaceable></option></term>
276
 
        <term><option>-L
277
 
        <replaceable>BITS</replaceable></option></term>
278
 
        <listitem>
279
 
          <para>
280
 
            Subkey length in bits.  Default is 2048.
281
 
          </para>
282
 
        </listitem>
283
 
      </varlistentry>
284
 
 
285
 
      <varlistentry>
286
 
        <term><option>--email
287
 
        <replaceable>ADDRESS</replaceable></option></term>
288
 
        <term><option>-e
289
 
        <replaceable>ADDRESS</replaceable></option></term>
 
196
        <term><literal>-d</literal>, <literal>--dir
 
197
        <replaceable>directory</replaceable></literal></term>
 
198
        <listitem>
 
199
          <para>
 
200
            Target directory for key files.
 
201
          </para>
 
202
        </listitem>
 
203
      </varlistentry>
 
204
 
 
205
      <varlistentry>
 
206
        <term><literal>-t</literal>, <literal>--type
 
207
        <replaceable>type</replaceable></literal></term>
 
208
        <listitem>
 
209
          <para>
 
210
            Key type.  Default is DSA.
 
211
          </para>
 
212
        </listitem>
 
213
      </varlistentry>
 
214
 
 
215
      <varlistentry>
 
216
        <term><literal>-l</literal>, <literal>--length
 
217
        <replaceable>bits</replaceable></literal></term>
 
218
        <listitem>
 
219
          <para>
 
220
            Key length in bits.  Default is 1024.
 
221
          </para>
 
222
        </listitem>
 
223
      </varlistentry>
 
224
 
 
225
      <varlistentry>
 
226
        <term><literal>-e</literal>, <literal>--email</literal>
 
227
        <replaceable>address</replaceable></term>
290
228
        <listitem>
291
229
          <para>
292
230
            Email address of key.  Default is empty.
295
233
      </varlistentry>
296
234
 
297
235
      <varlistentry>
298
 
        <term><option>--comment
299
 
        <replaceable>TEXT</replaceable></option></term>
300
 
        <term><option>-c
301
 
        <replaceable>TEXT</replaceable></option></term>
 
236
        <term><literal>-c</literal>, <literal>--comment</literal>
 
237
        <replaceable>comment</replaceable></term>
302
238
        <listitem>
303
239
          <para>
304
240
            Comment field for key.  The default value is
305
 
            <quote><literal>Mandos client key</literal></quote>.
 
241
            "<literal>Mandos client key</literal>".
306
242
          </para>
307
243
        </listitem>
308
244
      </varlistentry>
309
245
 
310
246
      <varlistentry>
311
 
        <term><option>--expire
312
 
        <replaceable>TIME</replaceable></option></term>
313
 
        <term><option>-x
314
 
        <replaceable>TIME</replaceable></option></term>
 
247
        <term><literal>-x</literal>, <literal>--expire</literal>
 
248
        <replaceable>time</replaceable></term>
315
249
        <listitem>
316
250
          <para>
317
251
            Key expire time.  Default is no expiration.  See
322
256
      </varlistentry>
323
257
 
324
258
      <varlistentry>
325
 
        <term><option>--force</option></term>
326
 
        <term><option>-f</option></term>
327
 
        <listitem>
328
 
          <para>
329
 
            Force overwriting old key.
330
 
          </para>
331
 
        </listitem>
332
 
      </varlistentry>
333
 
      <varlistentry>
334
 
        <term><option>--password</option></term>
335
 
        <term><option>-p</option></term>
336
 
        <listitem>
337
 
          <para>
338
 
            Prompt for a password and encrypt it with the key already
339
 
            present in either <filename>/etc/mandos</filename> or the
340
 
            directory specified with the <option>--dir</option>
341
 
            option.  Outputs, on standard output, a section suitable
342
 
            for inclusion in <citerefentry><refentrytitle
343
 
            >mandos-clients.conf</refentrytitle><manvolnum
344
 
            >8</manvolnum></citerefentry>.  The host name or the name
345
 
            specified with the <option>--name</option> option is used
346
 
            for the section header.  All other options are ignored,
347
 
            and no key is created.
 
259
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
260
        <listitem>
 
261
          <para>
 
262
            Force overwriting old keys.
348
263
          </para>
349
264
        </listitem>
350
265
      </varlistentry>
355
270
    <title>OVERVIEW</title>
356
271
    <xi:include href="overview.xml"/>
357
272
    <para>
358
 
      This program is a small utility to generate new OpenPGP keys for
359
 
      new Mandos clients, and to generate sections for inclusion in
360
 
      <filename>clients.conf</filename> on the server.
 
273
      This program is a small program to generate new OpenPGP keys for
 
274
      new Mandos clients.
361
275
    </para>
362
276
  </refsect1>
363
277
 
364
278
  <refsect1 id="exit_status">
365
279
    <title>EXIT STATUS</title>
366
280
    <para>
367
 
      The exit status will be 0 if a new key (or password, if the
368
 
      <option>--password</option> option was used) was successfully
369
 
      created, otherwise not.
 
281
      The exit status will be 0 if new keys were successfully created,
 
282
      otherwise not.
370
283
    </para>
371
284
  </refsect1>
372
285
  
374
287
    <title>ENVIRONMENT</title>
375
288
    <variablelist>
376
289
      <varlistentry>
377
 
        <term><envar>TMPDIR</envar></term>
 
290
        <term><varname>TMPDIR</varname></term>
378
291
        <listitem>
379
292
          <para>
380
293
            If set, temporary files will be created here. See
438
351
        Normal invocation needs no options:
439
352
      </para>
440
353
      <para>
441
 
        <userinput>&COMMANDNAME;</userinput>
 
354
        <userinput>mandos-keygen</userinput>
442
355
      </para>
443
356
    </informalexample>
444
357
    <informalexample>
445
358
      <para>
446
 
        Create key in another directory and of another type.  Force
 
359
        Create keys in another directory and of another type.  Force
447
360
        overwriting old key files:
448
361
      </para>
449
362
      <para>
450
363
 
451
364
<!-- do not wrap this line -->
452
 
<userinput>&COMMANDNAME; --dir ~/keydir --type RSA --force</userinput>
453
 
 
454
 
      </para>
455
 
    </informalexample>
456
 
    <informalexample>
457
 
      <para>
458
 
        Prompt for a password, encrypt it with the key in
459
 
        <filename>/etc/mandos</filename> and output a section suitable
460
 
        for <filename>clients.conf</filename>.
461
 
      </para>
462
 
      <para>
463
 
        <userinput>&COMMANDNAME; --password</userinput>
464
 
      </para>
465
 
    </informalexample>
466
 
    <informalexample>
467
 
      <para>
468
 
        Prompt for a password, encrypt it with the key in the
469
 
        <filename>client-key</filename> directory and output a section
470
 
        suitable for <filename>clients.conf</filename>.
471
 
      </para>
472
 
      <para>
473
 
 
474
 
<!-- do not wrap this line -->
475
 
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
 
365
<userinput>mandos-keygen --dir ~/keydir --type RSA --force</userinput>
476
366
 
477
367
      </para>
478
368
    </informalexample>
481
371
  <refsect1 id="security">
482
372
    <title>SECURITY</title>
483
373
    <para>
484
 
      The <option>--type</option>, <option>--length</option>,
485
 
      <option>--subtype</option>, and <option>--sublength</option>
486
 
      options can be used to create keys of low security.  If in
487
 
      doubt, leave them to the default values.
 
374
      The <option>--type</option> and <option>--length</option>
 
375
      options can be used to create keys of insufficient security.  If
 
376
      in doubt, leave them to the default values.
488
377
    </para>
489
378
    <para>
490
 
      The key expire time is <emphasis>not</emphasis> guaranteed to be
491
 
      honored by <citerefentry><refentrytitle>mandos</refentrytitle>
 
379
      The key expire time is not guaranteed to be honored by
 
380
      <citerefentry><refentrytitle>mandos</refentrytitle>
492
381
      <manvolnum>8</manvolnum></citerefentry>.
493
382
    </para>
494
383
  </refsect1>
496
385
  <refsect1 id="see_also">
497
386
    <title>SEE ALSO</title>
498
387
    <para>
 
388
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
389
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
390
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
391
      <manvolnum>8</manvolnum></citerefentry>,
499
392
      <citerefentry><refentrytitle>gpg</refentrytitle>
500
 
      <manvolnum>1</manvolnum></citerefentry>,
501
 
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
502
 
      <manvolnum>5</manvolnum></citerefentry>,
503
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
504
 
      <manvolnum>8</manvolnum></citerefentry>,
505
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
506
 
      <manvolnum>8mandos</manvolnum></citerefentry>
 
393
      <manvolnum>1</manvolnum></citerefentry>
507
394
    </para>
508
395
  </refsect1>
509
396
  
510
397
</refentry>
511
 
<!-- Local Variables: -->
512
 
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
513
 
<!-- time-stamp-end: "[\"']>" -->
514
 
<!-- time-stamp-format: "%:y-%02m-%02d" -->
515
 
<!-- End: -->