1tinews.pl(1)           Post and sign an article via NNTP          tinews.pl(1)
2
3
4

NAME

6       tinews.pl - Post and sign an article via NNTP
7

SYNOPSIS

9       tinews.pl [OPTIONS] < input
10

DESCRIPTION

12       tinews.pl reads an article on STDIN, signs it via pgp(1) or gpg(1) and
13       posts it to a news server.
14
15       The article shall not contain any raw 8-bit data or it needs to already
16       have the relevant MIME-headers as tinews.pl will not add any MIME-
17       headers nor encode its input.
18
19       If the article contains To:, Cc: or Bcc: headers and mail-actions are
20       configured it will automatically add a "Posted-And-Mailed: yes" header
21       to the article and send out the mail-copies.
22
23       If a Cancel-Lock secret file is defined it will automatically add a
24       Cancel-Lock: (and Cancel-Key: if required) header.
25
26       The input should have unix line endings (<LF>, '\n'). Use --transform
27       to convert from <CR><LF> to just <LF>.
28

OPTIONS

30       -a "Approved" | --approved "Approved"
31           Set the article header field Approved: to the given value.
32
33       -c "Control" | --control "Control"
34           Set the article header field Control: to the given value.
35
36       -d "Distribution" | --distribution "Distribution"
37           Set the article header field Distribution: to the given value.
38
39       -e "Expires" | --expires "Expires"
40           Set the article header field Expires: to the given value.
41
42       -f "From" | --from "From"
43           Set the article header field From: to the given value.
44
45       -i header | --ignore-headers header
46           Comma separated list of headers that will be ignored during
47           signing.  Usually the following headers will be signed if present:
48
49           From, Newsgroups, Subject, Control, Supersedes, Followup-To, Date,
50           Injection-Date, Sender, Approved, Message-ID, Reply-To, Cancel-Key,
51           Also-Control and Distribution.
52
53           Some of them may be altered on the Server (i.e. Cancel-Key) which
54           would invalid the signature, this option can be used the exclude
55           such headers if required.
56
57       -m "Message-ID" | --message-id "Message-ID"
58           Set the article header field Message-ID: to the given value.
59
60       -n "Newsgroups" | --newsgroups "Newsgroups"
61           Set the article header field Newsgroups: to the given value.
62
63       -o "Organization" | --organization "Organization"
64           Set the article header field Organization: to the given value.
65
66       -p "port" | --port "port"
67           use "port" as NNTP-port
68
69       -r "Reply-To" | --reply-to "Reply-To"
70           Set the article header field Reply-To: to the given value.
71
72       -s directory | --savedir directory
73           Save signed article to directory directory instead of posting.
74
75       -t "Subject" | --subject "Subject"
76           Set the article header field Subject: to the given value.
77
78       -v | --verbose
79           Warn about disabled options due to lacking perl-modules or
80           executables and unreadable files and enable warnings about raw
81           8-bit data.
82
83       -w "Followup-To" | --followup-to "Followup-To"
84           Set the article header field Followup-To: to the given value.
85
86       -x "Path" | --path "Path"
87           Set the article header field Path: to the given value.
88
89       -D | -N | --debug
90           Set Net::NNTP(3pm) to debug mode, enable warnings about raw 8-bit
91           data, warn about disabled options due to lacking perl-modules or
92           executables and unreadable files.
93
94       -H | --help
95           Show help-page.
96
97       -I | --no-injection-date
98           Do not add Injection-Date: header.
99
100       -L | --no-canlock
101           Do not add Cancel-Lock: / Cancel-Key: headers.
102
103       -O | --no-organization
104           Do not add Organization: header.
105
106       -R | --no-control
107           Restricted mode, disallow control-messages.
108
109       -S | --no-signature
110           Do not append $HOME/.signature.
111
112       -X | --no-sign
113           Do not sign the article.
114
115       -Y | --force-auth
116           Force authentication on connect even if not required by the server.
117
118       --canlock-algorithm "Algorithm"
119           Digest algorithm used for Cancel-Lock: / Cancel-Key: headers.
120           Supported algorithms are sha1, sha256 and sha512. Default is sha1.
121
122       --ssl | --nntps
123           Use NNTPS (via port 563) if available. This requires a recent
124           version of Net::NNTP(3pm) and IO::Socket::SSL(3pm). Be aware that
125           no SSL verification will be done.
126
127       --transform
128           Convert network line endings (<CR><LF>) to unix line endings
129           (<LF>).
130
131       --version
132           Show version.
133
134       -A -V -W
135           These options are accepted for compatibility reasons but ignored.
136
137       -h | --headers
138           These options are accepted for compatibility reasons but ignored.
139

EXIT STATUS

141       The following exit values are returned:
142
143        0  Successful completion.
144
145       !=0 An error occurred.
146

ENVIRONMENT

