[
https://issues.apache.org/jira/browse/TOMEE-4707?focusedWorklogId=1044211&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1044211
]
ASF GitHub Bot logged work on TOMEE-4707:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 27/Sep/26 07:30
Start Date: 27/Sep/26 07:30
Worklog Time Spent: 10m
Work Description: jungm commented on PR #2945:
URL: https://github.com/apache/tomee/pull/2945#issuecomment-5853818114
Review pass pushed as 7 commits (b962f93d09..d8ed75bc22):
- `@RandomPort("http")` is an ordinary name; the message of e5b087a230 still
says it fails.
- Code only the embedded transport used is gone: `Proxys`,
`AppFinder.AppOrWebContextTransformer`, `LogCategory.HTTPSERVER`,
`LightServletContext`/`EmbeddedServletContextCreated`, the parser-only
`HttpRequest`/`HttpResponse` members, `CxfRsHttpListener`'s static resource
handling, the cxf-rs `auth`/`realm` settings, `@JaxrsProviders.applicationName`
and the regex REST wildcard. A missing Rs/WsRegistry logs at INFO, the
webprofile warned on every boot.
- Tests: `WsJMXTest` runs again, new `ServerDestroyedTest`,
`SuspendedTest`/`CdiHandlersTest` wait with a bound instead of racing the
server, `RsInterceptorInjectionTest` checks `isUserInRole` again,
httpejbd/EJBContainer leftovers removed.
- cdi-embedded TCK: `TckTlds` and `tomee-catalina` removed, the builtin
servlet decorator tests excluded, excludes already covered by `javaee-full`
dropped.
- Docs, examples (unused `ziplock`), openejb-standalone NOTICE/LICENSE (CXF,
XmlSchema, libre-wsdl4j) and the dependabot Jetty rule.
Found with 9 rounds of multi-agent review (runtime, tests, examples/docs and
build lanes, every finding challenged by a skeptic) until no finding survived.
Verified against branch-built jars: arquillian JAX-RS tests 169 run / 10
skipped, JAX-WS 33 run / 2 skipped, migrated examples pass. cdi-embedded is
only compile-checked, its harness is broken on main too.
Out of scope: `CheckedExceptionMapperTest` stays `@Ignore`d, deployment by
endpoint 404s on TomEE on main as well.
Ready for review.
Issue Time Tracking
-------------------
Worklog Id: (was: 1044211)
Time Spent: 50m (was: 40m)
> Drop the standalone HTTP server from openejb-http
> -------------------------------------------------
>
> Key: TOMEE-4707
> URL: https://issues.apache.org/jira/browse/TOMEE-4707
> Project: TomEE
> Issue Type: Task
> Reporter: Richard Zowalla
> Priority: Major
> Fix For: 11.0.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> openejb\-http carries a standalone HTTP server that TomEE itself never uses:
> requests arrive through Tomcat's connectors. It parses HTTP off a socket by
> hand, which is a large and rarely exercised attack surface for no benefit, so
> it is removed for 11.
> Removed from openejb\-http:* The homebrew server: {{OpenEJBHttpServer}},
> {{OpenEJBHttpEjbServer}},
> {{HttpServer}}, {{HttpServerFactory}}, {{HttpEjbServer}} and
> {{ServerServiceAdapter}}, plus the {{httpejbd}} ServerService descriptor.
> * The Jetty backend: {{JettyHttpServer}} and {{JettyHttpEjbServer}}, and the
> optional Jetty dependencies and OSGi import. {{HttpServerFactory}} only chose
> it when Jetty 6's {{org.mortbay.jetty.Connector}} was loadable, which never
> happens, so it was already unreachable.
> * The unreferenced {{ServletIntputStreamAdapter}} and
> {{ServletOutputStreamAdapter}}.
> * {{OpenEJBHttpRegistry}}, whose base URIs came from the {{httpejbd}} service
> configuration.
> Migrated:
> * {{OpenEJBHttpServer.isTextXml}} and {{reformat}}, used by
> {{HttpRequestImpl}}
> and {{HttpResponseImpl}} to pretty print XML when dumping, move to
> {{HttpUtil}}.
> * {{RsRegistryImpl}} and {{OpenEJBHttpWsRegistry}} extended
> {{OpenEJBHttpRegistry}} and were the non\-Tomcat fallbacks in
> {{RESTService.beforeStart\(\)}} and {{WsService.start\(\)}}. Both registries
> and
> both fallbacks are removed; under Tomcat, {{TomcatRsRegistry}} and
> {{TomcatWsRegistry}} are used and are unaffected.
> Kept: everything Tomcat needs. {{HttpListener}}, {{HttpListenerRegistry}}, the
> request, response and session abstractions with their implementations, the
> servlet and filter adapters, {{ServerServlet}}, the CDI listeners,
> {{BasicAuthHttpListenerWrapper}}, {{SessionManager}} and {{HttpUtil}}.
> Consequence: openejb\-standalone and arquillian\-openejb\-embedded no longer
> have
> embedded REST or web service wiring. That is accepted for a major release.
> Tests: the suites that drove the removed transport over a socket are removed
> with it \({{HttpEjbServerTest}}, which aggregated the EJBD over HTTP suites,
> {{AsyncHttpTest}}, {{CustomHttpMethodTest}}, {{FilterRegistrationTest}},
> {{OpenEJBHttpServerTest}}, {{ResourcesTest}}, {{ServletRegistrationTest}},
> {{HttpResponseImplSessionTest}}, and the already empty {{JettyTest}}\). The
> remaining 14 tests pass, and openejb\-rest, openejb\-webservices,
> openejb\-cxf\-rs,
> openejb\-cxf\-transport, tomee\-catalina, tomee\-jaxrs, tomee\-webservices,
> openejb\-standalone and arquillian\-openejb\-embedded all build.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)