forked from I2P_Developers/i2p.i2p
NetDB:
- Better handling of unsupported encryption in destinations - Implement handling of unsupported encryption in router identities - Banlist forever all RIs with unsupported encryption - New negative cache of all dests with unsupported encryption - New methods for destination lookup that will succeed even if the LS is expired or encryption is unsupported - Use new dest lookup so client will get the right error code later, rather than failing with no LS when we really got it but just couldn't verify it. - Cleanups and javadocs OCMOSJ: Detect unsupported encryption on dest and return the correct failure code through I2CP to streaming to i2ptunnel Streaming: Re-enable message status override, but treat LS lookup failure as a soft failure for now. HTTP Client: Add error page for unsupported encryption
This commit is contained in:
@@ -44,7 +44,7 @@ class PacketQueue implements SendMessageStatusListener {
|
||||
private static final int FINAL_TAGS_TO_SEND = 4;
|
||||
private static final int FINAL_TAG_THRESHOLD = 2;
|
||||
private static final long REMOVE_EXPIRED_TIME = 67*1000;
|
||||
private static final boolean ENABLE_STATUS_LISTEN = false;
|
||||
private static final boolean ENABLE_STATUS_LISTEN = true;
|
||||
|
||||
public PacketQueue(I2PAppContext context, I2PSession session, ConnectionManager mgr) {
|
||||
_context = context;
|
||||
@@ -267,6 +267,20 @@ class PacketQueue implements SendMessageStatusListener {
|
||||
_messageStatusMap.remove(id);
|
||||
break;
|
||||
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_NO_LEASESET:
|
||||
// Ideally we would like to make this a hard failure,
|
||||
// but it caused far too many fast-fails that were then
|
||||
// resolved by the user clicking reload in his browser.
|
||||
// Until the LS fetch is faster and more reliable,
|
||||
// or we increase the timeout for it,
|
||||
// we can't treat this one as a hard fail.
|
||||
// Let the streaming retransmission paper over the problem.
|
||||
if (_log.shouldLog(Log.WARN))
|
||||
_log.warn("LS lookup (soft) failure for msg " + msgId + " on " + con);
|
||||
_messageStatusMap.remove(id);
|
||||
break;
|
||||
|
||||
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_LOCAL:
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_ROUTER:
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_NETWORK:
|
||||
@@ -280,7 +294,6 @@ class PacketQueue implements SendMessageStatusListener {
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_DESTINATION:
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_BAD_LEASESET:
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_EXPIRED_LEASESET:
|
||||
case MessageStatusMessage.STATUS_SEND_FAILURE_NO_LEASESET:
|
||||
case SendMessageStatusListener.STATUS_CANCELLED:
|
||||
if (con.getHighestAckedThrough() >= 0) {
|
||||
// a retxed SYN succeeded before the first SYN failed
|
||||
|
Reference in New Issue
Block a user