pspp-convert: Add --password-list option.
[pspp] / doc / pspp-convert.texi
index 328e9caa02f6dc13dececdc6bec49cb1e973e9f6..7af90a113ce9851f3208110e18cbb47820870eb0 100644 (file)
@@ -1,10 +1,20 @@
+@c PSPP - a program for statistical analysis.
+@c Copyright (C) 2017 Free Software Foundation, Inc.
+@c Permission is granted to copy, distribute and/or modify this document
+@c under the terms of the GNU Free Documentation License, Version 1.3
+@c or any later version published by the Free Software Foundation;
+@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+@c A copy of the license is included in the section entitled "GNU
+@c Free Documentation License".
+@c
 @node Invoking pspp-convert
 @chapter Invoking @command{pspp-convert}
 @cindex Invocation
 @cindex @command{pspp-convert}
 
 @command{pspp-convert} is a command-line utility accompanying
-@pspp{}. It reads an SPSS system or portable file @var{input} and
+@pspp{}. It reads an SPSS or SPSS/PC+ system file or SPSS portable
+file or encrypted SPSS syntax file @var{input} and
 writes a copy of it to another @var{output} in a different format.
 Synopsis:
 
@@ -16,10 +26,11 @@ Synopsis:
 @t{pspp-convert -@w{-}version}
 @end display
 
-The format of @var{Iinput} is automatically detected, except that the
-character encoding of old system files cannot always be guessed
-correctly.  Use @code{-e @var{encoding}} to specify the encoding in this
-case.
+The format of @var{input} is automatically detected, when possible.
+The character encoding of old SPSS system files cannot always be
+guessed correctly, and SPSS/PC+ system files do not include any
+indication of their encoding.  Use @code{-e @var{encoding}} to specify
+the encoding in this case.
 
 By default, the intended format for @var{output} is inferred based on its
 extension:
@@ -37,14 +48,32 @@ SPSS system file.
 
 @item por
 SPSS portable file.
+
+@item sps
+SPSS syntax file.  (Only encrypted syntax files may be converted to
+this format.)
 @end table
 
+@command{pspp-convert} can convert most input formats to most output
+formats.  Encrypted system file and syntax files are exceptions: if
+the input file is in an encrypted format, then the output file must be
+the same format (decrypted).  To decrypt such a file, specify the
+encrypted file as @var{input}.  The output will be the equivalent
+plaintext file.
+
+The password for encrypted files can be specified a few different
+ways.  If the password is known, use the @option{-p} option
+(documented below) or allow @command{pspp-convert} to prompt for it.
+If the password is unknown, use the @option{-a} and @option{-l}
+options to specify how to search for it, or @option{--password-list}
+to specify a file of passwords to try.
+
 Use @code{-O @var{extension}} to override the inferred format or to
 specify the format for unrecognized extensions.
 
 The following options are accepted:
 
-@table @code
+@table @option
 @item -O @var{format}
 @itemx --output-format=@var{format}
 Specifies the desired output format.  @var{format} must be one of the
@@ -60,8 +89,40 @@ Specifying this option to limit the number of cases written to
 @item -e @var{charset}
 @itemx --encoding=@var{charset}
 Overrides the encoding in which character strings in @var{input} are
-interpreted.  This option is necessary because old SPSS system files
-do not self-identify their encoding.
+interpreted.  This option is necessary because old SPSS system files,
+and SPSS/PC+ system files, do not self-identify their encoding.
+
+@item -p @var{password}
+@item --password=@var{password}
+Specifies the password to use to decrypt an encrypted SPSS system file
+or syntax file.  If this option is not specified,
+@command{pspp-convert} will prompt interactively for the password as
+necessary.
+
+Be aware that command-line options, including passwords, may be
+visible to other users on multiuser systems.
+
+When used with @option{-a} (or @option{--password-alphabet}) and
+@option{-l} (or @option{--password-length}), this option specifies the
+starting point for the search.  This can be used to restart a search
+that was interrupted.
+
+@item -a @var{alphabet}
+@item --password-alphabet=@var{alphabet}
+Specifies the alphabet of symbols over which to search for an
+encrypted file's password.  @var{alphabet} may include individual
+characters and ranges delimited by @samp{-}.  For example, @option{-a
+a-z} searches lowercase letters, @option{-a A-Z0-9} searches uppercase
+letters and digits, and @option{-a ' -~'} searches all printable ASCII
+characters.
+
+@item -l @var{max-length}
+@item --password-length=@var{max-length}
+Specifies the maximum length of the passwords to try.
+
+@item --password-list=@var{file}
+Specifies a file to read containing a list of passwords to try, one
+per line.  If @var{file} is @file{-}, reads from stdin.
 
 @item -h
 @itemx --help