From: Benny Baumann Date: Sat, 27 Jan 2018 21:07:21 +0000 (+0100) Subject: Merge changes I47ec8fcb,I2cd200f3 X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=5b63545e9b35c41f8130ecce5d3e787fad74478a;hp=2b66bc3658cbd261906bbef66ae4c5d3800770c5 Merge changes I47ec8fcb,I2cd200f3 * changes: chg: refactor script to fetch external libraries add: dnsjava 2.1.8 dependency and sanity test --- 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..c733449b --- /dev/null +++ b/lib/external/fetch.sh @@ -0,0 +1,9 @@ +#!/bin/bash +externals=( + 'http://www.dnsjava.org/download/dnsjava-2.1.8.zip' + 'http://www.dnsjava.org/download/dnsjava-2.1.8.jar' +) +wget -N "${externals[@]}" +if ! sha256sum -c checksums.txt; then + rm -vf $(basename -a "${externals[@]}") +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); + } + +}