From toad at freenetproject.org Tue Apr 1 01:05:37 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 01:05:37 +0000 (UTC) Subject: [freenet-cvs] r18882 - trunk/apps/new_installer Message-ID: <20080401010537.31128479DB9@freenetproject.org> Author: toad Date: 2008-04-01 01:05:36 +0000 (Tue, 01 Apr 2008) New Revision: 18882 Modified: trunk/apps/new_installer/Win_shortcutSpec.xml Log: Rename Stop the node to Stop Freenet Modified: trunk/apps/new_installer/Win_shortcutSpec.xml =================================================================== --- trunk/apps/new_installer/Win_shortcutSpec.xml 2008-03-31 23:07:37 UTC (rev 18881) +++ trunk/apps/new_installer/Win_shortcutSpec.xml 2008-04-01 01:05:36 UTC (rev 18882) @@ -95,7 +95,7 @@ Author: toad Date: 2008-04-01 01:06:29 +0000 (Tue, 01 Apr 2008) New Revision: 18883 Modified: trunk/apps/new_installer/Win_shortcutSpec.xml Log: Put stop/start shortcuts on the desktop as well as the menu, we should be straight with users, gamers will hopefully see them and use start/stop rather than uninstalling! Modified: trunk/apps/new_installer/Win_shortcutSpec.xml =================================================================== --- trunk/apps/new_installer/Win_shortcutSpec.xml 2008-04-01 01:05:36 UTC (rev 18882) +++ trunk/apps/new_installer/Win_shortcutSpec.xml 2008-04-01 01:06:29 UTC (rev 18883) @@ -97,7 +97,7 @@ Author: nextgens Date: 2008-04-01 03:20:14 +0000 (Tue, 01 Apr 2008) New Revision: 18884 Modified: trunk/website/index.php Log: website: re-enable google-analytics it's the best opportunity we have to get *usefull* stats Modified: trunk/website/index.php =================================================================== --- trunk/website/index.php 2008-04-01 01:06:29 UTC (rev 18883) +++ trunk/website/index.php 2008-04-01 03:20:14 UTC (rev 18884) @@ -83,5 +83,7 @@ + From nextgens at freenetproject.org Tue Apr 1 06:28:37 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Tue, 1 Apr 2008 06:28:37 +0000 (UTC) Subject: [freenet-cvs] r18885 - trunk/apps/new_installer/res Message-ID: <20080401062837.6386A479E15@freenetproject.org> Author: nextgens Date: 2008-04-01 06:28:35 +0000 (Tue, 01 Apr 2008) New Revision: 18885 Added: trunk/apps/new_installer/res/dont-close-me.deu.html Log: new_installer: translation of the don't close me file by Michael Tanzer (german) Added: trunk/apps/new_installer/res/dont-close-me.deu.html =================================================================== --- trunk/apps/new_installer/res/dont-close-me.deu.html (rev 0) +++ trunk/apps/new_installer/res/dont-close-me.deu.html 2008-04-01 06:28:35 UTC (rev 18885) @@ -0,0 +1,118 @@ + + + + + Bitte nicht schlie?en + + + + +
+
+

Bitte schlie?en Sie diese Seite nicht

+
+
+
+

Bitte schlie?en Sie dieses Browser-Fenster erst, wenn Sie damit + fertig sind im Freenet zu st?bern.

+

+ Um die Sicherheit und Performance zu maximieren haben wir ein spezielles + Firefox-Profil zum surfen im Freenet angelegt. Wenn Sie jedoch dieses + Fenster schlie?en bevor Sie das Freenet-Fenster schlie?en (mit dem + schwarzen Aussehen, es sollte in ein paar Sekunden starten oder ist + vielleicht schon gestartet), k?nnen Sie, aufgrund eines Fehlers in + Firefox, eventuell nicht mehr zur?ck in den Firefox zur?ck kommen. + Wenn dies passiert, schlie?en Sie bitte das Freenet-Fenster und + starten Sie Ihren Computer, wenn n?tig, neu. Wir werden versuchen eine + bessere L?sung f?r Version 0.8 zu finden. Vielen Dank, dass Sie Freenet + benutzen. +

+

Das Freenet-Entwicklungs-Team

+
+
+
+ + From nextgens at freenetproject.org Tue Apr 1 06:50:38 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Tue, 1 Apr 2008 06:50:38 +0000 (UTC) Subject: [freenet-cvs] r18886 - trunk/apps/new_installer/res Message-ID: <20080401065038.36F0E479B73@freenetproject.org> Author: nextgens Date: 2008-04-01 06:50:37 +0000 (Tue, 01 Apr 2008) New Revision: 18886 Added: trunk/apps/new_installer/res/dont-close-me.fra.html Log: new_installer: translation of the don't close me file by Dieppe (French) Added: trunk/apps/new_installer/res/dont-close-me.fra.html =================================================================== --- trunk/apps/new_installer/res/dont-close-me.fra.html (rev 0) +++ trunk/apps/new_installer/res/dont-close-me.fra.html 2008-04-01 06:50:37 UTC (rev 18886) @@ -0,0 +1,110 @@ + + + + + S'il vous plait ne me fermez pas + + + + +
+
+

S'il vous pla?t ne fermez pas cette page

+
+
+
+

S'il vous pla?t ne fermez pas cette fen?tre tant que vous n'avez pas fini de naviguer sur Freenet.

+

Afin de garantir une s?curit? et des performances maximales, nous avons cr?e ce profil pour Firefox + d?di? ? la navigation sur Freenet. A cause d'un bug dans Firefox si vous fermez cette fen?tre avant de fermer + la fen?tre Freenet (celle avec le th?me noir, qui devrait s'ouvrir dans quelques secondes si ce n'est pas d?ja fait), + vous ne pourrez peut-?tre plus relancer Firefox. Si cela se produit, fermez la fen?tre Freenet et, si besoin est, + red?marrez. Nous essaierons de trouver une meilleure solution pour la version 0.8. Merci d'utiliser Freenet.

+

L'?quipe de d?veloppement Freenet

+
+
+
+ + From nextgens at freenetproject.org Tue Apr 1 07:23:40 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Tue, 1 Apr 2008 07:23:40 +0000 (UTC) Subject: [freenet-cvs] r18887 - in trunk/apps/new_installer: . res/unix/bin res/windows/bin Message-ID: <20080401072340.2021447973A@freenetproject.org> Author: nextgens Date: 2008-04-01 07:23:39 +0000 (Tue, 01 Apr 2008) New Revision: 18887 Modified: trunk/apps/new_installer/install.xml trunk/apps/new_installer/res/unix/bin/1run.sh trunk/apps/new_installer/res/unix/bin/detect_port_availability.sh trunk/apps/new_installer/res/unix/bin/setup.sh trunk/apps/new_installer/res/windows/bin/install_wrapper.cmd Log: new_installer: use the translations of the don't-close-me html page Modified: trunk/apps/new_installer/install.xml =================================================================== --- trunk/apps/new_installer/install.xml 2008-04-01 06:50:37 UTC (rev 18886) +++ trunk/apps/new_installer/install.xml 2008-04-01 07:23:39 UTC (rev 18887) @@ -121,6 +121,7 @@ + Modified: trunk/apps/new_installer/res/unix/bin/1run.sh =================================================================== --- trunk/apps/new_installer/res/unix/bin/1run.sh 2008-04-01 06:50:37 UTC (rev 18886) +++ trunk/apps/new_installer/res/unix/bin/1run.sh 2008-04-01 07:23:39 UTC (rev 18887) @@ -10,11 +10,4 @@ ./run.sh start echo "Starting up a browser" -if test -e welcome.$ISO3_LANG.html -then - HTMLFILE="file://$INSTALL_PATH/welcome.$ISO3_LANG.html" -else - HTMLFILE="file://$INSTALL_PATH/welcome.html" -fi - -./bin/browse.sh "$HTMLFILE" +./bin/browse.sh "file://$INSTALL_PATH/welcome.html" Modified: trunk/apps/new_installer/res/unix/bin/detect_port_availability.sh =================================================================== --- trunk/apps/new_installer/res/unix/bin/detect_port_availability.sh 2008-04-01 06:50:37 UTC (rev 18886) +++ trunk/apps/new_installer/res/unix/bin/detect_port_availability.sh 2008-04-01 07:23:39 UTC (rev 18887) @@ -18,8 +18,6 @@ echo "Can not bind fproxy to 8889: force it to $FPROXY_PORT instead." fi - cat welcome.html | sed "s/8888/$FPROXY_PORT/g" >welcome2.html - mv welcome2.html welcome.html cat bin/browse.sh | sed "s/8888/$FPROXY_PORT/g" > browse.sh mv browse.sh bin/browse.sh @@ -32,6 +30,27 @@ echo "fproxy.enabled=true" >> freenet.ini echo "fproxy.port=$FPROXY_PORT" >> freenet.ini +# Translate if needed +FILE="welcome.html" +if test -e welcome.$ISO3_LANG.html +then + FILE="welcome.$ISO3_LANG.html" +fi +cat "$FILE" | sed "s/8888/$FPROXY_PORT/g" >_welcome.html +rm -f welcome.*html +mv _welcome.html welcome.html + +# Translate if needed +FILE="dont-close-me.html" +if test -e dont-close-me.$ISO3_LANG.html +then + FILE="dont-close-me.$ISO3_LANG.html" +fi +cat "$FILE" | sed "s/8888/$FPROXY_PORT/g" >_dont-close-me.html +rm -f dont-close-me.*html +mv _dont-close-me.html dont-close-me.html + + # Try to auto-detect the first available port for fcp FCP_PORT=9481 java $JOPTS -jar bin/bindtest.jar $FCP_PORT 2>&1 >/dev/null Modified: trunk/apps/new_installer/res/unix/bin/setup.sh =================================================================== --- trunk/apps/new_installer/res/unix/bin/setup.sh 2008-04-01 06:50:37 UTC (rev 18886) +++ trunk/apps/new_installer/res/unix/bin/setup.sh 2008-04-01 07:23:39 UTC (rev 18887) @@ -4,6 +4,7 @@ echo '#!/bin/sh' > "$HOME/_install_toSource.sh" echo INSTALL_PATH=\"$INSTALL_PATH\" >> "$HOME/_install_toSource.sh" echo JOPTS=\" -Djava.net.preferIPv4Stack=true \" >> "$HOME/_install_toSource.sh" +echo ISO3_LANG=\"$ISO3_LANG\" >> "$HOME/_install_toSource.sh" chmod 755 "$HOME/_install_toSource.sh" alias .= Modified: trunk/apps/new_installer/res/windows/bin/install_wrapper.cmd =================================================================== --- trunk/apps/new_installer/res/windows/bin/install_wrapper.cmd 2008-04-01 06:50:37 UTC (rev 18886) +++ trunk/apps/new_installer/res/windows/bin/install_wrapper.cmd 2008-04-01 07:23:39 UTC (rev 18887) @@ -9,10 +9,26 @@ @java -jar bin\bindtest.jar %FPROXY_PORT% @if %ERRORLEVEL% EQU 0 goto configure_fproxy @set FPROXY_PORT=8889 - at bin\cat.exe welcome.html | bin\sed.exe "s/8888/%FPROXY_PORT%/g" > welcome2.html - at move /Y welcome2.html welcome.html > NUL + + at set WELCOME_FILE=welcome.html + at if not exist welcome.%ISO3_LANG%.html goto noWl10n + at set WELCOME_FILE=welcome.%ISO3_LANG%.html +:noWl10n + at bin\cat.exe %WELCOME_FILE% | bin\sed.exe "s/8888/%FPROXY_PORT%/g" > _welcome.html + at del /F /Q welcome.*html + at move /Y _welcome.html welcome.html > NUL + + at set DONTCLOSE_FILE=dont-close-me.html + at if not exist dont-close-me.%ISO3_LANG%.html goto noDl10n + at set DONTCLOSE_FILE=dont-close-me.%ISO3_LANG%.html +:noDl10n + at bin\cat.exe %DONTCLOSE_FILE% | bin\sed.exe "s/8888/%FPROXY_PORT%/g" > _dont-close-me.html + at del /F /Q dont-close-me.*html + at move /Y _dont-close-me.html dont-close-me.html > NUL + @bin\cat.exe browse.cmd | bin\sed.exe "s/8888/%FPROXY_PORT%/g" > browse2.cmd @move /Y browse2.cmd browse.cmd > NUL + :configure_fproxy @echo fproxy.enable=true >>freenet.ini @echo fproxy.port=%FPROXY_PORT% >>freenet.ini @@ -100,9 +116,5 @@ @net start freenet-darknet-%FPROXY_PORT% @echo Spawning up a browser - at if not exist welcome.%ISO3_LANG%.html goto nol10n - at browse welcome.%ISO3_LANG%.html - at goto endl10n -:nol10n @browse welcome.html :endl10n From nextgens at freenetproject.org Tue Apr 1 07:49:42 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Tue, 1 Apr 2008 07:49:42 +0000 (UTC) Subject: [freenet-cvs] r18888 - tags Message-ID: <20080401074942.70E64479A37@freenetproject.org> Author: nextgens Date: 2008-04-01 07:49:42 +0000 (Tue, 01 Apr 2008) New Revision: 18888 Added: tags/freenet-0.7.0-rc1/ Log: Create a tag for the -rc1 release Copied: tags/freenet-0.7.0-rc1 (from rev 18841, trunk/freenet) From toad at freenetproject.org Tue Apr 1 13:55:32 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 13:55:32 +0000 (UTC) Subject: [freenet-cvs] r18889 - trunk/website/pages/en Message-ID: <20080401135532.9A1B9479B7F@freenetproject.org> Author: toad Date: 2008-04-01 13:55:32 +0000 (Tue, 01 Apr 2008) New Revision: 18889 Modified: trunk/website/pages/en/news.php Log: DOH! Modified: trunk/website/pages/en/news.php =================================================================== --- trunk/website/pages/en/news.php 2008-04-01 07:49:42 UTC (rev 18888) +++ trunk/website/pages/en/news.php 2008-04-01 13:55:32 UTC (rev 18889) @@ -19,7 +19,7 @@ and performance.

