Disable out-of-order warning (fires too much on some 802.11n networks)

This reverts commit 682bbdfebd.
This commit is contained in:
Keith Winstein
2012-05-30 02:04:32 -04:00
parent ade0aaa3e8
commit 37f78d0e4c
4 changed files with 5 additions and 30 deletions
+1 -6
View File
@@ -402,17 +402,12 @@ void STMClient::main( void )
network->tick(); network->tick();
const Network::NetworkException *exn = network->get_recv_exception(); const Network::NetworkException *exn = network->get_send_exception();
if ( exn ) {
overlays.get_notification_engine().set_network_exception( *exn );
} else {
exn = network->get_send_exception();
if ( exn ) { if ( exn ) {
overlays.get_notification_engine().set_network_exception( *exn ); overlays.get_notification_engine().set_network_exception( *exn );
} else { } else {
overlays.get_notification_engine().clear_network_exception(); overlays.get_notification_engine().clear_network_exception();
} }
}
} catch ( Network::NetworkException e ) { } catch ( Network::NetworkException e ) {
if ( !network->shutdown_in_progress() ) { if ( !network->shutdown_in_progress() ) {
overlays.get_notification_engine().set_network_exception( e ); overlays.get_notification_engine().set_network_exception( e );
+2 -13
View File
@@ -139,9 +139,7 @@ Connection::Connection( const char *desired_ip, const char *desired_port ) /* se
SRTT( 1000 ), SRTT( 1000 ),
RTTVAR( 500 ), RTTVAR( 500 ),
have_send_exception( false ), have_send_exception( false ),
send_exception(), send_exception()
have_recv_exception( false ),
recv_exception()
{ {
setup(); setup();
@@ -250,9 +248,7 @@ Connection::Connection( const char *key_str, const char *ip, int port ) /* clien
SRTT( 1000 ), SRTT( 1000 ),
RTTVAR( 500 ), RTTVAR( 500 ),
have_send_exception( false ), have_send_exception( false ),
send_exception(), send_exception()
have_recv_exception( false ),
recv_exception()
{ {
setup(); setup();
@@ -316,11 +312,6 @@ string Connection::recv( void )
dos_assert( p.direction == (server ? TO_SERVER : TO_CLIENT) ); /* prevent malicious playback to sender */ dos_assert( p.direction == (server ? TO_SERVER : TO_CLIENT) ); /* prevent malicious playback to sender */
if ( p.seq < expected_receiver_seq ) {
have_recv_exception = true;
recv_exception = NetworkException( "Out-of-order or duplicated packet received", 0 );
}
if ( p.seq >= expected_receiver_seq ) { /* don't use out-of-order packets for timestamp or targeting */ if ( p.seq >= expected_receiver_seq ) { /* don't use out-of-order packets for timestamp or targeting */
expected_receiver_seq = p.seq + 1; /* this is security-sensitive because a replay attack could otherwise expected_receiver_seq = p.seq + 1; /* this is security-sensitive because a replay attack could otherwise
screw up the timestamp and targeting */ screw up the timestamp and targeting */
@@ -361,8 +352,6 @@ string Connection::recv( void )
ntohs( remote_addr.sin_port ) ); ntohs( remote_addr.sin_port ) );
} }
} }
have_recv_exception = false;
} }
return p.payload; /* we do return out-of-order or duplicated packets to caller */ return p.payload; /* we do return out-of-order or duplicated packets to caller */
+1 -9
View File
@@ -102,14 +102,11 @@ namespace Network {
double SRTT; double SRTT;
double RTTVAR; double RTTVAR;
/* Exception from send() or recv(), to be delivered if the frontend asks for it, /* Exception from send(), to be delivered if the frontend asks for it,
without altering control flow. */ without altering control flow. */
bool have_send_exception; bool have_send_exception;
NetworkException send_exception; NetworkException send_exception;
bool have_recv_exception;
NetworkException recv_exception;
Packet new_packet( string &s_payload ); Packet new_packet( string &s_payload );
public: public:
@@ -135,11 +132,6 @@ namespace Network {
{ {
return have_send_exception ? &send_exception : NULL; return have_send_exception ? &send_exception : NULL;
} }
const NetworkException *get_recv_exception( void ) const
{
return have_recv_exception ? &recv_exception : NULL;
}
}; };
} }
-1
View File
@@ -104,7 +104,6 @@ namespace Network {
const struct in_addr & get_remote_ip( void ) const { return connection.get_remote_ip(); } const struct in_addr & get_remote_ip( void ) const { return connection.get_remote_ip(); }
const NetworkException *get_send_exception( void ) const { return connection.get_send_exception(); } const NetworkException *get_send_exception( void ) const { return connection.get_send_exception(); }
const NetworkException *get_recv_exception( void ) const { return connection.get_recv_exception(); }
}; };
} }