From caf2fec627663d72f5211c4a1a03d7071ce0b4ba Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Wed, 17 Jan 2018 00:01:06 +0100 Subject: [PATCH] add: dnsjava 2.1.8 dependency and sanity test Change-Id: I2cd200f3c63f9482cfe23c33a873525f8d0e6261 --- .classpath | 1 + build.xml | 3 +++ debian/control | 4 ++-- debian/gigi-proxy.service | 2 +- doc/scripts/gigi | 3 ++- lib/external/.gitignore | 2 ++ lib/external/checksums.txt | 2 ++ lib/external/fetch.sh | 5 ++++ tests/club/wpia/gigi/TestJavaDNSSanity.java | 26 +++++++++++++++++++++ 9 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 lib/external/.gitignore create mode 100644 lib/external/checksums.txt create mode 100755 lib/external/fetch.sh create mode 100644 tests/club/wpia/gigi/TestJavaDNSSanity.java diff --git a/.classpath b/.classpath index e9c35f2f..9a0e4bc7 100644 --- a/.classpath +++ b/.classpath @@ -12,5 +12,6 @@ + diff --git a/build.xml b/build.xml index e9fe6e53..d5b95abc 100644 --- a/build.xml +++ b/build.xml @@ -11,6 +11,7 @@ + @@ -21,6 +22,7 @@ + @@ -29,6 +31,7 @@ + diff --git a/debian/control b/debian/control index 7a52f97e..750d5819 100644 --- a/debian/control +++ b/debian/control @@ -10,14 +10,14 @@ Homepage: https://wpia.club Package: wpia-gigi Architecture: all -Depends: java7-runtime-headless, wpia-gigi-setuid, libpostgresql-jdbc-java, ${shlibs:Depends}, ${misc:Depends} +Depends: java7-runtime-headless, wpia-gigi-setuid, libpostgresql-jdbc-java, libdnsjava-java, ${shlibs:Depends}, ${misc:Depends} Conflicts: wpia-gigi-testing Description: WPIA Web-DB software. This program is used to manage accounts and certificates. Package: wpia-gigi-testing Architecture: all -Depends: java7-runtime-headless, wpia-gigi-setuid, libpostgresql-jdbc-java, ${shlibs:Depends}, ${misc:Depends} +Depends: java7-runtime-headless, wpia-gigi-setuid, libpostgresql-jdbc-java, libdnsjava-java, ${shlibs:Depends}, ${misc:Depends} Conflicts: wpia-gigi Description: WPIA Web-DB software testing version. This program is the release to the testing server. diff --git a/debian/gigi-proxy.service b/debian/gigi-proxy.service index c7230fc0..8c6b388f 100644 --- a/debian/gigi-proxy.service +++ b/debian/gigi-proxy.service @@ -7,7 +7,7 @@ Conflicts=gigi-standalone.service PartOf=gigi-proxy.socket [Service] -ExecStart=/usr/bin/java -cp /usr/share/java/postgresql-jdbc4.jar:/usr/share/java/gigi.jar club.wpia.gigi.Launcher /etc/wpia/gigi/conf.tar +ExecStart=/usr/bin/java -cp /usr/share/java/postgresql-jdbc4.jar:/usr/share/java/dnsjava.jar:/usr/share/java/gigi.jar club.wpia.gigi.Launcher /etc/wpia/gigi/conf.tar StandardInput=socket StandardOutput=journal StandardError=journal diff --git a/doc/scripts/gigi b/doc/scripts/gigi index 733a940c..e0e6dc03 100755 --- a/doc/scripts/gigi +++ b/doc/scripts/gigi @@ -7,6 +7,7 @@ # assign default values : \ ${JDBC_DRIVER:=/usr/share/java/postgresql-jdbc4.jar} \ + ${DNSJAVA:=/usr/share/java/dnsjava.jar} \ ${GIGI_EXEC:=/usr/share/java/gigi.jar} \ ${GIGI_DATA_DIR:=/var/lib/wpia-gigi} @@ -26,7 +27,7 @@ runGigiClass() { java_opts="$1" shift fi - exec java $java_opts -cp "$JDBC_DRIVER:$GIGI_EXEC" club.wpia.gigi.$class "$@" + exec java $java_opts -cp "$JDBC_DRIVER:$DNSJAVA:$GIGI_EXEC" club.wpia.gigi.$class "$@" } command="$1" diff --git a/lib/external/.gitignore b/lib/external/.gitignore new file mode 100644 index 00000000..022166d0 --- /dev/null +++ b/lib/external/.gitignore @@ -0,0 +1,2 @@ +/dnsjava-2.1.8.jar +/dnsjava-2.1.8.zip diff --git a/lib/external/checksums.txt b/lib/external/checksums.txt new file mode 100644 index 00000000..9dc8acf2 --- /dev/null +++ b/lib/external/checksums.txt @@ -0,0 +1,2 @@ +228cb8d95d7b4235df074afae043d7481443b2984f6c9ceb2ac7543068f574e1 *dnsjava-2.1.8.jar +3af9229bbc534fd85a2257fcc443b8a0b14aba64d59f824daa9567d7ddc091da *dnsjava-2.1.8.zip diff --git a/lib/external/fetch.sh b/lib/external/fetch.sh new file mode 100755 index 00000000..1a094d9c --- /dev/null +++ b/lib/external/fetch.sh @@ -0,0 +1,5 @@ +#!/bin/bash +wget -N "http://www.dnsjava.org/download/dnsjava-2.1.8.zip" "http://www.dnsjava.org/download/dnsjava-2.1.8.jar" +if ! sha256sum -c checksums.txt; then + rm -vf dnsjava-2.1.8.zip dnsjava-2.1.8.jar +fi diff --git a/tests/club/wpia/gigi/TestJavaDNSSanity.java b/tests/club/wpia/gigi/TestJavaDNSSanity.java new file mode 100644 index 00000000..55ad144f --- /dev/null +++ b/tests/club/wpia/gigi/TestJavaDNSSanity.java @@ -0,0 +1,26 @@ +package club.wpia.gigi; + +import static org.junit.Assert.*; + +import org.junit.Test; +import org.xbill.DNS.Name; +import org.xbill.DNS.NameTooLongException; +import org.xbill.DNS.TextParseException; + +public class TestJavaDNSSanity { + + /** + * Simple testcase from the dnsjava examples. + */ + @Test + public void testJavaDNSSanity() throws TextParseException, NameTooLongException { + Name n = Name.fromString("www.dnsjava.org"); + Name o = Name.fromString("dnsjava.org"); + + assertTrue(n.subdomain(o)); + Name rel = n.relativize(o); + Name n2 = Name.concatenate(rel, o); + assertEquals(n2, n); + } + +} -- 2.39.2