From c1c09f8d2e6365716edac84f47a3dbeaaa9208d2 Mon Sep 17 00:00:00 2001 From: UnlegitDqrk Date: Wed, 11 Feb 2026 23:16:35 +0100 Subject: [PATCH] Finished --- pom.xml | 4 +- .../infonamelib/OacSessionJar.java | 29 ++ .../infonamelib/OacWebHttpURLConnection.java | 290 ++++++++++++++++++ .../infonamelib/OacWebPacketListener.java | 4 +- .../infonamelib/OacWebRequestBroker.java | 110 ++----- .../infonamelib/OacWebURLConnection.java | 47 ++- .../infonamelib/OacWebUrlInstaller.java | 29 +- .../infonamelib/web/Handler.java | 10 +- src/main/resources/license/epl2.0 | 277 ----------------- .../resources/license/junit-jupiter/epl2.0 | 277 ----------------- .../resources/license/lombok/projectlombok | 104 ------- src/main/resources/license/oapl | 1 - src/main/resources/license/projectlombok | 104 ------- src/main/resources/license/protocol/oapl | 1 - 14 files changed, 398 insertions(+), 889 deletions(-) create mode 100644 src/main/java/org/openautonomousconnection/infonamelib/OacSessionJar.java create mode 100644 src/main/java/org/openautonomousconnection/infonamelib/OacWebHttpURLConnection.java delete mode 100644 src/main/resources/license/epl2.0 delete mode 100644 src/main/resources/license/junit-jupiter/epl2.0 delete mode 100644 src/main/resources/license/lombok/projectlombok delete mode 100644 src/main/resources/license/oapl delete mode 100644 src/main/resources/license/projectlombok delete mode 100644 src/main/resources/license/protocol/oapl diff --git a/pom.xml b/pom.xml index e6153ab..f76839c 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.openautonomousconnection InfoNameLib - 1.0.0-BETA.1.3 + 1.0.0-BETA.1.0 Open Autonomous Connection https://open-autonomous-connection.org/ @@ -97,7 +97,7 @@ org.openautonomousconnection Protocol - 1.0.0-BETA.7.7 + 1.0.0-BETA.1.0 diff --git a/src/main/java/org/openautonomousconnection/infonamelib/OacSessionJar.java b/src/main/java/org/openautonomousconnection/infonamelib/OacSessionJar.java new file mode 100644 index 0000000..9865dec --- /dev/null +++ b/src/main/java/org/openautonomousconnection/infonamelib/OacSessionJar.java @@ -0,0 +1,29 @@ +package org.openautonomousconnection.infonamelib; + +/** + * Stores the current session token across multiple HttpURLConnection instances. + * + *

JavaFX WebView creates a new connection per navigation, so headers must be re-injected + * for every request.