Freenet 0.7 RC1 can be downloaded from:

http://freenetproject.org/download.html

-

This release would not have been possible without the release of numerous volunteers, +

This release would not have been possible without the help of numerous volunteers, and Matthew Toseland, Freenet's full time developer. Matthew's work is funded through donations via our website (as well as a few larger sponsors from time to time). We ask that anyone who can help us to ensure Matthew's continued employment visit our donations From NEOatNHNG at freenetproject.org Tue Apr 1 14:48:23 2008 From: NEOatNHNG at freenetproject.org (NEOatNHNG at freenetproject.org) Date: Tue, 1 Apr 2008 14:48:23 +0000 (UTC) Subject: [freenet-cvs] r18890 - trunk/website/pages/de Message-ID: <20080401144823.0954A479A37@freenetproject.org> Author: NEOatNHNG Date: 2008-04-01 14:48:22 +0000 (Tue, 01 Apr 2008) New Revision: 18890 Added: trunk/website/pages/de/donate.php Modified: trunk/website/pages/de/news.php Log: Do the paypal-fix on the german website too and translate donate.php Added: trunk/website/pages/de/donate.php =================================================================== --- trunk/website/pages/de/donate.php (rev 0) +++ trunk/website/pages/de/donate.php 2008-04-01 14:48:22 UTC (rev 18890) @@ -0,0 +1,173 @@ +

Spenden

+ +

Warum braucht das Freenet-Projekt Spenden?

+

+Obwohl zahlreiche Menschen seit seinem Bestehen ihre Zeit und ihre F?higkeiten +in das Freenet-Projekt eingebracht haben, ist das Freenet-Projekt auf Ihre +Spenden angewiesen um die Entwickler zu bezahlen, die vollzeit an diesem immer +komplexer werdenden Projekt arbeiten und um die Hardware- (z.B. die +Entwicklungs-Computer des Projekts) und administrativen Kosten (z.B. +Domain-Registrierungen) zu decken. Ein weiteres Ziel ist es, in der Lage zu sein +eine Kapital zur rechtlichen Verteidigung aufzubauen um dabei zu helfen die +Zukunft der Entwicklung von Freenet sicherzustellen.
+Alle Beteiligten sind sehr an der Zukunft des Freenet-Projekts interessiert und +Sie k?nnen sicher sein, dass Spenden weise eingesetzt wurden und werden. Wir +sind dankbar f?r jede Unterst?tzung. +

+ +

Wie kann ich spenden?

+Sie haben vier M?glichkeiten: +
    +
  • Sie k?nnen f?r wiederkehrende Zahlungen von 5$, 10$ oder 20$ pro +Monat ein ein Mitglied des Freenet-Projekts werden. Der Vorteil hiervon ist, +dass es dem Projekt stabilere und verl?sslichere Bez?ge bietet, was es +erleichtert potenzielle Entwickler langfristig zu engagieren - zurzeit ist es +schwierig vorherzusagen ob wir einen Entwickler im n?chsten Monat noch bezahlen +k?nnen, obwohl wir bis jetzt Gl?ck hatten. Sie k?nnen ein Mitglied werden indem +Sie diesen Knopf anklicken (Sie brauchen ein +PayPal-Konto): + +
    +
    +
    + + + + + + + + +Betrag (US-Dollar): +

    + 20$   + 10$   + 5$   +

    + + + + + +
    +
    +
    +

    +


    +

    +
  • + +
  • Sie k?nnen ?ber Google Checkout spenden:
    +
    +
    + + + + + + + +
    + + + +
    + + + + +
    +
    +
    + +
  • ?ber diesen Knopf k?nnen Sie einmalig ?ber Paypal spenden:
    +
    +
    + + + + + +
    +
    +

    +


    +

    +
  • +
  • Mit diesem Formular k?nnen Sie ?ber +E Gold Spenden:
    +
    +
    +
    + +Enter +Betrag den Sie spenden m?chten:
    USD$ +in E-Gold + + + + + + + +
    + +
    +
    +
    +

    +


    +

    +
  • +
  • Sie k?nnen auch spenden indem Sie Dinge aus dem +Freenet-Store kaufen. +
  • +
+

Wie kann ich mir sicher sein, dass meine Spende nicht missbraucht wird?

+

Alle Spenden gehen an die Freenet Project Inc., eine gemeinn?tzige Organisation +(nach 501c3) mit dem folgenden Leitsatz:

+
+The specific purpose of this corporation is to assist in developing and +disseminating technological solutions to further the open and democratic +distribution of information over the Internet or its successor +electronic communication networks or organizations. It is also the +purpose of this organization to guarantee consenting individuals the +free, unmediated, and unimpeded reception and impartation of all +intellectual, scientific, literary, social, artistic, creative, human +rights, and cultural expressions, opinions and ideas without +interference or limitation by or service to state, private, or special +interests. It is also the purpose of this organization to educate the +world community and be an advocate of these purposes. +
+

Deutsche ?bersetzung:

+
+Der Zweck dieser Firma ist es die Entwicklung und Verbreitung technischer +L?sungen zu unterst?tzen um die offene und demokratische Verbreitung von +Informationen ?ber das Internet oder nachfolgende elektronische +Kommunikations-Netzwerke oder -Organisationen voranzutreiben. Auch ist es ein +Zweck dieser Organisation zustimmenden Personen die freie, unbeeinflusste und +ungehinderte Aufnahme und Mitteilung von allen intellektuellen, +wissenschaftlichen, literarischen, sozialen, k?nstlerischen, kreativen, +menschenrechtlichen und kulturellen ?u?erungen, Meinungen und Ideen ohne +Einmischungen oder Beschr?nkungen durch staatliche, private oder besondere +Interessen zu garantieren. Ein weiterer Zweck dieser Organisation ist es, die +Welt-Gemeinschaft zu schulen, ein Verfechter dieser Ziele zu werden. +
+

+Alle gespendeten Gelder werden nur dazu verwendet um unseren Leitsatz +umzusetzen und werden im Sitz des Freenet-Projekt-Vorstands verwaltet. +

Modified: trunk/website/pages/de/news.php =================================================================== --- trunk/website/pages/de/news.php 2008-04-01 13:55:32 UTC (rev 18889) +++ trunk/website/pages/de/news.php 2008-04-01 14:48:22 UTC (rev 18890) @@ -2,18 +2,7 @@ few sentences - create a separate page and link to that (ie. Slashdot style). Additionally, please remove obsolete news items (such as old new build announcements) --> - +

Neuigkeiten

Die deutsche Übersetzung der Neuigkeiten (Stand vom 31.3.2008) From NEOatNHNG at freenetproject.org Tue Apr 1 15:10:46 2008 From: NEOatNHNG at freenetproject.org (NEOatNHNG at freenetproject.org) Date: Tue, 1 Apr 2008 15:10:46 +0000 (UTC) Subject: [freenet-cvs] r18891 - trunk/website/pages/de Message-ID: <20080401151046.8CA6C478992@freenetproject.org> Author: NEOatNHNG Date: 2008-04-01 15:10:46 +0000 (Tue, 01 Apr 2008) New Revision: 18891 Modified: trunk/website/pages/de/donate.php Log: Fix Paypal Modified: trunk/website/pages/de/donate.php =================================================================== --- trunk/website/pages/de/donate.php 2008-04-01 14:48:22 UTC (rev 18890) +++ trunk/website/pages/de/donate.php 2008-04-01 15:10:46 UTC (rev 18891) @@ -93,10 +93,11 @@ +

