diff options
author | skydrome | 2020-02-15 15:36:58 -0500 |
---|---|---|
committer | skydrome | 2020-02-15 15:36:58 -0500 |
commit | 3f8830955d441193ef6ce4c17efce5548efa074a (patch) | |
tree | bec0475717fcbbc7720ea5a26a0c1d186296bc23 | |
parent | cd10327eca1c6e87c22ff3bd9d302fc387fd1ec1 (diff) | |
download | aur-3f8830955d441193ef6ce4c17efce5548efa074a.tar.gz |
1485
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | 0001-strip-non-compile-deps.patch | 63 | ||||
-rw-r--r-- | PKGBUILD | 132 | ||||
-rw-r--r-- | freenet.ini | 45 | ||||
-rw-r--r-- | freenet.install | 3 | ||||
-rw-r--r-- | freenet.service | 6 | ||||
-rw-r--r-- | freenet.tmpfiles | 8 | ||||
-rw-r--r-- | run.sh | 44 | ||||
-rw-r--r-- | wrapper.config | 11 |
10 files changed, 146 insertions, 201 deletions
@@ -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 - @@ -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 @@ -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 #******************************************************************** |