summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorskydrome2020-02-15 15:36:58 -0500
committerskydrome2020-02-15 15:36:58 -0500
commit3f8830955d441193ef6ce4c17efce5548efa074a (patch)
treebec0475717fcbbc7720ea5a26a0c1d186296bc23
parentcd10327eca1c6e87c22ff3bd9d302fc387fd1ec1 (diff)
downloadaur-3f8830955d441193ef6ce4c17efce5548efa074a.tar.gz
1485
-rw-r--r--.SRCINFO34
-rw-r--r--.gitignore1
-rw-r--r--0001-strip-non-compile-deps.patch63
-rw-r--r--PKGBUILD132
-rw-r--r--freenet.ini45
-rw-r--r--freenet.install3
-rw-r--r--freenet.service6
-rw-r--r--freenet.tmpfiles8
-rw-r--r--run.sh44
-rw-r--r--wrapper.config11
10 files changed, 146 insertions, 201 deletions
diff --git a/.SRCINFO b/.SRCINFO
index cdf7f5fa69e6..6a6fb4be6965 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = freenet
- pkgdesc = An encrypted network without censorship
- pkgver = 0.7.5.1484
- pkgrel = 1
+ pkgdesc = A peer-to-peer platform for censorship-resistant communication and publishing
+ pkgver = 0.7.5.1485
+ pkgrel = 2
url = https://freenetproject.org
install = freenet.install
arch = i686
@@ -13,33 +13,35 @@ pkgbase = freenet
makedepends = zip
depends = java-runtime>=8
depends = gmp
+ depends = nss
depends = java-service-wrapper
backup = opt/freenet/wrapper.config
backup = opt/freenet/conf/freenet.ini
- source = git+https://github.com/freenet/fred.git#tag=build01484
- source = git+https://github.com/freenet/plugin-UPnP.git#tag=10007
+ source = git+https://github.com/freenet/fred.git?signed#tag=build01485
source = git+https://github.com/freenet/plugin-KeyUtils.git#tag=v5026
- source = git+https://github.com/freenet/plugin-WebOfTrust.git#branch=next
+ source = git+https://github.com/freenet/plugin-UPnP.git#tag=10007
+ source = git+https://github.com/redwerk/plugin-Library.git#tag=v37-dw-rw3
+ source = git+https://github.com/xor-freenet/plugin-WebOfTrust.git#branch=next-30
+ source = git+https://github.com/freenet/seedrefs.git
source = IpToCountry.dat::http://software77.net/geo-ip/?DL=4
- source = https://github.com/freenet/seedrefs/files/1609768/seednodes.zip
- source = 0001-strip-non-compile-deps.patch
source = run.sh
- source = freenet.ini
source = wrapper.config
+ source = freenet.ini
source = freenet.service
source = freenet.tmpfiles
+ validpgpkeys = B30C3D91069F81ECFEFED0B1B41A6047FD6C57F9
+ sha256sums = SKIP
+ sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = 0d91d2462f36d35235cc86cbdee11890cadec91a0a01b89d96010924f6c2be99
- sha256sums = 4b2017c3da5f2dad1bc7aec2a1afb33a8d0a8cbf754f8f8d95cb0bb34f71d2ae
- sha256sums = 171dc64316dcdafc98ddc0136ed4b14ab2d6688817e9e9c08be97560a38f2879
- sha256sums = c0ce093a098d91dee6be294f8a2fc929aabad95612f994933194d0da5c4cdd25
- sha256sums = 30788b1b7856fbcfcfbe6825cd772a22b75cf1d680c2cbfd9b15ef3fc2d0c077
- sha256sums = f03cb422c1b1c068b61092d118838a6f77462e80d78a32cf231146ffcc6b9a7a
- sha256sums = f4fa90c9840cfdb62ec384b366ae3472246300ddacca74310e1e06a5c1fb582c
+ sha256sums = c56b3427ce3df2a9126acf737107738dffeab54d618887743c45a317d39a1b10
+ sha256sums = 9c8a99f7644859f37242465c2646f819c9458c4c0fe8d930db32837ddb2c6daf
+ sha256sums = 1171d0545882e45e03531e760fd28024700bf50400a3e3a13f31deeace8dbb03
+ sha256sums = 10f97306ef75953f20978d3d2aa5d14daa8fa13e4db88e8270ea951239212c20
+ sha256sums = 8f35e9d7d00e4caa26d0c1cbcbcedc9081ed0535d0c67e3f9d2d75c11ff9e847
pkgname = freenet
diff --git a/.gitignore b/.gitignore
index 0d0b420f293a..11e7fa9bc84b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
contrib/
fred/
plugin-*/
+seedrefs/
src/
pkg/
.gradle/
diff --git a/0001-strip-non-compile-deps.patch b/0001-strip-non-compile-deps.patch
deleted file mode 100644
index d4daf4af0dcc..000000000000
--- a/0001-strip-non-compile-deps.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From df33ee36995ba97ff901b4647641a664fea573a6 Mon Sep 17 00:00:00 2001
-From: skydrome <skydrome@protonmail.org>
-Date: Sat, 9 Nov 2019 22:47:52 -0500
-Subject: [PATCH] strip non-compile deps
-
----
- build.gradle | 10 ----------
- dependencies.gradle | 5 -----
- 2 files changed, 15 deletions(-)
-
-diff --git a/build.gradle b/build.gradle
-index 6defc81c7..7af31bc37 100644
---- a/build.gradle
-+++ b/build.gradle
-@@ -13,8 +13,6 @@ buildscript {
- plugins {
- id "java"
- id "maven-publish"
-- id "com.github.spotbugs" version "2.0.1"
-- id "org.sonarqube" version "2.8"
- id "com.adarshr.test-logger" version "2.0.0"
- id "org.ajoberstar.grgit" version "4.0.0-rc.1"
- }
-@@ -36,7 +34,6 @@ sourceSets {
- }
-
- // Configuration
--apply from: "$rootDir/gradle/analysis.gradle"
-
- // output: build01484-13-g5831bbf
- String gitrev = grgit.open(dir: project.rootDir).describe()
-@@ -69,13 +66,6 @@ tasks.withType(AbstractArchiveTask) {
- preserveFileTimestamps false
- reproducibleFileOrder true
- }
--tasks.withType(com.github.spotbugs.SpotBugsTask) {
-- reports {
-- html.enabled = true
-- xml.enabled = true
-- }
-- pluginClasspath = project.configurations.spotbugsPlugins
--}
-
- // Tasks
-
-diff --git a/dependencies.gradle b/dependencies.gradle
-index e7e02aec6..20a3e5483 100644
---- a/dependencies.gradle
-+++ b/dependencies.gradle
-@@ -33,10 +33,5 @@ ext {
- [config: "implementation", dep: libs.jna],
- [config: "implementation", dep: libs.jnaplatform],
- [config: "implementation", dep: libs.freenet],
-- [config: "testImplementation", dep: libs.junit],
-- [config: "testImplementation", dep: libs.mockito],
-- [config: "testImplementation", dep: libs.hamcrest],
-- [config: "testRuntimeOnly", dep: libs.junitvintage],
-- [config: "spotbugsPlugins", dep: libs.findsecbugs],
- ]
- }
---
-2.21.0
-
diff --git a/PKGBUILD b/PKGBUILD
index 7ace6bdb1edc..f040a2495d98 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,85 +1,86 @@
# Maintainer: skydrome <skydrome at@at proton mail dot com>
# Contributors: Thynix
-_fred=#tag=build01484
-_wot=#branch=next
-_keyutils=#tag=v5026
-_upnp=#tag=10007
-
-_pkgver=0.7.5
-_plugins=('WebOfTrust' 'UPnP' 'KeyUtils')
+_fred=build01485
+_wot=next-30
+_keyutils=v5026
+_upnp=10007
+_library=v37-dw-rw3
+_plugins=('WebOfTrust' 'UPnP' 'KeyUtils' 'Library')
pkgname=freenet
-pkgver=0.7.5.1484
-pkgrel=1
-pkgdesc="An encrypted network without censorship"
+pkgver=0.7.5.1485
+pkgrel=2
+pkgdesc="A peer-to-peer platform for censorship-resistant communication and publishing"
url="https://freenetproject.org"
license=('GPL2')
arch=('i686' 'x86_64')
install='freenet.install'
-depends=('java-runtime>=8' 'gmp' 'java-service-wrapper')
+depends=('java-runtime>=8' 'gmp' 'nss' 'java-service-wrapper')
makedepends=('java-environment>=8' 'ant' 'git' 'zip')
backup=('opt/freenet/wrapper.config'
'opt/freenet/conf/freenet.ini')
-source=("git+https://github.com/freenet/fred.git${_fred}"
- "git+https://github.com/freenet/plugin-UPnP.git${_upnp}"
- "git+https://github.com/freenet/plugin-KeyUtils.git${_keyutils}"
- "git+https://github.com/freenet/plugin-WebOfTrust.git${_wot}"
+# https://freenetproject.org/assets/keyring.gpg
+validpgpkeys=('B30C3D91069F81ECFEFED0B1B41A6047FD6C57F9')
+
+source=("git+https://github.com/freenet/fred.git?signed#tag=$_fred"
+ "git+https://github.com/freenet/plugin-KeyUtils.git#tag=$_keyutils"
+ "git+https://github.com/freenet/plugin-UPnP.git#tag=$_upnp"
+ "git+https://github.com/redwerk/plugin-Library.git#tag=$_library"
+ "git+https://github.com/xor-freenet/plugin-WebOfTrust.git#branch=$_wot"
+ "git+https://github.com/freenet/seedrefs.git"
"IpToCountry.dat::http://software77.net/geo-ip/?DL=4"
- "https://github.com/freenet/seedrefs/files/1609768/seednodes.zip"
- '0001-strip-non-compile-deps.patch'
- 'run.sh' 'freenet.ini' 'wrapper.config' 'freenet.service' 'freenet.tmpfiles')
+ 'run.sh' 'wrapper.config' freenet.{ini,service,tmpfiles})
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
- '0d91d2462f36d35235cc86cbdee11890cadec91a0a01b89d96010924f6c2be99'
- '4b2017c3da5f2dad1bc7aec2a1afb33a8d0a8cbf754f8f8d95cb0bb34f71d2ae'
- '171dc64316dcdafc98ddc0136ed4b14ab2d6688817e9e9c08be97560a38f2879'
- 'c0ce093a098d91dee6be294f8a2fc929aabad95612f994933194d0da5c4cdd25'
- '30788b1b7856fbcfcfbe6825cd772a22b75cf1d680c2cbfd9b15ef3fc2d0c077'
- 'f03cb422c1b1c068b61092d118838a6f77462e80d78a32cf231146ffcc6b9a7a'
- 'f4fa90c9840cfdb62ec384b366ae3472246300ddacca74310e1e06a5c1fb582c')
+ 'SKIP'
+ 'SKIP'
+ 'c56b3427ce3df2a9126acf737107738dffeab54d618887743c45a317d39a1b10'
+ '9c8a99f7644859f37242465c2646f819c9458c4c0fe8d930db32837ddb2c6daf'
+ '1171d0545882e45e03531e760fd28024700bf50400a3e3a13f31deeace8dbb03'
+ '10f97306ef75953f20978d3d2aa5d14daa8fa13e4db88e8270ea951239212c20'
+ '8f35e9d7d00e4caa26d0c1cbcbcedc9081ed0535d0c67e3f9d2d75c11ff9e847')
pkgver() {
- cd "fred"
- printf "%s.%s" "${_pkgver}" \
+ cd fred
+ printf "0.7.5.%s" \
"$(git describe --abbrev=0 |sed 's/build0//;s/-/./g')"
}
prepare() {
- cd "fred"
+ cd fred
+
+ # Java 13 support
+ git pull -r -v https://github.com/skydrome/fred.git gradle-6.1-aur -q
- # Gradle 6 and Java 13 support
- git pull origin pull/683/head
- git apply -v "$srcdir/0001-strip-non-compile-deps.patch"
+ rm -f seednodes.fref
+ for node in "$srcdir"/seedrefs/0* ;do
+ printf "$(<$node)\n\n" >>seednodes.fref
+ done
}
build() {
- cd "fred"
+ cd fred
+ export ANT_HOME=/usr/share/ant
export GRADLE_USER_HOME="$startdir/.gradle"
export GRADLE_OPTS="-Dorg.gradle.internal.launcher.welcomeMessageEnabled=false"
msg "Building Freenet..."
./gradlew \
- -DtargetJavaVersion=$(javac -version 2>&1 |awk '{print $2}') \
+ -DtargetJavaVersion="$(javac -version 2>&1 |awk '{print $2}')" \
--no-build-cache --no-daemon \
copyRuntimeLibs
- build_plugins
-}
-
-build_plugins() {
- export ANT_HOME=/usr/share/ant
-
- for plugin in ${_plugins[@]}; do
- msg "Building Plugin ${plugin}..."
- cd "$srcdir/plugin-${plugin}"
+ for plugin in "${_plugins[@]}"; do
+ msg "Building Plugin $plugin..."
+ cd "$srcdir/plugin-$plugin"
ant dist \
-Dfile.encoding=UTF-8 \
-Dtarget-version=8 -Dsource-version=8 \
@@ -90,37 +91,36 @@ build_plugins() {
}
package() {
- cd "fred"
+ cd fred
- # freenet
+ # create file structure
install -dm755 "$pkgdir"/usr/bin
- install -dm700 "$pkgdir"/run/freenet
- install -dm700 "$pkgdir"/opt/freenet
- install -dm700 "$pkgdir"/opt/freenet/{tmp,downloads,lib,conf,noderef,persistent-temp,plugins,user}
- install -dm700 "$pkgdir"/opt/freenet/{plugins/data,user/{data,certs}}
-
- install -m640 "$srcdir"/{wrapper.config,run.sh,IpToCountry.dat} "$pkgdir"/opt/freenet
- install -m640 "$srcdir"/freenet.ini "$pkgdir"/opt/freenet/conf
- install -m640 "$srcdir"/seednodes/seednodes.fref "$pkgdir"/opt/freenet/noderef
- install -m640 "$srcdir"/fred/build/output/*.jar "$pkgdir"/opt/freenet/lib
-
- # delete bundled wrapper
- zip -qd "$pkgdir"/opt/freenet/lib/freenet-ext-29.jar "org/tanukisoftware/*"
-
- # plugins
- for plugin in ${_plugins[@]}; do
- install -m640 "$srcdir"/plugin-${plugin}/dist/${plugin}.jar "$pkgdir"/opt/freenet/plugins
+ install -dm750 "$pkgdir"/run/freenet
+ install -dm750 "$pkgdir"/opt/freenet
+ install -dm700 "$pkgdir"/opt/freenet/tmp
+ install -dm750 "$pkgdir"/opt/freenet/{downloads,lib,conf,noderef,persistent-temp,plugins,user}
+ install -dm750 "$pkgdir"/opt/freenet/{plugins/data,user/{data,certs}}
+
+ # install freenet
+ install -m755 "$srcdir"/run.sh "$pkgdir"/usr/bin/freenet
+ install -m640 "$srcdir"/{wrapper.config,IpToCountry.dat} "$pkgdir"/opt/freenet
+ install -m640 "$srcdir"/freenet.ini "$pkgdir"/opt/freenet/conf
+ install -m640 "$srcdir"/fred/seednodes.fref "$pkgdir"/opt/freenet/noderef
+ install -m640 "$srcdir"/fred/build/output/*.jar "$pkgdir"/opt/freenet/lib
+
+ # install plugins
+ for plugin in "${_plugins[@]}"; do
+ install -m640 "$srcdir"/plugin-$plugin/dist/$plugin.jar "$pkgdir"/opt/freenet/plugins
done
- echo "pluginmanager.loadplugin=$(echo ${_plugins[@]}|sed 's| |;|g')" \
+ echo "pluginmanager.loadplugin=$(IFS=\;;echo "${_plugins[*]}")" \
>>"$pkgdir"/opt/freenet/conf/freenet.ini
- # launcher
- chmod +x "$pkgdir"/opt/freenet/run.sh
- ln -s /opt/freenet/run.sh "$pkgdir"/usr/bin/freenet
+ # delete bundled wrapper
+ zip -qd "$pkgdir"/opt/freenet/lib/freenet-ext-29.jar "org/tanukisoftware/*"
# systemd
- install -Dm644 "$srcdir"/freenet.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/freenet.conf
- install -Dm644 "$srcdir"/freenet.service "$pkgdir"/usr/lib/systemd/system/freenet.service
+ install -Dm644 "$srcdir"/freenet.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/freenet.conf
+ install -Dm644 "$srcdir"/freenet.service "$pkgdir"/usr/lib/systemd/system/freenet.service
# license
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/freenet/LICENSE
diff --git a/freenet.ini b/freenet.ini
index 00a380d0e80f..365e5dd04e83 100644
--- a/freenet.ini
+++ b/freenet.ini
@@ -1,31 +1,32 @@
-node.install.runDir=/opt/freenet
+fcp.enabled=true
+fcp.port=9481
+fproxy.advancedModeEnabled=true
+fproxy.css=clean
+fproxy.enabled=true
+fproxy.port=8888
+logger.dirname=/opt/freenet/logs
+logger.interval=24HOUR
+logger.priority=ERROR
+node.clientThrottleFile=/opt/freenet/user/data/client-throttle.dat
+node.downloadAllowedDirs=all
+node.downloadsDir=/opt/freenet/downloads
node.install.cfgDir=/opt/freenet/conf
node.install.nodeDir=/opt/freenet/noderef
node.install.persistentTempDir=/opt/freenet/persistent-temp
node.install.pluginDir=/opt/freenet/plugins
node.install.pluginStoresDir=/opt/freenet/plugins/data
-node.install.userDir=/opt/freenet/user
-node.masterKeyFile=/opt/freenet/user/master.keys
+node.install.runDir=/opt/freenet
node.install.storeDir=/opt/freenet/user/data
-node.clientThrottleFile=/opt/freenet/user/data/client-throttle.dat
-node.load.nodeThrottleFile=/opt/freenet/user/data/node-throttle.dat
-ssl.sslKeyStore=/opt/freenet/user/certs
-node.downloadsDir=/opt/freenet/downloads
node.install.tempDir=/opt/freenet/tmp
-node.uploadAllowedDirs=all
-node.downloadAllowedDirs=all
-node.updater.enabled=false
-node.updater.updateSeednodes=true
+node.install.userDir=/opt/freenet/user
+node.load.nodeThrottleFile=/opt/freenet/user/data/node-throttle.dat
+node.masterKeyFile=/opt/freenet/user/master.keys
+node.skipWrapperWarning=true
node.updater.autoupdate=false
+node.updater.enabled=false
node.updater.updateInstallers=false
-node.skipWrapperWarning=true
-node.l10n=English
-logger.dirname=/opt/freenet/logs
-logger.priority=ERROR
-fproxy.enabled=true
-fproxy.advancedModeEnabled=true
-fproxy.port=8888
-fcp.enabled=true
-fcp.port=9481
-security-levels.physicalThreatLevel=LOW
-security-levels.networkThreatLevel=NORMAL
+node.updater.updateSeednodes=true
+node.uploadAllowedDirs=all
+security-levels.networkThreatLevel=HIGH
+security-levels.physicalThreatLevel=NORMAL
+ssl.sslKeyStore=/opt/freenet/user/certs
diff --git a/freenet.install b/freenet.install
index 3b625586e432..85369d20b86b 100644
--- a/freenet.install
+++ b/freenet.install
@@ -12,7 +12,6 @@ post_install() {
echo "==> You may see 'Data Not Found' or 'Route Not Found' errors, this is normal."
echo "==> For best performance Freenet should be run 24/7 as much as possible."
echo "==> Your node's configuration WebUI is located at http://127.0.0.1:8888/ "
- echo "==> https://freenetproject.org/faq.html"
}
post_upgrade() {
@@ -23,7 +22,6 @@ post_upgrade() {
-e "s:JSTUN;::"
mv /opt/freenet/conf/node /opt/freenet/noderef
} || true
-
chown -R freenet:freenet /opt/freenet
}
@@ -33,4 +31,5 @@ pre_remove() {
userdel freenet &&
echo "ok" || echo "fail"
}
+ echo "==> Delete /opt/freenet if you wish to completely remove everything"
}
diff --git a/freenet.service b/freenet.service
index e13c32488fc6..3831989ced2d 100644
--- a/freenet.service
+++ b/freenet.service
@@ -6,13 +6,17 @@ After=network.target time-sync.target
Type=forking
User=freenet
PIDFile=/run/freenet/freenet.pid
+LimitNOFILE=4096
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
+ProtectHome=tmpfs
+ProtectSystem=strict
DeviceAllow=/dev/null rw
DeviceAllow=/dev/urandom r
-LimitNOFILE=4096
+ReadOnlyDirectories=/
+ReadWriteDirectories=-/run/freenet -/opt/freenet
ExecStart=/usr/bin/java-service-wrapper /opt/freenet/wrapper.config \
wrapper.name=freenet \
diff --git a/freenet.tmpfiles b/freenet.tmpfiles
index eee8a63584f4..f0a84ae40988 100644
--- a/freenet.tmpfiles
+++ b/freenet.tmpfiles
@@ -1,2 +1,6 @@
-d /run/freenet 0700 freenet freenet
-d /opt/freenet 0700 freenet freenet
+d /run/freenet 0750 freenet freenet
+d /opt/freenet 0750 freenet freenet
+d /opt/freenet/tmp 0700 freenet freenet
+d /opt/freenet/plugins 0750 freenet freenet
+d /opt/freenet/user 0750 freenet freenet
+d /opt/freenet/user/data 0750 freenet freenet
diff --git a/run.sh b/run.sh
index 79794a7c845e..d57cb77b0407 100644
--- a/run.sh
+++ b/run.sh
@@ -5,7 +5,7 @@ _USER="freenet"
WRAPPER_CMD="/usr/bin/java-service-wrapper"
WRAPPER_CONF="/opt/freenet/wrapper.config"
PIDFILE="/run/freenet/freenet.pid"
-TIMEOUT=60
+TIMEOUT=120
#-----------------------------------------------------------------------------
fail() {
@@ -15,21 +15,19 @@ fail() {
check_user() {
if [[ "$(id -un)" != "$_USER" ]]; then
- SCRIPT_PATH="$(cd $(dirname $0) && pwd)/$(basename $0)"
+ SCRIPT_PATH="$(cd "$(dirname $0)" && pwd)/$(basename $0)"
su - "$_USER" -c "${SCRIPT_PATH} $@"
exit $?
fi
}
init_vars() {
+ [[ "$EUID" -eq 0 ]] &&
+ fail "Attempting to start as root! You should never see this message, please report it"
[[ ! -r "$WRAPPER_CONF" ]] &&
fail "Unable to read \$WRAPPER_CONF: ${WRAPPER_CONF}"
[[ ! -x "$WRAPPER_CMD" ]] &&
fail "Unable to find or execute \$WRAPPER_CMD: ${WRAPPER_CMD}"
- [[ ! $(grep -E ^_USER $0) && "$EUID" = "0" ]] &&
- fail "Attempting to start as root! Please edit $(basename $0) and set the variable \$_USER"
- [[ "$(id -un "$_USER")" != "$_USER" ]] &&
- fail "\$_USER does not exist: $_USER"
COMMAND_LINE="\"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"freenet\" wrapper.name=\"freenet\" TZ=UTC"
}
@@ -52,7 +50,7 @@ check_if_running() {
rm -f "$PIDFILE"
fi
else
- [[ "$pid" != "$(get_pid)" ]] &&
+ [[ "$pid" -ne "$(get_pid)" ]] &&
fail "\$PIDFILE $PIDFILE differs from what is actually running!"
fi
else
@@ -64,8 +62,7 @@ check_if_running() {
_console() {
if [[ ! "$pid" ]]; then
trap '' INT QUIT
- eval $COMMAND_LINE
- [[ $? != 0 ]] && fail "Failed to launch the wrapper!"
+ eval "$COMMAND_LINE" || fail "Failed to launch the wrapper!"
else
echo "Freenet is already running! (pid: $pid)"
fi
@@ -75,10 +72,9 @@ _start() {
if [[ ! "$pid" ]]; then
echo -n "Starting Freenet"
COMMAND_LINE+=" wrapper.daemonize=TRUE"
- eval $COMMAND_LINE
- [[ $? != 0 ]] && fail "Failed to launch the wrapper!"
+ eval "$COMMAND_LINE" || fail "Failed to launch the wrapper!"
i=0
- while [[ ! "$pid" || $i < $TIMEOUT ]]; do
+ while [[ ! "$pid" || $i -lt $TIMEOUT ]]; do
echo -n "."
sleep 1
check_if_running
@@ -93,25 +89,22 @@ _start() {
_restart() {
[[ "$pid" ]] &&
- kill -USR1 $(get_wrapper_pid) || echo "Freenet is not running"
+ kill -USR1 "$(get_wrapper_pid)" || echo "Freenet is not running"
}
_stop() {
if [[ "$pid" ]]; then
echo "Stopping Freenet, this will take a few minutes"
- kill -TERM $(get_wrapper_pid)
- [[ $? != 0 ]] && fail "Unable to stop Freenet: kill -TERM $pid"
+ kill -TERM "$(get_wrapper_pid)" || fail "Unable to stop Freenet: kill -TERM $pid"
i=0
- while [[ "$pid" || $i > $TIMEOUT ]]; do
+ while [[ "$pid" || $i -gt $TIMEOUT ]]; do
echo -n "."
sleep 1
[[ ! $(get_pid) ]] && unset pid
((i++))
done
- if [[ "$pid" ]]; then
- fail "timeout: Failed to stop wrapper!"
- fi
- echo " done"
+ [[ "$pid" ]] &&
+ fail "timeout: Failed to stop wrapper! (pid: $pid)" || echo " done"
else
echo "Freenet is not running."
fi
@@ -119,10 +112,8 @@ _stop() {
_dump() {
if [[ "$pid" ]]; then
- echo "Dumping threads..."
- kill -QUIT $pid
- [[ $? != 0 ]] &&
- fail "Failed to dump Freenet Service" || echo "Dumped Freenet Service."
+ kill -QUIT "$pid" || fail "Failed to dump Freenet Service"
+ echo "Thread Dump is available in wrapper.log"
else
echo "Freenet is not running."
fi
@@ -130,14 +121,13 @@ _dump() {
#-----------------------------------------------------------------------------
[[ "$1" != @(console|start|stop|restart|dump) ]] && {
- echo "Usage: $(basename $0) [command]"
- echo
+ echo "Usage: $(basename $0) <command>"
echo "Commands:"
echo " console Launch in the current console"
echo " start Start in the background as a daemon process"
echo " stop Stop if running as a daemon or in another console"
echo " restart Restart the JVM"
- echo " dump Request a Java thread dump if running"
+ echo " dump Request a Java thread dump"
exit
}
diff --git a/wrapper.config b/wrapper.config
index 8e4690f939fb..1f291ef1ce65 100644
--- a/wrapper.config
+++ b/wrapper.config
@@ -29,6 +29,10 @@ wrapper.java.additional.3=-Djava.net.preferIPv4Stack=true
#wrapper.java.additional.4=-enableassertions:freenet
# You might want to set the following line if you have changed java.maxmemory
# wrapper.java.additional.5=-XX:MaxPermSize=
+# Use nss for crypto operations
+wrapper.java.additional.6=-Dfreenet.jce.use.NSS=true
+# Location used to hold temporary files.
+wrapper.java.additional.7=-Djava.io.tmpdir=/opt/freenet/tmp
# Initial Java Heap Size (in MB)
# If a non-zero value is specified for this property then an appropriate -Xms
@@ -101,8 +105,8 @@ wrapper.on_exit.4=RESTART
# hard restart
wrapper.on_exit.5=RESTART
-# the router may take a few seconds to save state, etc
-wrapper.jvm_exit.timeout=60
+# the router may take a few minutes to save state, etc
+wrapper.jvm_exit.timeout=120
# give the OS 60s to clear all the old sockets / etc before restarting
# Let's change the default from 60 to 10 seconds and see if anyone moans..
@@ -142,6 +146,9 @@ wrapper.filter.trigger.1=java.lang.OutOfMemoryError
wrapper.filter.action.1=RESTART
wrapper.filter.message.1=The JVM has run out of memory.
+# Request a Thread Dump in the event that the JVM does not exit when requested.
+#wrapper.request_thread_dump_on_failed_jvm_exit=TRUE
+
#********************************************************************
# Advanced Options
#********************************************************************