gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] 02/02: upgrade dependencies, remove xerces dependency


From: gnunet
Subject: [libeufin] 02/02: upgrade dependencies, remove xerces dependency
Date: Mon, 02 Aug 2021 22:54:02 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository libeufin.

commit 7844285924ea349e480750fa2b6cd3aebdb88060
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon Aug 2 22:53:54 2021 +0200

    upgrade dependencies, remove xerces dependency
---
 .idea/libeufin.iml                                 |  13 ---
 .idea/misc.xml                                     |   2 +-
 build.gradle                                       |   2 +-
 debian/changelog                                   |   7 ++
 gradle/wrapper/gradle-wrapper.jar                  | Bin 55616 -> 59203 bytes
 gradle/wrapper/gradle-wrapper.properties           |   5 +-
 gradlew                                            |  31 +++----
 gradlew.bat                                        |  25 ++----
 nexus/build.gradle                                 |  37 ++++----
 sandbox/build.gradle                               |  35 ++++----
 .../src/main/kotlin/tech/libeufin/sandbox/DB.kt    |   2 +-
 .../src/main/kotlin/tech/libeufin/sandbox/Main.kt  |  21 +----
 util/build.gradle                                  |  33 ++++---
 util/src/main/kotlin/CryptoUtil.kt                 |   4 +-
 util/src/main/kotlin/XMLUtil.kt                    |  99 ++++++++++++++++++---
 15 files changed, 173 insertions(+), 143 deletions(-)

diff --git a/.idea/libeufin.iml b/.idea/libeufin.iml
deleted file mode 100644
index 87e285a..0000000
--- a/.idea/libeufin.iml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="libeufin:main" 
external.linked.project.path="$MODULE_DIR$" 
external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" 
external.system.module.group="" external.system.module.version="unspecified" 
type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
-      <excludeFolder url="file://$MODULE_DIR$/build" />
-      <excludeFolder url="file://$MODULE_DIR$/frontend" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 3058817..fe32790 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -9,5 +9,5 @@
   <component name="FrameworkDetectionExcludesConfiguration">
     <file type="web" url="file://$PROJECT_DIR$" />
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" 
project-jdk-name="11" project-jdk-type="JavaSDK" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" 
default="true" project-jdk-name="11" project-jdk-type="JavaSDK" />
 </project>
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index c86eb36..90c5756 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
 import org.apache.tools.ant.filters.ReplaceTokens
 
 plugins {
-    id 'org.jetbrains.kotlin.jvm' version '1.4.30-RC'
+    id 'org.jetbrains.kotlin.jvm' version '1.5.21'
     id 'idea'
 }
 
diff --git a/debian/changelog b/debian/changelog
index 241c4d6..c7b85b5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libeufin (0.0.1-3) unstable; urgency=medium
+
+  * Sandbox bugfixes.
+  * Packaging: Install tmpfiles properly.
+
+ -- Florian Dold <florian@dold.me>  Mon, 02 Aug 2021 19:53:44 +0200
+
 libeufin (0.0.1-2) unstable; urgency=medium
 
   * Support debhelper-compat level 12.
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
index 5c2d1cf..e708b1c 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and 
b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 1dbda40..e5338d3 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,5 @@
-#Sun Jun 14 17:36:48 IST 2020
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.1-bin.zip
 zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index 83f2acf..4f906e0 100755
--- a/gradlew
+++ b/gradlew
@@ -82,6 +82,7 @@ esac
 
 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
+
 # Determine the Java command to use to start the JVM.
 if [ -n "$JAVA_HOME" ] ; then
     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
@@ -129,6 +130,7 @@ fi
 if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
     APP_HOME=`cygpath --path --mixed "$APP_HOME"`
     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
     JAVACMD=`cygpath --unix "$JAVACMD"`
 
     # We build the pattern for arguments to be converted via cygpath
@@ -154,19 +156,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
         else
             eval `echo args$i`="\"$arg\""
         fi
-        i=$((i+1))
+        i=`expr $i + 1`
     done
     case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" "$args8" ;;
+        0) set -- ;;
+        1) set -- "$args0" ;;
+        2) set -- "$args0" "$args1" ;;
+        3) set -- "$args0" "$args1" "$args2" ;;
+        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" ;;
+        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" ;;
+        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" "$args8" ;;
     esac
 fi
 
@@ -175,14 +177,9 @@ save () {
     for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; 
done
     echo " "
 }
-APP_ARGS=$(save "$@")
+APP_ARGS=`save "$@"`
 
 # Collect all arguments for the java command, following the shell quoting and 
