Commit Graph

1383 Commits

Author SHA1 Message Date
zzz
e62b76d2cc Big refactor of the router console update subsystem, in preparation for
implementing out-of-console updaters like i2psnark.

- Add new update interfaces in net.i2p.update
- All update implementations moved to routerconsole update/
- Implement an UpdateManager that registers with the RouterContext
- UpdateManager handles multiple types of things to update
  (router, plugins, news, ...) and methods of updating (HTTP, ...)
- UpdateManager maintains list of installed, downloaded, and available versions of everything
- Define Updaters that can check for a new version and/or download an item
- Individual Updaters register with the UpdateManager obtained from
  I2PAppContext, identifying the type of update item and
  update method they can handle.
- Updaters need only core libs, no router.jar or routerconsole access required.
- All checks and updates are initiated via the UpdateManager.
- All status on checks and updates in-progress or completed are
  obtained from the UpdateManager. No more use of System properties
  to broadcast update state.
- All update and checker tasks are intantiated on demand and threaded;
  no more static references left over.
- Split out the Runners and Checkers from the Handlers and make the inheritance more sane.
- No more permanent NewsFetcher thread; run on the SimpleScheduler queue
  and thread a checker task only to fetch the news.
- No more static NewsFetcher instance in routerconsole.
  All helper methods that are still required are moved to NewsHelper.

The UpdateManager implements the policy for when to check and download.
All requests go through the UpdateManager.

For each update type, there's several parts:
    - The xxxUpdateHandler implements the Updater
    - The xxxUpdateChecker implements the UpdateTask for checking
    - The xxxUpdateRunner implements the UpdateTask for downloading

New and moved classes:

web/				update/
----				-------
new				ConsoleUpdateManager.java

new				PluginUpdateChecker.java from PluginUpdateChecker
PluginUpdateChecker 		-> PluginUpdateHandler.java
PluginUpdateHandler.java	-> PluginUpdateRunner

new				UnsignedUpdateHandler.java
UnsignedUpdateHandler		->  UnsignedUpdateRunner.java
new				UnsignedUpdateChecker from NewsFetcher

UpdateHandler.java remains
new				UpdateHandler.java
new				UpdateRunner.java from UpdateHandler

move				NewsHandler from NewsFetcher
new				NewsFetcher
new				NewsTimerTask

new				DummyHandler


Initial checkin. Unfinished, untested, unpolished.
2012-06-18 22:09:45 +00:00
zzz
fe2b97c941 propagate from branch 'i2p.i2p' (head 27fc588723d201c76ea9c18a6c715b11efcb5b0e)
to branch 'i2p.i2p.zzz.dhtsnark' (head cae6d265415ba9ed4242b3fc888ffcf2a1c1b2f2)
2012-06-11 20:29:19 +00:00
zzz
7469e9c63d * NativeBigInteger: Workaround for Raspberry Pi to load the correct lib 2012-06-11 11:48:34 +00:00
zzz
7b07eb89a3 - Uncomment DHT
- Change DHT from option bit to extension message
- Add DHT start/stop code
- Add UI for DHT enabling
- Add raw datagram protocol type and use for response port
2012-06-02 18:52:46 +00:00
zzz
f14ff31a20 * Timestamper:
- Move from core to router, leave stub in core
     so it doesn't break compatibility. This removes a
     thread in app context and prevents any app context from
     running NTP; external clients must use the time
     received from the router.
   - Increase query interval