148       $NEWSHOST
149           Set to override the NNTP server configured in the source or config-
150           file.  It has lower priority than $NNTPSERVER and should be
151           avoided.
152
153       $NNTPSERVER
154           Set to override the NNTP server configured in the source or config-
155           file.  This has higher priority than $NEWSHOST.
156
157       $NNTPPORT
158           The NNTP TCP-port to post news to. This variable only needs to be
159           set if the TCP-port is not 119 (the default). The '-p' command-line
160           option overrides $NNTPPORT.
161
162       $PGPPASS
163           Set to override the passphrase configured in the source (used for
164           pgp(1)-2.6.3).
165
166       $PGPPASSFILE
167           Passphrase file used for pgp(1) or gpg(1).
168
169       $SIGNER
170           Set to override the user-id for signing configured in the source.
171           If you neither set $SIGNER nor configure it in the source the
172           contents of the From:-field will be used.
173
174       $REPLYTO
175           Set the article header field Reply-To: to the return address
176           specified by the variable if there isn't already a Reply-To: header
177           in the article.  The '-r' command-line option overrides $REPLYTO.
178
179       $ORGANIZATION
180           Set the article header field Organization: to the contents of the
181           variable if there isn't already an Organization: header in the
182           article. The '-o' command-line option overrides $ORGANIZATION, The
183           '-O' command-line option disables it.
184
185       $DISTRIBUTION
186           Set the article header field Distribution: to the contents of the
187           variable if there isn't already a Distribution: header in the
188           article. The '-d' command-line option overrides $DISTRIBUTION.
189

FILES

191       pgptmp.txt
192           Temporary file used to store the reformatted article.
193
194       pgptmp.txt.asc
195           Temporary file used to store the reformatted and signed article.
196
197       $PGPPASSFILE
198           The passphrase file to be used for pgp(1) or gpg(1).
199
200       $HOME/.signature
201           Signature file which will be automatically included.
202
203       $HOME/.cancelsecret
204           The passphrase file to be used for Cancel-Locks. This feature is
205           turned off by default.
206
207       $HOME/.newsauth
208           "nntpserver password [user]" pairs or triples for NNTP servers that
209           require authorization. First match counts. Any line that starts
210           with "#" is a comment. Blank lines are ignored. This file should be
211           readable only for the user as it contains the user's unencrypted
212           password for reading news. If no matching entry is found
213           $HOME/.nntpauth is checked.
214
215       $HOME/.nntpauth
216           "nntpserver user password" triples for NNTP servers that require
217           authorization. First match counts. Lines starting with "#" are
218           skipped and blank lines are ignored. This file should be readable
219           only for the user as it contains the user's unencrypted password
220           for reading news.  $HOME/.newsauth is checked first.
221
222       $XDG_CONFIG_HOME/tinewsrc $HOME/.config/tinewsrc $HOME/.tinewsrc
223           "option=value" configuration pairs, last match counts and only
224           "value" is case sensitive. Lines that start with "#" are ignored.
225           If the file contains unencrypted passwords (e.g. nntp-pass or pgp-
226           pass), it should be readable for the user only. Use -vH to get a
227           full list of all available configuration options.
228

SECURITY

230       If you've configured or entered a password, even if the variable that
231       contained that password has been erased, it may be possible for someone
232       to find that password, in plaintext, in a core dump. In short, if
233       serious security is an issue, don't use this script.
234
235       Be aware that even if NNTPS is used still no SSL verification will be
236       done.
237

NOTES

239       tinews.pl is designed to be used with pgp(1)-2.6.3, pgp(1)-5, pgp(1)-6,
240       gpg(1) and gpg2(1).
241
242       tinews.pl requires the following standard modules to be installed:
243       Getopt::Long(3pm), Net::NNTP(3pm), Time::Local(3pm) and
244       Term::Readline(3pm).
245
246       NNTPS (NNTP with implicit TLS; RFC 4642 and RFC 8143) may be
247       unavailable if Net::NNTP(3pm) is too old or IO::Socket::SSL(3pm) is
248       missing on the system. tinews.pl will fallback to unencrypted NNTP in
249       that case.
250
251       If the Cancel-Lock feature (RFC 8315) is enabled the following
252       additional modules must be installed: MIME::Base64(3pm),
253       Digest::SHA(3pm) or Digest::SHA1(3pm) and Digest::HMAC_SHA1(3pm).
254       sha256 and sha512 as algorithms for canlock-algorithm are only
255       available with Digest::SHA(3pm).
256
257       gpg2(1) users may need to set $GPG_TTY, i.e.
258
259        GPG_TTY=$(tty)
260        export GPG_TTY
261
262       before using tinews.pl. See <https://www.gnupg.org/> for details.
263
264       tinews.pl does not do any MIME encoding, its input should be already
265       properly encoded and have all relevant headers set.
266

AUTHOR

268       Urs Janssen <urs@tin.org>, Marc Brockschmidt <marc@marcbrockschmidt.de>
269

SEE ALSO

271       pgp(1), gpg(1), gpg2(1), pgps(1), Digest::HMAC_SHA1(3pm),
272       Digest::SHA(3pm), Digest::SHA1(3pm), Getopt::Long(3pm),
273       IO::Socket::SSL(3pm), MIME::Base64(3pm), Net::NNTP(3pm),
274       Time::Local(3pm), Term::Readline(3pm)
275
276
277
2781.1.59                         August 11th, 2021                  tinews.pl(1)
Impressum