Fix defect in DoSFilter where semaphore acquires my be leaked

When trying to release the semaphore in the finally block, 'asyncContext.dispatch()' may throw a "RejectedExecutionException".  If this occurs, then the semaphore will never be released.
Ultimately the condition will result in all threads blocking to acquire the semaphore as the DoSFilter is continue to be used.

https://github.com/eclipse/jetty.project/pull/54

Signed-off-By: jentfoo@gmail.com
1 file changed
tree: 44e87500cec34786834723fea16ee30b68c6cbaa
  1. advisories/
  2. aggregates/
  3. apache-jsp/
  4. apache-jstl/
  5. examples/
  6. jetty-alpn/
  7. jetty-annotations/
  8. jetty-ant/
  9. jetty-cdi/
  10. jetty-client/
  11. jetty-continuation/
  12. jetty-deploy/
  13. jetty-distribution/
  14. jetty-fcgi/
  15. jetty-gcloud/
  16. jetty-http/
  17. jetty-http-spi/
  18. jetty-http2/
  19. jetty-infinispan/
  20. jetty-io/
  21. jetty-jaas/
  22. jetty-jaspi/
  23. jetty-jmx/
  24. jetty-jndi/
  25. jetty-jspc-maven-plugin/
  26. jetty-maven-plugin/
  27. jetty-monitor/
  28. jetty-nosql/
  29. jetty-osgi/
  30. jetty-overlay-deployer/
  31. jetty-plus/
  32. jetty-proxy/
  33. jetty-quickstart/
  34. jetty-rewrite/
  35. jetty-runner/
  36. jetty-security/
  37. jetty-server/
  38. jetty-servlet/
  39. jetty-servlets/
  40. jetty-spring/
  41. jetty-start/
  42. jetty-util/
  43. jetty-util-ajax/
  44. jetty-webapp/
  45. jetty-websocket/
  46. jetty-xml/
  47. LICENSE-CONTRIBUTOR/
  48. tests/
  49. .gitattributes
  50. .gitignore
  51. CONTRIBUTING.md
  52. header-template.txt
  53. icon.jpg
  54. LICENSE-eplv10-aslv20.html
  55. NOTICE.txt
  56. pom.xml
  57. README.md
  58. README.TXT
  59. VERSION.txt
README.md

Project description

Jetty is a lightweight highly scalable java based web server and servlet engine. Our goal is to support web protocols like HTTP, HTTP/2 and WebSocket in a high volume low latency way that provides maximum performance while retaining the ease of use and compatibility with years of servlet development. Jetty is a modern fully async web server that has a long history as a component oriented technology easily embedded into applications while still offering a solid traditional distribution for webapp deployment.

Documentation

Project documentation is located on our Eclipse website.

Professional Services

Expert advice and production support are available through http://webtide.com.