Commit | Line | Data |
---|---|---|
b3370918 MW |
1 | .\" -*-nroff-*- |
2 | .\" | |
3 | .\" Manual page for `with-authinfo-kludge'. | |
4 | .\" | |
5 | .\" (c) 2016 Mark Wooding | |
6 | .\" | |
7 | . | |
8 | .\"----- Licensing notice --------------------------------------------------- | |
9 | .\" | |
10 | .\" This program is free software; you can redistribute it and/or modify | |
11 | .\" it under the terms of the GNU General Public License as published by | |
12 | .\" the Free Software Foundation; either version 2 of the License, or | |
13 | .\" (at your option) any later version. | |
14 | .\" | |
15 | .\" This program is distributed in the hope that it will be useful, | |
16 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | .\" GNU General Public License for more details. | |
19 | .\" | |
20 | .\" You should have received a copy of the GNU General Public License | |
21 | .\" along with this program; if not, write to the Free Software Foundation, | |
22 | .\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
23 | . | |
24 | .ie t \{\ | |
25 | . ds o \(bu | |
26 | .\} | |
27 | .el \{\ | |
28 | . ds o o | |
29 | .\} | |
30 | . | |
31 | .de hP | |
32 | .IP | |
33 | \h'-\w'\fB\\$1\ \fP'u'\fB\\$1\ \fP\c | |
34 | .. | |
35 | . | |
36 | .de VS | |
37 | .sp 1 | |
38 | .RS | |
39 | .nf | |
40 | .ft B | |
41 | .. | |
42 | .de VE | |
43 | .ft R | |
44 | .fi | |
45 | .RE | |
46 | .sp 1 | |
47 | .. | |
48 | . | |
49 | .TH with-authinfo-kludge 1 "23 April 2016" | |
50 | . | |
51 | .\"-------------------------------------------------------------------------- | |
52 | .SH NAME | |
53 | with-authinfo-kludge \- run a newsreader with AUTHINFO GENERIC support | |
54 | . | |
55 | .SH SYNOPSIS | |
56 | with-authinfo-kludge | |
57 | .RB [ \-v ] | |
58 | .RB [ \-d | |
59 | .IR dir ] | |
60 | .RB [ \-f | |
61 | .IR conf ] | |
62 | .RB [ \-t | |
63 | .IR tag ] | |
64 | .br | |
65 | \h'5m'\c | |
66 | [ | |
67 | .BI + server | |
68 | .RI [ param \fR= value | |
69 | \&...] \&...] | |
70 | .RB [ + ] | |
71 | .br | |
72 | \h'5m'\c | |
73 | .I command | |
74 | .RI [ args | |
75 | \&...] | |
76 | . | |
77 | .\"-------------------------------------------------------------------------- | |
78 | .SH DESCRIPTION | |
79 | . | |
80 | The | |
81 | .B with-authinfo-kludge | |
82 | program is an | |
83 | .I adverbial modifier | |
84 | which runs another command | |
85 | (typically a newsreader) | |
b352adb0 | 86 | in an environment in which it can, |
b3370918 MW |
87 | transparently to it, |
88 | make connections to certain NNTP servers | |
89 | which usually require | |
90 | .B AUTHINFO GENERIC | |
91 | authentication before they'll permit clients to read or post. | |
92 | This is useful because support for | |
93 | .B AUTHINFO GENERIC | |
b352adb0 | 94 | has never been especially widely implemented by newsreaders |
b3370918 MW |
95 | and now seems to be being withdrawn from those newsreaders |
96 | which used to support it. | |
97 | .PP | |
98 | In the simple case, you say something like | |
99 | .VS | |
100 | with-authinfo-kludge slrn | |
101 | .VE | |
102 | and then | |
103 | .B slrn | |
104 | will start up, | |
105 | connect to your default NNTP server | |
106 | (as named in the | |
107 | .B NNTPSERVER | |
108 | environment variable), | |
109 | authenticate to it as needed, | |
110 | and let you read and post news. | |
111 | In more complicated cases, | |
112 | .B with-authinfo-kludge | |
113 | can handle multiple NNTP servers, | |
114 | set up SSH forwarding for them, | |
115 | offer different authentication credentials to them, | |
116 | and hide the fact that they might be running on nonstandard ports. | |
117 | .PP | |
118 | The | |
119 | .B with-authinfo-kludge | |
120 | program doesn't do all of this itself: | |
121 | it depends on some other tools existing on the system in which it runs. | |
122 | (It doesn't need anything special running on the server system.) | |
123 | The external dependencies are as follows. | |
124 | .hP \*o | |
125 | The | |
126 | .B authinfo-kludge | |
127 | program, by Richard Kettlewell, | |
128 | is a simple proxy which relays commands and responses | |
129 | between the client (on stdin/stdout) and server (over TCP), | |
130 | and responds transparently to authentication requests from the server. | |
131 | .hP \*o | |
132 | The | |
133 | .B noip | |
134 | hack, by Mark Wooding, | |
135 | is an | |
136 | .B LD_PRELOAD | |
137 | library which selectively uses Unix-domain sockets | |
138 | in place of IPv4 or IPv6 sockets. | |
139 | . | |
140 | .SS "Command line" | |
141 | The | |
142 | .B with-authinfo-kludge | |
143 | program accepts a small number of options | |
144 | before its main command-line arguments. | |
145 | .TP | |
146 | .B \-h | |
147 | Write help about the command-line syntax to standard output, | |
148 | and exit with status zero. | |
149 | .TP | |
150 | .BI "\-d " dir | |
151 | Use | |
152 | .I dir | |
153 | as the `runtime directory', | |
154 | which is used to store sockets and other working files | |
155 | while | |
156 | .B with-authinfo-kludge | |
157 | is running. | |
158 | By default, it will choose an appropriate place | |
159 | in a moderately complicated manner described below; | |
160 | this option lets you override its choice | |
161 | in order to achieve special effects. | |
162 | .TP | |
163 | .BI "\-f " conf | |
164 | Read configuration from | |
165 | .IR conf . | |
166 | The default is somewhat complicated; | |
167 | see below. | |
168 | .TP | |
169 | .BI "\-t " tag | |
170 | Use | |
171 | .I tag | |
172 | to distinguish this usage of | |
173 | .B with-authinfo-kludge | |
174 | from others. | |
175 | The tag is used to select default configuration files | |
176 | and runtime directories. | |
177 | By default, the basename of the | |
178 | .I command | |
179 | is used. | |
180 | .TP | |
181 | .B "\-v" | |
182 | Print messages explaining what | |
183 | .B with-authinfo-kludge | |
184 | is doing to standard error. | |
185 | By default, | |
186 | .B with-authinfo-kludge | |
187 | does its thing silently unless there are problems. | |
188 | .PP | |
189 | The | |
190 | .I command | |
191 | argument names the command which should be run | |
192 | with the various proxy arrangements which it is the task of | |
193 | .B with-authinfo-kludge | |
194 | to arrange; it will be passed the | |
195 | .IR args , | |
196 | if any. | |
197 | The command name and arguments are not subject to | |
198 | interpretation by the shell; | |
199 | if, for some reason, you wanted to make use of shell features, | |
200 | you should specify a command of the form | |
201 | .B /bin/sh | |
202 | .B \-c | |
203 | .IR shell-fragment . | |
204 | .PP | |
205 | Between the options (if any) and the | |
206 | .I command | |
207 | name, | |
208 | there may be a number of server configurations. | |
209 | If any are present, they take the place of any configuration file: | |
210 | an error is reported if a | |
211 | .B \-f | |
212 | option was passed. | |
afaf8da0 | 213 | A server configuration starts with |
b3370918 MW |
214 | an argument consisting of a server name prefixed by a |
215 | .RB ` + ' | |
216 | character: | |
217 | .IP | |
218 | .BI + server | |
219 | .PP | |
220 | This may be followed by assignments | |
221 | .IP | |
222 | .IB param = value | |
223 | .PP | |
224 | which set configuration parameters | |
225 | for the previously-named server. | |
226 | Such a server configuration on the command line | |
227 | is treated exactly the same as a configuration-file section | |
228 | .IP | |
229 | .BI [ server ] | |
230 | .br | |
231 | .IB param = value | |
232 | .br | |
233 | \&... | |
234 | .PP | |
235 | See below for details about the configuration file. | |
236 | .PP | |
89a1cc74 | 237 | To hedge against the |
b3370918 | 238 | .IR command 's |
89a1cc74 MW |
239 | name containing an |
240 | .RB ` = ' | |
241 | or, less plausibly, beginning with | |
b3370918 MW |
242 | .RB ` + ', |
243 | an argument consisting of a | |
244 | .RB ` + ' | |
245 | sign on its own marks the end of the server configurations: | |
246 | the following argument will be interpreted as the command name | |
247 | regardless of its syntactic form. | |
248 | If there is a | |
249 | .RB ` + ' | |
250 | marker, but no server configurations, | |
251 | then the configuration file is read, | |
252 | or the default configuration is used, | |
253 | as usual. | |
254 | . | |
255 | .SS "Configuration file" | |
256 | The | |
257 | .B with-authinfo-kludge | |
258 | program reads configuration from a standard-ish | |
259 | .RB ` .ini '-format | |
260 | file. | |
261 | The file consists of parameter settings of the form | |
262 | .IP | |
263 | .I param | |
264 | .B = | |
265 | .I value | |
266 | .PP | |
267 | divided into sections by headers of the form | |
268 | .IP | |
269 | .BI [ name ] | |
270 | .PP | |
271 | Whitespace around the | |
272 | .IR name , | |
273 | .I param | |
274 | and | |
275 | .I value | |
276 | strings is discarded. | |
277 | A section | |
278 | .I name | |
279 | may itself contain square brackets, | |
280 | and they need not be properly nested. | |
281 | There is no syntax for continuing values over more than one line. | |
282 | .PP | |
283 | The file may also contain blank lines, | |
284 | and comment lines whose first non-whitespace character is either | |
285 | .RB ` # ' | |
286 | or | |
287 | .RB ` ; '. | |
288 | All such lines are ignored. | |
289 | .PP | |
290 | Parameter settings apply to the section named in the most recent | |
291 | setion header. | |
292 | Settings appearing before the first section header apply to | |
293 | the special section named | |
294 | .BR @GLOBAL , | |
295 | just as if a line | |
296 | .IP | |
297 | .B [@GLOBAL] | |
298 | .PP | |
299 | appeared at the very top of the file. | |
300 | It is permitted (though not usually expected) | |
301 | for several section headers to have the same name; | |
302 | in this case, | |
303 | all of the settings following any of the occurrences are gathered together, | |
304 | just as if they'd all appeared under a single header, | |
305 | in the same order. | |
306 | If the same parameter is assigned more than once, | |
307 | then only the | |
308 | .I last | |
309 | assignment has any effect. | |
310 | .PP | |
311 | With the exception of the | |
312 | .B @GLOBAL | |
313 | section, | |
314 | each section header should name an NNTP server. | |
315 | .PP | |
316 | The following server parameters are recognized. | |
317 | .TP | |
318 | .BI local= host\fR[ : port \fR] | |
319 | Sets the NNTP server address which the newsreader command | |
320 | expects to connect to. | |
321 | This does | |
322 | .I not | |
323 | have to be an address local to the machine on which | |
324 | .B with-authinfo-kludge | |
325 | runs. | |
326 | It defaults to the | |
327 | .I server | |
328 | name from the section heading | |
329 | (which must therefore be in the appropriate format), | |
330 | and may be equal to the | |
331 | .I remote | |
332 | address (below) without causing difficulty. | |
838ff5e9 MW |
333 | Note that |
334 | .B with-authinfo-kludge | |
335 | will not do anything to encourage the client | |
336 | to connect to the right address; | |
337 | its caller must arrange to configure the client correctly, | |
338 | e.g., by setting the | |
339 | .B NNTPSERVER | |
340 | environment variable appropriately. | |
b3370918 MW |
341 | .TP |
342 | .BI nntpauth= "parameter arguments\fR..." | |
343 | Set the AUTHINFO GENERIC authentication parameter and arguments | |
344 | to use for this server. | |
345 | The default is to use the settings from the | |
346 | .B NNTPAUTH | |
347 | environment variable. | |
348 | .TP | |
349 | .BI remote= host\fR[ : port \fR] | |
350 | Sets the real address of the NNTP server which | |
351 | .BR with-authinfo-kludge 's | |
352 | proxy (or the SSH tunnel) should connect to. | |
353 | It defaults to the | |
354 | .I server | |
355 | name from the section heading | |
356 | (which must therefore be in the appropriate format). | |
357 | .TP | |
358 | .BI sshbind= host\fR[ : port\fR] | |
359 | Change the address and port number | |
360 | of the local end of the SSH tunnel | |
361 | set up by the | |
362 | .B via | |
363 | parameter. | |
364 | The default is to use | |
49ae1f48 MW |
365 | 127.1.0.1:1119, |
366 | because OpenSSH refuses to try to listen on low-numbered ports | |
367 | rather than trying it and seeing whether it would work | |
368 | (which it would, in this case). | |
b3370918 MW |
369 | It is |
370 | .I not | |
371 | a problem for multiple servers to use the same address: | |
372 | .B with-authinfo-kludge | |
373 | uses the | |
374 | .BR noip (1) | |
375 | library to keep them | |
376 | separate. | |
377 | .TP | |
378 | .BI via= gateway | |
379 | Use SSH connection forwarding to reach the server. | |
380 | The | |
381 | .I gateway | |
382 | is passed to | |
383 | .BR ssh (1) | |
384 | as its hostname parameter, | |
385 | so may be a hostname or IP address, | |
386 | possibly prefixed by | |
387 | .IB user @ | |
388 | to choose a different login name; | |
389 | or it may name a | |
390 | .BR ssh_config (1) | |
391 | stanza providing detailed configuration. | |
392 | Note that the local end of the tunnel will | |
393 | .I not | |
394 | be exposed to other users of the local machine, | |
395 | since this instance of SSH is run under the control of | |
396 | .BR noip (1). | |
397 | .PP | |
398 | The various parameters which take network addresses | |
399 | accept a common syntax: | |
400 | .IP | |
401 | .IR host \c | |
402 | .RB [ : \c | |
403 | .IR port ] | |
404 | .PP | |
405 | The | |
406 | .I host | |
407 | may be a hostname; | |
408 | an IPv4 address in dotted-quad notation; or | |
409 | an IPv6 address in hex-and-colons notation, | |
410 | which must contain at least | |
411 | .I two | |
412 | colons to be valid. | |
413 | Raw IP addresses may be surrounded by square brackets; | |
414 | this is necessary to disambiguate a trailing | |
415 | .BI : port | |
416 | following an IPv6 address because the IPv6 address syntax is stupid. | |
417 | .PP | |
418 | The | |
419 | .B @GLOBAL | |
420 | section may set the following parameters. | |
421 | .TP | |
422 | .BI rundir= dir | |
423 | Set the runtime directory to be | |
424 | .IR dir . | |
425 | This directory (but not its parent directories) | |
426 | will be created automatically if necessary. | |
427 | The default runtime directory is chosen in a complicated way; | |
428 | see below. | |
429 | .PP | |
430 | The configuration file is found as follows. | |
431 | .hP 1. | |
432 | If server configurations are provided on the command line, | |
433 | then they are used instead of any configuration file. | |
434 | .hP 2. | |
435 | If a | |
436 | .B \-f | |
437 | option is given, then it is read as a configuration file. | |
438 | A fatal error is reported if the file does not exist, | |
439 | or cannot be read for some other reason. | |
440 | .hP 3. | |
b3370918 MW |
441 | Let |
442 | .I home | |
49ae1f48 MW |
443 | be the value of the environment variable |
444 | .BR HOME ; | |
445 | if this variable is not set, then | |
446 | .I home | |
447 | is not defined. | |
b3370918 | 448 | .hP 4. |
49ae1f48 | 449 | A `configuration path' is built, as follows. |
b3370918 MW |
450 | If the environment variable |
451 | .B XDG_CONFIG_HOME | |
49ae1f48 MW |
452 | is set, then its value is the first entry in the path; |
453 | otherwise the first entry is | |
b3370918 MW |
454 | .IB home /.config \fR; |
455 | a fatal error is reported at this point | |
456 | if no home directory was determined. | |
49ae1f48 MW |
457 | If the environment variable |
458 | .B XDG_CONFIG_DIRS | |
459 | is defined, | |
460 | then the | |
461 | .RB ` : '-separated | |
462 | entries in its value are appended to the path; | |
463 | otherwise, the single entry | |
464 | .B /etc/xdg | |
465 | is appended. | |
b3370918 MW |
466 | .hP 5. |
467 | A `tag' is chosen, as follows. | |
468 | If the | |
469 | .B \-t | |
470 | option is given, then its value is used; | |
471 | otherwise the tag is the basename of the | |
472 | .I command | |
473 | (i.e., the part following the last | |
474 | .RB ` / ', | |
475 | if any). | |
476 | Let | |
477 | .I tag | |
478 | denote the tag so chosen. | |
479 | .hP 6. | |
49ae1f48 MW |
480 | A search is made for a file |
481 | .IB dir /with-authinfo-kludge/ tag .conf | |
482 | for each directory | |
483 | .I dir | |
484 | in the configuration path established in step 4, | |
485 | in order. | |
486 | If such a file exists exists, | |
487 | then it is read as a configuration file. | |
b3370918 MW |
488 | (If it can't be read, then a fatal error is reported.) |
489 | .hP 7. | |
49ae1f48 MW |
490 | A similar search is made for |
491 | .IB dir /with-authinfo-kludge/@default.conf \fR. | |
492 | If such a file exists, | |
493 | then it is read as a configuration file. | |
b3370918 MW |
494 | (If it can't be read, then a fatal error is reported.) |
495 | .hP 8. | |
496 | No configuration file could be found, | |
497 | so a default configuration is constructed, as follows. | |
498 | Let | |
499 | .I nntp-server | |
afaf8da0 | 500 | be the value of the |
b3370918 MW |
501 | .B NNTPSERVER |
502 | environment variable; | |
503 | if it is not set, then a fatal error is reported. | |
504 | The default configuration is as follows. | |
505 | .RS | |
506 | .IP | |
507 | .BI [ nntp-server ] | |
508 | .RE | |
509 | . | |
510 | .SS "The runtime directory" | |
511 | (This section is technical, and can safely be skipped by most users. | |
512 | It may be useful to know this stuff if | |
513 | .B with-authinfo-kludge | |
514 | is behaving confusingly and you're trying to understand why.) | |
515 | .PP | |
516 | The runtime directory is chosen as follows. | |
517 | .hP 1. | |
518 | If the | |
519 | .B \-d | |
520 | option is present, then its value is used. | |
e365c82b MW |
521 | Otherwise, if the configuration file specifies |
522 | a value for the global | |
523 | .B rundir | |
524 | parameter then that it used. | |
b3370918 MW |
525 | .hP 2. |
526 | If the environment variable | |
527 | .B XDG_RUNTIME_DIR | |
528 | is set, then let | |
529 | .I run | |
530 | denote its value; | |
531 | then | |
532 | .IB run /with-authinfo-kludge | |
533 | is used as the runtime directory. | |
d9c763dc | 534 | .hP 3 |
b3370918 MW |
535 | If the environment variable |
536 | .B TMPDIR | |
537 | is set, then let | |
538 | .I tmp | |
539 | be its value; | |
540 | otherwise, let | |
541 | .I tmp | |
542 | be | |
543 | .BR /tmp . | |
d9c763dc MW |
544 | Let |
545 | .I uid | |
546 | be the current effective uid, in decimal, | |
547 | without leading zeroes | |
548 | (if the superuser is foolish enough to run this program then | |
549 | .I uid | |
550 | is | |
551 | .BR 0 ). | |
b3370918 | 552 | If |
d9c763dc | 553 | .IB tmp/ with-authinfo-kludge- uid |
b3370918 MW |
554 | exists, |
555 | is a directory (and not a symbolic link), | |
556 | is owned by the current effective uid, | |
557 | and has no permissions for group or others; | |
558 | or if it does not exist but can be created with the above properties; | |
559 | then it is used as the runtime directory. | |
d9c763dc | 560 | .hP 4. |
b3370918 MW |
561 | Let |
562 | .I home | |
49ae1f48 MW |
563 | be the value of the environment variable |
564 | .BR HOME ; | |
565 | if this variable is not set, then | |
566 | .I home | |
567 | is not defined. | |
d9c763dc | 568 | .hP 5. |
b3370918 MW |
569 | A `cache home' directory is determined, as follows. |
570 | If the environment variable | |
571 | .B XDG_CACHE_HOME | |
572 | is set, then its value is used. | |
573 | Otherwise, the configuration home is | |
574 | .IB home /.cache \fR; | |
575 | a fatal error is reported at this point | |
576 | if no home directory was determined. | |
577 | Let | |
578 | .I cache-home | |
579 | denote the cache home directory so determined. | |
580 | If the cache home directory does not exist, | |
581 | then it is created with mode 0777 (as modified by the umask). | |
d9c763dc | 582 | .hP 6. |
b3370918 MW |
583 | Let |
584 | .I hostname | |
585 | be the local machine's hostname, | |
586 | as reported by | |
587 | .BR gethostname (2). | |
e365c82b | 588 | Then |
b3370918 | 589 | .IB cache-home /with-authinfo-kludge. hostname |
e365c82b MW |
590 | is used as the runtime directory. |
591 | .PP | |
592 | If the directory chosen by the above procedure does not exist, | |
b3370918 MW |
593 | then it is created as a directory, |
594 | with mode 0700 (and modified by the umask). | |
b3370918 MW |
595 | (If it exists, but is not in fact a directory, |
596 | then later operations will fail.) | |
597 | .PP | |
49ae1f48 MW |
598 | The runtime directory contains a number of other directories. |
599 | There are a small number of shared directories, | |
600 | and zero or more | |
601 | .I session | |
602 | directories, | |
603 | each one corresponding to a running | |
b3370918 MW |
604 | (or failed) |
605 | instance of | |
49ae1f48 MW |
606 | .BR with-authinfo-kludge . |
607 | .PP | |
608 | The shared directories are as follows. | |
609 | .TP | |
610 | .B new/ | |
611 | This is the `nursery' directory: | |
612 | new session directories are created and populated in here. | |
613 | Subdirectories have names of the form | |
614 | .BI n. time . pid . rand / | |
615 | where | |
616 | .I time | |
617 | is the time | |
618 | (seconds since the POSIX epoch) | |
619 | at which the directory was created; | |
b3370918 | 620 | .I pid |
49ae1f48 MW |
621 | is the creator's process id; and |
622 | .I rand | |
623 | is a random number chosen to minimize conflicts. | |
624 | Directories in the nursery older than 300 seconds | |
625 | may be deleted. | |
626 | The creation protocol is to | |
627 | create a directory with an appropriate name; | |
628 | create a file within it named | |
629 | .BR lock ; | |
630 | take out a | |
631 | .BR fcntl (2)-style | |
632 | exclusive lock on this file; | |
633 | and then move the directory to be a direct child | |
634 | of the runtime directory. | |
635 | .TP | |
636 | .B junk/ | |
637 | Session and nursery directories are deleted in two stages: | |
638 | the first stage is to make them be subdirectories of | |
639 | .BR junk/ . | |
640 | Once there, any process may delete them. | |
641 | Note that nursery directories can be junked | |
642 | even if they're locked: | |
643 | moving them to | |
644 | .B junk/ | |
645 | prevents them from being promoted to proper sessions. | |
646 | .PP | |
647 | Session directories are named | |
648 | .BI s. tag . pid / | |
649 | where the | |
b3370918 MW |
650 | .I tag |
651 | is the tag summarizing its purpose | |
652 | (as determined in step 5 of the procedure | |
49ae1f48 MW |
653 | for finding a configuration file), and |
654 | the | |
655 | .I pid | |
656 | is the creator's process-id, | |
657 | which distinguishes this session from others with the same tag. | |
b3370918 | 658 | .PP |
49ae1f48 | 659 | The contents of a session directory are as follows. |
b3370918 MW |
660 | .TP |
661 | .B client.pid | |
662 | The process-id of the client command run by | |
663 | .BR with-authinfo-kludge . | |
664 | .TP | |
665 | .B lock | |
666 | An empty file. | |
667 | A | |
668 | running | |
669 | .B with-authinfo-kludge | |
49ae1f48 MW |
670 | process holds a |
671 | .BR fcntl (2)-style | |
672 | lock on this file. | |
b3370918 MW |
673 | It is used simply to tell other processes that |
674 | the directory is still in use and shouldn't be cleaned up. | |
675 | .TP | |
49ae1f48 MW |
676 | .B noip-client/ |
677 | A directory containing Unix-domain sockets created by | |
678 | .BR with-authinfo-kludge ; | |
679 | the | |
b3370918 | 680 | .B noip |
49ae1f48 MW |
681 | library arranges for the client program |
682 | to connect to these Unix-domain sockets | |
683 | rather than to the real remote NNTP servers. | |
684 | .TP | |
685 | .BR noip-ssh. server / | |
686 | This directory also contains Unix-domain sockets ; | |
687 | they are created by | |
688 | .BR ssh (1) | |
689 | and | |
690 | .B authinfo-kludge | |
691 | connects to them, | |
692 | both under the influence of | |
693 | .BR noip . | |
b3370918 | 694 | .TP |
49ae1f48 | 695 | .BI ssh- server .pid |
b3370918 MW |
696 | The process-id of the SSH process started to satisfy a |
697 | .B via | |
698 | server parameter. | |
699 | . | |
700 | .\"-------------------------------------------------------------------------- | |
701 | .SH BUGS | |
702 | . | |
703 | The program is probably too complicated for many uses, | |
704 | but the author finds the various bells and whistles useful. | |
705 | .PP | |
706 | There isn't a good way to get two or more NNTP clients | |
707 | to share the same proxy machinery. | |
708 | This is somewhat wasteful. | |
709 | Fixing this would necessitate some other way of | |
710 | orchestrating the setup and teardown of runtime directories. | |
b3370918 MW |
711 | . |
712 | .\"-------------------------------------------------------------------------- | |
713 | .SH SEE ALSO | |
714 | . | |
715 | .BR authinfo-kludge (1), | |
716 | .BR noip (1). | |
717 | .PP | |
718 | S. Barber, | |
719 | .IR "RFC2980, Common NNTP Extensions", | |
720 | .if !t \{\ | |
721 | .br | |
722 | \h'5m'\c | |
723 | .\} | |
724 | .BR "https://www.ietf.org/rfc/rfc2980.txt" . | |
725 | . | |
726 | .SH AUTHOR | |
727 | Mark Wooding, | |
728 | <mdw@distorted.org.uk> | |
729 | . | |
730 | .\"----- That's all, folks -------------------------------------------------- |