From toad at freenetproject.org Tue Apr 1 17:43:18 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 17:43:18 +0000 (UTC) Subject: [freenet-cvs] r18892 - trunk/freenet/src/freenet/node Message-ID: <20080401174318.8DC5F479A40@freenetproject.org> Author: toad Date: 2008-04-01 17:43:18 +0000 (Tue, 01 Apr 2008) New Revision: 18892 Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java Log: Check against 1280 bytes and against max packet size: if we can fit within the limit, do so. Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java =================================================================== --- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-04-01 15:10:46 UTC (rev 18891) +++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-04-01 17:43:18 UTC (rev 18892) @@ -2376,6 +2376,8 @@ paddedLen = ((packetLength + 63) / 64) * 64; paddedLen += node.fastWeakRandom.nextInt(64); if(packetLength <= 1280 && paddedLen > 1280) paddedLen = 1280; + int maxPacketSize = sock.getMaxPacketSize(); + if(packetLength <= maxPacketSize && paddedLen > maxPacketSize) paddedLen = maxPacketSize; packetLength -= 32; paddedLen -= 32; } From toad at freenetproject.org Tue Apr 1 17:43:56 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 17:43:56 +0000 (UTC) Subject: [freenet-cvs] r18893 - trunk/freenet/src/freenet/node Message-ID: <20080401174356.25F69479A91@freenetproject.org> Author: toad Date: 2008-04-01 17:43:55 +0000 (Tue, 01 Apr 2008) New Revision: 18893 Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java Log: comments Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java =================================================================== --- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-04-01 17:43:18 UTC (rev 18892) +++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-04-01 17:43:55 UTC (rev 18893) @@ -2375,6 +2375,8 @@ packetLength += 32; paddedLen = ((packetLength + 63) / 64) * 64; paddedLen += node.fastWeakRandom.nextInt(64); + // FIXME get rid of this, we shouldn't be sending packets anywhere near this size unless + // we've done PMTU... if(packetLength <= 1280 && paddedLen > 1280) paddedLen = 1280; int maxPacketSize = sock.getMaxPacketSize(); if(packetLength <= maxPacketSize && paddedLen > maxPacketSize) paddedLen = maxPacketSize; From toad at freenetproject.org Tue Apr 1 18:05:00 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 18:05:00 +0000 (UTC) Subject: [freenet-cvs] r18894 - trunk/freenet/src/freenet/node Message-ID: <20080401180501.01EC7479D92@freenetproject.org> Author: toad Date: 2008-04-01 18:05:00 +0000 (Tue, 01 Apr 2008) New Revision: 18894 Modified: trunk/freenet/src/freenet/node/Version.java Log: 1131: (mandatory Thursday) Packet size: - If we can fit within the detected MTU, do so, even if it means losing some padding. SSKs: (also relevant to packet size) - Don't send the old-format SSK insert/request messages any more. Still understand them though. This should greatly reduce the occurrence of really big packets, which can cause major connectivity problems, insane amounts of retransmitted data etc. Stats: - For bandwidth liability estimation, use limit * overhead fraction, not limit - overhead rate. This should prevent the node from getting into nasty no-requests-possible situations when doing update over mandatory etc. Client layer: - SplitFileFetcherSubSegment.add(): don't call addPendingKey if dontSchedule=true (because in that case schedule() will be called soon). - Avoid a minor memory leak in CRS.removePendingKey. - Catch any throwable when running callbacks. L10n: - First time wizard: when asking the user how fast his internet connection is, mention that the list below are download/upload. - German update. Bookmarks: - Add FMS. - Add Publish! - Update Frost description. - Update FAI edition. Dev stuff: - Logging. - Fix a NullPointerException that only happened with log level minor and on nodes with no physical.*. - Imports. - Comments. New plugin: Thaw index browser (saces) - Added to official plugins repository. - Added to dropdown list in the node. Installer: - Maybe fix the OS/X installer. - Tag as rc1 not alpha 2. - Rename windows shortcuts Start the node/Stop the node to Start Freenet/Stop Freenet. Put them on the desktop, imho this is more user friendly. - Translated versions of the dont-close-me file in german and french. Use them. Also refactor the code for l10n of this and the welcome page slightly. Website: - Release 1130 as 0.7.0-rc1. - Add a German translation of the web site. - Minor language related PHP fix. - Fix an inline image on architecture.html. - Some optimisations - we were including the paypal total file even though it was disabled, and then commenting out the included data in the HTML! - Various madness trying to deal with a slashdotting. dieppe NEOatNHNG nextgens saces toad Modified: trunk/freenet/src/freenet/node/Version.java =================================================================== --- trunk/freenet/src/freenet/node/Version.java 2008-04-01 17:43:55 UTC (rev 18893) +++ trunk/freenet/src/freenet/node/Version.java 2008-04-01 18:05:00 UTC (rev 18894) @@ -34,7 +34,7 @@ static { final Calendar _cal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); // year, month - 1 (or constant), day, hour, minute, second - _cal.set( 2008, Calendar.MARCH, 31, 0, 0, 0 ); + _cal.set( 2008, Calendar.APRIL, 3, 0, 0, 0 ); transitionTime = _cal.getTimeInMillis(); } From toad at freenetproject.org Tue Apr 1 18:06:59 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 18:06:59 +0000 (UTC) Subject: [freenet-cvs] r18895 - trunk/freenet/src/freenet/node Message-ID: <20080401180659.88FF4479DD0@freenetproject.org> Author: toad Date: 2008-04-01 18:06:59 +0000 (Tue, 01 Apr 2008) New Revision: 18895 Modified: trunk/freenet/src/freenet/node/Version.java Log: doh, 1131 really Modified: trunk/freenet/src/freenet/node/Version.java =================================================================== --- trunk/freenet/src/freenet/node/Version.java 2008-04-01 18:05:00 UTC (rev 18894) +++ trunk/freenet/src/freenet/node/Version.java 2008-04-01 18:06:59 UTC (rev 18895) @@ -24,11 +24,11 @@ public static final String protocolVersion = "1.0"; /** The build number of the current revision */ - private static final int buildNumber = 1130; + private static final int buildNumber = 1131; /** Oldest build of Fred we will talk to */ - private static final int oldLastGoodBuild = 1129; - private static final int newLastGoodBuild = 1130; + private static final int oldLastGoodBuild = 1130; + private static final int newLastGoodBuild = 1131; static final long transitionTime; static { From tommy at freenetproject.org Tue Apr 1 20:40:39 2008 From: tommy at freenetproject.org (tommy at freenetproject.org) Date: Tue, 1 Apr 2008 20:40:39 +0000 (UTC) Subject: [freenet-cvs] r18896 - trunk/freenet/src/freenet/clients/http/staticfiles Message-ID: <20080401204039.17B3B47962C@freenetproject.org> Author: tommy Date: 2008-04-01 20:40:38 +0000 (Tue, 01 Apr 2008) New Revision: 18896 Modified: trunk/freenet/src/freenet/clients/http/staticfiles/defaultbookmarks.dat Log: FMS edition 40 Modified: trunk/freenet/src/freenet/clients/http/staticfiles/defaultbookmarks.dat =================================================================== --- trunk/freenet/src/freenet/clients/http/staticfiles/defaultbookmarks.dat 2008-04-01 18:06:59 UTC (rev 18895) +++ trunk/freenet/src/freenet/clients/http/staticfiles/defaultbookmarks.dat 2008-04-01 20:40:38 UTC (rev 18896) @@ -57,7 +57,7 @@ BookmarkCategory2.Content.Bookmark1.Name=Freenet Message System BookmarkCategory2.Content.Bookmark1.Description=The official freesite of FMS, a spam resistant message board system for Freenet BookmarkCategory2.Content.Bookmark1.hasAnActivelink=true -BookmarkCategory2.Content.Bookmark1.URI=USK at 0npnMrqZNKRCRoGojZV93UNHCMN-6UU3rRSAmP6jNLE,~BG-edFtdCC1cSH4O3BWdeIYa8Sw5DfyrSV-TKdO5ec,AQACAAE/fms/38/ +BookmarkCategory2.Content.Bookmark1.URI=USK at 0npnMrqZNKRCRoGojZV93UNHCMN-6UU3rRSAmP6jNLE,~BG-edFtdCC1cSH4O3BWdeIYa8Sw5DfyrSV-TKdO5ec,AQACAAE/fms/40/ BookmarkCategory2.Content.Bookmark2.Name=Publish! BookmarkCategory2.Content.Bookmark2.Description=Simple guide to publishing web sites to Freenet BookmarkCategory2.Content.Bookmark2.hasAnActivelink=true From toad at freenetproject.org Tue Apr 1 22:42:52 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 22:42:52 +0000 (UTC) Subject: [freenet-cvs] r18897 - trunk/freenet/src/freenet/client/async Message-ID: <20080401224252.1B00F479CF7@freenetproject.org> Author: toad Date: 2008-04-01 22:42:51 +0000 (Tue, 01 Apr 2008) New Revision: 18897 Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java Log: Logging Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java =================================================================== --- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-01 20:40:38 UTC (rev 18896) +++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-01 22:42:51 UTC (rev 18897) @@ -643,6 +643,7 @@ if(logMINOR) Logger.minor(this, "Running "+gets.length+" callbacks off-thread for "+block.getKey()); for(int i=0;i Author: toad Date: 2008-04-01 23:12:11 +0000 (Tue, 01 Apr 2008) New Revision: 18898 Modified: trunk/freenet/src/freenet/client/events/SplitfileProgressEvent.java Log: Logging Modified: trunk/freenet/src/freenet/client/events/SplitfileProgressEvent.java =================================================================== --- trunk/freenet/src/freenet/client/events/SplitfileProgressEvent.java 2008-04-01 22:42:51 UTC (rev 18897) +++ trunk/freenet/src/freenet/client/events/SplitfileProgressEvent.java 2008-04-01 23:12:11 UTC (rev 18898) @@ -24,6 +24,8 @@ this.fatallyFailedBlocks = fatallyFailedBlocks; this.minSuccessfulBlocks = minSuccessfulBlocks; this.finalizedTotal = finalizedTotal; + if(Logger.shouldLog(Logger.MINOR, this)) + Logger.minor(this, "Created SplitfileProgressEvent: total="+totalBlocks+" fetched="+fetchedBlocks+" failed="+failedBlocks+" fatally="+fatallyFailedBlocks+" min success="+minSuccessfulBlocks+" finalized="+finalizedTotal); } public String getDescription() { From toad at freenetproject.org Tue Apr 1 23:40:27 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 23:40:27 +0000 (UTC) Subject: [freenet-cvs] r18899 - trunk/freenet/src/freenet/client/async Message-ID: <20080401234027.3401D4797F4@freenetproject.org> Author: toad Date: 2008-04-01 23:40:26 +0000 (Tue, 01 Apr 2008) New Revision: 18899 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Prevent a temporary file leak, and more consistent fetched blocks count. Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:12:11 UTC (rev 18898) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:40:26 UTC (rev 18899) @@ -160,10 +160,9 @@ // No need to unregister key, because it will be cleared in tripPendingKey(). boolean dontNotify; synchronized(this) { - if(isFinished()) return; if(blockNo < dataKeys.length) { if(dataKeys[blockNo] == null) { - Logger.error(this, "Block already finished: "+blockNo); + if(!startedDecode) Logger.error(this, "Block already finished: "+blockNo); return; } dataKeys[blockNo] = null; @@ -171,7 +170,7 @@ } else if(blockNo < checkKeys.length + dataKeys.length) { blockNo -= dataKeys.length; if(checkKeys[blockNo] == null) { - Logger.error(this, "Check block already finished: "+blockNo); + if(!startedDecode) Logger.error(this, "Check block already finished: "+blockNo); return; } checkKeys[blockNo] = null; From toad at freenetproject.org Tue Apr 1 23:41:07 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 23:41:07 +0000 (UTC) Subject: [freenet-cvs] r18900 - trunk/freenet/src/freenet/client/async Message-ID: <20080401234107.4CBF9479929@freenetproject.org> Author: toad Date: 2008-04-01 23:41:07 +0000 (Tue, 01 Apr 2008) New Revision: 18900 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Prevent a temporary space leak Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:40:26 UTC (rev 18899) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:41:07 UTC (rev 18900) @@ -163,6 +163,7 @@ if(blockNo < dataKeys.length) { if(dataKeys[blockNo] == null) { if(!startedDecode) Logger.error(this, "Block already finished: "+blockNo); + data.free(); return; } dataKeys[blockNo] = null; @@ -171,6 +172,7 @@ blockNo -= dataKeys.length; if(checkKeys[blockNo] == null) { if(!startedDecode) Logger.error(this, "Check block already finished: "+blockNo); + data.free(); return; } checkKeys[blockNo] = null; From toad at freenetproject.org Tue Apr 1 23:47:16 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 23:47:16 +0000 (UTC) Subject: [freenet-cvs] r18901 - trunk/freenet/src/freenet/client/async Message-ID: <20080401234716.9ACE8479D6A@freenetproject.org> Author: toad Date: 2008-04-01 23:47:16 +0000 (Tue, 01 Apr 2008) New Revision: 18901 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Prevent healing of successfully fetched blocks. Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:41:07 UTC (rev 18900) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:47:16 UTC (rev 18901) @@ -166,6 +166,7 @@ data.free(); return; } + dataRetries[blockNo] = 0; // Prevent healing of successfully fetched block. dataKeys[blockNo] = null; dataBuckets[blockNo].setData(data); } else if(blockNo < checkKeys.length + dataKeys.length) { @@ -175,6 +176,7 @@ data.free(); return; } + checkRetries[blockNo] = 0; // Prevent healing of successfully fetched block. checkKeys[blockNo] = null; checkBuckets[blockNo].setData(data); } else From toad at freenetproject.org Tue Apr 1 23:50:31 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Tue, 1 Apr 2008 23:50:31 +0000 (UTC) Subject: [freenet-cvs] r18902 - trunk/freenet/src/freenet/client/async Message-ID: <20080401235031.21AF5478928@freenetproject.org> Author: toad Date: 2008-04-01 23:50:30 +0000 (Tue, 01 Apr 2008) New Revision: 18902 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Never let fetchedBlocks rise above minFetched. Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:47:16 UTC (rev 18901) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-01 23:50:30 UTC (rev 18902) @@ -181,11 +181,11 @@ checkBuckets[blockNo].setData(data); } else Logger.error(this, "Unrecognized block number: "+blockNo, new Exception("error")); - fetchedBlocks++; - if(logMINOR) Logger.minor(this, "Fetched "+fetchedBlocks+" blocks in onSuccess("+blockNo+")"); if(startedDecode) { return; } else { + fetchedBlocks++; + if(logMINOR) Logger.minor(this, "Fetched "+fetchedBlocks+" blocks in onSuccess("+blockNo+")"); decodeNow = (fetchedBlocks >= minFetched); if(decodeNow) { startedDecode = true; From toad at freenetproject.org Wed Apr 2 01:07:06 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:07:06 +0000 (UTC) Subject: [freenet-cvs] r18903 - trunk/freenet/src/freenet/client/async Message-ID: <20080402010706.50A5A479D90@freenetproject.org> Author: toad Date: 2008-04-02 01:07:05 +0000 (Wed, 02 Apr 2008) New Revision: 18903 Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java Log: Stop at endPtr when going forward, not startPtr. Saves a little CPU, probably no other impact. Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java =================================================================== --- trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java 2008-04-01 23:50:30 UTC (rev 18902) +++ trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java 2008-04-02 01:07:05 UTC (rev 18903) @@ -196,7 +196,7 @@ if(logMINOR) Logger.minor(this, "Found (forwards)"); return true; } - if(nidx == startPtr) break; + if(nidx == endPtr) break; nidx++; if(nidx == times.length) nidx = 0; } From toad at freenetproject.org Wed Apr 2 01:08:37 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:08:37 +0000 (UTC) Subject: [freenet-cvs] r18904 - trunk/freenet/src/freenet/client/async Message-ID: <20080402010837.DA9D24798A6@freenetproject.org> Author: toad Date: 2008-04-02 01:08:37 +0000 (Wed, 02 Apr 2008) New Revision: 18904 Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java Log: Enforce MIN_SIZE when expanding the queue. Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java =================================================================== --- trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java 2008-04-02 01:07:05 UTC (rev 18903) +++ trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java 2008-04-02 01:08:37 UTC (rev 18904) @@ -214,6 +214,7 @@ holes = 0; } int newSize = (keys.length - holes) * 2; + if(newSize < MIN_SIZE) newSize = MIN_SIZE; // FIXME reuse the old buffers if it fits Key[] newKeys = new Key[newSize]; long[] newTimes = new long[newSize]; From toad at freenetproject.org Wed Apr 2 01:29:16 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:29:16 +0000 (UTC) Subject: [freenet-cvs] r18905 - in trunk/freenet/src/freenet: client/async node Message-ID: <20080402012916.3C546479D47@freenetproject.org> Author: toad Date: 2008-04-02 01:29:15 +0000 (Wed, 02 Apr 2008) New Revision: 18905 Modified: trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java trunk/freenet/src/freenet/node/RequestScheduler.java Log: Fix critical bug in the cooldown queue: We MUST store the time, the key and *the client*, otherwise if there is a collision on the time and key, which happens right now in the splitfile code, we will end up queueing the block to the cooldown queue and then removing it from it and never reregistering! Modified: trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java =================================================================== --- trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java 2008-04-02 01:08:37 UTC (rev 18904) +++ trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java 2008-04-02 01:29:15 UTC (rev 18905) @@ -78,7 +78,7 @@ if(cooldownWakeupTime > now) Logger.error(this, "Already on the cooldown queue for "+this, new Exception("error")); else - cooldownWakeupTime = sched.queueCooldown(key); + cooldownWakeupTime = sched.queueCooldown(key, this); return true; // We will retry, just not yet. See requeueAfterCooldown(Key). } else { schedule(); Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java =================================================================== --- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 01:08:37 UTC (rev 18904) +++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 01:29:15 UTC (rev 18905) @@ -558,7 +558,7 @@ offeredKeys[i].remove(key); } if(cooldownQueue != null) - cooldownQueue.removeKey(key, getter.getCooldownWakeupByKey(key)); + cooldownQueue.removeKey(key, getter, getter.getCooldownWakeupByKey(key)); } /** @@ -629,12 +629,12 @@ if(o instanceof SendableGet) { gets = new SendableGet[] { (SendableGet) o }; if(cooldownQueue != null) - cooldownQueue.removeKey(key, ((SendableGet)o).getCooldownWakeupByKey(key)); + cooldownQueue.removeKey(key, (SendableGet)o, ((SendableGet)o).getCooldownWakeupByKey(key)); } else { gets = (SendableGet[]) o; if(cooldownQueue != null) for(int i=0;i times[i]) Logger.error(this, "RequestCooldownQueue INCONSISTENCY: times["+i+"] = times[i] but lastTime="+lastTime); lastTime = times[i]; @@ -236,6 +248,7 @@ if(keys[i] == null) continue; newKeys[x] = keys[i]; newTimes[x] = times[i]; + newClients[x] = clients[i]; if(lastTime > times[i]) Logger.error(this, "RequestCooldownQueue INCONSISTENCY: times["+i+"] = times[i] but lastTime="+lastTime); lastTime = times[i]; @@ -245,6 +258,7 @@ if(keys[i] == null) continue; newKeys[x] = keys[i]; newTimes[x] = times[i]; + newClients[x] = clients[i]; if(lastTime > times[i]) Logger.error(this, "RequestCooldownQueue INCONSISTENCY: times["+i+"] = times[i] but lastTime="+lastTime); lastTime = times[i]; @@ -258,6 +272,7 @@ startPtr = 0; keys = newKeys; times = newTimes; + clients = newClients; endPtr = x; } Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:08:37 UTC (rev 18904) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:29:15 UTC (rev 18905) @@ -394,7 +394,9 @@ if(dataCooldownTimes[blockNo] > now) Logger.error(this, "Already on the cooldown queue! for "+this+" data block no "+blockNo, new Exception("error")); else - dataCooldownTimes[blockNo] = sched.queueCooldown(key); + // FIXME ideally we'd only register once, with the new segment, but the cost is + // trivial, and it simplifies locking. Reconsider sometime... + dataCooldownTimes[blockNo] = sched.queueCooldown(key, seg); cooldown = true; } } else { @@ -407,7 +409,7 @@ if(checkCooldownTimes[checkNo] > now) Logger.error(this, "Already on the cooldown queue! for "+this+" check block no "+blockNo, new Exception("error")); else - checkCooldownTimes[checkNo] = sched.queueCooldown(key); + checkCooldownTimes[checkNo] = sched.queueCooldown(key, seg); cooldown = true; } } Modified: trunk/freenet/src/freenet/node/RequestScheduler.java =================================================================== --- trunk/freenet/src/freenet/node/RequestScheduler.java 2008-04-02 01:08:37 UTC (rev 18904) +++ trunk/freenet/src/freenet/node/RequestScheduler.java 2008-04-02 01:29:15 UTC (rev 18905) @@ -25,7 +25,7 @@ * @param key The key to be added. * @return The time at which the key will leave the cooldown queue. */ - public long queueCooldown(ClientKey key); + public long queueCooldown(ClientKey key, SendableGet getter); /** * Remove keys from the cooldown queue who have now served their time and can be requested From toad at freenetproject.org Wed Apr 2 01:34:21 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:34:21 +0000 (UTC) Subject: [freenet-cvs] r18906 - trunk/freenet/src/freenet/client/async Message-ID: <20080402013421.59BC1479D9F@freenetproject.org> Author: toad Date: 2008-04-02 01:34:21 +0000 (Wed, 02 Apr 2008) New Revision: 18906 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Get the new subsegment earlier on, and use it to queue the cooldown immediately for the right client. Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:29:15 UTC (rev 18905) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:34:21 UTC (rev 18906) @@ -383,40 +383,44 @@ boolean failed = false; boolean cooldown = false; ClientCHK key; + SplitFileFetcherSubSegment sub = null; synchronized(this) { if(isFinished()) return; if(blockNo < dataKeys.length) { key = dataKeys[blockNo]; tries = ++dataRetries[blockNo]; if(tries > maxTries && maxTries >= 0) failed = true; - else if(tries % ClientRequestScheduler.COOLDOWN_RETRIES == 0) { + else { + sub = getSubSegment(tries); + if(tries % ClientRequestScheduler.COOLDOWN_RETRIES == 0) { long now = System.currentTimeMillis(); if(dataCooldownTimes[blockNo] > now) Logger.error(this, "Already on the cooldown queue! for "+this+" data block no "+blockNo, new Exception("error")); else - // FIXME ideally we'd only register once, with the new segment, but the cost is - // trivial, and it simplifies locking. Reconsider sometime... - dataCooldownTimes[blockNo] = sched.queueCooldown(key, seg); + dataCooldownTimes[blockNo] = sched.queueCooldown(key, sub); cooldown = true; + } } } else { int checkNo = blockNo - dataKeys.length; key = checkKeys[checkNo]; tries = ++checkRetries[checkNo]; if(tries > maxTries && maxTries >= 0) failed = true; - else if(tries % ClientRequestScheduler.COOLDOWN_RETRIES == 0) { + else { + sub = getSubSegment(tries); + if(tries % ClientRequestScheduler.COOLDOWN_RETRIES == 0) { long now = System.currentTimeMillis(); if(checkCooldownTimes[checkNo] > now) Logger.error(this, "Already on the cooldown queue! for "+this+" check block no "+blockNo, new Exception("error")); else - checkCooldownTimes[checkNo] = sched.queueCooldown(key, seg); + checkCooldownTimes[checkNo] = sched.queueCooldown(key, sub); cooldown = true; + } } } } if(cooldown) { // Register key to next sub-segment and remove from previous one to save memory (avoid duplication). - SplitFileFetcherSubSegment sub = getSubSegment(tries); sub.getScheduler().addPendingKey(key, sub); seg.unregisterKey(key.getNodeKey()); return; @@ -430,7 +434,6 @@ // If we are here we are going to retry // Unregister from the old sub-segment before registering on the new. seg.unregisterKey(key.getNodeKey()); - SplitFileFetcherSubSegment sub = getSubSegment(tries); if(logMINOR) Logger.minor(this, "Retrying block "+blockNo+" on "+this+" : tries="+tries+"/"+maxTries+" : "+sub); sub.add(blockNo, false); From toad at freenetproject.org Wed Apr 2 01:34:57 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:34:57 +0000 (UTC) Subject: [freenet-cvs] r18907 - trunk/freenet/src/freenet/client/async Message-ID: <20080402013457.8FCE1479DA1@freenetproject.org> Author: toad Date: 2008-04-02 01:34:57 +0000 (Wed, 02 Apr 2008) New Revision: 18907 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: indenting Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:34:21 UTC (rev 18906) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:34:57 UTC (rev 18907) @@ -393,12 +393,12 @@ else { sub = getSubSegment(tries); if(tries % ClientRequestScheduler.COOLDOWN_RETRIES == 0) { - long now = System.currentTimeMillis(); - if(dataCooldownTimes[blockNo] > now) - Logger.error(this, "Already on the cooldown queue! for "+this+" data block no "+blockNo, new Exception("error")); - else - dataCooldownTimes[blockNo] = sched.queueCooldown(key, sub); - cooldown = true; + long now = System.currentTimeMillis(); + if(dataCooldownTimes[blockNo] > now) + Logger.error(this, "Already on the cooldown queue! for "+this+" data block no "+blockNo, new Exception("error")); + else + dataCooldownTimes[blockNo] = sched.queueCooldown(key, sub); + cooldown = true; } } } else { @@ -409,12 +409,12 @@ else { sub = getSubSegment(tries); if(tries % ClientRequestScheduler.COOLDOWN_RETRIES == 0) { - long now = System.currentTimeMillis(); - if(checkCooldownTimes[checkNo] > now) - Logger.error(this, "Already on the cooldown queue! for "+this+" check block no "+blockNo, new Exception("error")); - else - checkCooldownTimes[checkNo] = sched.queueCooldown(key, sub); - cooldown = true; + long now = System.currentTimeMillis(); + if(checkCooldownTimes[checkNo] > now) + Logger.error(this, "Already on the cooldown queue! for "+this+" check block no "+blockNo, new Exception("error")); + else + checkCooldownTimes[checkNo] = sched.queueCooldown(key, sub); + cooldown = true; } } } From toad at freenetproject.org Wed Apr 2 01:36:23 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:36:23 +0000 (UTC) Subject: [freenet-cvs] r18908 - trunk/freenet/src/freenet/client/async Message-ID: <20080402013623.5BDE1479DA1@freenetproject.org> Author: toad Date: 2008-04-02 01:36:23 +0000 (Wed, 02 Apr 2008) New Revision: 18908 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Move conditional up a bit, no functional impact Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:34:57 UTC (rev 18907) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:36:23 UTC (rev 18908) @@ -419,18 +419,18 @@ } } } + if(failed) { + onFatalFailure(e, blockNo, seg); + if(logMINOR) + Logger.minor(this, "Not retrying block "+blockNo+" on "+this+" : tries="+tries+"/"+maxTries); + return; + } if(cooldown) { // Register key to next sub-segment and remove from previous one to save memory (avoid duplication). sub.getScheduler().addPendingKey(key, sub); seg.unregisterKey(key.getNodeKey()); return; } - if(failed) { - onFatalFailure(e, blockNo, seg); - if(logMINOR) - Logger.minor(this, "Not retrying block "+blockNo+" on "+this+" : tries="+tries+"/"+maxTries); - return; - } // If we are here we are going to retry // Unregister from the old sub-segment before registering on the new. seg.unregisterKey(key.getNodeKey()); From toad at freenetproject.org Wed Apr 2 01:38:48 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 01:38:48 +0000 (UTC) Subject: [freenet-cvs] r18909 - trunk/freenet/src/freenet/client/async Message-ID: <20080402013848.B9F4F479DB3@freenetproject.org> Author: toad Date: 2008-04-02 01:38:48 +0000 (Wed, 02 Apr 2008) New Revision: 18909 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java Log: Refactor/simplify code slightly. Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:36:23 UTC (rev 18908) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 2008-04-02 01:38:48 UTC (rev 18909) @@ -426,17 +426,17 @@ return; } if(cooldown) { - // Register key to next sub-segment and remove from previous one to save memory (avoid duplication). + // Register to the next sub-segment before removing from the old one. sub.getScheduler().addPendingKey(key, sub); seg.unregisterKey(key.getNodeKey()); - return; + } else { + // If we are here we are going to retry + // Unregister from the old sub-segment before registering on the new. + seg.unregisterKey(key.getNodeKey()); + if(logMINOR) + Logger.minor(this, "Retrying block "+blockNo+" on "+this+" : tries="+tries+"/"+maxTries+" : "+sub); + sub.add(blockNo, false); } - // If we are here we are going to retry - // Unregister from the old sub-segment before registering on the new. - seg.unregisterKey(key.getNodeKey()); - if(logMINOR) - Logger.minor(this, "Retrying block "+blockNo+" on "+this+" : tries="+tries+"/"+maxTries+" : "+sub); - sub.add(blockNo, false); } private SplitFileFetcherSubSegment getSubSegment(int retryCount) { From svn-build at freenetproject.org Wed Apr 2 01:48:38 2008 From: svn-build at freenetproject.org (svn-build at freenetproject.org) Date: Wed, 2 Apr 2008 01:48:38 +0000 (UTC) Subject: [freenet-cvs] Verification of r18907 on emu Message-ID: <20080402014838.B5926479A4B@freenetproject.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 toad has declared that 18907 is an 'indent only' commit: That's TRUE. orig/SplitFileFetcherSegment.class : eb08cd8ba821982e83d6784ccace1c1b4f233585 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQIVAwUBR/Ll9liZGG6DH7hRAQL1fhAAwHldlLZ0xueoPXShnPZvzd6315aM+Cel 1y2GWCXxGr0W3tMQuGlFBygrPMW5gnd8VQ4hv6FTtjc3s/MitwzESkLZ7+ml1ENb cYvlPmzZAGVmyv38W7TyRA4ZX/yD5V4ZGNr2blgOlFQXJLy14dE7ZWWWjVFxAQ4J xE+BHJDmal700LQmHLhWbcLDc2OcInG/gcsm5wGzKLdE4WFah4AGwPaHfKzSeEiL AzoCmVZX8xQmF3lNC1C/N+8s2w/cpxeFY0wwsnykaM7M3R9CDRU4mhcjSWUGkfbx hPJvb0ebNARGsiVwFjJtr2ehmB1HZVZx1yZXH3rOicEngEhnKSGjkSfrB2gGf1BI BZQUzXsSDPrYcFVK1D8uNaj4UuYERrChLYiMz1e7mtlXeuB7XyuFd88TWRnh5kxY 4F19TacLLKrHpTAzzqF5KC/XkFpQUxzbgp6rOG4upko777mAyGSXQF37bbGmcrJP SjEZN0U/OaR9F/3plSOgHSKl8uY4rZkIqloVlA/jUcPY+3yBNV7laeonOK1K/eSI gepE5johs1czoXSigKXxP/gXN7oCYsPjFeUSRqb0exIoL3va1oETyoJKiIpH1Yba kEP7NTJK9zO7NOXBH2BEqZoB6luZ+BPe8dvBbVxMaQRJDA4j7aRdH1HwpqyEzZBW +wpypgNONVw= =G9JO -----END PGP SIGNATURE----- From toad at freenetproject.org Wed Apr 2 11:37:32 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 11:37:32 +0000 (UTC) Subject: [freenet-cvs] r18910 - trunk/freenet/src/freenet/support Message-ID: <20080402113732.B6849479D2A@freenetproject.org> Author: toad Date: 2008-04-02 11:37:32 +0000 (Wed, 02 Apr 2008) New Revision: 18910 Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java Log: Logging Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java =================================================================== --- trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 01:38:48 UTC (rev 18909) +++ trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 11:37:32 UTC (rev 18910) @@ -161,7 +161,7 @@ continue; } if(ret != null && !ret.canRemove()) { - if(logMINOR) Logger.minor(this, "Returning (cannot remove): "+ret); + if(logMINOR) Logger.minor(this, "Returning (cannot remove): "+ret+" of "+index); return ret; } do { From toad at freenetproject.org Wed Apr 2 11:37:57 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 11:37:57 +0000 (UTC) Subject: [freenet-cvs] r18911 - trunk/freenet/src/freenet/support Message-ID: <20080402113757.554B4479D2A@freenetproject.org> Author: toad Date: 2008-04-02 11:37:57 +0000 (Wed, 02 Apr 2008) New Revision: 18911 Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java Log: Logging Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java =================================================================== --- trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 11:37:32 UTC (rev 18910) +++ trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 11:37:57 UTC (rev 18911) @@ -183,7 +183,7 @@ if((ret != null) && !ret.isCancelled()) break; } } - if(logMINOR) Logger.minor(this, "Returning "+ret); + if(logMINOR) Logger.minor(this, "Returning "+ret+" of "+index); ret.setParentGrabArray(null); return ret; } From toad at freenetproject.org Wed Apr 2 13:37:52 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 13:37:52 +0000 (UTC) Subject: [freenet-cvs] r18912 - trunk/freenet/src/freenet/node Message-ID: <20080402133752.9AF6F479E0B@freenetproject.org> Author: toad Date: 2008-04-02 13:37:52 +0000 (Wed, 02 Apr 2008) New Revision: 18912 Modified: trunk/freenet/src/freenet/node/SendableGet.java Log: No need to synchronize here ... and doing so was causing a deadlock! Modified: trunk/freenet/src/freenet/node/SendableGet.java =================================================================== --- trunk/freenet/src/freenet/node/SendableGet.java 2008-04-02 11:37:57 UTC (rev 18911) +++ trunk/freenet/src/freenet/node/SendableGet.java 2008-04-02 13:37:52 UTC (rev 18912) @@ -71,13 +71,11 @@ return false; } boolean logMINOR = Logger.shouldLog(Logger.MINOR, this); - synchronized (this) { if(isCancelled()) { if(logMINOR) Logger.minor(this, "Cancelled: "+this); onFailure(new LowLevelGetException(LowLevelGetException.CANCELLED), null, sched); return false; - } - } + } if(key == null) { if(!isCancelled()) { Logger.error(this, "Not cancelled but key "+keyNum+" is null?! on "+this); From toad at freenetproject.org Wed Apr 2 13:38:29 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 13:38:29 +0000 (UTC) Subject: [freenet-cvs] r18913 - trunk/freenet/src/freenet/node Message-ID: <20080402133829.62948479DCA@freenetproject.org> Author: toad Date: 2008-04-02 13:38:29 +0000 (Wed, 02 Apr 2008) New Revision: 18913 Modified: trunk/freenet/src/freenet/node/SendableGet.java Log: indenting Modified: trunk/freenet/src/freenet/node/SendableGet.java =================================================================== --- trunk/freenet/src/freenet/node/SendableGet.java 2008-04-02 13:37:52 UTC (rev 18912) +++ trunk/freenet/src/freenet/node/SendableGet.java 2008-04-02 13:38:29 UTC (rev 18913) @@ -71,36 +71,36 @@ return false; } boolean logMINOR = Logger.shouldLog(Logger.MINOR, this); - if(isCancelled()) { - if(logMINOR) Logger.minor(this, "Cancelled: "+this); - onFailure(new LowLevelGetException(LowLevelGetException.CANCELLED), null, sched); - return false; - } - if(key == null) { - if(!isCancelled()) { - Logger.error(this, "Not cancelled but key "+keyNum+" is null?! on "+this); - return false; - } + if(isCancelled()) { + if(logMINOR) Logger.minor(this, "Cancelled: "+this); + onFailure(new LowLevelGetException(LowLevelGetException.CANCELLED), null, sched); + return false; + } + if(key == null) { + if(!isCancelled()) { + Logger.error(this, "Not cancelled but key "+keyNum+" is null?! on "+this); + return false; } + } + try { try { - try { - core.realGetKey(key, ctx.localRequestOnly, ctx.cacheLocalRequests, ctx.ignoreStore); - } catch (LowLevelGetException e) { - onFailure(e, keyNum, sched); - return true; - } catch (Throwable t) { - Logger.error(this, "Caught "+t, t); - onFailure(new LowLevelGetException(LowLevelGetException.INTERNAL_ERROR), keyNum, sched); - return true; - } - // Don't call onSuccess(), it will be called for us by backdoor coalescing. - sched.succeeded(this.getParentGrabArray()); + core.realGetKey(key, ctx.localRequestOnly, ctx.cacheLocalRequests, ctx.ignoreStore); + } catch (LowLevelGetException e) { + onFailure(e, keyNum, sched); + return true; } catch (Throwable t) { Logger.error(this, "Caught "+t, t); onFailure(new LowLevelGetException(LowLevelGetException.INTERNAL_ERROR), keyNum, sched); return true; } + // Don't call onSuccess(), it will be called for us by backdoor coalescing. + sched.succeeded(this.getParentGrabArray()); + } catch (Throwable t) { + Logger.error(this, "Caught "+t, t); + onFailure(new LowLevelGetException(LowLevelGetException.INTERNAL_ERROR), keyNum, sched); return true; + } + return true; } public void schedule() { From toad at freenetproject.org Wed Apr 2 13:41:54 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 13:41:54 +0000 (UTC) Subject: [freenet-cvs] r18914 - trunk/freenet/src/freenet/node Message-ID: <20080402134154.892BD47995F@freenetproject.org> Author: toad Date: 2008-04-02 13:41:54 +0000 (Wed, 02 Apr 2008) New Revision: 18914 Modified: trunk/freenet/src/freenet/node/SendableRequest.java Log: comments: explain locking Modified: trunk/freenet/src/freenet/node/SendableRequest.java =================================================================== --- trunk/freenet/src/freenet/node/SendableRequest.java 2008-04-02 13:38:29 UTC (rev 18913) +++ trunk/freenet/src/freenet/node/SendableRequest.java 2008-04-02 13:41:54 UTC (rev 18914) @@ -8,6 +8,9 @@ /** * A low-level request which can be sent immediately. These are registered * on the ClientRequestScheduler. + * LOCKING: Because some subclasses may do wierd things like locking on an external object + * (see e.g. SplitFileFetcherSubSegment), if we do take the lock we need to do it last i.e. + * not call any subclass methods inside it. */ public abstract class SendableRequest implements RandomGrabArrayItem { From svn-build at freenetproject.org Wed Apr 2 13:58:03 2008 From: svn-build at freenetproject.org (svn-build at freenetproject.org) Date: Wed, 2 Apr 2008 13:58:03 +0000 (UTC) Subject: [freenet-cvs] Verification of r18913 on emu Message-ID: <20080402135803.1550D479DAF@freenetproject.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 toad has declared that 18913 is an 'indent only' commit: That's TRUE. orig/SendableGet.class : d18ed2893d6a7e25335262ac467da0612fdf89ed -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQIVAwUBR/OQ6liZGG6DH7hRAQIwrw//eD0j9vOAfpysOGHG74b7KBWsA7UGmgXN 7LCh75reE4+bOHEuIBc+/rMNR7X+1op1Pc3cb99y5FnZVr8zm2+IRO3GhevaCcpk aYV9WBC7LWbOxpUdopVhEFGIed5pWNShXLTYNSFP5xtZZ986Vh0cszPVgykb1LOC wVM6ALTqrE7ioWNx5mlk3S9gU5nhb8x6mdMXxVPBZvRlbEP12UF1zWRfdqKeNj3A 0vJomqk5D53Damy/xa5PK2ZaFH+x7dCubJiEmC76F0ye6usAFM/uUFAoTtsg+nyH Qq0pnqS1BMtl19X3vPgcvUetCIs/hw1kPBh2fGkvaaOniCQk+5G8UiRcb82/NgJV P21ZaRCubbYmpvRpJb30xd72FtR6V0SKriCil69md+x3z42aJl5qhmkwIWK28f7B PHh9Y5hGoP1LBifWY0iIJqRaEtarzwUh2XvfvPNGyFpPja6cDvM3KADC+eaaYJya USbEVfGzYScxmwC3FtLyl8mP0X0D06cTE16wRWzGYi8ZtdP1LMRXMoHEhwM/7Uda +3OwsFPKjItdLHoHpuo3ekvfzIisEyuHy2uU2OqBLZspTj2XZsTanSCI+d3CK/mz a461mPeJreiwlQjEv6ufjTgucYp/y11k7toRH8vmOVS1+SM6mg3TLryitSrKRSug P+dm9IKqAcs= =+8ma -----END PGP SIGNATURE----- From nextgens at freenetproject.org Wed Apr 2 14:31:43 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Wed, 2 Apr 2008 14:31:43 +0000 (UTC) Subject: [freenet-cvs] r18915 - trunk/freenet/src/freenet/node Message-ID: <20080402143143.94241479DCB@freenetproject.org> Author: nextgens Date: 2008-04-02 14:31:43 +0000 (Wed, 02 Apr 2008) New Revision: 18915 Modified: trunk/freenet/src/freenet/node/NodeClientCore.java Log: indent: test the scripts Modified: trunk/freenet/src/freenet/node/NodeClientCore.java =================================================================== --- trunk/freenet/src/freenet/node/NodeClientCore.java 2008-04-02 13:41:54 UTC (rev 18914) +++ trunk/freenet/src/freenet/node/NodeClientCore.java 2008-04-02 14:31:43 UTC (rev 18915) @@ -1151,3 +1151,4 @@ return requestStarters.countQueuedRequests(); } } + From svn-build at freenetproject.org Wed Apr 2 14:34:03 2008 From: svn-build at freenetproject.org (svn-build at freenetproject.org) Date: Wed, 2 Apr 2008 14:34:03 +0000 (UTC) Subject: [freenet-cvs] Verification of r18915 on emu Message-ID: <20080402143403.A6CA8479DE0@freenetproject.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 nextgens has declared that 18915 is an 'indent only' commit: That's TRUE. orig/NodeClientCore$1.class : 7dd3d8fe0a2d70332317704c99759722657f83e5 orig/NodeClientCore$2.class : e3dca32a84343b6cea4b61f148a7970b8a396b5f orig/NodeClientCore$3.class : 7c67df2d0bdaf5b984e6e4c413ce21dfc7f48bc1 orig/NodeClientCore$4.class : f1039ece3d17c4c63a69209372dbd095c08a01ef orig/NodeClientCore$5.class : d5d5cccfa680211927426039f763dd3ab3313cc3 orig/NodeClientCore$6.class : 9e3467d5ec563bef013fd779a46e235d407675db orig/NodeClientCore$7.class : 973444c1c2e60a4c0595c211dfc65d03dd48c9b2 orig/NodeClientCore$8.class : f6449e15224f0e4acef4d9baa6b99207e0616fc8 orig/NodeClientCore$9.class : a5d220f0757840f014a23650dcb761ece6ddad4c orig/NodeClientCore.class : 228b0191df192ad147b8b438064d3a801e97c473 orig/NodeClientCore$SimpleRequestSenderCompletionListener.class : 90aa6334deabc6bbb8629c5c93e02380165d8914 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQIVAwUBR/OZW1iZGG6DH7hRAQKybQ/+K9LHgNv4ejk80bT1Qx64FneDhlsrg9Q1 XMwb7LEa58zW06btqrvYxYwshwP0GGEbWuW4bRxV21FepoXNYHqe198fLoICirY4 OScJ3P/ISM3m3+ECQoLXwjYOIWnbTO8ziXplXLwt15maKYZPpv0JIUFSb8YSQ4I0 G5AngvwXlim4tnn+h2Dp9AD6JmCsuOh5E2V+AJDD7egnWf3N8AMMbiYZo+R3ZBsG vj25YxLjN7BGdAz+vRJ+MCX1+nN3GQNDQnaWgAnciggDZfERQCuin7tZyILkEEnw HButV7h18zcOc93lj8bFB7rhBjwtrp6hfSH3Lq/s+WcWyIMQbNjrF4LW7KNb/lbc fpS25gWwzZpok0rkftC9SaOvC360FtbRVpaRhvGjjD6ATAGVS+rl6NDzC3MZMsN9 bUkXgq2zEMra8Fg5owPOc6OLynfJvAwQATF2/0TBO6nm7hxotCOTMcq7S3c4G3d2 EsPPA8qgprqhwDsR5xZ3zsDlq2p83oGa+nImqo4UaBLix4UXJhQ6sAoX+ISdI/Pp DFwA6DVjwK3ZC5TomRruE7uFKt6SsdM2fMhabWxRJVr+dAfz5DdvrASuiIGwnc9N JlJbzzbCOIIQAR0vPKJG5GG9IbaM/UXN+JSF8awHKYZGep/9ErLRIJzKjeFrhxoL IQ1dH4EgaWU= =UQBA -----END PGP SIGNATURE----- From nextgens at freenetproject.org Wed Apr 2 14:34:12 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Wed, 2 Apr 2008 14:34:12 +0000 (UTC) Subject: [freenet-cvs] r18916 - trunk/freenet/src/freenet/node Message-ID: <20080402143412.C03B8479DE5@freenetproject.org> Author: nextgens Date: 2008-04-02 14:34:12 +0000 (Wed, 02 Apr 2008) New Revision: 18916 Modified: trunk/freenet/src/freenet/node/NodeClientCore.java Log: indent: revert Modified: trunk/freenet/src/freenet/node/NodeClientCore.java =================================================================== --- trunk/freenet/src/freenet/node/NodeClientCore.java 2008-04-02 14:31:43 UTC (rev 18915) +++ trunk/freenet/src/freenet/node/NodeClientCore.java 2008-04-02 14:34:12 UTC (rev 18916) @@ -1151,4 +1151,3 @@ return requestStarters.countQueuedRequests(); } } - From svn-build at freenetproject.org Wed Apr 2 14:36:25 2008 From: svn-build at freenetproject.org (svn-build at freenetproject.org) Date: Wed, 2 Apr 2008 14:36:25 +0000 (UTC) Subject: [freenet-cvs] Verification of r18916 on emu Message-ID: <20080402143625.41663479DF4@freenetproject.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 nextgens has declared that 18916 is an 'indent only' commit: That's TRUE. orig/NodeClientCore$1.class : 7dd3d8fe0a2d70332317704c99759722657f83e5 orig/NodeClientCore$2.class : e3dca32a84343b6cea4b61f148a7970b8a396b5f orig/NodeClientCore$3.class : 7c67df2d0bdaf5b984e6e4c413ce21dfc7f48bc1 orig/NodeClientCore$4.class : f1039ece3d17c4c63a69209372dbd095c08a01ef orig/NodeClientCore$5.class : d5d5cccfa680211927426039f763dd3ab3313cc3 orig/NodeClientCore$6.class : 9e3467d5ec563bef013fd779a46e235d407675db orig/NodeClientCore$7.class : 973444c1c2e60a4c0595c211dfc65d03dd48c9b2 orig/NodeClientCore$8.class : f6449e15224f0e4acef4d9baa6b99207e0616fc8 orig/NodeClientCore$9.class : a5d220f0757840f014a23650dcb761ece6ddad4c orig/NodeClientCore.class : 228b0191df192ad147b8b438064d3a801e97c473 orig/NodeClientCore$SimpleRequestSenderCompletionListener.class : 90aa6334deabc6bbb8629c5c93e02380165d8914 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQIVAwUBR/OZ6ViZGG6DH7hRAQIdkg//Tp5MsBP1WuUjaB1p2GAX5kmgVCYUBzGM WI5YJBbBRbh9dyctprZBD5xjer4UbklcMLpaWfIhBB3xkUlgghTL3JhBqflEYuPK dUnYlGkUdfAU/9Fi8FB3Hf9zIGc+i39BkWFOHP6b/+DYDJ+ERGL/fctDsPXBKOyY X9Lu//cnjJdaaap/Wlsync781EEajZs8rN2B4olnb5fumF6ETT3Egtkadc250wTy C+HCuDz5kn6atEJp6cS5E+06oFnzlhHxMtyx+FeZhdDx/gUZkMU+Ki/aKy1bmx9m eWpIkw5A1PxOxofaMmYFXpGbWHm+5IvEcG7L68rTKzzDobU0UKQXa28z3LGVKLMX aT+UOICfQ8i8+9gCE8WjcLCpDBHukcjpY2HlZ5vdCr7nbNaPlIx1bCDHVUWzCcGB BzklwZeRGwNpuw2xOaJ4G/y4DPBo9J4i38yGi0M5sGYxlmaU+3p9I9+e/4DZlfaY evrhOpSUK/sivjTYz/8GokMAN6DRxOBHW3v1K2cXT6wxmXi28OFBb6tpI3k2WYln Rbpf/fJAJnihNW0oqObE4LTiUf/GyUqO65GMJmSLepxqT5jtf7PBK2nahj1d+U8o yek0MFkYt1Qj+FcWsyaQNfV2WDIEhO89ErCI2UM0BSmWx1IoifOJCLvaZEEq5/h/ BeIUXPxb770= =rf2+ -----END PGP SIGNATURE----- From toad at freenetproject.org Wed Apr 2 16:38:15 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 16:38:15 +0000 (UTC) Subject: [freenet-cvs] r18917 - trunk/freenet/src/freenet/client/async Message-ID: <20080402163815.773C5479E30@freenetproject.org> Author: toad Date: 2008-04-02 16:38:15 +0000 (Wed, 02 Apr 2008) New Revision: 18917 Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java Log: locking comments Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java 2008-04-02 14:34:12 UTC (rev 18916) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java 2008-04-02 16:38:15 UTC (rev 18917) @@ -29,6 +29,7 @@ * When CRS asks it to run a request, returns one, and only unregisters if no more requests in this category. * * LOCKING: Synchronize on the parent segment. Nothing else makes sense w.r.t. nested locking. + * Note that SendableRequest will occasionally lock on (this). That lock is always taken last. */ public class SplitFileFetcherSubSegment extends SendableGet { From toad at freenetproject.org Wed Apr 2 16:38:51 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 16:38:51 +0000 (UTC) Subject: [freenet-cvs] r18918 - trunk/freenet/src/freenet/client/async Message-ID: <20080402163851.CD599479DF8@freenetproject.org> Author: toad Date: 2008-04-02 16:38:51 +0000 (Wed, 02 Apr 2008) New Revision: 18918 Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java Log: logging Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java =================================================================== --- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 16:38:15 UTC (rev 18917) +++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 16:38:51 UTC (rev 18918) @@ -398,6 +398,7 @@ return null; } for(;choosenPriorityClass <= RequestStarter.MINIMUM_PRIORITY_CLASS;choosenPriorityClass++) { + if(logMINOR) Logger.minor(this, "Using priority "+choosenPriorityClass); if(tryOfferedKeys) { if(offeredKeys[choosenPriorityClass].hasValidKeys(starter)) return offeredKeys[choosenPriorityClass]; From toad at freenetproject.org Wed Apr 2 16:48:40 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 16:48:40 +0000 (UTC) Subject: [freenet-cvs] r18919 - in trunk/freenet/src/freenet: client/async node support Message-ID: <20080402164840.D35A9479DAB@freenetproject.org> Author: toad Date: 2008-04-02 16:48:40 +0000 (Wed, 02 Apr 2008) New Revision: 18919 Modified: trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java trunk/freenet/src/freenet/client/async/SingleBlockInserter.java trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java trunk/freenet/src/freenet/node/SendableRequest.java trunk/freenet/src/freenet/node/SimpleSendableInsert.java trunk/freenet/src/freenet/support/RandomGrabArray.java trunk/freenet/src/freenet/support/RandomGrabArrayItem.java trunk/freenet/src/freenet/support/SectoredRandomGrabArray.java Log: Split isCancelled() into two methods: SendableRequest.isCancelled() : has the method been cancelled, or otherwise finished? RandomGrabArrayItem.isEmpty() : should the item be removed from the list? The latter is not the same as the former, in particular not having anything to send at this moment doesn't mean there is an error. Modified: trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java =================================================================== --- trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -115,6 +115,10 @@ return cancelled; } + public synchronized boolean isEmpty() { + return cancelled; + } + public Object getClient() { return parent.getClient(); } Modified: trunk/freenet/src/freenet/client/async/SingleBlockInserter.java =================================================================== --- trunk/freenet/src/freenet/client/async/SingleBlockInserter.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/client/async/SingleBlockInserter.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -280,10 +280,14 @@ cb.onFailure(new InsertException(InsertException.CANCELLED), this); } + public synchronized boolean isEmpty() { + return finished; + } + public synchronized boolean isCancelled() { return finished; } - + public boolean send(NodeClientCore core, RequestScheduler sched, Object keyNum) { // Ignore keyNum, key, since we're only sending one block. try { Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java =================================================================== --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -314,6 +314,12 @@ return cancelled; } } + + public boolean isEmpty() { + synchronized(segment) { + return cancelled || blockNums.isEmpty(); + } + } public boolean isSSK() { // Not allowed in splitfiles Modified: trunk/freenet/src/freenet/node/SendableRequest.java =================================================================== --- trunk/freenet/src/freenet/node/SendableRequest.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/node/SendableRequest.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -45,6 +45,11 @@ * be removed if it hasn't already been). */ public abstract boolean send(NodeClientCore node, RequestScheduler sched, Object keyNum); + /** If true, the request has been cancelled, or has completed, either way it need not + * be registered any more. isEmpty() on the other hand means there are no queued blocks. + */ + public abstract boolean isCancelled(); + /** Get client context object */ public abstract Object getClient(); Modified: trunk/freenet/src/freenet/node/SimpleSendableInsert.java =================================================================== --- trunk/freenet/src/freenet/node/SimpleSendableInsert.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/node/SimpleSendableInsert.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -91,6 +91,10 @@ public boolean isCancelled() { return finished; } + + public boolean isEmpty() { + return finished; + } public boolean canRemove() { return true; Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java =================================================================== --- trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -31,7 +31,7 @@ public void add(RandomGrabArrayItem req) { boolean logMINOR = Logger.shouldLog(Logger.MINOR, this); - if(req.isCancelled()) { + if(req.isEmpty()) { if(logMINOR) Logger.minor(this, "Is finished already: "+req); return; } @@ -76,7 +76,7 @@ RandomGrabArrayItem item = reqs[i]; if(item == null) { continue; - } else if(item.isCancelled()) { + } else if(item.isEmpty()) { reqs[i] = null; contents.remove(item); continue; @@ -148,7 +148,7 @@ continue; } oret = ret; - if(ret.isCancelled()) { + if(ret.isEmpty()) { if(logMINOR) Logger.minor(this, "Not returning because cancelled: "+ret); ret = null; } @@ -171,7 +171,7 @@ contents.remove(oret); oret = reqs[i]; // May as well check whether that is cancelled too. - } while (index > i && (oret == null || oret.isCancelled())); + } while (index > i && (oret == null || oret.isEmpty())); // Shrink array if((index < reqs.length / 4) && (reqs.length > MIN_SIZE)) { // Shrink array @@ -180,7 +180,7 @@ System.arraycopy(reqs, 0, r, 0, r.length); reqs = r; } - if((ret != null) && !ret.isCancelled()) break; + if((ret != null) && !ret.isEmpty()) break; } } if(logMINOR) Logger.minor(this, "Returning "+ret+" of "+index); Modified: trunk/freenet/src/freenet/support/RandomGrabArrayItem.java =================================================================== --- trunk/freenet/src/freenet/support/RandomGrabArrayItem.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/support/RandomGrabArrayItem.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -5,9 +5,12 @@ /** If true, will be automatically removed from the RGA, and not returned. * True indicates that the item is no longer needed for some reason - in a request, * usually that it has either been explicitly cancelled or that it is not needed - * because other queued blocks have been sufficient. LOCKING: Should hold as few - * locks as possible as this needs to be called while holding the RGA lock(s). */ - public boolean isCancelled(); + * because other queued blocks have been sufficient. If it becomes useful again, + * it must be re-registered. + * + * LOCKING: Should hold as few locks as possible as this needs to be called while + * holding the RGA lock(s). */ + public boolean isEmpty(); /** Can this item be removed from the queue after it has been handled? * Called immediately after finding a request to remove. Modified: trunk/freenet/src/freenet/support/SectoredRandomGrabArray.java =================================================================== --- trunk/freenet/src/freenet/support/SectoredRandomGrabArray.java 2008-04-02 16:38:51 UTC (rev 18918) +++ trunk/freenet/src/freenet/support/SectoredRandomGrabArray.java 2008-04-02 16:48:40 UTC (rev 18919) @@ -120,7 +120,7 @@ RandomGrabArrayItem item = rga.removeRandom(excluding); if(logMINOR) Logger.minor(this, "RGA has picked "+x+"/"+grabArrays.length+": "+item+ - (item==null ? "" : (" cancelled="+item.isCancelled()+")"))+" rga.isEmpty="+rga.isEmpty()); + (item==null ? "" : (" cancelled="+item.isEmpty()+")"))+" rga.isEmpty="+rga.isEmpty()); // Just because the item is cancelled does not necessarily mean the whole client is. // E.g. a segment may return cancelled because it is decoding, that doesn't mean // other segments are cancelled. So just go around the loop in that case. @@ -147,7 +147,7 @@ } continue; } - if(item.isCancelled()) continue; + if(item.isEmpty()) continue; return item; } } From toad at freenetproject.org Wed Apr 2 17:11:57 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 17:11:57 +0000 (UTC) Subject: [freenet-cvs] r18920 - trunk/freenet/src/freenet/client/async Message-ID: <20080402171157.3D9C8479331@freenetproject.org> Author: toad Date: 2008-04-02 17:11:56 +0000 (Wed, 02 Apr 2008) New Revision: 18920 Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java Log: logging Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java =================================================================== --- trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java 2008-04-02 16:48:40 UTC (rev 18919) +++ trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java 2008-04-02 17:11:56 UTC (rev 18920) @@ -70,7 +70,7 @@ if(holes < 0) Logger.error(this, "holes = "+holes+" !!"); logMINOR = Logger.shouldLog(Logger.MINOR, this); if(logMINOR) - Logger.minor(this, "Adding key "+key+" remove time "+removeTime+" startPtr="+startPtr+" endPtr="+endPtr+" keys.length="+keys.length); + Logger.minor(this, "Adding key "+key+" client "+client+" remove time "+removeTime+" startPtr="+startPtr+" endPtr="+endPtr+" keys.length="+keys.length); int ptr = endPtr; if(endPtr > startPtr) { if(logMINOR) Logger.minor(this, "endPtr > startPtr"); @@ -157,7 +157,7 @@ if(time <= 0) return false; // We won't find it. logMINOR = Logger.shouldLog(Logger.MINOR, this); if(holes < 0) Logger.error(this, "holes = "+holes+" !!"); - if(logMINOR) Logger.minor(this, "Remove key "+key+" at time "+time+" startPtr="+startPtr+" endPtr="+endPtr+" holes="+holes+" keys.length="+keys.length); + if(logMINOR) Logger.minor(this, "Remove key "+key+" client "+client+" at time "+time+" startPtr="+startPtr+" endPtr="+endPtr+" holes="+holes+" keys.length="+keys.length); int idx = -1; if(endPtr > startPtr) { idx = Fields.binarySearch(times, time, startPtr, endPtr); From toad at freenetproject.org Wed Apr 2 19:55:50 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 19:55:50 +0000 (UTC) Subject: [freenet-cvs] r18921 - trunk/freenet/src/freenet/client/async Message-ID: <20080402195550.3DDB9479A4B@freenetproject.org> Author: toad Date: 2008-04-02 19:55:49 +0000 (Wed, 02 Apr 2008) New Revision: 18921 Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java Log: Prevent race condition resulting in losing blocks immediately after scheduling them. Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java =================================================================== --- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 17:11:56 UTC (rev 18920) +++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 19:55:49 UTC (rev 18921) @@ -329,6 +329,9 @@ prio.add(clientGrabber); if(logMINOR) Logger.minor(this, "Registering retry count "+rc+" with prioclass "+priorityClass+" on "+clientGrabber+" for "+prio); } + // SectoredRandomGrabArrayWithInt and lower down have hierarchical locking and auto-remove. + // To avoid a race condition it is essential to mirror that here. + synchronized(clientGrabber) { // Request SectoredRandomGrabArrayWithObject requestGrabber = (SectoredRandomGrabArrayWithObject) clientGrabber.getGrabber(client); if(requestGrabber == null) { @@ -338,6 +341,7 @@ clientGrabber.addGrabber(client, requestGrabber); } requestGrabber.add(cr, req); + } } /** @@ -492,7 +496,7 @@ // Whether it is running a request, waiting to execute, or waiting on the // cooldown queue, ULPRs and backdoor coalescing should still be active. } - if(logMINOR) Logger.minor(this, "removeFirst() returning "+req); + if(logMINOR) Logger.minor(this, "removeFirst() returning "+req+" of "+req.getClientRequest()); return req; } } From dbkr at freenetproject.org Wed Apr 2 22:01:06 2008 From: dbkr at freenetproject.org (dbkr at freenetproject.org) Date: Wed, 2 Apr 2008 22:01:06 +0000 (UTC) Subject: [freenet-cvs] r18922 - trunk/freenet/src/freenet/client/async Message-ID: <20080402220106.CA4A1479DD9@freenetproject.org> Author: dbkr Date: 2008-04-02 22:01:06 +0000 (Wed, 02 Apr 2008) New Revision: 18922 Modified: trunk/freenet/src/freenet/client/async/USKManager.java Log: Fix logging confusion (assuming ERROR was intended, change if not) Modified: trunk/freenet/src/freenet/client/async/USKManager.java =================================================================== --- trunk/freenet/src/freenet/client/async/USKManager.java 2008-04-02 19:55:49 UTC (rev 18921) +++ trunk/freenet/src/freenet/client/async/USKManager.java 2008-04-02 22:01:06 UTC (rev 18922) @@ -212,7 +212,7 @@ USK clear = origUSK.clearCopy(); USKCallback[] callbacks = (USKCallback[]) subscribersByClearUSK.get(clear); if(callbacks == null){ // maybe we should throw something ? shall we allow multiple unsubscriptions ? - if(Logger.shouldLog(Logger.MINOR, this)){ + if(Logger.shouldLog(Logger.ERROR, this)){ Logger.error(this, "The callback is null! it has been already unsubscribed, hasn't it?"); new NullPointerException("The callback is null! it has been already unsubscribed, hasn't it?").printStackTrace(); } From dbkr at freenetproject.org Wed Apr 2 22:20:54 2008 From: dbkr at freenetproject.org (dbkr at freenetproject.org) Date: Wed, 2 Apr 2008 22:20:54 +0000 (UTC) Subject: [freenet-cvs] r18923 - trunk/freenet/src/freenet/support/io Message-ID: <20080402222054.96CCC479CF0@freenetproject.org> Author: dbkr Date: 2008-04-02 22:20:54 +0000 (Wed, 02 Apr 2008) New Revision: 18923 Modified: trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java Log: This doesn't need to be resolved to an absolute directory: doing so means we end up writing an absolute dir in the config file. Modified: trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java =================================================================== --- trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java 2008-04-02 22:01:06 UTC (rev 18922) +++ trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java 2008-04-02 22:20:54 UTC (rev 18923) @@ -42,7 +42,7 @@ public PersistentTempBucketFactory(File dir, String prefix, RandomSource rand) throws IOException { boolean logMINOR = Logger.shouldLog(Logger.MINOR, this); - this.dir = FileUtil.getCanonicalFile(dir); + this.dir = dir; this.rand = rand; this.fg = new FilenameGenerator(rand, false, dir, prefix); if(!dir.exists()) { From toad at freenetproject.org Wed Apr 2 23:06:02 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 23:06:02 +0000 (UTC) Subject: [freenet-cvs] r18924 - trunk/freenet/src/freenet/client/async Message-ID: <20080402230602.778C13882EC@freenetproject.org> Author: toad Date: 2008-04-02 23:06:02 +0000 (Wed, 02 Apr 2008) New Revision: 18924 Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java Log: Logging Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java =================================================================== --- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 22:20:54 UTC (rev 18923) +++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java 2008-04-02 23:06:02 UTC (rev 18924) @@ -379,7 +379,7 @@ return priority; } - if(logMINOR) Logger.debug(this, "Priority "+priority+" is null (fuzz = "+fuzz+ ')'); + if(logMINOR) Logger.minor(this, "Priority "+priority+" is null (fuzz = "+fuzz+ ')'); fuzz++; } From toad at freenetproject.org Wed Apr 2 23:45:03 2008 From: toad at freenetproject.org (toad at freenetproject.org) Date: Wed, 2 Apr 2008 23:45:03 +0000 (UTC) Subject: [freenet-cvs] r18925 - trunk/freenet/src/freenet/support Message-ID: <20080402234503.2151C479929@freenetproject.org> Author: toad Date: 2008-04-02 23:45:02 +0000 (Wed, 02 Apr 2008) New Revision: 18925 Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java Log: Fix losing queued blocks: We forgot to setParentGrabArray(null) in the optimised path. This particular bug was present since the coalescing changes went in. Modified: trunk/freenet/src/freenet/support/RandomGrabArray.java =================================================================== --- trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 23:06:02 UTC (rev 18924) +++ trunk/freenet/src/freenet/support/RandomGrabArray.java 2008-04-02 23:45:02 UTC (rev 18925) @@ -107,6 +107,7 @@ reqs[chosenIndex] = reqs[index-1]; } index--; + ret.setParentGrabArray(null); } if(logMINOR) Logger.minor(this, "Chosen random item "+ret+" out of "+valid); return ret; @@ -127,6 +128,7 @@ } index--; if(logMINOR) Logger.minor(this, "No valid or excluded items after removing "+ret); + ret.setParentGrabArray(null); } else { if(logMINOR) Logger.minor(this, "No valid or excluded items apart from "+ret); } From nextgens at freenetproject.org Thu Apr 3 01:19:52 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Thu, 3 Apr 2008 01:19:52 +0000 (UTC) Subject: [freenet-cvs] r18926 - trunk/apps/new_installer/res/firefox_profile/chrome Message-ID: <20080403011952.3122E479D77@freenetproject.org> Author: nextgens Date: 2008-04-03 01:19:51 +0000 (Thu, 03 Apr 2008) New Revision: 18926 Modified: trunk/apps/new_installer/res/firefox_profile/chrome/userChrome.css Log: new_installer: re-add the preferences panel to firefox (patch from dbkr) Modified: trunk/apps/new_installer/res/firefox_profile/chrome/userChrome.css =================================================================== --- trunk/apps/new_installer/res/firefox_profile/chrome/userChrome.css 2008-04-02 23:45:02 UTC (rev 18925) +++ trunk/apps/new_installer/res/firefox_profile/chrome/userChrome.css 2008-04-03 01:19:51 UTC (rev 18926) @@ -1,2 +1,4 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); -#helpMenu, #file-menu menuitem[label="Work Offline"], #edit-menu menuitem[label="Preferences"], #navigator-toolbox menu[label="Tools"], #view-menu menuitem[label="Status Bar"], #view-menu menu[label="Sidebar"], #view-menu menu[label="Toolbars"], #bookmarks-menu { display: none !important; } +#navigator-toolbox menu[label="Tools"], #view-menu menuitem[label="Status Bar"], #view-menumenu[label="Sidebar"], #view-menu menu[label="Toolbars"], #bookmarks-menu { display: none!important; } + +#helpMenu, #file-menu menuitem[label="Work Offline"], #navigator-toolbox menu[label="Tools"],#view-menu menuitem[label="Status Bar"], #view-menu menu[label="Sidebar"], #view-menumenu[label="Toolbars"], #bookmarks-menu, #enableJavaRow, #enableJavaScriptRow, #cookiesGroup,#connectionGroup, #encryptionTab { display: none !important; } From NEOatNHNG at freenetproject.org Thu Apr 3 03:17:57 2008 From: NEOatNHNG at freenetproject.org (NEOatNHNG at freenetproject.org) Date: Thu, 3 Apr 2008 03:17:57 +0000 (UTC) Subject: [freenet-cvs] r18927 - in trunk/website: includes pages/de Message-ID: <20080403031757.B61BF479D67@freenetproject.org> Author: NEOatNHNG Date: 2008-04-03 03:17:57 +0000 (Thu, 03 Apr 2008) New Revision: 18927 Added: trunk/website/pages/de/download.php Modified: trunk/website/includes/download.inc.php trunk/website/pages/de/menu.php Log: German translation of the download page Modified: trunk/website/includes/download.inc.php =================================================================== --- trunk/website/includes/download.inc.php 2008-04-03 01:19:51 UTC (rev 18926) +++ trunk/website/includes/download.inc.php 2008-04-03 03:17:57 UTC (rev 18927) @@ -2,6 +2,7 @@ $pages = array( -'en' => 'pages/en/download.php') +'en' => 'pages/en/download.php', +'de' => 'pages/de/download.php') ?> \ No newline at end of file Added: trunk/website/pages/de/download.php =================================================================== --- trunk/website/pages/de/download.php (rev 0) +++ trunk/website/pages/de/download.php 2008-04-03 03:17:57 UTC (rev 18927) @@ -0,0 +1,249 @@ +

