diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7e22939d54..d718f26594 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,10 +36,10 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'temurin' cache: maven diff --git a/.jenkins/ci.jenkins b/.jenkins/ci.jenkins index d9f67f9ff3..5870485319 100644 --- a/.jenkins/ci.jenkins +++ b/.jenkins/ci.jenkins @@ -8,7 +8,7 @@ pipeline { agent any tools { maven 'apache-maven-latest' - jdk 'temurin-jdk11-latest' + jdk 'temurin-jdk17-latest' } options { timeout (time: 30, unit: 'MINUTES') diff --git a/.jenkins/nightly.jenkins b/.jenkins/nightly.jenkins index ad3f7af760..8689a4442f 100644 --- a/.jenkins/nightly.jenkins +++ b/.jenkins/nightly.jenkins @@ -9,7 +9,7 @@ pipeline { agent any tools { maven 'apache-maven-latest' - jdk 'temurin-jdk11-latest' + jdk 'temurin-jdk17-latest' } options { timeout (time: 60, unit: 'MINUTES') diff --git a/.jenkins/release.jenkins b/.jenkins/release.jenkins index b1a0005728..3931b3a316 100644 --- a/.jenkins/release.jenkins +++ b/.jenkins/release.jenkins @@ -37,7 +37,7 @@ pipeline { } tools { maven 'apache-maven-latest' - jdk 'temurin-jdk11-latest' + jdk 'temurin-jdk17-latest' } options { timeout (time: 30, unit: 'MINUTES') diff --git a/.jenkins/test.jenkins b/.jenkins/test.jenkins index 2ea438dc09..a716491e60 100644 --- a/.jenkins/test.jenkins +++ b/.jenkins/test.jenkins @@ -24,7 +24,7 @@ pipeline { } tools { maven 'apache-maven-latest' - jdk 'temurin-jdk11-latest' + jdk 'temurin-jdk17-latest' } options { timeout (time: 30, unit: 'MINUTES') diff --git a/.jenkins/weekly.jenkins b/.jenkins/weekly.jenkins index 016617e869..951beb78bd 100644 --- a/.jenkins/weekly.jenkins +++ b/.jenkins/weekly.jenkins @@ -8,7 +8,7 @@ pipeline { agent any tools { maven 'apache-maven-latest' - jdk 'temurin-jdk11-latest' + jdk 'temurin-jdk17-latest' } options { timeout (time: 30, unit: 'MINUTES') diff --git a/.trivyignore b/.trivyignore index d644a60bdd..1bc731e1a4 100644 --- a/.trivyignore +++ b/.trivyignore @@ -2,13 +2,6 @@ # About Servers Demos # ========================= -# Backend -# ------------ -# No affected by this vulnerability as we don't use HttpUri component directly -# See : https://github.com/jetty/jetty.project/pull/12012#issuecomment-2427097199 -# Could be remove after : https://github.com/eclipse-leshan/leshan/issues/1662 -CVE-2024-6763 - # Frontend # ------------ # No affected by this vulnerability : we don't use parseHTML and close tag correctly. diff --git a/README.md b/README.md index 3ee6a712c2..fadb59b782 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,10 @@ Leshan provides libraries which help people to develop their own Lightweight M2M server and client. The project also provides a client, a server and a bootstrap server demonstration as an example of the Leshan API and for testing purpose. -| LWM2M Version
Targeted | Leshan
Version | Minimal
Java Version | Development
State | Build Status | Standalone
Demos | +| LWM2M Version
Targeted | Leshan
Version | Minimal
Java Version | Development
State | Build Status | Standalone
Demos | | - | - | - | - | - | - | -| [v1.0.x](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification#lightweight-m2m-v10x) | [v1.x](https://github.com/eclipse/leshan/tree/1.x)
[Supported features](https://github.com/eclipse/leshan/wiki/LWM2M-Supported-features) | Java 7 | stable released | [jenkins-1.x](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/) | [server-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-server.jar)
[client-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-client.jar)
[bsserver-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar) | -| [**v1.1.x**](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification#lightweight-m2m-v11x)| [**v2.x** (master)](https://github.com/eclipse/leshan/tree/master)
[Supported features](https://github.com/eclipse/leshan/wiki/LWM2M-1.1-supported-features) | Java 8 | **in development** |[jenkins-master](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/) | [server-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-server.jar)
[client-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-client.jar)
[bsserver-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar) | +| [v1.0.x](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification#lightweight-m2m-v10x) | [v1.x](https://github.com/eclipse/leshan/tree/1.x)
[Supported features](https://github.com/eclipse/leshan/wiki/LWM2M-Supported-features) | Java 7 ([more details](https://github.com/eclipse-leshan/leshan/tree/1.x/documentation/Requirement.md)) | stable released | [jenkins-1.x](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/) | [server-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-server.jar)
[client-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-client.jar)
[bsserver-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar) | +| [**v1.1.x**](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification#lightweight-m2m-v11x)| [**v2.x** (master)](https://github.com/eclipse/leshan/tree/master)
[Supported features](https://github.com/eclipse/leshan/wiki/LWM2M-1.1-supported-features) | Java 8 ([more details](./documentation/Requirement.md)) | **in development** |[jenkins-master](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/) | [server-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-server.jar)
[client-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-client.jar)
[bsserver-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar) | Release (stable and milestones) are available on [maven central](https://search.maven.org/search?q=org.eclipse.leshan). diff --git a/documentation/Requirement.md b/documentation/Requirement.md new file mode 100644 index 0000000000..5516aa84e2 --- /dev/null +++ b/documentation/Requirement.md @@ -0,0 +1,14 @@ +# Minimal Requirement for Leshan. + +## Leshan 2.x + +| Component | Minimal Requirement | +| - | - | +| Maven Build | Maven 3.6.0
Java 17| +| Leshan library | Java 8 | +| Leshan client demo | Java 8 | +| Leshan server demo | Java 17 (because of [jetty 12](https://jetty.org/docs/jetty/12/index.html) dependency) | +| Leshan bsserver demo | Java 17 (because of [jetty 12](https://jetty.org/docs/jetty/12/index.html) dependency) | + +## Leshan 1.x +see [Leshan 1.x documentation](https://github.com/eclipse-leshan/leshan/tree/1.x/documentation/Requirement.md). \ No newline at end of file diff --git a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/LeshanBootstrapServerDemo.java b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/LeshanBootstrapServerDemo.java index 13bbca7d71..40826ae21f 100755 --- a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/LeshanBootstrapServerDemo.java +++ b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/LeshanBootstrapServerDemo.java @@ -27,10 +27,10 @@ import org.eclipse.californium.core.config.CoapConfig; import org.eclipse.californium.elements.config.Configuration; import org.eclipse.californium.scandium.config.DtlsConfig; +import org.eclipse.jetty.ee10.servlet.DefaultServlet; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.servlet.DefaultServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.leshan.bsserver.EditableBootstrapConfigStore; import org.eclipse.leshan.bsserver.LeshanBootstrapServer; import org.eclipse.leshan.bsserver.LeshanBootstrapServerBuilder; @@ -217,18 +217,17 @@ private static Server createJettyServer(LeshanBsServerDemoCLI cli, LeshanBootstr jettyAddr = new InetSocketAddress(cli.main.webhost, cli.main.webPort); } Server server = new Server(jettyAddr); - ServletContextHandler root = new ServletContextHandler(null, "/", true, false); + ServletContextHandler root = new ServletContextHandler("/", true, false); server.setHandler(root); // Create static Servlet DefaultServlet staticServelt = new DefaultServlet(); ServletHolder staticHolder = new ServletHolder(staticServelt); - staticHolder.setInitParameter("resourceBase", + staticHolder.setInitParameter("baseResource", LeshanBootstrapServerDemo.class.getClassLoader().getResource("webapp").toExternalForm()); - staticHolder.setInitParameter("pathInfoOnly", "true"); staticHolder.setInitParameter("gzip", "true"); staticHolder.setInitParameter("cacheControl", "public, max-age=31536000"); - root.addServlet(staticHolder, "/*"); + root.addServlet(staticHolder, "/"); // Create REST API Servlets ServletHolder bsServletHolder = new ServletHolder(new BootstrapServlet(bsStore)); diff --git a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/BootstrapServlet.java b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/BootstrapServlet.java index d3987c5c78..c489ce94f1 100644 --- a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/BootstrapServlet.java +++ b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/BootstrapServlet.java @@ -22,11 +22,6 @@ import java.nio.charset.StandardCharsets; import java.util.EnumSet; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang.StringUtils; import org.eclipse.leshan.bsserver.BootstrapConfig; import org.eclipse.leshan.bsserver.EditableBootstrapConfigStore; @@ -42,6 +37,11 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.type.CollectionType; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + /** * Servlet for REST API in charge of adding bootstrap information to the bootstrap server. */ diff --git a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/EventServlet.java b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/EventServlet.java index c77394c4b1..9d612593e4 100644 --- a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/EventServlet.java +++ b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/EventServlet.java @@ -21,10 +21,8 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import javax.servlet.http.HttpServletRequest; - -import org.eclipse.jetty.servlets.EventSource; -import org.eclipse.jetty.servlets.EventSourceServlet; +import org.eclipse.jetty.ee10.servlets.EventSource; +import org.eclipse.jetty.ee10.servlets.EventSourceServlet; import org.eclipse.leshan.bsserver.BootstrapFailureCause; import org.eclipse.leshan.bsserver.BootstrapSession; import org.eclipse.leshan.bsserver.BootstrapSessionListener; @@ -44,6 +42,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.servlet.http.HttpServletRequest; + public class EventServlet extends EventSourceServlet { private static final long serialVersionUID = 1L; diff --git a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/ServerServlet.java b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/ServerServlet.java index b3eeeaa682..9dfe01caec 100644 --- a/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/ServerServlet.java +++ b/leshan-demo-bsserver/src/main/java/org/eclipse/leshan/demo/bsserver/servlet/ServerServlet.java @@ -21,11 +21,6 @@ import java.security.PublicKey; import java.security.cert.X509Certificate; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang.StringUtils; import org.eclipse.leshan.bsserver.LeshanBootstrapServer; import org.eclipse.leshan.bsserver.endpoint.LwM2mBootstrapServerEndpoint; @@ -36,6 +31,11 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + public class ServerServlet extends HttpServlet { private static final long serialVersionUID = 1L; diff --git a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/LeshanServerDemo.java b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/LeshanServerDemo.java index 8d4355754d..8a080d5e2e 100644 --- a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/LeshanServerDemo.java +++ b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/LeshanServerDemo.java @@ -33,10 +33,10 @@ import org.eclipse.californium.elements.util.CertPathUtil; import org.eclipse.californium.scandium.config.DtlsConfig; import org.eclipse.californium.scandium.config.DtlsConfig.DtlsRole; +import org.eclipse.jetty.ee10.servlet.DefaultServlet; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.servlet.DefaultServlet; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.leshan.core.endpoint.DefaultEndPointUriHandler; import org.eclipse.leshan.core.endpoint.EndPointUriHandler; import org.eclipse.leshan.core.endpoint.Protocol; @@ -290,18 +290,17 @@ private static Server createJettyServer(LeshanServerDemoCLI cli, LeshanServer lw jettyAddr = new InetSocketAddress(cli.main.webhost, cli.main.webPort); } Server server = new Server(jettyAddr); - ServletContextHandler root = new ServletContextHandler(null, "/", true, false); + ServletContextHandler root = new ServletContextHandler("/", true, false); server.setHandler(root); // Create static Servlet DefaultServlet staticServelt = new DefaultServlet(); ServletHolder staticHolder = new ServletHolder(staticServelt); - staticHolder.setInitParameter("resourceBase", + staticHolder.setInitParameter("baseResource", LeshanServerDemo.class.getClassLoader().getResource("webapp").toExternalForm()); - staticHolder.setInitParameter("pathInfoOnly", "true"); staticHolder.setInitParameter("gzip", "true"); staticHolder.setInitParameter("cacheControl", "public, max-age=31536000"); - root.addServlet(staticHolder, "/*"); + root.addServlet(staticHolder, "/"); // Create REST API Servlets EventServlet eventServlet = new EventServlet(lwServer); diff --git a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ClientServlet.java b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ClientServlet.java index 95e002a63a..248ae93a41 100644 --- a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ClientServlet.java +++ b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ClientServlet.java @@ -31,11 +31,6 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.eclipse.leshan.core.link.Link; @@ -92,6 +87,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + /** * Service HTTP REST API calls. */ diff --git a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/EventServlet.java b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/EventServlet.java index 069708b1e2..c542630b00 100644 --- a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/EventServlet.java +++ b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/EventServlet.java @@ -25,10 +25,8 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import javax.servlet.http.HttpServletRequest; - -import org.eclipse.jetty.servlets.EventSource; -import org.eclipse.jetty.servlets.EventSourceServlet; +import org.eclipse.jetty.ee10.servlets.EventSource; +import org.eclipse.jetty.ee10.servlets.EventSourceServlet; import org.eclipse.leshan.core.LwM2m.Version; import org.eclipse.leshan.core.link.Link; import org.eclipse.leshan.core.node.LwM2mNode; @@ -66,6 +64,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.node.ObjectNode; +import jakarta.servlet.http.HttpServletRequest; import jline.internal.Log; public class EventServlet extends EventSourceServlet { diff --git a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ObjectSpecServlet.java b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ObjectSpecServlet.java index dc06bdbc11..2c6d5d6899 100644 --- a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ObjectSpecServlet.java +++ b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ObjectSpecServlet.java @@ -21,11 +21,6 @@ import java.util.Comparator; import java.util.List; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang.StringUtils; import org.eclipse.leshan.core.model.LwM2mModel; import org.eclipse.leshan.core.model.ObjectModel; @@ -35,6 +30,11 @@ import org.eclipse.leshan.server.registration.Registration; import org.eclipse.leshan.server.registration.RegistrationService; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + public class ObjectSpecServlet extends HttpServlet { private static final long serialVersionUID = 1L; diff --git a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ServerServlet.java b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ServerServlet.java index 2d11477666..0b2fdb7674 100644 --- a/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ServerServlet.java +++ b/leshan-demo-server/src/main/java/org/eclipse/leshan/demo/server/servlet/ServerServlet.java @@ -21,11 +21,6 @@ import java.security.PublicKey; import java.security.cert.X509Certificate; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang.StringUtils; import org.eclipse.leshan.demo.servers.json.PublicKeySerDes; import org.eclipse.leshan.demo.servers.json.X509CertificateSerDes; @@ -36,6 +31,11 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + public class ServerServlet extends HttpServlet { private static final long serialVersionUID = 1L; diff --git a/leshan-demo-servers-shared/pom.xml b/leshan-demo-servers-shared/pom.xml index b0778304b0..461b7b58fe 100644 --- a/leshan-demo-servers-shared/pom.xml +++ b/leshan-demo-servers-shared/pom.xml @@ -39,12 +39,12 @@ Contributors: leshan-demo-shared - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp - org.eclipse.jetty - jetty-servlets + org.eclipse.jetty.ee10 + jetty-ee10-servlets commons-lang diff --git a/leshan-demo-servers-shared/src/main/java/org/eclipse/leshan/demo/servers/json/servlet/SecurityServlet.java b/leshan-demo-servers-shared/src/main/java/org/eclipse/leshan/demo/servers/json/servlet/SecurityServlet.java index 7e1ffb1681..c4cf2a348c 100644 --- a/leshan-demo-servers-shared/src/main/java/org/eclipse/leshan/demo/servers/json/servlet/SecurityServlet.java +++ b/leshan-demo-servers-shared/src/main/java/org/eclipse/leshan/demo/servers/json/servlet/SecurityServlet.java @@ -23,11 +23,6 @@ import java.security.cert.X509Certificate; import java.util.Collection; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang.StringUtils; import org.eclipse.leshan.demo.servers.json.JacksonSecurityDeserializer; import org.eclipse.leshan.demo.servers.json.JacksonSecuritySerializer; @@ -46,6 +41,11 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + /** * Service HTTP REST API calls for security information. */ diff --git a/leshan-lwm2m-client/src/main/java/org/eclipse/leshan/client/engine/ClientEndpointNameProvider.java b/leshan-lwm2m-client/src/main/java/org/eclipse/leshan/client/engine/ClientEndpointNameProvider.java index ff6a5f4a53..8a532f037e 100644 --- a/leshan-lwm2m-client/src/main/java/org/eclipse/leshan/client/engine/ClientEndpointNameProvider.java +++ b/leshan-lwm2m-client/src/main/java/org/eclipse/leshan/client/engine/ClientEndpointNameProvider.java @@ -21,7 +21,6 @@ /** * Since LWM2M v1.1, endpoint name is optional in REGISTER and BOOTSTRAP request. An {@link ClientEndpointNameProvider} * is determine the endpoint name value which should be used in Register/BootstrapRequest. - *

* * @see * @see DefaultClientEndpointNameProvider diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/ObjectLoader.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/ObjectLoader.java index b5e707f448..76b5b927e8 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/ObjectLoader.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/model/ObjectLoader.java @@ -197,7 +197,6 @@ public static List loadDdfResources(String path, String[] filenames * Load object definition from DDF resources following rules of {@link Class#getResourceAsStream(String)}. *

* It should be used to load DDF embedded with your application bundle (e.g. jar, war, ...) - *

* * @param path directory path to the DDF files * @param filenames names of all the DDF files @@ -247,7 +246,6 @@ public static List loadDdfResources(String[] paths) * Load object definition from DDF resources following rules of {@link Class#getResourceAsStream(String)}. *

* It should be used to load DDF embedded with your application bundle (e.g. jar, war, ...) - *

* * @param paths An array of paths to DDF files. * @param validate true if you want model validation. Validation is not free and it could make sense to not validate @@ -265,7 +263,6 @@ public static List loadDdfResources(String[] paths, boolean validat * Load object definition from DDF resources following rules of {@link Class#getResourceAsStream(String)}. *

* It should be used to load DDF embedded with your application bundle (e.g. jar, war, ...) - *

* * @param paths An array of paths to DDF files. * @param ddfFileParser a ddfFileParser which could do validation optionally. diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/LwM2mDecoder.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/LwM2mDecoder.java index 6d1d483ced..0ec8d1ce3d 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/LwM2mDecoder.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/LwM2mDecoder.java @@ -105,7 +105,6 @@ List decodeTimestampedData(byte[] content, ContentFormat f /** * Deserializes a binary content into a {@link TimestampedLwM2mNodes}. - *

* * @param content the content * @param format the content format diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeDecoder.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeDecoder.java index cb79f7d7a0..4601877d1f 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeDecoder.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeDecoder.java @@ -32,7 +32,6 @@ public interface TimestampedMultiNodeDecoder { /** * Deserializes a binary content into a {@link TimestampedLwM2mNodes}. - *

* * @param content the content * @param rootPath the expected rootPath also known as alternatePath of LWM2M client. diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeEncoder.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeEncoder.java index b4f31950f3..b9fd0d63dd 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeEncoder.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/node/codec/TimestampedMultiNodeEncoder.java @@ -26,7 +26,6 @@ public interface TimestampedMultiNodeEncoder { /** * Serializes a {@link TimestampedLwM2mNodes} object into a byte array. - *

* * @param rootPath to use by LWM2M client (also known as alternate path) * @param timestampedNodes timestamped nodes to be serialized diff --git a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/request/WriteCompositeRequest.java b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/request/WriteCompositeRequest.java index 5614ced75f..a869634f88 100644 --- a/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/request/WriteCompositeRequest.java +++ b/leshan-lwm2m-core/src/main/java/org/eclipse/leshan/core/request/WriteCompositeRequest.java @@ -49,7 +49,6 @@ public class WriteCompositeRequest extends AbstractLwM2mRequest * * @param values The values to write as a the Map of string path to value. Value can not be null. And * must be {@link Boolean} or {@link String} or a byte array or {@link Date} or {@link Long} or diff --git a/leshan-lwm2m-servers-shared/src/main/java/org/eclipse/leshan/servers/ServerEndpointNameProvider.java b/leshan-lwm2m-servers-shared/src/main/java/org/eclipse/leshan/servers/ServerEndpointNameProvider.java index 5bb1395e00..38193acbef 100644 --- a/leshan-lwm2m-servers-shared/src/main/java/org/eclipse/leshan/servers/ServerEndpointNameProvider.java +++ b/leshan-lwm2m-servers-shared/src/main/java/org/eclipse/leshan/servers/ServerEndpointNameProvider.java @@ -20,7 +20,6 @@ /** * Since LWM2M v1.1, endpoint name is optional in REGISTER and BOOTSTRAP request. An {@link ServerEndpointNameProvider} * is responsible to find the right Endpoint Name from the client identity. - *

* * @see * @see DefaultServerEndpointNameProvider diff --git a/pom.xml b/pom.xml index 86707c7bf7..49879b97ab 100644 --- a/pom.xml +++ b/pom.xml @@ -138,8 +138,7 @@ Contributors: 6.21.0 4.1.109.Final 2.0.13 - - 9.4.56.v20240826 + 12.0.14 2.15.3 4.7.5 5.10.1 @@ -362,13 +361,13 @@ Contributors: ${picocli.version} - org.eclipse.jetty - jetty-webapp + org.eclipse.jetty.ee10 + jetty-ee10-webapp ${jetty.version} - org.eclipse.jetty - jetty-servlets + org.eclipse.jetty.ee10 + jetty-ee10-servlets ${jetty.version} @@ -651,7 +650,7 @@ Contributors: - 1.11 + 17 3.6.0