Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-04 | core: Synchronize calls to SetDeadline within fakeCloseListener | Matthew Holt | |
First evidenced in #2658, listener deadlines would sometimes be set after clearing them, resulting in endless i/o timeout errors, which leave all requests hanging. This bug is fixed by synchronizing the calls to SetDeadline: when Close() is called, the deadline is first set to a time in the past, and the lock is released only after the deadline is set, so when the other servers break out of their Accept() calls, they will clear the deadline *after* it was set. Before, the clearing could sometimes come before the set, which meant that it was left in a timeout state indefinitely. This may not yet be a perfect solution -- ideally, the setting and clearing of the deadline would happen exactly once per underlying listener, not once per fakeCloseListener, but in rigorous testing with these changes (comprising tens of thousands of config reloads), I was able to verify that no race condition is manifest. | |||
2019-10-11 | reverse_proxy: Allow dynamic backends (closes #990 and #1539) | Matthew Holt | |
This PR enables the use of placeholders in an upstream's Dial address. A Dial address must represent precisely one socket after replacements. See also #998 and #1639. | |||
2019-09-10 | Experimental IETF-standard HTTP/3 support (known issue exists) (#2727) | Matt Holt | |
* Begin WIP integration of HTTP/3 support * http3: Set actual Handler, make fakeClosePacketConn type for UDP sockets Also use latest quic-go for ALPN fix * Manually keep track of and close HTTP/3 listeners * Update quic-go after working through some http3 bugs * Fix go mod * Make http3 optional for now | |||
2019-09-05 | Reconcile upstream dial addresses and request host/URL information | Matthew Holt | |
My goodness that was complicated Blessed be request.Context Sort of | |||
2019-09-02 | reverse_proxy: WIP refactor and support for FastCGI | Matthew Holt | |
2019-07-08 | Move listen address functions into caddy package; fix unix bug | Matthew Holt | |
2019-06-30 | Add license | Matthew Holt | |
2019-06-14 | Rename caddy2 -> caddy | Matthew Holt | |
Removes the version from the package name | |||
2019-05-16 | Architectural shift to using context for config and module state | Matthew Holt | |
2019-04-25 | Initial commit of Storage, TLS, and automatic HTTPS implementations | Matthew Holt | |
2019-04-02 | Close listeners which are no longer used | Matthew Holt | |
2019-04-02 | Merged in deadlines (pull request #1) | Matt Holt | |
Cleanly fake-close listeners * WIP debugging listener deadlines * Fix listener deadlines | |||
2019-03-31 | Very basic middleware and route matching functionality | Matthew Holt | |
2019-03-26 | Performance testing Load function | Matthew Holt | |
2019-03-26 | Rudimentary start of HTTP servers | Matthew Holt | |