Freenet 0.7 herunterladen

+

Wichtiger Hinweis f?r Erstbenutzer

+

+In einer idealen Welt w?rden sich Freenet-Benutzer nur mit Leuten verbinden +denen sie trauen (besuchen Sie Ihre Freunde-Seite wenn Ihr Knoten installiert +wurde). In der Praxis m?ssen Sie, wenn Sie niemanden kennen der schon im Freenet +ist, den unsicheren Modus einschalten, damit Ihr Knoten sich automatisch mit +anderen Knoten verbindet (dies bietet weniger Sicherheit). Es kann ein paar +Minuten dauern, bis Ihr Knoten gen?gend Verbindungen mit anderen Knoten hat um +Freenet benutzbar zu machen und die Geschwindigkeit wird sich wahrscheinlich +danach noch verbessern. Die beste Geschwindigkeit erreichen Sie, wenn Sie ihren +Knoten rund um die Uhr laufen lassen k?nnen. +

+ +

Wenn Sie eine Firewall oder ein NAT-Ger?t (z.B. ein Router) haben, klicken +Sie here um ein paar Informationen zu +bekommen.

+ +
+

Installations-Anweisungen

+Wenn Sie auf Freenet 0.7 installieren klicken, sollte das +Installations-Programm starten. Wenn es das aus irgend einem Grund nicht +funktioniert, k?nnen Sie es mit der plattformspezifischen Anleitung versuchen +(Windows-Anleitung, MacOSX-Anleitung, Anleitung f?r Linux und Unix-?hnliche +Systeme). +
+ + + +
+

