DOMAIN(8)
π NAME π
okay so this is domain β the nnrpd domain resolver, straight out of the InterNetNews documentation, section 8 of the manual, bestie. she's a tiny little auth helper and she's got a very specific job. β¨
π¦ SYNOPSIS π¦
domain domain-name
that's it. one argument. she's low maintenance. π
πΈ DESCRIPTION πΈ
so here's the vibe: you can drop this program into readers.conf to grant access based on the subdomain part of the remote hostname. main character energy for subdomains only. π
the important bit β it only returns success if the remote hostname ends in domain-name. no ending, no entry. periodt.
a couple of small but crucial details: π
- a leading dot on
domain-nameis optional β and even if you don't put one there, the argument still has to match on dot-separated boundaries. so like, boundaries matter, iykyk. - the
"username"it hands back is whatever initial part of the remote hostname remains afterdomain-namegets removed. - and it is an error if there's no initial part left β meaning if the remote hostname is exactly the specified
domain-name, she's not doing that. that's a whole error. π
π§ EXAMPLE π§
here's a readers.conf(5) fragment that grants access to hosts with internal domain names β copy it exactly, bestie, don't freestyle:
auth internal {
res: "domain .internal"
default-domain: "example.com"
}
access internal {
users: "*@example.com"
newsgroups: example.*
}
so what's happening here? access is granted to the example.* groups for all connections from hosts that resolve to hostnames ending in ".internal". and like, concretely: a connection from "foo.internal" would match access groups as a "foo@example.com" identity. slay. π«Ά
π BUGS π
okay girlies, gather round, we gotta be honest about a couple of things. π
- it seems the code does not confirm that the matching part is actually at the end of the remote hostname. like for real β e.g.
"domain: example.com"would match the remote host"foo.example.com.org"by ignoring the trailing".org"part. yeah. not ideal. π - and the big question the docs literally ask: does this resolver actually provide any useful functionality that you couldn't already get by using wildcards in the
readers.conf(5)hostsparameter? if so, the example above should reflect this functionality. so like... open question, fr fr. π€
no cap, those are the original doc's own words β I'm just delivering the tea, not making new claims. π
π HISTORY π
this documentation was written by Jeffrey M. Vinocur <jeff@litech.org>. credit where credit's due, bestie. π
β SEE ALSO β
and that's the whole page, bestie! π this little gem is from INN 2.7.4, dated 2023-03-07 β so go forth, resolve those domains, and remember: dot-separated boundaries are not a suggestion. πβ¨
π¦ where this page comes from
- arch rolling: inn 2.7.4-4 Β· ISC
- epel 10: inn 2.7.4-5.el10_3 Β· ISC AND BSD-3-Clause AND BSD-4-Clause AND FSFAP AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND MIT AND NTP
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms