pdns
pdns copied to clipboard
webserver: implement support for Linux abstract namespace sockets
Short description
Abstract namespace is a Linux specific feature to bind a UNIX domain
socket without the need for any filesystem access, which is particularly
interesting to allow a process running in a chroot or with limited
privileges to access the webserver socket over UNIX domain socket.
The main difference from regular UNIX domain socket is that the first
byte of sun_path is set to zero.
Abstract namespace are defined by prefixing value with abns@.
$ cat pdns.conf
..
webserver=yes
[email protected]
$ curl -sD - -o /dev/null --abstract-unix-socket pdns.http http://localhost/metrics
* Trying :0...
* Established connection to localhost ( port 0) from port 0
* using HTTP/1.x
> GET /metrics HTTP/1.1
> Host: localhost
> User-Agent: curl/8.16.0
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Connection: close
< Content-Length: 15040
< Content-Type: text/plain; version=0.0.4
<
{ [15040 bytes data]
* shutting down connection #0
Checklist
I have:
- [X] read the CONTRIBUTING.md document
- [X] read and accepted the Developer Certificate of Origin document, including the AI Policy, and added a "Signed-off-by" to my commits
- [X] compiled this code
- [X] tested this code
- [X] included documentation (including possible behaviour changes)
- [ ] documented the code
- [ ] added or modified regression test(s)
- [ ] added or modified unit test(s)
Pull Request Test Coverage Report for Build 19989803359
Details
- 6 of 15 (40.0%) changed or added relevant lines in 4 files are covered.
- 65 unchanged lines in 13 files lost coverage.
- Overall coverage decreased (-0.02%) to 73.298%
| Changes Missing Coverage | Covered Lines | Changed/Added Lines | % |
|---|---|---|---|
| pdns/misc.cc | 4 | 5 | 80.0% |
| pdns/iputils.hh | 0 | 8 | 0.0% |
| <!-- | Total: | 6 | 15 |
| Files with Coverage Reduction | New Missed Lines | % |
|---|---|---|
| pdns/dnsdistdist/dnsdist-healthchecks.cc | 2 | 59.64% |
| pdns/recursordist/sortlist.cc | 2 | 72.94% |
| modules/gpgsqlbackend/spgsql.cc | 3 | 68.18% |
| pdns/iputils.cc | 3 | 59.73% |
| pdns/misc.hh | 3 | 85.03% |
| pdns/opensslsigners.cc | 3 | 61.34% |
| pdns/recursordist/test-syncres_cc2.cc | 3 | 89.12% |
| pdns/dnsdistdist/dnsdist-tcp.cc | 4 | 77.4% |
| pdns/signingpipe.cc | 5 | 85.52% |
| pdns/recursordist/syncres.cc | 6 | 80.99% |
| <!-- | Total: | 65 |
| Totals | |
|---|---|
| Change from base Build 19969176468: | -0.02% |
| Covered Lines: | 128701 |
| Relevant Lines: | 164812 |
💛 - Coveralls
I see that spell check is failing for this PR, I have tried a number of alternative to ignore abns, but I'm not able to find exactly what is wrong here. Could you please guide me ?
Hi, I'm the @check-spelling developer. I'm curious what alternatives you tried.
The goal is for you to load https://github.com/PowerDNS/pdns/actions/runs/19989803358/attempts/1#summary-57328879876 and use one of the To accept these unrecognized words as correct, options to add the items to the expect.txt file, but if the messaging isn't clear, then I probably need to work on improving it.