substitution rules
 eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 
"\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" 
org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
 
-# by default we should be in the correct project dir, but when run from Finder 
on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
-  cd "$(dirname "$0")"
-fi
-
 exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index 24467a1..ac1b06f 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
 set APP_BASE_NAME=%~n0
 set APP_HOME=%DIRNAME%
 
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
 @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
 set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
 
@@ -37,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
 
 set JAVA_EXE=java.exe
 %JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
+if "%ERRORLEVEL%" == "0" goto execute
 
 echo.
 echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH.
@@ -51,7 +54,7 @@ goto fail
 set JAVA_HOME=%JAVA_HOME:"=%
 set JAVA_EXE=%JAVA_HOME%/bin/java.exe
 
-if exist "%JAVA_EXE%" goto init
+if exist "%JAVA_EXE%" goto execute
 
 echo.
 echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -61,28 +64,14 @@ echo location of your Java installation.
 
 goto fail
 
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
 :execute
 @rem Setup the command line
 
 set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
 
+
 @rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %*
 
 :end
 @rem End local scope for the variables with windows NT shell
diff --git a/nexus/build.gradle b/nexus/build.gradle
index 1eb121b..aa9bbe6 100644
--- a/nexus/build.gradle
+++ b/nexus/build.gradle
@@ -51,32 +51,31 @@ compileTestKotlin {
     }
 }
 
