Provided by: inn2_2.7.2~20230806-1_amd64 bug

NAME

       sm - Command-line interface to the INN storage manager

SYNOPSIS

       sm [-cdHiqRrSs] [token ...]

DESCRIPTION

       The INN storage manager is the subsystem that stores and keeps track of all of the
       articles and what storage backend they're in.  All stored articles are assigned a storage
       API token.  sm is a command-line interface to that storage manager, primarily used to
       retrieve articles by those tokens but also to perform other operations on the storage
       subsystem.

       token is the token of an article (the same thing that's returned by grephistory or stored
       in the history file).  It looks something like:

           @0502000005A4000000010000000000000000@

       Any number of tokens can be given on the command-line for any function other than -s.  If
       none are, sm normally reads tokens from standard input, one per line.  The default
       operation is to retrieve and write to standard output the corresponding article for each
       token given.

       If -s is given, sm instead stores the article given on standard input (in native format,
       unless -R is given, in which case wire format is expected) using the standard rules of the
       storage subsystem.  If the article is stored successfully, the token of the article is
       printed to standard output.  Please note that this does not make any attempt to write a
       history entry or any overview data, and is therefore only useful under very specific
       circumstances.

OPTIONS

       -c  Show a clear, decoded form of the storage API token.  Each part of the token is
           explained, in a human-readable string.  Amongst other elements, this command gives the
           path to where the corresponding article is supposed to be stored.

       -d, -r
           Rather than retrieving the specified article, remove the article.  This will delete
           the article out of the news spool and it will not subsequently be retrievable by any
           part of INN.  It's equivalent to "ctlinnd cancel" except it takes a storage API token
           instead of a message-ID.

       -H  Retrieve only the headers of the article rather than the entire article.  This option
           cannot be used with -d, -r, -i, or -S.

       -i  Show the newsgroup name and article number associated with the token rather than the
           article itself.  Note that for crossposted articles, only the first newsgroup and
           article number to which the article is associated will be returned.

       -q  Suppress all error messages except usage errors.

       -R  Display the raw article.  This means that line endings won't be converted to native
           line endings and will be left as CRLF sequences; leading periods will still be escaped
           for sending over NNTP, and the article will end in a CRLF.CRLF sequence.

           When used with -s, read articles in wire format.

       -S  Write the article to standard output in the format used by rnews spool files.
           Multiple articles can be written in this format, and the resulting output can be fed
           to rnews (on another system, for example) to inject those articles into INN.  This
           option cannot be used with -d, -r, -H, -i, or -R.

       -s  Store the article given on standard input using the normal storage rules for articles
           as configured in storage.conf(5).  Print the new token for the message to standard
           output if it is stored successfully.  If this option is given, no other options except
           -R and possibly -q should be given.  When -R is given, any number of articles in wire
           format are read on standard input and stored.

EXIT STATUS

       If all operations were successful, sm exits with status 0.  If an operation on any of the
       provided tokens fails, sm will exit with status 1, even if the operations on other tokens
       were successful.  In other words, if twenty tokens are fed to "sm -r" on stdin, 19
       articles were successfully removed, but the sixth article couldn't be found, sm will still
       exit with status 1.

       This means that if you need to be sure whether a particular operation succeeded, you
       should run sm on one token at a time.

HISTORY

       Written by Katsuhiro Kondou <kondou@nec.co.jp> for InterNetNews.  Rewritten in POD by Russ
       Allbery <eagle@eyrie.org>.

SEE ALSO

       ctlinnd(8), grephistory(1), history(5), rnews(1), storage.conf(5).