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           Prepend the article header field Path: with 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       -E | --discard-empty
95           Silently discard an empty article.
96
97       -F | --references
98           Set the article header field References: to the given value.
99
100       -H | --help
101           Show help-page.
102
103       -I | --no-injection-date
104           Do not add Injection-Date: header.
105
106       -L | --no-canlock
107           Do not add Cancel-Lock: / Cancel-Key: headers.
108
109       -O | --no-organization
110           Do not add Organization: header.
111
112       -R | --no-control
113           Restricted mode, disallow control-messages.
114
115       -S | --no-signature
116           Do not append $HOME/.signature.
117
118       -X | --no-sign
119           Do not sign the article.
120
121       -Y | --force-auth
122           Force authentication on connect even if not required by the server.
123
124       --canlock-algorithm "Algorithm"
125           Digest algorithm used for Cancel-Lock: / Cancel-Key: headers.
126           Supported algorithms are sha1, sha256 and sha512. Default is sha1.
127
128       --ssl | --nntps
129           Use NNTPS (via port 563) if available. This requires a recent
130           version of Net::NNTP(3pm) and IO::Socket::SSL(3pm). Be aware that
131           no SSL verification will be done.
132
133       --transform
134           Convert network line endings (<CR><LF>) to unix line endings
135           (<LF>).
136
137       --version
138           Show version.
139
140       -A -V -W
141           These options are accepted for compatibility reasons but ignored.
142
143       -h | --headers
144           These options are accepted for compatibility reasons but ignored.
145

EXIT STATUS

147       The following exit values are returned:
148
149        0  Successful completion.
150
151       !=0 An error occurred.
152

ENVIRONMENT

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

FILES

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

SECURITY

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

NOTES

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

AUTHOR

274       Urs Janssen <urs@tin.org>, Marc Brockschmidt <marc@marcbrockschmidt.de>
275

SEE ALSO

277       pgp(1), gpg(1), gpg2(1), pgps(1), Digest::HMAC_SHA1(3pm),
278       Digest::SHA(3pm), Digest::SHA1(3pm), Getopt::Long(3pm),
279       IO::Socket::SSL(3pm), MIME::Base64(3pm), Net::NNTP(3pm),
280       Time::Local(3pm), Term::Readline(3pm)
281
282
283
2841.1.61                        February 21st, 2022                 tinews.pl(1)
Impressum