Commit Graph

431 Commits

Author SHA1 Message Date
Olivier Lamy 0e526d9b3f fix deployment of some demo modules
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-23 12:15:38 +10:00
Olivier Lamy c8c6ae5fcf
skip deployment of test jars and remove some not needed bom dependencies (#8481)
* skip deployment of test jars and remove some not needed bom dependencies

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-20 19:54:29 +10:00
Olivier Lamy 8e732ccf72
using bom within the reactor is really a bad idea and it sources from ee10 in ee9 as well (#8479)
* using bom with the reactor is really a bad idea and it sources from ee10 in ee9 as well

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-19 21:24:09 +10:00
Olivier Lamy 8fdbf50222
Restore jetty-ee8-maven-plugin mvove back ITs to jetty-eeX-maven-plugin modules (#8472)
add back jetty-ee8-maven-plugin
- add back jetty-ee8-jspc-maven-plugin
- remove not used site plugin and simplify code
- moving back ee9 maven plugin ITs to the module
- back of ee10 maven ITs test to the plugin module


Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-19 17:50:58 +10:00
Simone Bordet a3ba86266a
Implemented ProxyHandler in new module jetty-core/jetty-proxy. (#8475)
Moved ConnectHandler to org.eclipse.jetty.server.handler, where it should have been from the start.

Cleaned up and corrected behavior of SecureRequestCustomizer.
Now the response is wrapped with isSecure=true if it arrived over a secure transport.
The request URI scheme indicates whether the request is secure towards the origin server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-19 09:38:34 +02:00
Lachlan Roberts f6c923db10 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-08-17 19:24:20 +10:00
Lachlan Roberts ac18a0aec2 Issue #8448 - remove blocker usage from websocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-17 17:28:38 +10:00
Lachlan Roberts 82618073d5 PR #8413 - move wrapped req/resp attributes into WebSocketConstants
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-17 16:41:23 +10:00
Lachlan Roberts 87f2393467 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-websocket-upgrade-contract 2022-08-17 16:00:39 +10:00
Lachlan Roberts bf83e55999 keep CreatorNegotiator internal
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-17 15:54:09 +10:00
Joakim Erdfelt 180d68f585
Updating WebAppDefaultServletTest 2022-08-16 19:25:27 -05:00
Joakim Erdfelt 6191377504
Proper "?" vs "%3F" handling 2022-08-16 16:31:42 -05:00
Joakim Erdfelt 739a0f77da
Fixing OneWebApp (EE9) test issue 2022-08-16 15:05:28 -05:00
Joakim Erdfelt 94317e2a6a
Fixing ProxyWebAppTest test issue 2022-08-16 15:05:19 -05:00
Joakim Erdfelt d16b1cd595
Merge remote-tracking branch 'origin/jetty-12.0.x' into fix/jetty-12-pathresource-alias-detection-in-jarfile 2022-08-15 18:39:21 -05:00
Lachlan Roberts f19577c197 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-8426-aliaschecker-review 2022-08-15 17:05:58 +10:00
Lachlan Roberts 2c42c0de83 Issue #8456 - serve jetty-dir.css as resource in ee10 ResourceService
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-15 15:33:28 +10:00
Lachlan Roberts ffc14a80b9 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-8426-aliaschecker-review 2022-08-15 13:16:51 +10:00
Greg Wilkins af5fecd18d
Jetty 12 : Rename resourceBase to baseResource (#8310)
* rename to baseResource
2022-08-15 12:24:13 +10:00
Lachlan Roberts a6b88cfead fix failures in ResourceHandlerTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-15 11:00:25 +10:00
Lachlan Roberts 8e172f311e Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-8426-aliaschecker-review 2022-08-15 10:40:59 +10:00
Lachlan Roberts 9e745f7fdb Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-08-15 10:32:03 +10:00
Lachlan Roberts ef700ff288 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-08-15 10:26:36 +10:00
Simone Bordet 601cba0b18
Fixed javadocs.
Javadoc generation for the jetty-quic-quiche-* modules may need
to use a <profile> since the APIs used depend on the Java version.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-13 17:45:26 +02:00
Olivier Lamy c011126e63
fix hardcoding versions in mod files (#8459)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-13 19:43:07 +10:00
Simone Bordet 6f0f8854de
Merged branch 'jetty-12.0.x' into 'jetty-12.0.x-module-renaming'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 17:31:01 +02:00
Olivier Lamy 44a37746e6
Jetty 12 : reactivate `jetty-ee9-demo-embedded` and `jetty-ee9-demo-proxy-webapp` and add more (#8419)
* ee8 demos to use ee9 demos resources
* add jetty-ee8-demo-jaas-webapp
* add jetty-ee8-demo-jndi-webapp jetty-ee8-demo-mock-resources
* uhm jetty-ee8-demo-jetty-webapp have some issues
* fix jetty-ee8-demo-jetty-webapp
* fix some jetty-ee9-demo-embedded and add back jetty-ee8-demo-proxy-webapp
* demo-embedded need to have jetty-ee9-demo-jsp-webapp built first
* fixing more demos modules. Activate dist test for demo modules and all env


Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-12 17:52:53 +10:00
Simone Bordet 1eea480764
Jetty 12 module renaming - jetty-websocket.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Simone Bordet 122b095260
Jetty 12 module renaming - jetty-http3.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Simone Bordet 7d264e6024
Jetty 12 module renaming - jetty-http2.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Simone Bordet 11c3642892
Jetty 12 module renaming - jetty-fcgi.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Greg Wilkins a494afa635 fix #8448 Blocking is not complete
Use FutureCallback when usage is optional
2022-08-11 15:26:20 +10:00
Lachlan Roberts 8f27e9a463 ee9 should use jett-core protected targets and alias checkers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-11 13:59:54 +10:00
Greg Wilkins fcdb8305de WIP #8441 isNotNormalWithinSelf
Added method to be optimized later
2022-08-11 12:52:19 +10:00
Greg Wilkins a0d6f42e73 Fix #8442 server propagation
Test setServer propagation
protect from inadvertent null setting
2022-08-11 09:05:12 +10:00
Joakim Erdfelt 842af3ed22
Avoid recreating `Resource` during container/jar pattern filtering in `MetaInfConfiguration`
* Delete PatternMatcher.java
2022-08-10 16:12:15 -05:00
Joakim Erdfelt 505baf4a4c
Merge remote-tracking branch 'origin/jetty-12.0.x' into fix/jetty-12-pathresource-alias-detection-in-jarfile 2022-08-10 13:03:37 -05:00
Joakim Erdfelt 9312359b13
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x 2022-08-10 12:59:37 -05:00
Joakim Erdfelt 0023281e3f
Adding in-code comments about WebAppContext.getWebInf behavior 2022-08-10 12:59:29 -05:00
Simone Bordet af77a53e39
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-10 16:51:35 +02:00
Greg Wilkins d9b53a6174 fix ee9 demo context paths
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-08-10 17:33:58 +10:00
Jan Bartel 42f72268cf
Jetty 12 : #8408 Support new `<cookie-config>` concepts in Servlet 6 (#8420)
* Issue #8408 Implement new session cookie attributes
2022-08-10 16:33:08 +10:00
Lachlan Roberts d210677182 re-enable ee9 openid module
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-10 13:51:47 +10:00
Greg Wilkins 408de26ec2 Created core-demo and updated demo root
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-08-10 12:04:39 +10:00
Joakim Erdfelt 81f80fa365
Putting content.jar in a place that EE8 tooling can find. 2022-08-09 14:56:26 -05:00
Joakim Erdfelt f7b8ed4c06
Rework PathResource.checkAliasPath to handle `jar:file:` paths more elegantly. 2022-08-09 10:54:54 -05:00
Joakim Erdfelt 199a9cd2ad
Jetty 12 : XML namespace cleanup (#8406)
* Adding Servlet 6 XML Entities
* Fixing bad xsi:schemaLocation entries
* Update all jetty-ee10 web XMLs to JakartaEE version 6.0 based
* Using XML Catalog
* Introducing catalogs for:
   - default XML xsd/dtd (catalog-org.w3.xml)
   - Configure dtd (catalog-configure.xml)
   - EE10 Servlet 6 xsd/dtd (catalog-ee10.xml)
   - EE9 Servlet 5 xsd/dtd (catalog-ee9.xml)
   - EE8 Servlet 4 xsd/dtd (catalog-ee8.xml)
* New XmlParser.addCatalog(URI catalogXml, Class<?> classBase)
   to allow the loading of a catalog which has it's resources
   referenced via the classBase.getResource(name)
* WebDescriptor uses Environment to load appropriate catalog.
* Remove XmlParser.redirectEntity(String, String)
2022-08-09 06:34:29 -05:00
Lachlan Roberts 6101384cf6 use attributes instead of attachable for wrapped request/response
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-09 15:46:14 +10:00
Joakim Erdfelt 21546e390c
Jetty 12 : Simplify `AnnotationParser` scanning for class files (#8404)
* Improved FileID.isHidden
* Simplified AnnotationParser
  + Not using MultiReleaseJarFile
  + Walk of a Directory or a JAR is the same
  + Reduced parse method count
  + Fixed TestAnnotationParser
     Using proper fully qualified classnames now (were not yet converted over to jetty-12 naming)
* Single parseClass method
* Single parseDir method
* Adapting ee9 AnnotationParser to have the same behaviors as ee10.
* Deleting TestAnnotationInheritance tests
  + We don't want the AnnotationParser
    creating new Resource objects for Class.getSuperClass()
    resources that don't belong to
    the same Resource that the passed
    in class belongs to (as this is out of
    scope for the Mount management).

    Imagine if told to parse ClassB
    which extends from ClassFoo, which
    is in a different JAR than ClassB?

    This concept from Jetty 9/10/11
    was only used in testcases and not
    in live runtime code, so it was
    removed.

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-05 15:42:27 -05:00
Joakim Erdfelt fee8f2b4f4
JettyEmbedded needs a Server instance earlier for applyXmlConfigurations and its ResourceFactory to operate properly 2022-08-05 12:59:22 -05:00
Joakim Erdfelt fe21198499
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-rework-resource-factory 2022-08-05 11:11:39 -05:00
Joakim Erdfelt d7768b3f53
QuickStartTest - inline ResourceFactory 2022-08-05 10:53:47 -05:00
Joakim Erdfelt dd6953e018
Restore TODO in ee9 DefaultServlet 2022-08-05 10:49:16 -05:00
Joakim Erdfelt b7d7a9918a
Proper JettyEmbedder XML to Server logic 2022-08-05 10:46:20 -05:00
Joakim Erdfelt a864a9313b
Remove System.err output 2022-08-05 10:40:14 -05:00
Joakim Erdfelt 21a40f60a7
Inline ResourceFactory 2022-08-05 10:31:26 -05:00
Joakim Erdfelt b8334b6786
Use XML created Server 2022-08-05 10:23:56 -05:00
Joakim Erdfelt 4af68620ae
Add TODO about PropertyUserStore.setConfig(String) 2022-08-05 10:17:52 -05:00
Joakim Erdfelt cd375d2835
Inline ResourceFactory.of(Container) usages in demos 2022-08-05 10:15:12 -05:00
Olivier Lamy 439bd12c7f fix NPE
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-05 15:54:10 +10:00
Joakim Erdfelt 7e9aeaa343
Revert src/test/resources/* to target/test-classes/* in ee9 2022-08-04 19:33:08 -05:00
Joakim Erdfelt 40b1bcef5f
More work to use ResourceFactory properly 2022-08-04 17:54:37 -05:00
Joakim Erdfelt 8877f52dd7
Add WebAppContext.getResourceFactory() 2022-08-04 17:22:26 -05:00
Joakim Erdfelt 58eea0541c
Allow ResourceHandler to serve content from base resource 2022-08-04 17:22:02 -05:00
Joakim Erdfelt 532933be0b
jetty-ee#-webapp mount fixes 2022-08-04 13:35:30 -05:00
Joakim Erdfelt f92c992178
Allow DefaultServlet to resolve static resources 2022-08-04 13:10:19 -05:00
Joakim Erdfelt 6f6c327d8e
Improve reliability of TempDirTest 2022-08-04 12:38:23 -05:00
Joakim Erdfelt 19039f4df8
Remove maxBuffer from ContentFactory.getContent(String) (#8403) 2022-08-04 17:32:50 +02:00
Simone Bordet 90fc840f43
Jetty 12 : Renamed FutureFormFields to just FormFields, as it is mostly used (#8411)
Renamed FutureFormFields to just FormFields, as it is mostly used
as a CompletableFuture, and the "Future" prefix is soo Java 5 :)

Improved releasing of chunks in FormFields implementation.

Improved configuration of FormFields for max number of fields and max form content length.

Fixed Field.toString().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-04 17:18:13 +02:00
Simone Bordet c077bbecaa
Jetty 12.0.x MultiPart (#8201)
Moved multipart test files to jetty-http.

Introduced jetty-http `MultiPart` class and made `MultiPart.Parser` non-blocking and lenient on newlines.
Made `MultiPartCaptureTest` to pass.

Moved o.e.j.server.MultiPartParserTest tests to o.e.j.http.MultiPartTest.

Renamed MultiPartFormInputStreamTest to MultiPartsTest.

Introduced class o.e.j.server.MultiParts, a CompletableFuture of Parts
that can be used asynchronously in Handlers and in general in core Jetty.

Implemented multi-part handling in ee10.

Implemented DelayedHandler.UntilMultiPart.

Introduced MultiPart.ContentSource as the multipart "generator".

Replaced ByteBuffer/boolean pair with Chunk and implement Chunk slicing & improve retainability for MultiPart parser.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2022-08-04 17:03:40 +02:00
Joakim Erdfelt d97ab506f7
Improved version based on review 2022-08-04 09:15:13 -05:00
Joakim Erdfelt 1f1b9dc2dc
Better handling of jetty-dir.css and favicon.ico 2022-08-04 08:37:56 -05:00
Lachlan Roberts f67f605acb update javadoc and fix ee9 implementations
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-04 18:58:58 +10:00
Ludovic Orban 94a60dd862 fix NPE's
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-04 10:55:52 +02:00
Lachlan Roberts 43d4e47056 Simplify Core API by making WebSocketNegotiation internal
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-04 13:42:39 +10:00
Ludovic Orban 341adb4b62 tentatively fixing mount leaks
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 20:45:47 +02:00
Ludovic Orban dd72e844a3 fix tests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 18:04:01 +02:00
Ludovic Orban 7a28563bcc move toURI to URIUtil
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 17:04:22 +02:00
Ludovic Orban 50c19d317b Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-rework-resource-factory 2022-08-03 17:00:24 +02:00
Ludovic Orban 5ca51c97ad hide ResourceFactory internals and cleanup Mount leftovers
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 16:59:02 +02:00
Ludovic Orban cbff6840d6 fix tests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 16:09:21 +02:00
Joakim Erdfelt 6ce295ce7a
Remove static Resources.isContainedIn API 2022-08-03 06:59:17 -05:00
Joakim Erdfelt b4d526796e
Merge pull request #8407 from eclipse/fix/jetty-12-remove-unused-resource-apis
Jetty 12 : Remove unused Resource APIs
2022-08-03 06:15:08 -05:00
Ludovic Orban cb348c8d15 rename of() -> combine()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 13:06:32 +02:00
Ludovic Orban fb0290c88a replace ROOT references with root()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 12:51:57 +02:00
Ludovic Orban b3dbfad97d move newSystemResource to ResourceFactory
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 12:43:08 +02:00
Ludovic Orban abe2f3264a move newClassPathResource to ResourceFactory
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 12:23:49 +02:00
Ludovic Orban faae5898ea fix missed tests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 12:14:59 +02:00
Ludovic Orban f943d095f4 rework ResourceFactory and Resource according to redux3 prototype
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 11:32:21 +02:00
Jan Bartel d99731219b Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-rm-deprecated-initializer 2022-08-03 14:22:26 +10:00
Jan Bartel ffe99495ea Fix for changes to Resource. 2022-08-03 11:41:49 +10:00
Joakim Erdfelt 4e4d516952
Fixing compilation 2022-08-02 16:07:39 -05:00
Joakim Erdfelt a45dc385c8
Refactor our Resource.getListHTML to utility class 2022-08-02 10:06:11 -05:00
Jan Bartel dad19533b8 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-rm-deprecated-initializer 2022-08-02 16:55:24 +10:00
Joakim Erdfelt 8ade542d9a
Make backport of WebDescriptor to EE8 more reliable
+ Now only loads ee9 specific XML entities if running in an ee9 package.
+ Basing WebDescriptor XML Entity lookup on SERVLET_MAJOR_VERSION
2022-08-01 21:48:11 -05:00
Joakim Erdfelt e848dd0852
Fixing missing XML entities
+ Adding missing core XML entities
  to jetty-xml project
  * datatypes.dtd
  * xml.xsd
  * XMLSchema.dtd
+ registering core XML entities
  in XmlParser itself
+ adding new tests
+ Descriptor now catches SAXException
+ WebDescriptor doesn't worry about
  core XML entities
2022-08-01 21:48:09 -05:00
Joakim Erdfelt 84f6dc7f4c
Review of Resource throwables 2022-08-01 21:48:08 -05:00
Joakim Erdfelt e1ebef2ca6
Changing contract of Resource.resolve(String)
No longer throws IOException
2022-08-01 21:48:07 -05:00
Joakim Erdfelt e6be9fb14c
Updates from review 2022-08-01 21:48:07 -05:00
Joakim Erdfelt 98fa52ef30
Updating FileID.isTld(Path) 2022-08-01 21:48:07 -05:00
Joakim Erdfelt dd7dda2c53
Move FileID from deploy to util
+ Move static methods from other
  places to FileID or URIUtil
  - MultiReleaseJarFile
  - Resource
  - MetaInfConfiguration
+ Improve testing of URIUtil and FileID
2022-08-01 21:48:00 -05:00
Jan Bartel ef1cd2b35d Remove deprecated classes from annotation initialization. 2022-08-02 12:00:59 +10:00
Joakim Erdfelt 67953f8328
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-08-01 15:48:12 -05:00
Olivier Lamy 4c03c7dddf
jetty 12.0.x test ee8 sessions (#8361)
* add test-jetty-ee8 sessions tests modules
* add test ee8 session suites

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-01 12:16:07 +10:00
Joakim Erdfelt caff1b036b
Jetty 12 - Cleanup MultiReleaseJarFile to use newFileSystem behaviors built into JVM (#8328)
* Cleanup MultiReleaseJarFile to use newFileSystem behaviors built into JVM
* Adding more testing to MultiReleaseJarFile
* Updating AnnotationParser and MetaInfConfiguration
* Created URIUtil.streamOf(URLClassLoader) to aid
  in proper conversion of URLClassLoader.toURLs to URIs
* Introduce URIUtil.fixBadJavaIoFileUrl
  Addresses bad java.io.File.toURL().toURI() issues
  file:/path to file:///path
* Better URI pool/key behaviors in FileSystemPool
* no arg AnnotationParser uses ASM_VERSION
2022-07-29 10:08:32 -05:00
Olivier Lamy e78250bc3c
add jetty-ee8-glassfish-jstl (#8346)
* add jetty-ee8-glassfish-jstl

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-29 20:20:37 +10:00
Joakim Erdfelt c6c0eb0313
Jetty-12 : Immutable ResourceCollection and Context based mount management (#8337)
* Immutable ResourceCollection with mount management.

* Internal List<Resource> is now immutable so that .getResources() cannot be modified.
* Improved Resource.toJarFileUri implementation that keeps the deep archive references
* Introducing Resource.mountCollection() methods
  + ResourceCollection is now a private class
  + Resource.mountCollection() returns a Mount
  + Places that use this technique are now putting the Mount in the context's beans for the context to close those mounts.
* Cleanup names/comments in FileSystemResourceTest
* Adding missing test of attempting to create a Resource from a URI `jar:file:foo.jar!/` while not mounted.
* Reworked ResourceCollection behaviors based on feedback.
  + Eliminated all Resource.mountCollection() methods except the Collection<URI> one.
* Eliminated Resource.mountIfNeeded(Resource)
* Eliminated Resource.fromList implementations
* Introduced @gregw Resource.of() implementations
* Introduced Resource.split() to honor old split logic from Jetty 9/10/11, with glob support, but now it only converts to List<URI>
* Remove IOException from Mount.root() method
* ResourceCollection now flattens and uniques any nested ResourceCollection entries it encounters
* Expanded ResourceCollectionTest to cover more code paths
* Add ResourceTest for new split() method
* Fixing testcase to use a directory that exists on setExtraClasspath
* Increase reliability of WebAppContextTests
* Updates for working with webapp.extraClasspath
* Introduced Resource.unwrapContainer to help in servlet cases where the raw JAR path should be represented in a ServletContext attribute.
* Made FileSystemPool.containerUri just use new Resource.unwrapContainer
* webapp MetaData updated to use URIs references to Libs (not File objects)
* jetty-ee#-maven-plugin use URIs for its classpath tracking to aid in mounting issues later
* webapp extraClasspath supports raw JAR references as well as glob now, supported by Resource.split(String)
2022-07-28 08:59:17 -05:00
Ludovic Orban b1d5f908a6 fix mounting/unmounting lifecycle of TLD resources
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-28 10:16:02 +02:00
Ludovic Orban 905352816d make sure TLD file actually is a file
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-28 10:16:02 +02:00
Ludovic Orban a84a86d820 handle review comments
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-28 10:16:02 +02:00
Ludovic Orban 9f0463b545 remove old Resource defaultUseCache mechanism
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-28 10:16:02 +02:00
Ludovic Orban 0c0c333970 get rid of EmptyResource
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-27 16:04:22 +02:00
Ludovic Orban 4856a7d065 keep, un-deprecate and rename Resource.getReadableByteChannel() and Resource.getInputStream()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-27 16:04:22 +02:00
Greg Wilkins 2275e1c2c6
Refactored MultiException into ExceptionUtil (#8340) 2022-07-27 18:07:57 +10:00
Olivier Lamy c7dc445530
add jetty-ee8-apache-jsp (#8344)
* add jetty-ee8-apache-jsp

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-27 11:08:08 +10:00
Greg Wilkins d369adf55b
Jetty 12.0.x canonical uri (#8343)
Somehow the URIUtil class had switched over the meaning of normal and canonical. This PR renames them to correct this:
 * canonical paths are always normal
 * Always canonicalize paths passed from the application
 * Switch the URIUtil names for canonical and normal
2022-07-27 09:58:50 +10:00
Ludovic Orban 38d22f3153 #8285 - improve Resource to mapped ByteBuffer logic
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-07-26 13:47:44 +02:00
Olivier Lamy ccd79c4b47
add ee8 openid (#8342)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-26 19:26:34 +10:00
Simone Bordet 69a7b06f06
Jetty 12.0.x retainable chunk (#8325)
Made Chunk implement Retainable, and protocol implementations
to link the RetainableByteBuffer all the way to the Chunk.

Extended Retainable to have both a retain() and a release() methods.

Removed HTTP/2's ISession and IStream, now just using HTTP2Session and HTTP2Stream.
Removed *.Adapter classes in favor of interfaces with default methods.

Javadoc additions and clarifications.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-07-25 13:22:14 +02:00
Olivier Lamy 82338660a8
add jetty-ee8-proxy (#8332)
* restore ee8 proxy

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-25 19:54:18 +10:00
Simone Bordet 8cb09e4c59
Re-enabled jetty-ee9-proxy and jetty-ee10-proxy modules. (#8289)
* Re-enabled jetty-ee9-proxy and jetty-ee10-proxy modules.
Introduced TunnelSupport to abstract out the tunnelling capabilities.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-07-22 13:36:47 +02:00
Lachlan Roberts dde0b4f6c1 re-enable and fix jetty-openid for ee9
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-22 10:16:43 +10:00
Joakim Erdfelt e52007cfc6
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-21 02:47:57 -05:00
Olivier Lamy be7056e174
jetty 12.0.x ee8 enable websocket tests (#8313)
* renable tests for jetty-ee8-websocket-javax-tests

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-20 17:50:35 +10:00
Lachlan Roberts 7ad938753c Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-20 14:51:23 +10:00
Joakim Erdfelt ec32b04c07
Using same XML naming scheme as jetty-ee10-maven-plugin 2022-07-19 14:45:09 -05:00
Joakim Erdfelt e84b84e09c
Have jetty-ee#-maven-plugin manage the deployer environment as well 2022-07-19 11:46:20 -05:00
Joakim Erdfelt 7fb119bb32
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-18 12:50:16 -05:00
Olivier Lamy 68206ce880
fix some filtering of files for ee9 to ee8 conversion (#8311)
* restore ee8-quickstart
* use our special resources filtering
* do not filter some extensions

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-15 11:20:52 +10:00
Greg Wilkins cdc1b079ae ee8 ee9 ee10 webapp demos
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-14 16:15:22 +10:00
Greg Wilkins c05c79313b less simple simple demo
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-14 14:07:10 +10:00
Olivier Lamy 08865ed5a8
restore jetty-ee8-demo-simple-webapp and jetty-ee8-demo-async-rest (#8299)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-14 12:18:23 +10:00
Jan Bartel 94afd448a6 Merge remote-tracking branch 'origin/jetty-12.0.x-jndi-env-scope' into jetty-12.0.x 2022-07-13 17:18:35 +10:00
Greg Wilkins 7a962e4676 Remove Generic Request/Response #8291
Handle welcome servlets
Handle sendError within dispatcher
2022-07-13 16:58:03 +10:00
Jan Bartel baca1f2008 Fix quickstart jndi test resources 2022-07-13 15:26:59 +10:00
Jan Bartel 122488d12b Fix name of async rest webapp 2022-07-13 13:47:41 +10:00
Jan Bartel fccf8a9f51 Enable tests 2022-07-13 13:41:17 +10:00
Jan Bartel 927e94f673 Add env scope to JNDI 2022-07-13 12:13:01 +10:00
Jan Bartel 825a728d1d Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-ee9-demos 2022-07-13 10:19:43 +10:00
Jan Bartel b6d8bcb7b4 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-ee9-demos 2022-07-13 10:05:35 +10:00
Greg Wilkins 9b1cb302b6
Cleanup Resource.Mount (#8284)
* Introduced the `mountIfNeeded` method to cleanup mount code and reduce checks for "jar:"
 * Fixed Quickstart mounting close.
 * Improved error message
 * Fixed tests for mount cleanup
 * More forgiving newResource(URI) implementation
 * Even more forgiving newResource(URI) implementation
2022-07-13 09:25:14 +10:00
Ludovic Orban be95da326d
Bis: Jetty 12.0.x resource handler and default servlet (#8276)
Made ResourceService use a generic request so it can be used as handler or from servlets.    This is only a temporary solution.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-07-13 09:21:27 +10:00
Olivier Lamy ae77d14cf9
add jetty-ee8-jndi (#8287)
* add jetty-ee8-jndi

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-12 20:19:29 +10:00
Jan Bartel 34d21dd1ec WIP get ee9 demos working; fix some ee10 demos 2022-07-12 18:23:37 +10:00
Greg Wilkins febfbfca3b For #8285 serve resource from jar
+ fixed ee9-demo-async-rest
+ CachedContentFactory now needs to ignore `UnsupportedOperationException`

I don't think this is a great fix, as throwing an exception in a normal path is not optimal.
2022-07-12 13:04:56 +10:00
Lachlan Roberts 49afcfb846 fix JettyWebSocketRestartTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-12 10:46:56 +10:00
Lachlan Roberts de6e6d16ed fix handling of connection close header during websocket upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-12 10:46:56 +10:00
Lachlan Roberts 89ba826cb1 save parameters in the core UpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-12 10:46:56 +10:00
Ludovic Orban 23a0203547 rework Resource API (#8106)
* remove Resource.getFile() and replace its usages with Resource.getPath()
* remove all public PathResource ctors + add non-leaky FS mounting mechanism + interpret string as Path when not a schemed URI
* rename Resource.getResource to Resource.resolve, specifying that the subpath is URI-path-interpreted
* remove useless API methods + deprecate all path-related API
* make subpaths beginning with / resolved as relative to the given uri
* introduce filesystem pooling and generalize resource resolving code
* remove URLResource
* remove unneeded factory method
* both file: and jrt: should not be pooled
* move deprecated impls from PathResource down to Resource + fix some tests
* handle Resource's pointing to non-existent jar files
* Force Resource URIs to end with "/" when the resource is a directory
* Produce warning if attempting to release a mounted filesystem uri that doesn't exist in the pool.

Co-authored-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2022-07-12 10:10:30 +10:00
Jan Bartel a5fcce595f WIP 2022-07-11 23:21:35 +10:00
Olivier Lamy 7062db01b1
enable mapping websocket ee9 to ee8 (#8279)
* websocket ee9 to ee8 dynamic generation
* temporary disable tests for jetty-ee8-plus

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-11 21:23:44 +10:00
Jan Bartel d03193a770 WIP make ee9 demos work 2022-07-11 16:43:35 +10:00
Jan Bartel 8e8dc5c23b Fix ee9 glassfish jstl test 2022-07-11 09:39:02 +10:00
Jan Bartel b521fc4e7e Merge remote-tracking branch 'origin/jetty-12.0.x-enable-distribution-tests-rebase' into jetty-12.0.x 2022-07-09 16:08:36 +10:00
Greg Wilkins 676833e57e
Jetty-12 Improved Content testing and javadoc (#8263)
Improved Content javadoc
Fixed ContentSourceTest that was consuming the same ByteBufferSource multiple times.
Using ByteBufferPool.NOOP instead of allocating NoopByteBufferPool.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-07-08 14:52:28 +02:00
Jan Bartel e31166f333 WIP fix quickstart tests 2022-07-08 12:48:16 +10:00
Greg Wilkins 33487b5fd8 reenable ee9 distribution tests
Signed-off-by: Jan Bartel <janb@webtide.com>
2022-07-08 09:51:29 +10:00
Greg Wilkins c53bc0709c Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-07 23:18:17 +10:00
Greg Wilkins 4c827b986c Minor renaming for clarity
Renamed Blocking to Blocker
Added Handler.Processor.Blocking and Handler.Processor.NonBlocking
2022-07-07 19:38:23 +10:00
Jan Bartel 12f03cf370 Fix names of ee9 services files 2022-07-07 15:05:22 +10:00
Jan Bartel 8f853f7fb6 Fix pattern to scan for container jars to match servlet api 2022-07-05 11:03:51 +10:00
Lachlan Roberts 4e7fa4b943 add changes from merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-04 17:53:46 +10:00
Lachlan Roberts ab16327315 restore ee9 version
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-04 17:41:19 +10:00
Lachlan Roberts b6a6ef9106 moved to new location
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-04 17:40:28 +10:00
Lachlan Roberts 4a6e9d40b9 temporarily remove files from merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-04 17:39:16 +10:00
Greg Wilkins b6671d6352 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-04 16:04:11 +10:00
Jan Bartel fc3fb15dc4 Fix jetty-ee10-demo-jndi/jetty-webapp and ContextProvider 2022-07-04 15:42:17 +10:00
Greg Wilkins 8ecb4b8669 Fixed merge 2022-07-04 12:34:53 +10:00
Greg Wilkins 5e2aae669a updated ee9 test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-04 11:41:18 +10:00
Greg Wilkins fd5ae09449 move ee10 test back to ee9
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-04 11:38:22 +10:00
Greg Wilkins b031681395 temporary remove of ee9 test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-04 11:37:45 +10:00
Greg Wilkins fe83ea87dc Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-04 11:32:33 +10:00
Jan Bartel 07a30cc3e3 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-jndi 2022-06-30 16:39:54 +10:00
Greg Wilkins ea5bedf072
Jetty 12.0.x deployment (#8208)
Deploy webapps for different environments from the same webapps directory.
The maximal environment known to the AppProviders is used as the default environment.
An explicit environment can be set in a properties file for an application, which is also used for property substitution in any context xml file.
2022-06-30 09:51:19 +10:00
Lachlan Roberts c8e6bbdf1b Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-06-29 17:28:06 +10:00
Lachlan Roberts ee02d163c3 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-29 17:22:20 +10:00
Jan Bartel 5c267ce7ed
Jetty 12.0.x eex jettymavenplugin (#8200)
* Fix ee9/10 jetty maven plugin and refactor it tests
2022-06-29 17:18:18 +10:00
Jan Bartel 2a9bf55adb Fix missed renames for ee9/10 tests 2022-06-29 10:53:56 +10:00
Jan Bartel 633c85337c Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-jndi 2022-06-29 10:17:05 +10:00
Jan Bartel e990f0dfbb Fix names of jetty-ee9/10-test submodules 2022-06-29 10:11:42 +10:00
Jan Bartel c7f9ef797b Fix jndi and enable tests 2022-06-29 09:44:05 +10:00
Lachlan Roberts d05d6634a6 re-enable JettyClientClassLoaderTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-28 16:24:52 +10:00
Lachlan Roberts b1a1a60994 fix JettyWebSocketFilterTest in ee9-websocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-28 16:24:52 +10:00
Jan Bartel 80854f8eea Fix jetty-ee9-home build by enabling jetty-ee9-quickstart. 2022-06-27 11:30:02 +10:00
Joakim Erdfelt 1999b39808
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-06-26 12:04:51 -05:00
Lachlan Roberts 6ce10d67f7 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-ee9-websocket 2022-06-24 12:48:30 +10:00
Lachlan Roberts 3c92cf6fec re-enable WebAppClassLoaderTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 11:27:19 +10:00
Lachlan Roberts 79385c79b3 re-enable OnMessageReturnTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 11:25:07 +10:00
Lachlan Roberts 1e532032f3 re-enable LargeAnnotatedTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 11:23:22 +10:00
Lachlan Roberts ac68dd05a6 re-enable EndpointViaConfigTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 10:55:02 +10:00
Lachlan Roberts c6206c9b6f re-enable JakartaClientShutdownWithServerWebAppTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 10:54:05 +10:00
Lachlan Roberts 69b6eb1f3e re-enable ContainerProviderServerTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 10:50:57 +10:00
Lachlan Roberts 300f219b25 re-enable LargeContainerTest for websocket ee9 & ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 10:50:08 +10:00
Lachlan Roberts a85e80269b reenable PingPongTest for websocket ee9 and ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-24 10:44:47 +10:00
Lachlan Roberts 82d7bb5669 fix and improve AltFilterTest in websocket ee9 and ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-23 16:15:03 +10:00
Jan Bartel 04e0ee7fe7 Undisable jetty-plus tests; remove unused jetty-plus.xml 2022-06-23 10:09:34 +10:00
Jan Bartel c734008155 Fix eeX jetty-homes generation. 2022-06-22 18:45:33 +10:00
Lachlan Roberts 08a8e8d4e4 fix websocket compile issue
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-22 17:34:45 +10:00
Lachlan Roberts 10ad518da9 fixed websocket JakartaClientClassLoaderTest for ee9 and ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-22 16:59:41 +10:00
Lachlan Roberts be2b231b08 fix websocket IdleTimeoutTest for ee9 and ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-22 16:57:01 +10:00