Author: toad
Date: 2008-12-17 15:38:29 +0000 (Wed, 17 Dec 2008)
New Revision: 24446
Modified:
branches/db4o/freenet/
branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java
branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties
branches/db4o/freenet/src/freenet/node/FNPPacketMangler.java
branches/db4o/freenet/src/freenet/node/OutgoingPacketMangler.java
branches/db4o/freenet/src/freenet/node/PacketTracker.java
branches/db4o/freenet/src/freenet/node/PeerNode.java
branches/db4o/freenet/src/freenet/pluginmanager/FredPluginHTTPAdvanced.java
branches/db4o/freenet/src/freenet/support/BinaryBloomFilter.java
branches/db4o/freenet/src/freenet/support/BloomFilter.java
branches/db4o/freenet/src/freenet/support/CountingBloomFilter.java
branches/db4o/freenet/test/freenet/support/io/MockInputStream.java
Log:
Merge trunk (partly to test commit hook fix)
Property changes on: branches/db4o/freenet
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/freenet:19964-24387
+ /trunk/freenet:19964-24445
Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
2008-12-17 14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
2008-12-17 15:38:29 UTC (rev 24446)
@@ -251,7 +251,7 @@
SingleBlockInserter dataPutter = new
SingleBlockInserter(parent, data, codecNumber, FreenetURI.EMPTY_CHK_URI, ctx,
cb, metadata, (int)origSize, -1, getCHKOnly, true, true, token, container,
context, persistent, freeData);
if(logMINOR)
Logger.minor(this, "Inserting with
metadata: "+dataPutter+" for "+this);
- Metadata meta = makeMetadata(archiveType, null,
dataPutter.getURI(container, context));
+ Metadata meta = makeMetadata(archiveType,
dataPutter.getURI(container, context));
cb.onMetadata(meta, this, container, context);
cb.onTransition(this, dataPutter, container);
dataPutter.schedule(container, context);
@@ -262,7 +262,7 @@
SingleBlockInserter dataPutter = new
SingleBlockInserter(parent, data, codecNumber, FreenetURI.EMPTY_CHK_URI, ctx,
mcb, metadata, (int)origSize, -1, getCHKOnly, true, false, token, container,
context, persistent, freeData);
if(logMINOR)
Logger.minor(this, "Inserting data:
"+dataPutter+" for "+this);
- Metadata meta = makeMetadata(archiveType, null,
dataPutter.getURI(container, context));
+ Metadata meta = makeMetadata(archiveType,
dataPutter.getURI(container, context));
Bucket metadataBucket;
try {
metadataBucket =
BucketTools.makeImmutableBucket(context.getBucketFactory(persistent),
meta.writeToByteArray());
@@ -367,12 +367,12 @@
}
}
- private Metadata makeMetadata(ARCHIVE_TYPE archiveType, COMPRESSOR_TYPE
codec, FreenetURI uri) {
+ private Metadata makeMetadata(ARCHIVE_TYPE archiveType, FreenetURI uri)
{
Metadata meta = null;
if(archiveType != null)
- meta = new Metadata(Metadata.ARCHIVE_MANIFEST,
archiveType, codec, uri, block.clientMetadata);
+ meta = new Metadata(Metadata.ARCHIVE_MANIFEST,
archiveType, null, uri, block.clientMetadata);
else // redirect
- meta = new Metadata(Metadata.SIMPLE_REDIRECT,
archiveType, codec, uri, block.clientMetadata);
+ meta = new Metadata(Metadata.SIMPLE_REDIRECT,
archiveType, null, uri, block.clientMetadata);
if(targetFilename != null) {
HashMap hm = new HashMap();
hm.put(targetFilename, meta);
Modified: branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java
2008-12-17 14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java
2008-12-17 15:38:29 UTC (rev 24446)
@@ -370,8 +370,10 @@
}
public FreenetInetAddress dropHostname() {
+ if(_address == null)
+ throw new IllegalStateException("Can't dropHostname()
if no address!");
if(hostname != null) {
- return new FreenetInetAddress(getAddress());
+ return new FreenetInetAddress(_address);
} else return this;
}
Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties
2008-12-17 14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties
2008-12-17 15:38:29 UTC (rev 24446)
@@ -1304,7 +1304,7 @@
UpdateDeployContext.updateCatastrophe=CATASTROPHIC ERROR: Deleted ${old} but
cannot rename ${new} to ${old} therefore THE NODE WILL NOT START! Please
resolve the problem by renaming ${new} to ${old} manually.
UpdateDeployContext.updateFailedCannotDeleteOldConfig=Cannot delete ${old} so
cannot rename over it. Update failed.
UpdateDeployContext.updateFailedNonStandardConfig=Not able to update because
of non-standard config: written main=${main} ext=${ext} - should not happen!
Report this to the devs, include your wrapper.conf.
-UpdatedVersionAvailableUserAlert.alsoDownloadedNewExtJar=Your node has also
downloaded a new version of the Freenet extra jar, version ${version}
+UpdatedVersionAvailableUserAlert.alsoDownloadedNewExtJar=Your node has also
downloaded a new version of the Freenet extra jar, version ${version}.
UpdatedVersionAvailableUserAlert.armed=Your node will automatically restart as
soon as it has finished downloading and verifying the new version of Freenet.
UpdatedVersionAvailableUserAlert.clickToUpdateASAP=Click below to update your
node as soon as the update has been verified.
UpdatedVersionAvailableUserAlert.clickToUpdateNow=Click below to update your
node immediately.
Modified: branches/db4o/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/FNPPacketMangler.java
2008-12-17 14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/node/FNPPacketMangler.java
2008-12-17 15:38:29 UTC (rev 24446)
@@ -551,7 +551,7 @@
Logger.error(this, "Decrypted auth packet but invalid
version: "+version);
return;
}
- if(!(negType == 2 || negType == 3 || negType == 4)) {
+ if(!(negType == 2 || negType == 4)) {
Logger.error(this, "Unknown neg type: "+negType);
return;
}
@@ -598,7 +598,7 @@
Logger.error(this, "Decrypted auth packet but invalid
version: "+version);
return;
}
- if(!(negType == 2 || negType == 3 || negType == 4)) {
+ if(!(negType == 2 || negType == 4)) {
Logger.error(this, "Unknown neg type: "+negType);
return;
}
@@ -663,8 +663,8 @@
} else if (negType == 1) {
Logger.error(this, "Old StationToStation (negType 1)
not supported.");
return;
- } else if (negType==2 || negType == 3 || negType == 4){
- // negType == 3 => no new PacketTracker when rekeying
+ } else if (negType==2 || negType == 4){
+ // negType == 3 was buggy
// negType == 4 => negotiate whether to use a new
PacketTracker when rekeying
/*
* We implement Just Fast Keying key management
protocol with active identity protection
@@ -1158,8 +1158,7 @@
if(trackerID < 0) trackerID = -1;
ptr += 8;
} else {
- if(negType == 3) trackerID = -2; // emulate negtype = 3
behaviour
- else trackerID = -1;
+ trackerID = -1;
}
long bootID = Fields.bytesToLong(data, ptr);
ptr += 8;
@@ -1222,7 +1221,7 @@
c, Ke, Ka, authenticator, hisRef, pn,
replyTo, unknownInitiator, setupType, newTrackerID, newTrackerID == trackerID);
if(dontWant)
- node.peers.disconnect(pn, true, false, true);
// Let it connect then tell it to remove it.
+ node.peers.disconnect(pn, true, true, true); //
Let it connect then tell it to remove it.
else
pn.maybeSendInitialMessages();
} else {
@@ -1378,16 +1377,11 @@
ptr += 8;
reusedTracker = data[ptr++] != 0;
} else {
- if(negType == 3) trackerID = -2;
- else trackerID = -1;
+ trackerID = -1;
reusedTracker = false;
}
long bootID = Fields.bytesToLong(data, ptr);
ptr += 8;
- if(data.length - ptr < 0) {
- Logger.error(this, "No space for hisRef:
data.length="+data.length+"
myRef.length="+(pn.jfkMyRef==null?0:pn.jfkMyRef.length)+" orig data length
"+(payload.length-inputOffset));
- return true;
- }
byte[] hisRef = new byte[data.length - ptr];
System.arraycopy(data, ptr, hisRef, 0, hisRef.length);
@@ -1438,7 +1432,7 @@
c.initialize(pn.jfkKs);
if(pn.completedHandshake(bootID, hisRef, 0, hisRef.length, c,
pn.jfkKs, replyTo, false, negType, trackerID, true, reusedTracker) >= 0) {
if(dontWant)
- node.peers.disconnect(pn, true, false, true);
+ node.peers.disconnect(pn, true, true, true);
else
pn.maybeSendInitialMessages();
} else {
@@ -1809,7 +1803,7 @@
* We need to know where the packet has come from in order to
* decrypt and authenticate it.
*/
- private boolean tryProcess(byte[] buf, int offset, int length,
KeyTracker tracker, long now) {
+ private boolean tryProcess(byte[] buf, int offset, int length,
SessionKey tracker, long now) {
// Need to be able to call with tracker == null to simplify
code above
if(tracker == null) {
if(Logger.shouldLog(Logger.DEBUG, this))
Logger.debug(this, "Tracker == null");
@@ -1923,9 +1917,9 @@
* Process an incoming packet, once it has been decrypted.
* @param decrypted The packet's contents.
* @param seqNumber The detected sequence number of the packet.
- * @param tracker The KeyTracker responsible for the key used to
encrypt the packet.
+ * @param tracker The SessionKey responsible for the key used to
encrypt the packet.
*/
- private void processDecryptedData(byte[] decrypted, int seqNumber,
KeyTracker tracker, int overhead) {
+ private void processDecryptedData(byte[] decrypted, int seqNumber,
SessionKey tracker, int overhead) {
/**
* Decoded format:
* 1 byte - version number (0)
@@ -2111,7 +2105,7 @@
if(logMINOR) Logger.minor(this, "processOutgoingOrRequeue
"+messages.length+" messages for "+pn);
byte[][] messageData = new byte[messages.length][];
MessageItem[] newMsgs = new MessageItem[messages.length];
- KeyTracker kt = pn.getCurrentKeyTracker();
+ SessionKey kt = pn.getCurrentKeyTracker();
if(kt == null) {
Logger.error(this, "Not connected while sending
packets: "+pn);
if(!dontRequeue) {
@@ -2348,9 +2342,9 @@
}
/* (non-Javadoc)
- * @see freenet.node.OutgoingPacketMangler#processOutgoing(byte[], int,
int, freenet.node.KeyTracker, int)
+ * @see freenet.node.OutgoingPacketMangler#processOutgoing(byte[], int,
int, freenet.node.SessionKey, int)
*/
- public int processOutgoing(byte[] buf, int offset, int length,
KeyTracker tracker, short priority) throws KeyChangedException,
NotConnectedException, PacketSequenceException, WouldBlockException {
+ public int processOutgoing(byte[] buf, int offset, int length,
SessionKey tracker, short priority) throws KeyChangedException,
NotConnectedException, PacketSequenceException, WouldBlockException {
byte[] newBuf = preformat(buf, offset, length);
return processOutgoingPreformatted(newBuf, 0, newBuf.length,
tracker, -1, null, priority);
}
@@ -2361,12 +2355,12 @@
* @throws PacketSequenceException
*/
int processOutgoingPreformatted(byte[] buf, int offset, int length,
PeerNode peer, AsyncMessageCallback[] callbacks, short priority) throws
NotConnectedException, WouldBlockException, PacketSequenceException {
- KeyTracker last = null;
+ SessionKey last = null;
while(true) {
try {
if(!peer.isConnected())
throw new NotConnectedException();
- KeyTracker tracker =
peer.getCurrentKeyTracker();
+ SessionKey tracker =
peer.getCurrentKeyTracker();
last = tracker;
if(tracker == null) {
Logger.normal(this, "Dropping packet:
Not connected to "+peer.getPeer()+" yet(2)");
@@ -2404,9 +2398,9 @@
}
/* (non-Javadoc)
- * @see
freenet.node.OutgoingPacketMangler#processOutgoingPreformatted(byte[], int,
int, freenet.node.KeyTracker, int, freenet.node.AsyncMessageCallback[], int)
+ * @see
freenet.node.OutgoingPacketMangler#processOutgoingPreformatted(byte[], int,
int, freenet.node.SessionKey, int, freenet.node.AsyncMessageCallback[], int)
*/
- public int processOutgoingPreformatted(byte[] buf, int offset, int
length, KeyTracker tracker, int packetNumber, AsyncMessageCallback[] callbacks,
short priority) throws KeyChangedException, NotConnectedException,
PacketSequenceException, WouldBlockException {
+ public int processOutgoingPreformatted(byte[] buf, int offset, int
length, SessionKey tracker, int packetNumber, AsyncMessageCallback[] callbacks,
short priority) throws KeyChangedException, NotConnectedException,
PacketSequenceException, WouldBlockException {
if(logMINOR) {
String log =
"processOutgoingPreformatted("+Fields.hashCode(buf)+", "+offset+ ',' +length+
',' +tracker+ ',' +packetNumber+ ',';
if(callbacks == null) log += "null";
@@ -2666,7 +2660,7 @@
private HashSet<Peer> peersWithProblems = new HashSet<Peer>();
- private void disconnectedStillNotAcked(KeyTracker tracker) {
+ private void disconnectedStillNotAcked(SessionKey tracker) {
synchronized(peersWithProblems) {
peersWithProblems.add(tracker.pn.getPeer());
if(peersWithProblems.size() > 1) return;
@@ -2771,7 +2765,7 @@
* @param plaintext The packet's plaintext, including all formatting,
* including acks and resend requests. Is clobbered.
*/
- private int processOutgoingFullyFormatted(byte[] plaintext, KeyTracker
kt) {
+ private int processOutgoingFullyFormatted(byte[] plaintext, SessionKey
kt) {
BlockCipher sessionCipher = kt.sessionCipher;
if(logMINOR) Logger.minor(this, "Encrypting with
"+HexUtil.bytesToHex(kt.sessionKey));
if(sessionCipher == null) {
@@ -2875,7 +2869,7 @@
return !((PeerNode)context).isConnected();
}
- public void resend(ResendPacketItem item, KeyTracker tracker) throws
PacketSequenceException, WouldBlockException, KeyChangedException,
NotConnectedException {
+ public void resend(ResendPacketItem item, SessionKey tracker) throws
PacketSequenceException, WouldBlockException, KeyChangedException,
NotConnectedException {
int size = processOutgoingPreformatted(item.buf, 0,
item.buf.length, tracker, item.packetNumber, item.callbacks, item.priority);
item.pn.resendByteCounter.sentBytes(size);
}
Modified: branches/db4o/freenet/src/freenet/node/OutgoingPacketMangler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/OutgoingPacketMangler.java
2008-12-17 14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/node/OutgoingPacketMangler.java
2008-12-17 15:38:29 UTC (rev 24446)
@@ -34,9 +34,9 @@
/**
* Resend a single packet.
- * @param kt The KeyTracker on which to send the packet.
+ * @param kt The SessionKey on which to send the packet.
*/
- public void resend(ResendPacketItem item, KeyTracker kt) throws
PacketSequenceException, WouldBlockException, KeyChangedException,
NotConnectedException;
+ public void resend(ResendPacketItem item, SessionKey kt) throws
PacketSequenceException, WouldBlockException, KeyChangedException,
NotConnectedException;
/**
* Build a packet and send it. From a Message recently converted into
byte[],
@@ -46,7 +46,7 @@
* @return Total size including UDP headers of the sent packet.
*/
public int processOutgoing(byte[] buf, int offset, int length,
- KeyTracker tracker, short priority)
+ SessionKey tracker, short priority)
throws KeyChangedException, NotConnectedException,
PacketSequenceException, WouldBlockException;
@@ -57,7 +57,7 @@
* @param buf Buffer to read data from.
* @param offset Point at which to start reading.
* @param length Number of bytes to read.
- * @param tracker The KeyTracker to use to encrypt the packet and send
it to the
+ * @param tracker The SessionKey to use to encrypt the packet and send
it to the
* associated PeerNode.
* @param packetNumber If specified, force use of this particular
packet number.
* Means this is a resend of a dropped packet.
@@ -68,7 +68,7 @@
* @return The size of the sent packet.
*/
public int processOutgoingPreformatted(byte[] buf, int offset, int
length,
- KeyTracker tracker, int packetNumber,
+ SessionKey tracker, int packetNumber,
AsyncMessageCallback[] callbacks, short priority)
throws KeyChangedException, NotConnectedException,
PacketSequenceException, WouldBlockException;
Modified: branches/db4o/freenet/src/freenet/node/PacketTracker.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/PacketTracker.java 2008-12-17
14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/node/PacketTracker.java 2008-12-17
15:38:29 UTC (rev 24446)
@@ -30,7 +30,7 @@
* @author amphibian
*
* Class to track retransmissions, acknowledgements, packet numbers, etc.
- * May be shared by more than one KeyTracker (aka session key).
+ * May be shared by more than one SessionKey (aka session key).
*/
public class PacketTracker {
@@ -49,7 +49,7 @@
private final List<QueuedAck> ackQueue;
/** Serial numbers of packets that we have forgotten. Usually
* when we have forgotten a packet it just means that it has
- * been shifted to another KeyTracker because this one was
+ * been shifted to another SessionKey because this one was
* deprecated; the messages will get through in the end.
*/
private final List<QueuedForgotten> forgottenQueue;
@@ -791,8 +791,8 @@
acks[i++] = ack.packetNumber;
if(logMINOR)
Logger.minor(this, "Grabbing ack " +
ack.packetNumber + " from " + this);
- it.remove(); // sent
}
+ ackQueue.clear();
}
return acks;
}
@@ -947,9 +947,9 @@
}
/**
- * Clear the KeyTracker. Deprecate it, clear all resend, ack,
request-ack etc queues.
+ * Clear the SessionKey. Deprecate it, clear all resend, ack,
request-ack etc queues.
* Return the messages we still had in flight. The caller will then
either add them to
- * another KeyTracker, or call their callbacks to indicate failure.
+ * another SessionKey, or call their callbacks to indicate failure.
*/
private LimitedRangeIntByteArrayMapElement[] clear() {
if(logMINOR)
@@ -976,13 +976,13 @@
}
/**
- * Completely deprecate the KeyTracker, in favour of a new one.
- * It will no longer be used for anything. The KeyTracker will be
cleared and all outstanding packets
- * moved to the new KeyTracker.
+ * Completely deprecate the SessionKey, in favour of a new one.
+ * It will no longer be used for anything. The SessionKey will be
cleared and all outstanding packets
+ * moved to the new SessionKey.
*
- * *** Must only be called if the KeyTracker is not to be kept.
Otherwise, we may receive some packets twice. ***
+ * *** Must only be called if the SessionKey is not to be kept.
Otherwise, we may receive some packets twice. ***
*/
- public void completelyDeprecated(KeyTracker newTracker) {
+ public void completelyDeprecated(SessionKey newTracker) {
if(newTracker.packets == this) {
Logger.error(this, "Completely deprecated in favour of
self!", new Exception("debug"));
return;
Modified: branches/db4o/freenet/src/freenet/node/PeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/PeerNode.java 2008-12-17
14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/node/PeerNode.java 2008-12-17
15:38:29 UTC (rev 24446)
@@ -79,7 +79,7 @@
* is that we can rekey, or a node can go down and come back up
* while we are connected to it, and we want to reinitialize the
* packet numbers when this happens. Hence we separate a lot of
- * code into KeyTracker, which handles all communications to and
+ * code into SessionKey, which handles all communications to and
* from this peer over the duration of a single key.
*/
public abstract class PeerNode implements PeerContext, USKRetrieverCallback {
@@ -122,9 +122,9 @@
/** Is this a testnet node? */
public final boolean testnetEnabled;
/** Packets sent/received on the current preferred key */
- private KeyTracker currentTracker;
+ private SessionKey currentTracker;
/** Previous key - has a separate packet number space */
- private KeyTracker previousTracker;
+ private SessionKey previousTracker;
/** When did we last rekey (promote the unverified tracker to new) ? */
private long timeLastRekeyed;
/** How much data did we send with the current tracker ? */
@@ -134,7 +134,7 @@
/** Unverified tracker - will be promoted to currentTracker if
* we receive packets on it
*/
- private KeyTracker unverifiedTracker;
+ private SessionKey unverifiedTracker;
/** When did we last send a packet? */
private long timeLastSentPacket;
/** When did we last receive a packet? */
@@ -1131,7 +1131,7 @@
/**
* Disconnected e.g. due to not receiving a packet for ages.
* @param dumpMessageQueue If true, clear the messages-to-send queue.
- * @param dumpTrackers If true, dump the KeyTracker's.
+ * @param dumpTrackers If true, dump the SessionKey's.
* @return True if the node was connected, false if it was not.
*/
public boolean disconnected(boolean dumpMessageQueue, boolean
dumpTrackers) {
@@ -1141,7 +1141,7 @@
node.failureTable.onDisconnect(this);
node.peers.disconnected(this);
boolean ret;
- KeyTracker cur, prev, unv;
+ SessionKey cur, prev, unv;
MessageItem[] messagesTellDisconnected = null;
synchronized(this) {
ret = isConnected;
@@ -1267,13 +1267,13 @@
*/
public long getNextUrgentTime(long now) {
long t = Long.MAX_VALUE;
- KeyTracker cur;
- KeyTracker prev;
+ SessionKey cur;
+ SessionKey prev;
synchronized(this) {
cur = currentTracker;
prev = previousTracker;
}
- KeyTracker kt = cur;
+ SessionKey kt = cur;
if(kt != null) {
long next = kt.packets.getNextUrgentTime();
t = Math.min(t, next);
@@ -1300,7 +1300,7 @@
}
private synchronized boolean mustSendNotificationsNow(long now) {
- KeyTracker kt = currentTracker;
+ SessionKey kt = currentTracker;
if(kt != null) {
if(kt.packets.getNextUrgentTime() < now) return true;
}
@@ -1697,27 +1697,27 @@
}
/**
- * @return The current primary KeyTracker, or null if we
+ * @return The current primary SessionKey, or null if we
* don't have one.
*/
- public synchronized KeyTracker getCurrentKeyTracker() {
+ public synchronized SessionKey getCurrentKeyTracker() {
return currentTracker;
}
/**
- * @return The previous primary KeyTracker, or null if we
+ * @return The previous primary SessionKey, or null if we
* don't have one.
*/
- public synchronized KeyTracker getPreviousKeyTracker() {
+ public synchronized SessionKey getPreviousKeyTracker() {
return previousTracker;
}
/**
- * @return The unverified KeyTracker, if any, or null if we
+ * @return The unverified SessionKey, if any, or null if we
* don't have one. The caller MUST call verified(KT) if a
* decrypt succeeds with this KT.
*/
- public synchronized KeyTracker getUnverifiedKeyTracker() {
+ public synchronized SessionKey getUnverifiedKeyTracker() {
return unverifiedTracker;
}
@@ -1813,9 +1813,9 @@
* @param length Number of bytes to read.
* @param encKey The new session key.
* @param replyTo The IP the handshake came in on.
- * @param trackerID The tracker ID proposed by the other side. If -1,
create a new tracker. If -2,
- * reuse the old tracker if possible. If any other value, check whether
we have it, and if we do,
- * return that, otherwise return the ID of the new tracker.
+ * @param trackerID The tracker ID proposed by the other side. If -1,
create a new tracker. If any
+ * other value, check whether we have it, and if we do, return that,
otherwise return the ID of the
+ * new tracker.
* @param isJFK4 If true, we are processing a JFK(4) and must respect
the tracker ID chosen by the
* responder. If false, we are processing a JFK(3) and we can either
reuse the suggested tracker ID,
* which the other side is able to reuse, or we can create a new tracker
ID.
@@ -1875,10 +1875,10 @@
changedIP(replyTo);
boolean bootIDChanged = false;
boolean wasARekey = false;
- KeyTracker oldPrev = null;
- KeyTracker oldCur = null;
- KeyTracker prev = null;
- KeyTracker newTracker;
+ SessionKey oldPrev = null;
+ SessionKey oldCur = null;
+ SessionKey prev = null;
+ SessionKey newTracker;
MessageItem[] messagesTellDisconnected = null;
PacketTracker packets = null;
synchronized(this) {
@@ -1926,19 +1926,6 @@
packets = new PacketTracker(this);
notReusingTracker = true;
if(logMINOR) Logger.minor(this, "Creating new
PacketTracker as instructed for "+this);
- } else if(trackerID == -2 && !bootIDChanged) {
- // Reuse if not deprecated and not boot ID
changed
- if(currentTracker != null &&
!currentTracker.packets.isDeprecated() && negType >= 3) {
- packets = currentTracker.packets;
- if(logMINOR) Logger.minor(this,
"Re-using packet tracker (not given an ID): "+packets.trackerID+" on "+this+"
from current "+currentTracker);
- } else if(previousTracker != null &&
!previousTracker.packets.isDeprecated() && negType >= 3) {
- packets = previousTracker.packets;
- if(logMINOR) Logger.minor(this,
"Re-using packet tracker (not given an ID): "+packets.trackerID+" on "+this+"
from prev "+previousTracker);
- } else {
- packets = new PacketTracker(this);
- notReusingTracker = true;
- if(logMINOR) Logger.minor(this, "Cannot
reuse trackers (not given an ID) on "+this);
- }
} else {
if(isJFK4 && negType >= 4 && trackerID < 0)
Logger.error(this, "JFK(4) packet with
neg type "+negType+" has negative tracker ID: "+trackerID);
@@ -1968,7 +1955,7 @@
} else {
// else it's a rekey
}
- newTracker = new KeyTracker(this, packets, encCipher,
encKey);
+ newTracker = new SessionKey(this, packets, encCipher,
encKey);
if(logMINOR) Logger.minor(this, "New key tracker in
completedHandshake: "+newTracker+" for "+packets+" for "+shortToString()+" neg
type "+negType);
if(unverified) {
if(unverifiedTracker != null) {
@@ -2077,16 +2064,16 @@
if(prevHash < curHash) {
// Swap over
- KeyTracker temp = previousTracker;
+ SessionKey temp = previousTracker;
previousTracker = currentTracker;
currentTracker = temp;
- if(logMINOR) Logger.minor(this, "Swapped
KeyTracker's on "+this+" cur "+currentTracker+" prev "+previousTracker+" delta
"+delta+" cur.deprecated="+currentTracker.packets.isDeprecated()+"
prev.deprecated="+previousTracker.packets.isDeprecated());
+ if(logMINOR) Logger.minor(this, "Swapped
SessionKey's on "+this+" cur "+currentTracker+" prev "+previousTracker+" delta
"+delta+" cur.deprecated="+currentTracker.packets.isDeprecated()+"
prev.deprecated="+previousTracker.packets.isDeprecated());
} else {
- if(logMINOR) Logger.minor(this, "Not swapping
KeyTracker's on "+this+" cur "+currentTracker+" prev "+previousTracker+" delta
"+delta+" cur.deprecated="+currentTracker.packets.isDeprecated()+"
prev.deprecated="+previousTracker.packets.isDeprecated());
+ if(logMINOR) Logger.minor(this, "Not swapping
SessionKey's on "+this+" cur "+currentTracker+" prev "+previousTracker+" delta
"+delta+" cur.deprecated="+currentTracker.packets.isDeprecated()+"
prev.deprecated="+previousTracker.packets.isDeprecated());
}
} else {
if (logMINOR)
- Logger.minor(this, "Not swapping KeyTracker's:
previousTracker = " + previousTracker.toString()
+ Logger.minor(this, "Not swapping SessionKey's:
previousTracker = " + previousTracker.toString()
+
(previousTracker.packets.isDeprecated() ? " (deprecated)" : "") + " time delta
= " + delta);
}
}
@@ -2215,12 +2202,12 @@
/**
* Called when a packet is successfully decrypted on a given
- * KeyTracker for this node. Will promote the unverifiedTracker
+ * SessionKey for this node. Will promote the unverifiedTracker
* if necessary.
*/
- public void verified(KeyTracker tracker) {
+ public void verified(SessionKey tracker) {
long now = System.currentTimeMillis();
- KeyTracker completelyDeprecatedTracker;
+ SessionKey completelyDeprecatedTracker;
synchronized(this) {
if(tracker == unverifiedTracker &&
!tracker.packets.isDeprecated()) {
if(logMINOR)
@@ -2504,13 +2491,13 @@
if(logMINOR)
Logger.minor(this, "sendAnyUrgentNotifications");
long now = System.currentTimeMillis();
- KeyTracker cur,
+ SessionKey cur,
prev;
synchronized(this) {
cur = currentTracker;
prev = previousTracker;
}
- KeyTracker tracker = cur;
+ SessionKey tracker = cur;
if(tracker != null) {
long t = tracker.packets.getNextUrgentTime();
if(t < now || forceSendPrimary) {
@@ -2554,8 +2541,8 @@
void checkTrackerTimeout() {
long now = System.currentTimeMillis();
- KeyTracker prev = null;
- KeyTracker cur = null;
+ SessionKey prev = null;
+ SessionKey cur = null;
synchronized(this) {
if(previousTracker == null) return;
if(currentTracker == null) return;
@@ -2725,7 +2712,7 @@
* @param resendItems
*/
public void requeueResendItems(Vector<ResendPacketItem> resendItems) {
- KeyTracker cur,
+ SessionKey cur,
prev,
unv;
synchronized(this) {
@@ -2736,7 +2723,7 @@
for(ResendPacketItem item : resendItems) {
if(item.pn != this)
throw new IllegalArgumentException("item.pn !=
this!");
- KeyTracker kt = cur;
+ SessionKey kt = cur;
if((kt != null) && (item.kt == kt.packets)) {
kt.packets.resendPacket(item.packetNumber);
continue;
@@ -4139,7 +4126,7 @@
}
// Any packets to resend? If so, resend ONE packet and then
return.
for(int j = 0; j < 2; j++) {
- KeyTracker kt;
+ SessionKey kt;
if(j == 0)
kt = getCurrentKeyTracker();
else// if(j == 1)
@@ -4264,7 +4251,7 @@
* @return The ID of a reusable PacketTracker if there is one,
otherwise -1.
*/
public long getReusableTrackerID() {
- KeyTracker cur;
+ SessionKey cur;
synchronized(this) {
cur = currentTracker;
}
Modified:
branches/db4o/freenet/src/freenet/pluginmanager/FredPluginHTTPAdvanced.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/FredPluginHTTPAdvanced.java
2008-12-17 14:50:30 UTC (rev 24445)
+++ branches/db4o/freenet/src/freenet/pluginmanager/FredPluginHTTPAdvanced.java
2008-12-17 15:38:29 UTC (rev 24446)
@@ -1,4 +1,6 @@
package freenet.pluginmanager;
+
+...@deprecated
public interface FredPluginHTTPAdvanced{
}
\ No newline at end of file
Property changes on:
branches/db4o/freenet/src/freenet/support/BinaryBloomFilter.java
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/freenet/src/freenet/support/BinaryBloomFilter.java:22002-24387
+ /trunk/freenet/src/freenet/support/BinaryBloomFilter.java:22002-24445
Property changes on: branches/db4o/freenet/src/freenet/support/BloomFilter.java
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/freenet/src/freenet/support/BloomFilter.java:22002-24387
+ /trunk/freenet/src/freenet/support/BloomFilter.java:22002-24445
Property changes on:
branches/db4o/freenet/src/freenet/support/CountingBloomFilter.java
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/freenet/src/freenet/support/CountingBloomFilter.java:22002-24387
+ /trunk/freenet/src/freenet/support/CountingBloomFilter.java:22002-24445
Property changes on:
branches/db4o/freenet/test/freenet/support/io/MockInputStream.java
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/freenet/test/freenet/support/io/MockInputStream.java:22002-24387
+ /trunk/freenet/test/freenet/support/io/MockInputStream.java:22002-24445
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs