.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DOMAIN 8" .TH DOMAIN 8 2024-04-01 "INN 2.7.2" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME domain \- nnrpd domain resolver .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBdomain\fR \fIdomain-name\fR .SH DESCRIPTION .IX Header "DESCRIPTION" This program can be used in \fIreaders.conf\fR to grant access based on the subdomain part of the remote hostname. In particular, it only returns success if the remote hostname ends in \fIdomain-name\fR. (A leading dot on \&\fIdomain-name\fR is optional; even without it, the argument must match on dot-separated boundaries). The \f(CW\*(C`username\*(C'\fR returned is whatever initial part of the remote hostname remains after \fIdomain-name\fR is removed. It is an error if there is no initial part (that is, if the remote hostname is \fIexactly\fR the specified \fIdomain-name\fR). .SH EXAMPLE .IX Header "EXAMPLE" The following readers.conf(5) fragment grants access to hosts with internal domain names: .PP .Vb 4 \& auth internal { \& res: "domain .internal" \& default\-domain: "example.com" \& } \& \& access internal { \& users: "*@example.com" \& newsgroups: example.* \& } .Ve .PP Access is granted to the example.* groups for all connections from hosts that resolve to hostnames ending in \f(CW\*(C`.internal\*(C'\fR; a connection from \&\f(CW\*(C`foo.internal\*(C'\fR would match access groups as \f(CW\*(C`foo@example.com\*(C'\fR identity. .SH BUGS .IX Header "BUGS" It seems the code does not confirm that the matching part is actually at the end of the remote hostname (e.g., \f(CW\*(C`domain: example.com\*(C'\fR would match the remote host \f(CW\*(C`foo.example.com.org\*(C'\fR by ignoring the trailing \f(CW\*(C`.org\*(C'\fR part). .PP Does this resolver actually provide any useful functionality not available by using wildcards in the readers.conf(5) \fIhosts\fR parameter? If so, the example above should reflect this functionality. .SH HISTORY .IX Header "HISTORY" This documentation was written by Jeffrey M.\ Vinocur . .SH "SEE ALSO" .IX Header "SEE ALSO" nnrpd(8), readers.conf(5)