Windows

+- Laden Sie das Freenet-Webinstallationsprogramm (3MB) herunter und f?hren Sie es aus +

+Es wird automatisch Freenet und andere ben?tigte Komponenten f?r Sie +installieren. Wenn dies abgeschlossen ist, wird sich Ihr Standard-Browser ?ffnen +und Freenets webbasierte Oberfl?che anzeigen.
+(Freenet enth?lt weder Spionage- noch Werbe-Software, es ist Freie +Software! Der Quellcode kann ?ffentlich eingesehen werden)
+
+Freenet funktioniert am besten mit +
    +
  • Windows XP Professional oder
  • +
  • Windows 2000 Professional
  • +
+Windows 95, 98 und ME (Millennium Edition) funktionieren nicht so gut; speziell +das Instalationsprogramm wird auf diesen Betriebssystemen nicht funktionieren. +Wir empfehlen Ihnen au?erdem dringend, kein Betriebssystem zu benutzen, f?r +welches die Betreuung der Sicherheit beendet wurde.
+Wenn das Installationsprogramm nicht funktioniert (bei schweren Fehlern) lassen +Sie uns dies bitte wissen, installieren Sie Java und versuchen Sie es mit der +Anleitung f?r Linux. +
+ +
+

Mac OSX

+Installieren Sie Freenet 0.7 indem Sie JavaWebStart benutzen.
+Wenn dies nicht funktioniert, versuchen Sie es mit der Anleitung f?r Linux. +
+ +
+