+ */ +public final class OacSessionJar { + + private volatile String session; + + /** + * Stores a session token (e.g. from response header "session"). + * + * @param session session token + */ + public void store(String session) { + String s = (session == null) ? null : session.trim(); + this.session = (s == null || s.isEmpty()) ? null : s; + } + + /** + * @return stored session token or null + */ + public String get() { + return session; + } +} \ No newline at end of file diff --git a/src/main/java/org/openautonomousconnection/infonamelib/OacWebHttpURLConnection.java b/src/main/java/org/openautonomousconnection/infonamelib/OacWebHttpURLConnection.java new file mode 100644 index 0000000..82c4fb9 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/infonamelib/OacWebHttpURLConnection.java @@ -0,0 +1,290 @@ +package org.openautonomousconnection.infonamelib; + +import org.openautonomousconnection.protocol.versions.v1_0_0.beta.WebRequestMethod; + +import java.io.*; +import java.net.HttpURLConnection; +import java.net.ProtocolException; +import java.net.URL; +import java.util.*; + +/** + * HttpURLConnection implementation that maps "web://" URLs to OAC WebRequestPacket/WebResponsePacket. + * + *

Important semantics for JavaFX WebView:

+ * + */ +public final class OacWebHttpURLConnection extends HttpURLConnection { + + private static final int MAX_REDIRECTS = 8; + + private final OacWebRequestBroker broker; + private final OacSessionJar sessionJar; + + private final Map requestHeaders = new LinkedHashMap<>(); + private final ByteArrayOutputStream requestBody = new ByteArrayOutputStream(1024); + + private boolean connected; + private boolean requestSent; + + private OacWebResponse response; + + /** + * Creates a new OAC HttpURLConnection. + * + * @param url the web:// URL + * @param broker request broker + * @param sessionJar shared session store (must be shared across connections) + */ + public OacWebHttpURLConnection(URL url, OacWebRequestBroker broker, OacSessionJar sessionJar) { + super(url); + this.broker = Objects.requireNonNull(broker, "broker"); + this.sessionJar = Objects.requireNonNull(sessionJar, "sessionJar"); + this.method = "GET"; + setInstanceFollowRedirects(true); + } + + private static String headerValue(Map headers, String nameLower) { + if (headers == null || headers.isEmpty() || nameLower == null) return null; + String needle = nameLower.trim().toLowerCase(Locale.ROOT); + for (Map.Entry e : headers.entrySet()) { + if (e.getKey() == null) continue; + if (e.getKey().trim().toLowerCase(Locale.ROOT).equals(needle)) { + return e.getValue(); + } + } + return null; + } + + @Override + public void setRequestProperty(String key, String value) { + if (key == null) return; + // DO NOT block after connect(): WebView may call connect() early. + // Only block once the request was actually sent. + if (requestSent) throw new IllegalStateException("Request already sent"); + if (value == null) requestHeaders.remove(key); + else requestHeaders.put(key, value); + } + + @Override + public String getRequestProperty(String key) { + if (key == null) return null; + for (Map.Entry e : requestHeaders.entrySet()) { + if (e.getKey() != null && e.getKey().equalsIgnoreCase(key)) return e.getValue(); + } + return null; + } + + @Override + public Map> getRequestProperties() { + Map> out = new LinkedHashMap<>(); + for (Map.Entry e : requestHeaders.entrySet()) { + out.put(e.getKey(), e.getValue() == null ? List.of() : List.of(e.getValue())); + } + return Collections.unmodifiableMap(out); + } + + @Override + public void setRequestMethod(String method) throws ProtocolException { + if (method == null) throw new ProtocolException("method is null"); + if (requestSent) throw new ProtocolException("Request already sent"); + + String m = method.trim().toUpperCase(Locale.ROOT); + if (!m.equals("GET") && !m.equals("POST")) { + throw new ProtocolException("Unsupported method: " + method); + } + this.method = m; + } + + @Override + public OutputStream getOutputStream() throws IOException { + // WebView may call connect() first, so do NOT throw "Already connected". + if (requestSent) throw new IllegalStateException("Request already sent"); + + setDoOutput(true); + return requestBody; + } + + @Override + public void connect() { + // MUST NOT send here. WebView may call connect() before writing the POST body. + connected = true; + } + + private void ensureResponse() throws IOException { + if (requestSent) return; + + URL cur = this.url; + + String methodStr = (this.method == null) ? "GET" : this.method.trim().toUpperCase(Locale.ROOT); + WebRequestMethod reqMethod = "POST".equals(methodStr) ? WebRequestMethod.POST : WebRequestMethod.GET; + + // Snapshot headers/body at send time. + Map carryHeaders = new LinkedHashMap<>(requestHeaders); + + // ---- SESSION HEADER INJECTION (the core fix for your "header resets") ---- + // Each navigation creates a new connection, so we re-add the session for every request. + String session = sessionJar.get(); + if (session != null && !session.isBlank() && headerValue(carryHeaders, "session") == null) { + carryHeaders.put("session", session); + } + + byte[] carryBody = null; + if (getDoOutput()) { + carryBody = requestBody.toByteArray(); + if (reqMethod == WebRequestMethod.POST && carryBody == null) carryBody = new byte[0]; + } + + if (reqMethod == WebRequestMethod.POST && headerValue(carryHeaders, "content-type") == null) { + carryHeaders.put("content-type", "application/x-www-form-urlencoded; charset=utf-8"); + } + + OacWebResponse resp = null; + WebRequestMethod carryMethod = reqMethod; + + for (int i = 0; i <= MAX_REDIRECTS; i++) { + resp = broker.fetch(cur, carryMethod, carryHeaders, carryBody); + + // ---- capture session from response (login/register) ---- + String newSession = headerValue(resp.headers(), "session"); + if (newSession != null && !newSession.isBlank()) { + sessionJar.store(newSession); + // keep it for the next request in this redirect chain too + carryHeaders.put("session", newSession); + } + + int code = resp.statusCode(); + if (!getInstanceFollowRedirects()) break; + + if (code == 301 || code == 302 || code == 303 || code == 307 || code == 308) { + String loc = headerValue(resp.headers(), "location"); + if (loc == null || loc.isBlank()) break; + + try { + cur = new URL(cur, loc); + } catch (Exception ex) { + break; + } + + if (code == 303) { + carryMethod = WebRequestMethod.GET; + carryBody = null; + } else if ((code == 301 || code == 302) && carryMethod == WebRequestMethod.POST) { + carryMethod = WebRequestMethod.GET; + carryBody = null; + } + + continue; + } + + break; + } + + this.response = resp; + this.requestSent = true; + this.connected = true; + } + + @Override + public InputStream getInputStream() throws IOException { + ensureResponse(); + if (response == null) return new ByteArrayInputStream(new byte[0]); + return response.bodyStream(); + } + + @Override + public InputStream getErrorStream() { + try { + ensureResponse(); + if (response == null) return null; + int code = response.statusCode(); + return (code >= 400) ? response.bodyStream() : null; + } catch (IOException e) { + return null; + } + } + + @Override + public int getResponseCode() throws IOException { + ensureResponse(); + return response == null ? -1 : response.statusCode(); + } + + @Override + public String getContentType() { + try { + ensureResponse(); + } catch (IOException e) { + return "application/octet-stream"; + } + String ct = (response == null) ? null : response.contentType(); + return (ct == null || ct.isBlank()) ? "application/octet-stream" : ct; + } + + @Override + public int getContentLength() { + try { + ensureResponse(); + } catch (IOException e) { + return -1; + } + long len = (response == null) ? -1L : response.contentLength(); + return (len <= 0 || len > Integer.MAX_VALUE) ? -1 : (int) len; + } + + @Override + public long getContentLengthLong() { + try { + ensureResponse(); + } catch (IOException e) { + return -1L; + } + return (response == null) ? -1L : response.contentLength(); + } + + @Override + public Map> getHeaderFields() { + try { + ensureResponse(); + } catch (IOException e) { + return Map.of(); + } + if (response == null) return Map.of(); + + Map> out = new LinkedHashMap<>(); + for (Map.Entry e : response.headers().entrySet()) { + String k = e.getKey(); + String v = e.getValue(); + if (k == null) continue; + out.put(k, v == null ? List.of() : List.of(v)); + } + return out; + } + + @Override + public String getHeaderField(String name) { + if (name == null) return null; + try { + ensureResponse(); + } catch (IOException e) { + return null; + } + if (response == null) return null; + return headerValue(response.headers(), name.trim().toLowerCase(Locale.ROOT)); + } + + @Override + public void disconnect() { + // No persistent socket owned by this object. + connected = false; + } + + @Override + public boolean usingProxy() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/openautonomousconnection/infonamelib/OacWebPacketListener.java b/src/main/java/org/openautonomousconnection/infonamelib/OacWebPacketListener.java index 0b73e1f..f83ef70 100644 --- a/src/main/java/org/openautonomousconnection/infonamelib/OacWebPacketListener.java +++ b/src/main/java/org/openautonomousconnection/infonamelib/OacWebPacketListener.java @@ -75,7 +75,9 @@ public final class OacWebPacketListener extends EventListener { if (!host.contains(":")) { hostname = host; - port = 1028; + + if (records.getFirst().port == 0) port = 1028; + else port = records.getFirst().port; } else { String[] split = host.split(":", 2); hostname = split[0].trim(); diff --git a/src/main/java/org/openautonomousconnection/infonamelib/OacWebRequestBroker.java b/src/main/java/org/openautonomousconnection/infonamelib/OacWebRequestBroker.java index 6e167e4..5a7528c 100644 --- a/src/main/java/org/openautonomousconnection/infonamelib/OacWebRequestBroker.java +++ b/src/main/java/org/openautonomousconnection/infonamelib/OacWebRequestBroker.java @@ -48,6 +48,30 @@ public final class OacWebRequestBroker { return INSTANCE; } + private static String safeContentType(String ct) { + return (ct == null || ct.isBlank()) ? "application/octet-stream" : ct; + } + + private static Map safeHeaders(Map headers) { + return (headers == null || headers.isEmpty()) ? Map.of() : Map.copyOf(headers); + } + + private static String normalizePathWithQuery(String path, String query) { + String p; + if (path == null || path.isBlank() || "/".equals(path)) { + p = "index.html"; + } else { + p = path.startsWith("/") ? path.substring(1) : path; + if (p.isBlank()) p = "index.html"; + } + + if (query != null && !query.isBlank()) { + // Keep query for server-side fallback parsing + return p + "?" + query; + } + return p; + } + /** * Attaches the client used to send INS/Web packets. * @@ -102,13 +126,6 @@ public final class OacWebRequestBroker { /** * Opens a resource and blocks until the current single-flight response completes. - * - * @param client protocol client - * @param url web:// URL - * @param method request method - * @param headers request headers - * @param body request body - * @return response snapshot */ public Response openAndAwait(ProtocolClient client, URL url, WebRequestMethod method, Map headers, byte[] body) { Objects.requireNonNull(client, "client"); @@ -121,12 +138,6 @@ public final class OacWebRequestBroker { /** * Sends required packets for a {@code web://} URL. - * - * @param client protocol client - * @param url web:// URL - * @param method request method - * @param headers request headers - * @param body request body */ public synchronized void open(ProtocolClient client, URL url, WebRequestMethod method, Map headers, byte[] body) { Objects.requireNonNull(client, "client"); @@ -142,7 +153,8 @@ public final class OacWebRequestBroker { throw new IllegalArgumentException("Missing InfoName in URL: " + url); } - String path = normalizePath(url.getPath()); + // IMPORTANT FIX: include query in the path, so the server can read it as fallback. + String path = normalizePathWithQuery(url.getPath(), url.getQuery()); beginNewResponse(); @@ -156,9 +168,6 @@ public final class OacWebRequestBroker { sendWebRequest(client, path, method, headers, body); } - /** - * Called once the ServerConnection is established (from listener). - */ public void notifyServerConnected() { CountDownLatch latch = connectionLatch; if (latch != null) { @@ -166,21 +175,10 @@ public final class OacWebRequestBroker { } } - /** - * Forces re-resolution on next request. - */ public synchronized void invalidateCurrentInfoName() { currentInfoName = null; } - /** - * Receives non-streamed WebResponsePacket. - * - * @param statusCode status code - * @param contentType content type - * @param headers headers - * @param body body bytes - */ public void onWebResponse(int statusCode, String contentType, Map headers, byte[] body) { ResponseState st = responseState; if (st == null) return; @@ -201,14 +199,6 @@ public final class OacWebRequestBroker { } } - /** - * Receives a stream start. - * - * @param statusCode status code - * @param contentType content type - * @param headers headers - * @param totalLength total length (may be 0/unknown) - */ public void onStreamStart(int statusCode, String contentType, Map headers, long totalLength) { ResponseState st = responseState; if (st == null) return; @@ -225,12 +215,6 @@ public final class OacWebRequestBroker { } } - /** - * Receives a stream chunk (may arrive out-of-order). - * - * @param seq chunk sequence number - * @param data chunk bytes - */ public void onStreamChunk(int seq, byte[] data) { ResponseState st = responseState; if (st == null) return; @@ -249,11 +233,6 @@ public final class OacWebRequestBroker { } } - /** - * Receives stream end. - * - * @param ok whether stream completed successfully - */ public void onStreamEnd(boolean ok) { ResponseState st = responseState; if (st == null) return; @@ -276,13 +255,6 @@ public final class OacWebRequestBroker { } } - /** - * Waits for the current response. - * - * @param timeout timeout - * @param unit unit - * @return response snapshot - */ public Response awaitResponse(long timeout, TimeUnit unit) { Objects.requireNonNull(unit, "unit"); @@ -314,26 +286,6 @@ public final class OacWebRequestBroker { } } - // ============================ - // Internal helpers - // ============================ - - private static String safeContentType(String ct) { - return (ct == null || ct.isBlank()) ? "application/octet-stream" : ct; - } - - private static Map safeHeaders(Map headers) { - return (headers == null || headers.isEmpty()) ? Map.of() : Map.copyOf(headers); - } - - private static String normalizePath(String path) { - if (path == null || path.isBlank() || "/".equals(path)) { - return "index.html"; - } - String p = path.startsWith("/") ? path.substring(1) : path; - return p.isBlank() ? "index.html" : p; - } - private void resolveAndConnect(ProtocolClient client, String infoName) { if (client.getClientINSConnection() == null || !client.getClientINSConnection().isConnected()) return; @@ -417,7 +369,7 @@ public final class OacWebRequestBroker { } private void flushChunksLocked(ResponseState st) { - for (;;) { + for (; ; ) { byte[] next = st.chunkBuffer.remove(st.nextExpectedSeq); if (next == null) break; @@ -433,14 +385,6 @@ public final class OacWebRequestBroker { st.done.countDown(); } - /** - * Immutable response snapshot. - * - * @param statusCode status code - * @param contentType content type - * @param headers headers - * @param body body bytes - */ public record Response(int statusCode, String contentType, Map headers, byte[] body) { } diff --git a/src/main/java/org/openautonomousconnection/infonamelib/OacWebURLConnection.java b/src/main/java/org/openautonomousconnection/infonamelib/OacWebURLConnection.java index 11cdddc..cf30478 100644 --- a/src/main/java/org/openautonomousconnection/infonamelib/OacWebURLConnection.java +++ b/src/main/java/org/openautonomousconnection/infonamelib/OacWebURLConnection.java @@ -28,12 +28,12 @@ public final class OacWebURLConnection extends URLConnection { private static final int MAX_REDIRECTS = 8; private final OacWebRequestBroker broker; - - private boolean connected; - private OacWebResponse response; - private final Map requestHeaders = new LinkedHashMap<>(); private final ByteArrayOutputStream requestBody = new ByteArrayOutputStream(1024); + private boolean connected; + private OacWebResponse response; + private boolean outputOpened; + private boolean outputClosed; /** * Creates a new OAC URLConnection. @@ -85,7 +85,24 @@ public final class OacWebURLConnection extends URLConnection { @Override public OutputStream getOutputStream() { setDoOutput(true); - return requestBody; + outputOpened = true; + + return new OutputStream() { + @Override + public void write(int b) { + requestBody.write(b); + } + + @Override + public void write(byte[] b, int off, int len) { + requestBody.write(b, off, len); + } + + @Override + public void close() { + outputClosed = true; + } + }; } @Override @@ -94,12 +111,24 @@ public final class OacWebURLConnection extends URLConnection { URL cur = this.url; - // Determine initial method/body. - byte[] body = (getDoOutput() && requestBody.size() > 0) ? requestBody.toByteArray() : null; - WebRequestMethod method = (body != null) ? WebRequestMethod.POST : WebRequestMethod.GET; + // Decide method: + // - If doOutput is true OR content-type is present: treat as POST (even if body is empty). + // This fixes engines that perform POST with empty/unknown body. + boolean hasContentType = headerValue(requestHeaders, "content-type") != null; + boolean wantsPost = getDoOutput() || hasContentType; + + WebRequestMethod method = wantsPost ? WebRequestMethod.POST : WebRequestMethod.GET; + + byte[] body; + if (wantsPost) { + // Always send a body for POST; may be empty. + body = requestBody.toByteArray(); + } else { + body = null; + } // Ensure content-type exists for form posts if caller didn't set it. - if (method == WebRequestMethod.POST && headerValue(requestHeaders, "content-type") == null) { + if (method == WebRequestMethod.POST && !hasContentType) { requestHeaders.put("content-type", "application/x-www-form-urlencoded; charset=utf-8"); } diff --git a/src/main/java/org/openautonomousconnection/infonamelib/OacWebUrlInstaller.java b/src/main/java/org/openautonomousconnection/infonamelib/OacWebUrlInstaller.java index 7c5a0b2..0309b1d 100644 --- a/src/main/java/org/openautonomousconnection/infonamelib/OacWebUrlInstaller.java +++ b/src/main/java/org/openautonomousconnection/infonamelib/OacWebUrlInstaller.java @@ -7,10 +7,7 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; /** - * Installs the "web://" protocol handler using the standard Java mechanism: - * {@code java.protocol.handler.pkgs}. - * - *

This avoids {@link java.net.URL#setURLStreamHandlerFactory} which can only be set once per JVM.

+ * Installs the "web://" protocol handler using java.protocol.handler.pkgs. */ public final class OacWebUrlInstaller { @@ -19,34 +16,16 @@ public final class OacWebUrlInstaller { private OacWebUrlInstaller() { } - /** - * Installs: - *
    - *
  • protocol handler package prefix
  • - *
  • packet listener forwarding WebResponse/WebStream + INSResponse into the broker
  • - *
- * - *

Must be called before any {@code web://} URL is resolved/loaded.

- * - * @param eventManager global event manager - * @param client protocol client (required for connecting ServerConnection after INS resolution) - */ public static void installOnce(EventManager eventManager, ProtocolClient client) { Objects.requireNonNull(eventManager, "eventManager"); Objects.requireNonNull(client, "client"); - if (!INSTALLED.compareAndSet(false, true)) { - return; - } + if (!INSTALLED.compareAndSet(false, true)) return; - // Make client available for broker.fetch(...) OacWebRequestBroker.get().attachClient(client); - - // Register packet listener (INSResponse + WebResponse + WebStream*) eventManager.registerListener(new OacWebPacketListener(OacWebRequestBroker.get(), client)); - // Register protocol handler package prefix: - // JVM will load: "org.openautonomousconnection.webclient.recode.url.web.Handler" - ProtocolHandlerPackages.installPackage("org.openautonomousconnection.webclient.recode.url"); + // IMPORTANT: must match "org.openautonomousconnection.infonamelib.web.Handler" + ProtocolHandlerPackages.installPackage("org.openautonomousconnection.infonamelib"); } } \ No newline at end of file diff --git a/src/main/java/org/openautonomousconnection/infonamelib/web/Handler.java b/src/main/java/org/openautonomousconnection/infonamelib/web/Handler.java index b08b564..00688d3 100644 --- a/src/main/java/org/openautonomousconnection/infonamelib/web/Handler.java +++ b/src/main/java/org/openautonomousconnection/infonamelib/web/Handler.java @@ -1,7 +1,8 @@ package org.openautonomousconnection.infonamelib.web; +import org.openautonomousconnection.infonamelib.OacSessionJar; +import org.openautonomousconnection.infonamelib.OacWebHttpURLConnection; import org.openautonomousconnection.infonamelib.OacWebRequestBroker; -import org.openautonomousconnection.infonamelib.OacWebURLConnection; import java.io.IOException; import java.net.URL; @@ -9,14 +10,13 @@ import java.net.URLConnection; import java.net.URLStreamHandler; /** - * URLStreamHandler for the "web" protocol. - * - *

Loaded via the "java.protocol.handler.pkgs" mechanism.

+ * URLStreamHandler for the "web" protocol (loaded via java.protocol.handler.pkgs). */ public final class Handler extends URLStreamHandler { + private static final OacSessionJar SESSION_JAR = new OacSessionJar(); @Override protected URLConnection openConnection(URL u) throws IOException { - return new OacWebURLConnection(u, OacWebRequestBroker.get()); + return new OacWebHttpURLConnection(u, OacWebRequestBroker.get(), SESSION_JAR); } } \ No newline at end of file diff --git a/src/main/resources/license/epl2.0 b/src/main/resources/license/epl2.0 deleted file mode 100644 index e55f344..0000000 --- a/src/main/resources/license/epl2.0 +++ /dev/null @@ -1,277 +0,0 @@ -Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which -are necessarily infringed by the use or sale of its Contribution alone -or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this Agreement -or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other -form, that is based on (or derived from) the Program and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that -results from an addition to, deletion from, or modification of the -contents of the Program, including, for purposes of clarity any new file -in Source Code form that contains any contents of the Program. Modified -Works shall not include works that contain only declarations, -interfaces, types, classes, structures, or files of the Program solely -in each case in order to link to, bind by name, or subclass the Program -or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available -in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making -modifications, including but not limited to software source code, -documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, -Version 2.0, or any later versions of that license, including any -exceptions or additional permissions as identified by the initial -Contributor. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - -3. REQUIREMENTS - -3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - -3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - -3.3 Contributors may not remove or alter any copyright, patent, -trademark, attribution notices, disclaimers of warranty, or limitations -of liability ("notices") contained within the Program from any copy of -the Program which they Distribute, provided that Contributors may add -their own appropriate notices. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities -with respect to end users, business partners and the like. While this -license is intended to facilitate the commercial use of the Program, -the Contributor who includes the Program in a commercial product -offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes -the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and indemnify every -other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits -and other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such -Commercial Contributor in connection with its distribution of the Program -in a commercial product offering. The obligations in this section do not -apply to any claims or Losses relating to any actual or alleged -intellectual property infringement. In order to qualify, an Indemnified -Contributor must: a) promptly notify the Commercial Contributor in -writing of such claim, and b) allow the Commercial Contributor to control, -and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may -participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those performance -claims and warranties, and if a court requires any other Contributor to -pay any damages as a result, the Commercial Contributor must pay -those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE. Each Recipient is solely responsible for determining the -appropriateness of using and distributing the Program and assumes all -risks associated with its exercise of rights under this Agreement, -including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs -or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS -SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other software -or hardware) infringes such Recipient's patent(s), then such Recipient's -rights granted under Section 2(b) shall terminate as of the date such -litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign the -responsibility to serve as the Agreement Steward to a suitable separate -entity. Each new version of the Agreement will be given a distinguishing -version number. The Program (including Contributions) may always be -Distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to Distribute the Program (including its -Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient -receives no rights or licenses to the intellectual property of any -Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted -under this Agreement are reserved. Nothing in this Agreement is intended -to be enforceable by any entity that is not a Contributor or Recipient. -No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice - -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth -in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), -version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. \ No newline at end of file diff --git a/src/main/resources/license/junit-jupiter/epl2.0 b/src/main/resources/license/junit-jupiter/epl2.0 deleted file mode 100644 index e55f344..0000000 --- a/src/main/resources/license/junit-jupiter/epl2.0 +++ /dev/null @@ -1,277 +0,0 @@ -Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which -are necessarily infringed by the use or sale of its Contribution alone -or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this Agreement -or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other -form, that is based on (or derived from) the Program and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that -results from an addition to, deletion from, or modification of the -contents of the Program, including, for purposes of clarity any new file -in Source Code form that contains any contents of the Program. Modified -Works shall not include works that contain only declarations, -interfaces, types, classes, structures, or files of the Program solely -in each case in order to link to, bind by name, or subclass the Program -or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available -in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making -modifications, including but not limited to software source code, -documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, -Version 2.0, or any later versions of that license, including any -exceptions or additional permissions as identified by the initial -Contributor. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - -3. REQUIREMENTS - -3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - -3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - -3.3 Contributors may not remove or alter any copyright, patent, -trademark, attribution notices, disclaimers of warranty, or limitations -of liability ("notices") contained within the Program from any copy of -the Program which they Distribute, provided that Contributors may add -their own appropriate notices. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities -with respect to end users, business partners and the like. While this -license is intended to facilitate the commercial use of the Program, -the Contributor who includes the Program in a commercial product -offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes -the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and indemnify every -other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits -and other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such -Commercial Contributor in connection with its distribution of the Program -in a commercial product offering. The obligations in this section do not -apply to any claims or Losses relating to any actual or alleged -intellectual property infringement. In order to qualify, an Indemnified -Contributor must: a) promptly notify the Commercial Contributor in -writing of such claim, and b) allow the Commercial Contributor to control, -and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may -participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those performance -claims and warranties, and if a court requires any other Contributor to -pay any damages as a result, the Commercial Contributor must pay -those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE. Each Recipient is solely responsible for determining the -appropriateness of using and distributing the Program and assumes all -risks associated with its exercise of rights under this Agreement, -including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs -or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS -SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other software -or hardware) infringes such Recipient's patent(s), then such Recipient's -rights granted under Section 2(b) shall terminate as of the date such -litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign the -responsibility to serve as the Agreement Steward to a suitable separate -entity. Each new version of the Agreement will be given a distinguishing -version number. The Program (including Contributions) may always be -Distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to Distribute the Program (including its -Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient -receives no rights or licenses to the intellectual property of any -Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted -under this Agreement are reserved. Nothing in this Agreement is intended -to be enforceable by any entity that is not a Contributor or Recipient. -No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice - -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth -in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), -version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. \ No newline at end of file diff --git a/src/main/resources/license/lombok/projectlombok b/src/main/resources/license/lombok/projectlombok deleted file mode 100644 index a80ced4..0000000 --- a/src/main/resources/license/lombok/projectlombok +++ /dev/null @@ -1,104 +0,0 @@ -Copyright (C) 2009-2021 The Project Lombok Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -============================================================================== -Licenses for included components: - -org.ow2.asm:asm -org.ow2.asm:asm-analysis -org.ow2.asm:asm-commons -org.ow2.asm:asm-tree -org.ow2.asm:asm-util -ASM: a very small and fast Java bytecode manipulation framework - Copyright (c) 2000-2011 INRIA, France Telecom - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------- -rzwitserloot/com.zwitserloot.cmdreader - - Copyright © 2010 Reinier Zwitserloot. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ------------------------------------------------------------------------------- - -projectlombok/lombok.patcher - - Copyright (C) 2009-2021 The Project Lombok Authors. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ------------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/main/resources/license/oapl b/src/main/resources/license/oapl deleted file mode 100644 index 3f64855..0000000 --- a/src/main/resources/license/oapl +++ /dev/null @@ -1 +0,0 @@ -Please read the license here: https://open-autonomous-connection.org/license.html \ No newline at end of file diff --git a/src/main/resources/license/projectlombok b/src/main/resources/license/projectlombok deleted file mode 100644 index a80ced4..0000000 --- a/src/main/resources/license/projectlombok +++ /dev/null @@ -1,104 +0,0 @@ -Copyright (C) 2009-2021 The Project Lombok Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -============================================================================== -Licenses for included components: - -org.ow2.asm:asm -org.ow2.asm:asm-analysis -org.ow2.asm:asm-commons -org.ow2.asm:asm-tree -org.ow2.asm:asm-util -ASM: a very small and fast Java bytecode manipulation framework - Copyright (c) 2000-2011 INRIA, France Telecom - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------- -rzwitserloot/com.zwitserloot.cmdreader - - Copyright © 2010 Reinier Zwitserloot. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ------------------------------------------------------------------------------- - -projectlombok/lombok.patcher - - Copyright (C) 2009-2021 The Project Lombok Authors. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ------------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/main/resources/license/protocol/oapl b/src/main/resources/license/protocol/oapl deleted file mode 100644 index 3f64855..0000000 --- a/src/main/resources/license/protocol/oapl +++ /dev/null @@ -1 +0,0 @@ -Please read the license here: https://open-autonomous-connection.org/license.html \ No newline at end of file