2012-05-30 20:03:30 +00:00
zzz
829af21c49 javadoc fix 2012-05-28 18:04:11 +00:00
zzz
c2e39687e6 * RoutingKeyModifier: Several changes to ensure the routing key
is correctly changed just after midnight.
2012-05-20 18:20:48 +00:00
zzz
7a690b245f rename windows installer; 0.9 2012-05-01 21:06:17 +00:00
zzz
565807126c * RouterInfo: Fix fatal NPE in last checkin 2012-03-28 19:17:39 +00:00
zzz
fbd230f21e * RouterInfo: Add method to validate sig during read-in for speed 2012-03-27 20:25:26 +00:00
zzz
764a7f2e13 remove unused private items (eclipse) 2012-03-26 00:52:06 +00:00
zzz
1db58dee89 remove unused local variables (eclipse) 2012-03-25 22:16:03 +00:00
zzz
f13956d380 remove unused imports (eclipse) 2012-03-25 21:45:18 +00:00
zzz
522ae4eb41 fix fallthrough 2012-03-25 20:52:57 +00:00
zzz
3e889d2747 remove unnecessary casts (eclipse) 2012-03-25 20:42:41 +00:00
zzz
0d565818d4 final 2012-03-23 17:01:34 +00:00
zzz
c1a7f90860 test cleanup 2012-03-23 17:01:24 +00:00
zzz
c2e36453b8 undeprecate for syndie 2012-03-23 17:00:51 +00:00
zzz
bafef846d9 * SimpleScheduler, SimpleTimer, SimpleTimer2: Replace static instances
with I2PAppContext-rooted references
2012-03-22 19:53:05 +00:00
zzz
0c348ec17e * FileUtil: Better logging of weird unpack200 errors 2012-03-17 21:56:20 +00:00
zzz
74743357d0 * TrustedUpdate: Preserve default key names even when keys are set
in advanced config
2012-03-16 12:09:49 +00:00
zzz
2436d86000 * DHSessionKeyBuilder:
- Move from core to router/transport
    - Make non-static, instantiate in TransportManager
    - Generate keypair in constructor and make final
      to move more processing to the precalc thread
      and eliminate races
    - Synchronize getSessionKey() to eliminate races
    - Comment out unused methods
  * UDPTransport:
    - Make key builder final in InboundEstablishState to
      eliminate rare NPE (ticket #406)
    - Remove unused static instance
2012-03-14 12:09:02 +00:00
zzz
326b9998fd make YKGenerator non-static; control from ElGamalEngine 2012-03-14 11:59:24 +00:00
zzz
3b64ce7408 remove static logs 2012-03-14 11:57:06 +00:00
zzz
97f402be0b * SessionKeyManager:
- Don't use unacked tagsets after consecutive ack failures
      and revert to full ElGamal if necessary (ticket #574)
    - Synchronize creation of new sessions to prevent dups
    - Don't remove an unacked session until it's really out of tags
    - Failsafe removal of old unacked tagsets
    - Cleanups, final, comments, log tweaks, debug.jsp tweaks, synchronization tweaks
2012-03-08 17:48:19 +00:00
zzz
1e978ea435 javadoc 2012-03-08 17:46:56 +00:00
zzz
629c7862ca log tweak 2012-03-08 17:46:15 +00:00
zzz
0cdff150f5 propagate from branch 'i2p.i2p.zzz.test' (head 44ecb300f6f5655b9b8699049d2fba046822deed)
to branch 'i2p.i2p' (head 5120d6c371d7cba9f201b48a142b0e0ead028cdd)
2012-03-02 00:18:54 +00:00
zzz
f61183d2d8 * DataStructures:
- Remove static logs
    - Sort addresses in RouterInfo at initialization only;
      change from Set to List to save space
    - Remove unused counters in Lease to save space
    - Increase max leases to 16
2012-02-29 18:09:16 +00:00
zzz
17f7264863 remove unused counters and methods 2012-02-28 15:26:31 +00:00
zzz
d6d8c0d119 remove static logs 2012-02-28 14:50:39 +00:00
zzz
4f6ed70044 remove static logs 2012-02-28 14:35:32 +00:00
zzz
ef1447a816 0.8.13 2012-02-27 15:25:23 +00:00
zzz
394943c36f debug output of LS encryption key to correlate with SKM debug page 2012-02-26 21:15:31 +00:00
zzz
6ee9b79e45 generics, final 2012-02-26 21:13:06 +00:00
zzz
87da4b78ab add negative cache to BFNS 2012-02-23 19:06:21 +00:00
zzz
c0e0994bb3 deprecate util classes used only by installer 2012-02-04 13:02:15 +00:00
zzz
0f356892ba * LogWriter: Don't rotate and open file until first message 2012-01-30 22:03:19 +00:00
ed357b1a3e fix broken links 2012-01-28 22:07:32 +00:00
zzz
b3f3a60ca6 comment out unescapeHTML() until we need it 2012-01-26 15:03:54 +00:00
zzz
fb8deb327d * Addresses: Fix NPE if no interfaces found http://forum.i2p/viewtopic.php?t=6365 2012-01-25 02:28:20 +00:00
e183966482 Simplify the HTML escape/unescape functions to use static arrays 2012-01-18 01:46:05 +00:00
9755338f73 Fix for #588 part 6: Don't convert nulls to empty strings 2012-01-17 22:45:06 +00:00
fc292cd29d Fix for #588 part 4: Pull out escaping of & separately first 2012-01-17 02:59:21 +00:00
553201db21 Fix for #588 part 3: Escape & character FIRST so other escapes aren't broken 2012-01-17 02:17:05 +00:00
452096b976 Fix for #588 part 2: moved escape/unescape functions to net.i2p.data.DataHelper 2012-01-17 02:11:56 +00:00
zzz
c54b3a08b8 save a few bytes 2012-01-14 17:47:39 +00:00
zzz
07957409cb * Stats:
- Cleanups
    - Remove some locking
    - Change some longs to ints to save space
    - Remove static logs
2012-01-14 17:44:50 +00:00
dev
f5b6d56489 Added support for AMD Bulldozer CPUs. Fixed issue with last commit. 2012-01-08 19:54:22 +00:00
dev
527c4b58c1 Added support for i7 Extreme Edition processors. 2012-01-08 19:45:01 +00:00