Linux und andere Unix-?hnliche Systeme

+Sie brauchen ein aktuelles Java Runtime Environment (JRE - Java +Ausf?hrungs-Umgebung). Die besten Ergebnisse haben wir mit Suns Java Runtime +Environment erzielt, welches von http://java.com/de/ heruntergeladen werden kann.
+Java Version 1.4.2 und h?her wird funktionieren. Seien Sie sich jedoch bewusst, +dass in den Versionen vor Java 1.5 Update 4 Sicherheitsl?cken im Applet sind. +Generell empfehlen wir die neuste Version zu benutzen. + +

Geben Sie folgendes in einer Kommandozeile ein:

+
+wget http://downloads.freenetproject.org/alpha/installer/new_installer.jar
+java -jar new_installer.jar
+
+ +

Oder folgendes, wenn es sich um ein System ohne grafische Oberfl?che handelt: +

+
+wget http://downloads.freenetproject.org/alpha/installer/freenet07.tar.gz
+cat freenet07.tar.gz | gzip -d | tar xv
+cd freenet
+./run.sh start
+
+

Lesen Sie die H?ufig gestellten Fragen (FAQ) +um herauszufinden wie man den Web-Zugriff von einem entfernten Computer +aktiviert.

+ +
+ + + +

Nach der Installation

