-
-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Update Caddy to use Go 1.8 #1375
Comments
You mean "Add support for curve X25519 and ChaCha20-Poly1305. Ensure AES-GCM is prioritized if hardware has AES-GCM support, otherwise prefer a ChaCha20 suite.", right? "Basically" like my implementation here https://github.com/elcore/caddy
So, the user should not be able to configure the TLS Configuration, it should be dynamically configured??? P.S.: Just asking, I am so sorry, but I don´t have enough time to work on this new feature. |
No; the user can still configure TLS, but right now we have to combine all sites' |
Okay
I know 😄 Thank you for the clarification |
@elcore In regards to:
Yes, sorry, I meant what the Go release notes say: "ChaCha20-Poly1305 is now prioritized unless hardware support for AES-GCM is present." I updated my original post. |
Is it possible to modify .travis.yml to drop go1.7 and build only for 1.8 (so go1.8 builds will pass)? |
I've started working on (#1389):
|
Yes! We'll drop support for Go 1.7 when Go 1.8 is released. Won't be long now. And thank you for working on those :) That's super helpful. |
Now that go 1.8 has been released, any ETA on a version of Caddy built with it? |
@injust Not yet, but hopefully soon! |
I'm down to help, where do you want help @mholt ? |
@suedadam Thanks! We're almost done. How would you like to help with the VerifyPeerCertificate feature? Basically, this would allow a user to specify a specific TLS client certificate to allow through, rather than how it is now, which is any certificate signed by the specified CA. I'm not sure how involved this is, depends what you're up to. But that's the only thing on this list that is really remaining at this point. I've already decided that we're going to hold off on auto-push for now, it's complicated. None of the remaining TODO items will delay the release on April 20, so we're on track for that. 👍 |
@suedadam Not quite, this is at the transport layer, not the application layer. This belongs in the |
@mholt Gotcha, that makes perfect sense. Thanks! |
Yeah, it could by nice to have access to, at least, that information :
As variables, we can pass these data to the proxy via extra headers. Related forum threads : |
Okay, here's an elaboration of what needs to happen to finish TLS client authentication and close this issue: Right now we can only verify client certificates based on issuing CA, but it would be nice to be able to authorize only specific client certificates based on their public key. This'll probably involve a slight change to the tls Caddyfile syntax:
and maybe we can read in all the keys in a bundle in a single file, and allow all of them:
Do we want to continue supporting authorized CAs (current behavior)? If we do, then we should introduce a new tls subdirective called |
Would it be worthwhile to consider multiple |
@zikes Yes, good point, my intent is that |
This was all done long ago, except for adding improved support for verifying (accepting/rejecting) client certificates, and I think that can be done in a new issue if there's demand for it. |
Go 1.8 introduces some nice improvements to the crypto packages and Caddy should begin using them. There are also some updates to net/http and other packages we should use.
Specifically:
I'm looking into server push next chance I get -- others are welcome to help contribute to the crypto changes.
The text was updated successfully, but these errors were encountered: