diff --git a/LICENSE.txt b/LICENSE.txt
index 865aaead99..0e61bd60f0 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -86,8 +86,7 @@ Public domain except as listed below:
From Apache HttpClient 4.4.1 and HttpCore 4.4.1
See licenses/LICENSE-Apache2.0.txt
- json-smart-v1 1.3.1+
- Copyright 2011 JSON-SMART authors
+ json-simple 1.1.1
See licenses/LICENSE-Apache2.0.txt
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index 7fd3da3eab..3492b78291 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -81,6 +81,7 @@
+
diff --git a/build.properties b/build.properties
index 90888bb2af..3a1cc3289e 100644
--- a/build.properties
+++ b/build.properties
@@ -164,6 +164,8 @@ javac.version=1.7
#with-libgetopt-java=true
# Don't bundle flags, we will use famfamfam-flag-png package
#with-famfamfam-flag-png=true
+# Don't include json-simple library, we will use libjson-simple-java package
+#with-libjson-simple-java=true
# Don't compile org.apache.http classes, we will use libhttpclient-java and libhttpcore-java packages
# 2 MB of dependencies vs. 20 KB of copied source
# Requires 4.4 or higher.
diff --git a/build.xml b/build.xml
index 7a69deb86e..a0d1d6193a 100644
--- a/build.xml
+++ b/build.xml
@@ -825,7 +825,7 @@
additionalparam="-notimestamp"
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
-
+
@@ -888,6 +888,7 @@
+
@@ -2457,6 +2458,8 @@
+
+
@@ -2695,6 +2699,7 @@
+
diff --git a/core/java/build.xml b/core/java/build.xml
index 2cae75bd88..7df1285898 100644
--- a/core/java/build.xml
+++ b/core/java/build.xml
@@ -46,7 +46,14 @@
-
+
+
+
+
+
+
+
+
@@ -58,6 +65,9 @@
+
+
+
@@ -72,6 +82,7 @@
+
diff --git a/debian-alt/bionic/rules b/debian-alt/bionic/rules
index 317edd9be7..775815e668 100755
--- a/debian-alt/bionic/rules
+++ b/debian-alt/bionic/rules
@@ -154,6 +154,11 @@ endif
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
+ @# debian: jessie+; ubuntu: trusty+
+ @/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
+ @mkdir -p $(CURDIR)/core/java/build
+ ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
+
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/buster/control b/debian-alt/buster/control
index f835e41801..a599655e5d 100644
--- a/debian-alt/buster/control
+++ b/debian-alt/buster/control
@@ -17,6 +17,7 @@ Build-Depends: debhelper (>= 9.20160709)
,bash-completion
,gettext
,libgetopt-java
+ ,libjson-simple-java (< 3)
,libgmp-dev (>= 2:5.0.5)
,libservice-wrapper-java
,po-debconf
@@ -78,6 +79,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
+ libjson-simple-java (< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
libtomcat8-java,
diff --git a/debian-alt/buster/rules b/debian-alt/buster/rules
index a6361bc742..1bfb04ea18 100755
--- a/debian-alt/buster/rules
+++ b/debian-alt/buster/rules
@@ -154,6 +154,11 @@ endif
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
+ @# debian: jessie+; ubuntu: trusty+
+ @/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
+ @mkdir -p $(CURDIR)/core/java/build
+ ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
+
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/doc/dependencies.txt b/debian-alt/doc/dependencies.txt
index 0dedd97694..74c337634c 100644
--- a/debian-alt/doc/dependencies.txt
+++ b/debian-alt/doc/dependencies.txt
@@ -8,7 +8,7 @@ improve our official packages and support other packagers.
Our packages are available at https://deb.i2p2.de/ and
instructions are at https://geti2p.net/debian
-This document is current as of release 0.9.37, 2018-10-04.
+This document is current as of release 0.9.38, 2018-01-xx.
Build-only Dependencies
@@ -46,6 +46,11 @@ Current Runtime Dependencies
For /usr/share/java/gnu-getopt.jar.
In non-Debian builds we bundle the source code; it's removed in the Debian source package.
+* libjson-simple-java (jessie and later, trusty and later only)
+ For /usr/share/java/json-simple.jar.
+ In non-Debian builds we bundle the 1.1.1 source code; it's removed in the Debian source package.
+ Compatible with 1.x and 2.x only; not compatible with 3.x.
+
* libjetty9-java
For /usr/share/java/jetty9-*.jar.
In non-Debian builds we bundle the jars; it's removed in the Debian source package.
diff --git a/debian-alt/jessie/control b/debian-alt/jessie/control
index 3ba1670167..84df391d8f 100644
--- a/debian-alt/jessie/control
+++ b/debian-alt/jessie/control
@@ -16,6 +16,7 @@ Build-Depends: debhelper (>= 7.0.50~)
,dh-apparmor
,gettext
,libgetopt-java
+ ,libjson-simple-java (< 3)
,libgmp-dev (>= 2:5.0.2)
,libservice-wrapper-java
,hardening-wrapper
@@ -78,6 +79,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
libtomcat8-java,
geoip-database,
gettext-base,
+ libjson-simple-java (< 3),
libgetopt-java,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
diff --git a/debian-alt/jessie/i2p-router.links b/debian-alt/jessie/i2p-router.links
index 536c4082f0..131092a09b 100644
--- a/debian-alt/jessie/i2p-router.links
+++ b/debian-alt/jessie/i2p-router.links
@@ -76,6 +76,11 @@ usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
+# comment out if not building with libjson-simple-java
+# ubuntu: trusty+; debian: jessie+
+usr/share/java/json-simple.jar usr/share/i2p/lib/json-simple.jar
+
+
# comment out if not building with famfamfam-flag-png
# ubuntu: trusty+
# debian: everywhere
diff --git a/debian-alt/jessie/rules b/debian-alt/jessie/rules
index 9d7ccd1436..6139ba463d 100755
--- a/debian-alt/jessie/rules
+++ b/debian-alt/jessie/rules
@@ -143,6 +143,11 @@ endif
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
+ @# debian: jessie+; ubuntu: trusty+
+ @/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
+ @mkdir -p $(CURDIR)/core/java/build
+ ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
+
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/trusty/control b/debian-alt/trusty/control
index f42e78e537..8b37bbb0af 100644
--- a/debian-alt/trusty/control
+++ b/debian-alt/trusty/control
@@ -18,6 +18,7 @@ Build-Depends: debhelper (>= 7.0.50~)
,bash-completion
,gettext
,libgetopt-java
+ ,libjson-simple-java (< 3)
,libgmp-dev (>= 2:5.0.2)
,libservice-wrapper-java
,hardening-wrapper
@@ -80,6 +81,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
+ libjson-simple-java (< 3),
glassfish-javaee,
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
diff --git a/debian-alt/trusty/i2p-router.links b/debian-alt/trusty/i2p-router.links
index 948253326b..f95e14f80c 100644
--- a/debian-alt/trusty/i2p-router.links
+++ b/debian-alt/trusty/i2p-router.links
@@ -76,6 +76,11 @@ usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
+# comment out if not building with libjson-simple-java
+# ubuntu: trusty+; debian: jessie+
+usr/share/java/json-simple.jar usr/share/i2p/lib/json-simple.jar
+
+
# comment out if not building with famfamfam-flag-png
# ubuntu: trusty+
# debian: everywhere
diff --git a/debian-alt/trusty/rules b/debian-alt/trusty/rules
index 42ca5f4c90..cf5ac386cb 100755
--- a/debian-alt/trusty/rules
+++ b/debian-alt/trusty/rules
@@ -143,6 +143,11 @@ endif
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
+ @# debian: jessie+; ubuntu: trusty+
+ @/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
+ @mkdir -p $(CURDIR)/core/java/build
+ ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
+
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/xenial/control b/debian-alt/xenial/control
index cbe056908a..3ba8332062 100644
--- a/debian-alt/xenial/control
+++ b/debian-alt/xenial/control
@@ -17,6 +17,7 @@ Build-Depends: debhelper (>= 7.0.50~)
,bash-completion
,gettext
,libgetopt-java
+ ,libjson-simple-java (< 3);
,libgmp-dev (>= 2:5.0.2)
,libservice-wrapper-java
,hardening-wrapper
@@ -82,6 +83,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
+ libjson-simple-java (< 3),
famfamfam-flag-png
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
diff --git a/debian-alt/xenial/i2p-router.links b/debian-alt/xenial/i2p-router.links
index 3156d197c3..e5ea1a5ad9 100644
--- a/debian-alt/xenial/i2p-router.links
+++ b/debian-alt/xenial/i2p-router.links
@@ -76,6 +76,11 @@ usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
+# comment out if not building with libjson-simple-java
+# ubuntu: trusty+; debian: jessie+
+usr/share/java/json-simple.jar usr/share/i2p/lib/json-simple.jar
+
+
# comment out if not building with famfamfam-flag-png
# ubuntu: trusty+
# debian: everywhere
diff --git a/debian-alt/xenial/rules b/debian-alt/xenial/rules
index c97f8fda7d..eaf494de9b 100755
--- a/debian-alt/xenial/rules
+++ b/debian-alt/xenial/rules
@@ -142,6 +142,11 @@ endif
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
+ @# debian: jessie+; ubuntu: trusty+
+ @/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
+ @mkdir -p $(CURDIR)/core/java/build
+ ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
+
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties
diff --git a/debian/control b/debian/control
index f4fe87da9a..bfea9e8e8e 100644
--- a/debian/control
+++ b/debian/control
@@ -16,6 +16,7 @@ Build-Depends: debhelper (>= 9.20160709)
,bash-completion
,gettext
,libgetopt-java
+ ,libjson-simple-java (< 3)
,libgmp-dev (>= 2:5.0.5)
,libservice-wrapper-java
,po-debconf
@@ -77,6 +78,7 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
geoip-database,
gettext-base,
libgetopt-java,
+ libjson-simple-java (< 3),
libjetty9-java,
libtaglibs-standard-jstlel-java,
libtomcat8-java,
diff --git a/debian/i2p-router.links b/debian/i2p-router.links
index 726f436ed9..b2a5dbec98 100644
--- a/debian/i2p-router.links
+++ b/debian/i2p-router.links
@@ -82,6 +82,11 @@ usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
+# comment out if not building with libjson-simple-java
+# ubuntu: trusty+; debian: jessie+
+usr/share/java/json-simple.jar usr/share/i2p/lib/json-simple.jar
+
+
# comment out if not building with famfamfam-flag-png
# ubuntu: trusty+
# debian: everywhere
diff --git a/debian/rules b/debian/rules
index 9c5e826321..a1fc85e670 100755
--- a/debian/rules
+++ b/debian/rules
@@ -152,6 +152,11 @@ endif
@mkdir -p $(CURDIR)/core/java/build
ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar
+ @# debian: jessie+; ubuntu: trusty+
+ @/bin/echo -e "with-libjson-simple-java=true" >> $(CURDIR)/override.properties
+ @mkdir -p $(CURDIR)/core/java/build
+ ln -sf /usr/share/java/json-simple.jar $(CURDIR)/core/java/build/json-simple.jar
+
@# debian: everywhere; ubuntu: trusty+
@/bin/echo -e "with-famfamfam-flag-png=true" >> $(CURDIR)/override.properties