+ +

Warten Sie ein paar Sekunden nachdem Sie Freenet gestartet haben um es +hochfahren zu lassen (auf einem langsamen Computer k?nnte es sein, dass Sie 30 +Sekunden warten m?ssen) und besuchen Sie

+
http://127.0.0.1:8888/wizard/
+

in Ihrem Web-Browser um auf Freenets Benutzeroberfl?che zuzugreifen. Freenet +wird Ihnen ein paar Fragen stellen und dann zur Startseite des Knotens,

+
http://127.0.0.1:8888/
+

gehen, von wo aus Sie Freesites aufrufen, Freunde hinzuf?gen usw. k?nnen. +Hoffentlich ?ffnet das Installationsprogramm die Seite f?r Sie, sodass Sie dies +hier gar nicht lesen.

+ +

Offline-Installation

+

+Manche Leute k?nnten aufgrund von Zensur Probleme haben sich mit unseren Servern +zu verbinden. Wir haben eine Offline-Version des Installationsprogramms parat: +Freenet 0.7 +Offline-Installationsprogramm. Sie sollten es nur benutzen wenn Sie es +m?ssen (es muss mehr heruntergeladen werden und k?nnte nicht so aktuell wie +die Online-Version sein). +

+ +

Es funktioniert, was mache ich jetzt?

+ +

+Sie m?ssen sich verbinden. Der Assistent wird Sie fragen ob Sie den unsicheren +Modus einschalten m?chten. Wenn Sie das tun, sollte Ihr Freenet-Knoten sich +automatisch im Netzwerk bekannt machen und innerhalb von ein paar Minuten +funktionieren. Wenn nicht, wird Freenet erst dann funktionieren wenn Sie ein +paar Freunde auf der Freunde-Seite hinzuf?gen. +

+

+Wenn Sie Leute kennen, die Freenet benutzen, auch wenn Sie den unsicheren +Modus eingeschaltet haben, k?nnen Sie Ihre Sicherheit verbessern und dabei +helfen das Netzwerk auszubauen, indem Sie sich mit ihren Knoten verbinden. +Fragen Sie sie nach ihren Referenzen und geben Sie ihnen Ihre. Wenn Sie die +Adresse +

+
http://127.0.0.1:8888/friends/
+

+in Ihrem Browser besuchen, k?nnen Sie unten Ihre Referenz sehen und Sie k?nnen +die Referenz von Anderen hinzuf?gen, entweder durch Kopieren und Einf?gen der +Referenz selbst oder indem Sie Freenet eine URL oder Datei angeben, welche die +Referenz enth?lt. +

+

Hinweis: Sie m?ssen deren Referenz hinzuf?gen und die m?ssen Ihre hinzuf?gen +bevor Ihre Knoten miteinander kommunizieren k?nnen.

+

+Wenn Sie niemanden kennen der Freenet benutzt, schalten Sie den unsicheren +Modus ein (auch Opennet genannt; der Start-Assistent wird Sie danach fragen) und +warten Sie ein paar Minuten damit der Knoten sich bekannt machen kann und +Freenet wird von selbst funktionieren. +

+ +

Ich bin verbunden, was mache ich jetzt?

+ +

Links zu ein paar Seiten k?nnen Sie auf der FProxy-Startseite finden welche +sich hier befindet:

+
http://127.0.0.1:8888/
+

Es gibt Links zu ein paar +Programmen +von Drittanbietern f?r Freenet.

+ +

Es funktioniert nicht, was nun?

+

+Wenn Sie Probleme dabei haben Freenet zu installieren oder zu benutzen, +kontaktieren Sie uns bitte auf der Support-Mailing-Liste (Englisch) (hier +abonnieren) oder kommen Sie in unseren +IRC-Kanal #freenet (Englisch) auf irc.freenode.net. Deutschsprachige Unterst?tzung +finden Sie im deutschen Kanal #freenet-de im selben Netzwerk. +

+ +

Hardware-Anforderungen

+

+Minimum: 400MHz Pentium 2, mit mindestens 192MB RAM.
+Empfohlen: 1GHz-Prozessor oder schneller mit 256MB + +RAM oder mehr (besonders dann wenn Sie Windows XP benutzen). +

+

Aktualisierungen

+

+Freenet bietet einen ?ber Freenet arbeitenden Aktualisierungs-Mechanismus; wir +empfehlen diesen statt der Aktualisierungs-Skripte zu benutzen. Sie k?nnen Ihren +Knoten jedoch auch manuell Aktualisieren: +

+
    +
  • Windows-Benutzer k?nnen auf die neuste stabile Freenet-Version +aktualisieren indem sie auf die „update.cmd“ im Freenet-Ordner +klicken.
  • +
  • Linux-Benutzer k?nnen auf ?hnliche Weise Aktualisieren indem Sie das +Shell-Skript update.sh im „freenet/bin/“-Verzeichnis ausf?hren.
  • +
+

Quellcode

+

Sie k?nnen den aktuellsten Quellcode aus dem SVN beziehen:

+
svn co --ignore-externals http://freenet.googlecode.com/svn/trunk/freenet/
+
+

+Hinweis: Hier k?nnen Sie +immernoch die Download-Seite f?r Freenet 0.5 finden, 0.5 wird jedoch nicht mehr +offiziell unterst?tzt oder weiterentwickelt und 0.7 bietet viele drastische +Verbesserungen, nicht zuletzt, dass es deutlich schneller ist. +

Modified: trunk/website/pages/de/menu.php =================================================================== --- trunk/website/pages/de/menu.php 2008-04-03 01:19:51 UTC (rev 18926) +++ trunk/website/pages/de/menu.php 2008-04-03 03:17:57 UTC (rev 18927) @@ -5,28 +5,28 @@ 'Was ist Freenet?' => '/whatis', 'Philosophie' => '/philosophy', 'Neuigkeiten' => '/news', - 'Download' => '/download', + 'Herunterladen' => '/download', 'Dokumentation' => '/documentation', 'sub1' => array( - 'Installieren' =>'/install', - 'Verbinden' => '/connect', - 'Inhalte' => '/content', - 'Verstehen' => '/understand', - 'Freemail' => '/freemail', - 'Frost' => '/frost', - 'jSite' => '/jsite', - 'Thaw' => '/thaw', - 'FAQ' => '/faq', - 'Wiki' => 'http://wiki.freenetproject.org/'), + 'Installieren' =>'/install', + 'Verbinden' => '/connect', + 'Inhalte' => '/content', + 'Verstehen' => '/understand', + 'Freemail' => '/freemail', + 'Frost' => '/frost', + 'jSite' => '/jsite', + 'Thaw' => '/thaw', + 'FAQ' => '/faq', + 'Wiki' => 'http://wiki.freenetproject.org/'), 'Spenden' => '/donate', 'Sponsoren' => '/sponsors', 'Entwickler' => '/developer', 'sub2' => array( - 'Was ist Neu?' => 'http://cia.navi.cx/stats/Project/freenet/', - 'Spezifikationen' => 'http://wiki.freenetproject.org/FreenetSpecifications', + 'Was ist Neu?' => 'http://cia.navi.cx/stats/Project/freenet/', + 'Spezifikationen' => 'http://wiki.freenetproject.org/FreenetSpecifications', 'Im SVN stöbern' => 'http://emu.freenetproject.org/cgi-bin/viewcvs.cgi/trunk/', - 'SVN Repository' => 'http://freenet.googlecode.com/svn/trunk/', - 'Bug Tracker' => 'https://bugs.freenetproject.org/'), + 'SVN Repository' => 'http://freenet.googlecode.com/svn/trunk/', + 'Bug Tracker' => 'https://bugs.freenetproject.org/'), 'Mailing-Listen' => '/lists', 'Tools' => '/tools', 'Aufs?tze' => '/papers', From NEOatNHNG at freenetproject.org Thu Apr 3 03:32:47 2008 From: NEOatNHNG at freenetproject.org (NEOatNHNG at freenetproject.org) Date: Thu, 3 Apr 2008 03:32:47 +0000 (UTC) Subject: [freenet-cvs] r18928 - trunk/website/pages/de Message-ID: <20080403033247.2ED8E479DAB@freenetproject.org> Author: NEOatNHNG Date: 2008-04-03 03:32:46 +0000 (Thu, 03 Apr 2008) New Revision: 18928 Modified: trunk/website/pages/de/download.php Log: Fix typos Modified: trunk/website/pages/de/download.php =================================================================== --- trunk/website/pages/de/download.php 2008-04-03 03:17:57 UTC (rev 18927) +++ trunk/website/pages/de/download.php 2008-04-03 03:32:46 UTC (rev 18928) @@ -13,7 +13,7 @@

Wenn Sie eine Firewall oder ein NAT-Ger?t (z.B. ein Router) haben, klicken -Sie here um ein paar Informationen zu +Sie hier um ein paar Informationen zu bekommen.

@@ -21,7 +21,7 @@ Wenn Sie auf Freenet 0.7 installieren klicken, sollte das -Installations-Programm starten. Wenn es das aus irgend einem Grund nicht +Installations-Programm starten. Wenn das aus irgend einem Grund nicht funktioniert, k?nnen Sie es mit der plattformspezifischen Anleitung versuchen (Windows-Anleitung, IRC-Kanal #freenet (Englisch) auf irc.freenode.net. Deutschsprachige Unterst?tzung finden Sie im deutschen Kanal #freenet-de im selben Netzwerk. +>#freenet-de auf dem selben Netzwerk.

Hardware-Anforderungen

From nextgens at freenetproject.org Thu Apr 3 05:59:44 2008 From: nextgens at freenetproject.org (nextgens at freenetproject.org) Date: Thu, 3 Apr 2008 05:59:44 +0000 (UTC) Subject: [freenet-cvs] r18929 - in trunk/plugins: HelloWorld Librarian MDNSDiscovery SNMP TestGallery XMLLibrarian Message-ID: <20080403055944.A0AC13882EC@freenetproject.org> Author: nextgens Date: 2008-04-03 05:59:44 +0000 (Thu, 03 Apr 2008) New Revision: 18929 Modified: trunk/plugins/HelloWorld/HelloWorld.java trunk/plugins/Librarian/Librarian.java trunk/plugins/MDNSDiscovery/MDNSDiscovery.java trunk/plugins/SNMP/SNMP.java trunk/plugins/TestGallery/TestGallery.java trunk/plugins/XMLLibrarian/XMLLibrarian.java Log: synchronization fixes in plugins Modified: trunk/plugins/HelloWorld/HelloWorld.java =================================================================== --- trunk/plugins/HelloWorld/HelloWorld.java 2008-04-03 03:32:46 UTC (rev 18928) +++ trunk/plugins/HelloWorld/HelloWorld.java 2008-04-03 05:59:44 UTC (rev 18929) @@ -6,7 +6,7 @@ public class HelloWorld implements FredPlugin { - boolean goon = true; + private volatile boolean goon = true; PluginRespirator pr; public void terminate() { Modified: trunk/plugins/Librarian/Librarian.java =================================================================== --- trunk/plugins/Librarian/Librarian.java 2008-04-03 03:32:46 UTC (rev 18928) +++ trunk/plugins/Librarian/Librarian.java 2008-04-03 05:59:44 UTC (rev 18929) @@ -24,7 +24,7 @@ private static final String DEFAULT_INDEX_URI = "USK at 7H66rhYmxIFgMyw5Dl11JazXGHPhp7dSN7WMa1pbtEo,jQHUQUPTkeRcjmjgrc7t5cDRdDkK3uKkrSzuw5CO9uk,AQACAAE/ENTRY.POINT/11/librarian.idx"; - boolean goon = true; + private volatile boolean goon = true; Random rnd = new Random(); PluginRespirator pr; private static final String plugName = "Librarian"; Modified: trunk/plugins/MDNSDiscovery/MDNSDiscovery.java =================================================================== --- trunk/plugins/MDNSDiscovery/MDNSDiscovery.java 2008-04-03 03:32:46 UTC (rev 18928) +++ trunk/plugins/MDNSDiscovery/MDNSDiscovery.java 2008-04-03 05:59:44 UTC (rev 18929) @@ -32,7 +32,7 @@ */ public class MDNSDiscovery implements FredPlugin, FredPluginHTTP { public static String freenetServiceType = "_freenet._udp.local."; - private boolean goon = true; + private volatile boolean goon = true; private JmDNS jmdns; private Config nodeConfig; private LinkedList ourAdvertisedServices, ourDisabledServices, foundNodes; @@ -44,7 +44,7 @@ public synchronized void terminate() { jmdns.close(); goon = false; - notify(); + notifyAll(); } public void runPlugin(PluginRespirator pr) { Modified: trunk/plugins/SNMP/SNMP.java =================================================================== --- trunk/plugins/SNMP/SNMP.java 2008-04-03 03:32:46 UTC (rev 18928) +++ trunk/plugins/SNMP/SNMP.java 2008-04-03 05:59:44 UTC (rev 18929) @@ -7,7 +7,7 @@ public class SNMP implements FredPlugin{ - boolean goon=true; + private volatile boolean goon=true; PluginRespirator pr; private int port; private String bindto; Modified: trunk/plugins/TestGallery/TestGallery.java =================================================================== --- trunk/plugins/TestGallery/TestGallery.java 2008-04-03 03:32:46 UTC (rev 18928) +++ trunk/plugins/TestGallery/TestGallery.java 2008-04-03 05:59:44 UTC (rev 18929) @@ -15,7 +15,7 @@ public class TestGallery implements FredPlugin,