-def ktor_version = "1.5.0"
-def exposed_version = "0.25.1"
+def ktor_version = '1.6.1'
+def exposed_version = '0.32.1'
 
 dependencies {
     // Core language libraries
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
-    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21'
+    implementation 
'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1-native-mt'
 
     // LibEuFin util library
     implementation project(":util")
 
     // Logging
-    implementation "ch.qos.logback:logback-classic:1.2.3"
+    implementation 'ch.qos.logback:logback-classic:1.2.5'
 
     // XML parsing/binding and encryption
-    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-    implementation "javax.xml.bind:jaxb-api:2.3.0"
-    implementation group: 'xerces', name: 'xercesImpl', version: 
'2.6.2-jaxb-1.0.6'
-    implementation "org.glassfish.jaxb:jaxb-runtime:2.3.1"
-    implementation 'org.apache.santuario:xmlsec:2.1.4'
+    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: 
'2.4.0-b180830.0359'
+    implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'
+    implementation 'org.glassfish.jaxb:jaxb-runtime:3.0.1'
+    implementation 'org.apache.santuario:xmlsec:2.2.2'
 
     // Compression
-    implementation group: 'org.apache.commons', name: 'commons-compress', 
version: '1.20'
+    implementation group: 'org.apache.commons', name: 'commons-compress', 
version: '1.21'
 
     // Command line parsing
-    implementation("com.github.ajalt:clikt:2.7.0")
+    implementation('com.github.ajalt:clikt:2.8.0')
 
     // Exposed, an SQL library
     implementation "org.jetbrains.exposed:exposed-core:$exposed_version"
@@ -84,8 +83,8 @@ dependencies {
     implementation "org.jetbrains.exposed:exposed-jdbc:$exposed_version"
 
     // Database connection driver
-    implementation group: 'org.xerial', name: 'sqlite-jdbc', version: '3.28.0'
-    implementation "org.postgresql:postgresql:42.2.18"
+    implementation group: 'org.xerial', name: 'sqlite-jdbc', version: 
'3.36.0.1'
+    implementation 'org.postgresql:postgresql:42.2.23.jre7'
 
     // Ktor, an HTTP client and server library
     implementation "io.ktor:ktor-server-core:$ktor_version"
@@ -95,15 +94,15 @@ dependencies {
     implementation "io.ktor:ktor-jackson:$ktor_version"
 
     // PDF generation
-    implementation 'com.itextpdf:itext7-core:7.1.11'
+    implementation 'com.itextpdf:itext7-core:7.1.16'
 
     // Cron syntax
-    implementation "com.cronutils:cron-utils:9.0.2"
+    implementation 'com.cronutils:cron-utils:9.1.5'
 
     // Unit testing
-    testImplementation 'junit:junit:4.12'
-    testImplementation 'org.jetbrains.kotlin:kotlin-test:1.4.30-RC'
-    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.4.30-RC'
+    testImplementation 'junit:junit:4.13.2'
+    testImplementation 'org.jetbrains.kotlin:kotlin-test:1.5.21'
+    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.5.21'
 }
 
 application {
diff --git a/sandbox/build.gradle b/sandbox/build.gradle
index c2cb39a..a33257c 100644
--- a/sandbox/build.gradle
+++ b/sandbox/build.gradle
@@ -40,24 +40,23 @@ sourceSets {
     main.java.srcDirs = ['src/main/java', 'src/main/kotlin']
 }
 
-def ktor_version = "1.5.0"
-def exposed_version = "0.25.1"
+def ktor_version = '1.6.1'
+def exposed_version = '0.32.1'
 
 dependencies {
     implementation "com.hubspot.jinjava:jinjava:2.5.9"
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
-    implementation "ch.qos.logback:logback-classic:1.2.3"
-    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-    implementation "javax.xml.bind:jaxb-api:2.3.0"
-    implementation group: 'xerces', name: 'xercesImpl', version: 
'2.6.2-jaxb-1.0.6'
-    implementation "javax.activation:activation:1.1"
-    implementation "org.glassfish.jaxb:jaxb-runtime:2.3.1"
-    implementation 'org.apache.santuario:xmlsec:2.1.4'
-    implementation group: 'org.bouncycastle', name: 'bcprov-jdk16', version: 
'1.45'
-    implementation group: 'org.xerial', name: 'sqlite-jdbc', version: '3.28.0'
-    implementation "org.postgresql:postgresql:42.2.18"
-    implementation group: 'org.apache.commons', name: 'commons-compress', 
version: '1.20'
-    implementation("com.github.ajalt:clikt:2.7.0")
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21'
+    implementation 'ch.qos.logback:logback-classic:1.2.5'
+    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: 
'2.4.0-b180830.0359'
+    implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'
+    implementation 'javax.activation:activation:1.1.1'
+    implementation 'org.glassfish.jaxb:jaxb-runtime:3.0.1'
+    implementation 'org.apache.santuario:xmlsec:2.2.2'
+    implementation group: 'org.bouncycastle', name: 'bcprov-jdk16', version: 
'1.46'
+    implementation group: 'org.xerial', name: 'sqlite-jdbc', version: 
'3.36.0.1'
+    implementation 'org.postgresql:postgresql:42.2.23.jre7'
+    implementation group: 'org.apache.commons', name: 'commons-compress', 
version: '1.21'
+    implementation('com.github.ajalt:clikt:2.8.0')
     implementation "org.jetbrains.exposed:exposed-core:$exposed_version"
     implementation "org.jetbrains.exposed:exposed-dao:$exposed_version"
     implementation "org.jetbrains.exposed:exposed-jdbc:$exposed_version"
@@ -68,9 +67,9 @@ dependencies {
     implementation "io.ktor:ktor-jackson:$ktor_version"
     implementation "io.ktor:ktor-auth:$ktor_version"
 
-    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.4.30-RC'
-    testImplementation 'org.jetbrains.kotlin:kotlin-test:1.4.30-RC'
-    testImplementation group: "junit", name: "junit", version: "4.12"
+    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.5.21'
+    testImplementation 'org.jetbrains.kotlin:kotlin-test:1.5.21'
+    testImplementation group: "junit", name: "junit", version: '4.13.2'
 
     implementation project(":util")
 }
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt 
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
index b840c8c..90fa2c0 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
@@ -108,7 +108,7 @@ object SandboxUsersTable : LongIdTable() {
     val username = text("username")
     val passwordHash = text("password")
     val superuser = bool("superuser") // admin
-    val bankAccount = reference("bankAccout", BankAccountsTable)
+    val bankAccount = reference("bankAccount", BankAccountsTable)
 }
 
 class SandboxUserEntity(id: EntityID<Long>) : LongEntity(id) {
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt 
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
index a6affd0..a43b1e2 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
@@ -21,7 +21,6 @@
 package tech.libeufin.sandbox
 
 import com.hubspot.jinjava.Jinjava
-import com.hubspot.jinjava.JinjavaConfig
 import com.fasterxml.jackson.core.JsonParseException
 import io.ktor.application.ApplicationCallPipeline
 import io.ktor.application.call
@@ -98,7 +97,7 @@ import kotlin.random.Random
 import kotlin.reflect.jvm.internal.impl.load.kotlin.JvmType
 import kotlin.system.exitProcess
 
-val SANDBOX_DB_ENV_VAR_NAME = "LIBEUFIN_SANDBOX_DB_CONNECTION"
+const val SANDBOX_DB_ENV_VAR_NAME = "LIBEUFIN_SANDBOX_DB_CONNECTION"
 private val logger: Logger = LoggerFactory.getLogger("tech.libeufin.sandbox")
 
 data class SandboxError(val statusCode: HttpStatusCode, val reason: String) : 
Exception()
@@ -183,13 +182,6 @@ fun findEbicsSubscriber(partnerID: String, userID: String, 
systemID: String?): E
     }.firstOrNull()
 }
 
-data class Subscriber(
-    val partnerID: String,
-    val userID: String,
-    val systemID: String?,
-    val keys: SubscriberKeys
-)
-
 data class SubscriberKeys(
     val authenticationPublicKey: RSAPublicKey,
     val encryptionPublicKey: RSAPublicKey,
@@ -726,17 +718,6 @@ fun serverMain(dbName: String, port: Int) {
             }
         }
     }
-    val configs = transaction {
-        SandboxConfigEntity.all().firstOrNull()
-    }
-    if (configs == null) {
-        logger.error("""
-            Sandbox cannot run without at least one configuration.
-            See "libeufin-sandbox config --help"
-        """.trimIndent()
-        )
-        exitProcess(1)
-    }
     logger.info("LibEuFin Sandbox running on port $port")
     try {
         server.start(wait = true)
diff --git a/util/build.gradle b/util/build.gradle
index 931a10b..346acf1 100644
--- a/util/build.gradle
+++ b/util/build.gradle
@@ -2,7 +2,6 @@ plugins {
     id 'java'
     id 'application'
     id 'org.jetbrains.kotlin.jvm'
-
 }
 
 sourceCompatibility = "11"
@@ -27,30 +26,30 @@ sourceSets {
     main.java.srcDirs = ['src/main/java', 'src/main/kotlin']
 }
 
-def exposed_version = "0.25.1"
+def exposed_version = '0.32.1'
 
 dependencies {
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
-    implementation "io.ktor:ktor-server-netty:1.2.4"
-    implementation "ch.qos.logback:logback-classic:1.2.3"
-    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-    implementation "javax.xml.bind:jaxb-api:2.3.0"
-    implementation group: 'xerces', name: 'xercesImpl', version: 
'2.6.2-jaxb-1.0.6'
-    implementation "javax.activation:activation:1.1"
-    implementation "org.glassfish.jaxb:jaxb-runtime:2.3.1"
-    implementation 'org.apache.santuario:xmlsec:2.1.4'
-    implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: 
'1.64'
-    implementation group: 'org.apache.commons', name: 'commons-compress', 
version: '1.20'
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21'
+    implementation 'io.ktor:ktor-server-netty:1.6.1'
+    implementation 'ch.qos.logback:logback-classic:1.2.5'
+    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: 
'2.4.0-b180830.0359'
+    implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'
+
+    implementation 'javax.activation:activation:1.1.1'
+    implementation 'org.glassfish.jaxb:jaxb-runtime:3.0.1'
+    implementation 'org.apache.santuario:xmlsec:2.2.2'
+    implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: 
'1.69'
+    implementation group: 'org.apache.commons', name: 'commons-compress', 
version: '1.21'
 
     // https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-reflect
-    implementation group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', 
version: '1.4.0'
+    implementation group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', 
version: '1.5.21'
 
     implementation "org.jetbrains.exposed:exposed-core:$exposed_version"
     implementation "org.jetbrains.exposed:exposed-dao:$exposed_version"
 
-    testImplementation group: 'junit', name: 'junit', version: '4.12'
-    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.4.30-RC'
-    testImplementation 'org.jetbrains.kotlin:kotlin-test:1.4.30-RC'
+    testImplementation group: 'junit', name: 'junit', version: '4.13.2'
+    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.5.21'
+    testImplementation 'org.jetbrains.kotlin:kotlin-test:1.5.21'
 
 }
 
diff --git a/util/src/main/kotlin/CryptoUtil.kt 
b/util/src/main/kotlin/CryptoUtil.kt
index 2cc9c34..c946e7a 100644
--- a/util/src/main/kotlin/CryptoUtil.kt
+++ b/util/src/main/kotlin/CryptoUtil.kt
@@ -130,9 +130,9 @@ object CryptoUtil {
      */
     fun getEbicsPublicKeyHash(publicKey: RSAPublicKey): ByteArray {
         val keyBytes = ByteArrayOutputStream()
-        
keyBytes.writeBytes(publicKey.publicExponent.toUnsignedHexString().toLowerCase().trimStart('0').toByteArray())
+        
keyBytes.writeBytes(publicKey.publicExponent.toUnsignedHexString().lowercase().trimStart('0').toByteArray())
         keyBytes.write(' '.toInt())
-        
keyBytes.writeBytes(publicKey.modulus.toUnsignedHexString().toLowerCase().trimStart('0').toByteArray())
+        
keyBytes.writeBytes(publicKey.modulus.toUnsignedHexString().lowercase().trimStart('0').toByteArray())
         println("buffer before hashing: 
'${keyBytes.toString(Charsets.UTF_8)}'")
         val digest = MessageDigest.getInstance("SHA-256")
         return digest.digest(keyBytes.toByteArray())
diff --git a/util/src/main/kotlin/XMLUtil.kt b/util/src/main/kotlin/XMLUtil.kt
index e1b312b..dcda335 100644
--- a/util/src/main/kotlin/XMLUtil.kt
+++ b/util/src/main/kotlin/XMLUtil.kt
@@ -19,9 +19,8 @@
 
 package tech.libeufin.util
 
-import com.sun.org.apache.xerces.internal.dom.DOMInputImpl
-import com.sun.xml.bind.marshaller.NamespacePrefixMapper
-import io.ktor.http.HttpStatusCode
+import io.ktor.http.*
+import org.glassfish.jaxb.runtime.marshaller.NamespacePrefixMapper
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 import org.w3c.dom.Document
@@ -73,6 +72,82 @@ class DefaultNamespaces : NamespacePrefixMapper() {
 }
 
 
+class DOMInputImpl : LSInput {
+    var fPublicId: String? = null
+    var fSystemId: String? = null
+    var fBaseSystemId: String? = null
+    var fByteStream: InputStream? = null
+    var fCharStream: Reader? = null
+    var fData: String? = null
+    var fEncoding: String? = null
+    var fCertifiedText = false
+
+    override fun getByteStream(): InputStream? {
+        return fByteStream
+    }
+
+    override fun setByteStream(byteStream: InputStream) {
+        fByteStream = byteStream
+    }
+
+    override fun getCharacterStream(): Reader? {
+        return fCharStream
+    }
+
+    override fun setCharacterStream(characterStream: Reader) {
+        fCharStream = characterStream
+    }
+
+    override fun getStringData(): String? {
+        return fData
+    }
+
+    override fun setStringData(stringData: String) {
+        fData = stringData
+    }
+
+    override fun getEncoding(): String? {
+        return fEncoding
+    }
+
+    override fun setEncoding(encoding: String) {
+        fEncoding = encoding
+    }
+
+    override fun getPublicId(): String? {
+        return fPublicId
+    }
+
+    override fun setPublicId(publicId: String) {
+        fPublicId = publicId
+    }
+
+    override fun getSystemId(): String? {
+        return fSystemId
+    }
+
+    override fun setSystemId(systemId: String) {
+        fSystemId = systemId
+    }
+
+    override fun getBaseURI(): String? {
+        return fBaseSystemId
+    }
+
+    override fun setBaseURI(baseURI: String) {
+        fBaseSystemId = baseURI
+    }
+
+    override fun getCertifiedText(): Boolean {
+        return fCertifiedText
+    }
+
+    override fun setCertifiedText(certifiedText: Boolean) {
+        fCertifiedText = certifiedText
+    }
+}
+
+
 /**
  * Helpers for dealing with XML in EBICS.
  */
@@ -106,15 +181,6 @@ class XMLUtil private constructor() {
         }
     }
 
-    /**
-     * Validator for EBICS messages.
-     */
-    private val validator = try {
-    } catch (e: SAXException) {
-        e.printStackTrace()
-        throw e
-    }
-
     companion object {
         private var cachedEbicsValidator: Validator? = null
         private fun getEbicsValidator(): Validator {
@@ -151,7 +217,13 @@ class XMLUtil private constructor() {
                         return null
                     }
                     val res = classLoader.getResourceAsStream("xsd/$systemId") 
?: return null
-                    return DOMInputImpl(publicId, systemId, baseUri, res, 
"UTF-8")
+                    return DOMInputImpl().apply {
+                        fPublicId = publicId
+                        fSystemId = systemId
+                        fBaseSystemId = baseUri
+                        fByteStream = res
+                        fEncoding = "UTF-8"
+                    }
                 }
             }
             val schemaInputs: Array<Source> = listOf(
@@ -181,6 +253,7 @@ class XMLUtil private constructor() {
             try {
                 getEbicsValidator().validate(xmlDoc)
             } catch (e: Exception) {
+                e.printStackTrace()
                 logger.warn("Validation failed: ${e}")
                 return false
             }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]