-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DPI Http01 solver for linux with nfqueue #1845
base: master
Are you sure you want to change the base?
Conversation
Hello, do you know that every commit creates a notification even with draft PR? Can you try to reduce the number of commits? Thank you. Otherwise, maybe you can clean a bit your current commits. |
this creates about 10 lingering empty packets sent by webserver to acme server, but as server it was not that bright idea to edit on window and push it to linux vps with git push-pull. well squash everything until now |
4e0888c
to
a400af7
Compare
you have a problem with your rebase 😉 |
a400af7
to
0fab042
Compare
Co-authored-by: Fernandez Ludovic <[email protected]> send RST to ACME server so it doens't retry use not deprecated version of func
0fab042
to
758045d
Compare
758045d
to
b182087
Compare
rebase done I don't have ipv6 server, so I have no idea what will happen this got ipv6 packet. |
@ldez Kinda want to have testing for this, but as this is requires root to do anything (as this requires to set nfqueue) |
nfqueue_linux_test.go needs root (sudo in it won't cut it) so can't run in CI |
This pull request will add http.nfqueueport option, which when assigned a port will put a nfqueue rule on firewall to capture http request for token path, block it to reach web server and craft request packet for it. (Linux only)
Why anyone do that? because with this solver it don't need to care about any webserver on port 80.
Why this is draft PR? because this is just enough to run, and much to do yet (ex: currently can't handle ipv6 (not sure it skips or panics), no reasonable docstring, and some more bugs maybe)
using nfqueue for port-sniffing solver isn't my original idea:
https://community.letsencrypt.org/t/using-nfqueue-on-linux-as-a-novel-webserver-agnostic-http-authenticator/192625/23
http.nfqueueport is with port number option so run on pebble, but does it really need to set a port number or just blindly running on port 80 is enough?