コード例 #1
0
  public void testUDPPingRequest() {
    PingRequest pr = pingRequestFactory.createUDPPing();
    assertTrue(pr.supportsCachedPongs());

    // Test +UP +TLS
    UltrapeerSettings.MIN_CONNECT_TIME.setValue(0);
    UltrapeerSettings.FORCE_ULTRAPEER_MODE.setValue(true);
    ConnectionSettings.EVER_ACCEPTED_INCOMING.setValue(true);
    ConnectionSettings.LOCAL_IS_PRIVATE.setValue(false);
    UltrapeerSettings.EVER_ULTRAPEER_CAPABLE.setValue(true);
    UltrapeerSettings.NEED_MIN_CONNECT_TIME.setValue(false);
    tlsManager.setIncomingTLSEnabled(true);
    assertTrue(connectionServices.isSupernode());
    pr = pingRequestFactory.createUDPPing();
    assertFalse(pr.requestsIP());
    byte[] data = pr.getSupportsCachedPongData();
    assertEquals(0x1, data[0] & 0x1);
    assertEquals(0x2, data[0] & 0x2);

    // +UP -TLS
    tlsManager.setIncomingTLSEnabled(false);
    assertTrue(connectionServices.isSupernode());
    pr = pingRequestFactory.createUDPPing();
    assertFalse(pr.requestsIP());
    data = pr.getSupportsCachedPongData();
    assertEquals(0x1, data[0] & 0x1);
    assertEquals(0x0, data[0] & 0x2);

    // Test -UP +TLS
    UltrapeerSettings.DISABLE_ULTRAPEER_MODE.setValue(true);
    UltrapeerSettings.FORCE_ULTRAPEER_MODE.setValue(false);
    tlsManager.setIncomingTLSEnabled(true);
    assertFalse(connectionServices.isSupernode());
    pr = pingRequestFactory.createUDPPing();
    assertFalse(pr.requestsIP());
    data = pr.getSupportsCachedPongData();
    assertEquals(0x0, data[0] & 0x1);
    assertEquals(0x2, data[0] & 0x2);

    // Test -UP -TLS
    tlsManager.setIncomingTLSEnabled(false);
    assertFalse(connectionServices.isSupernode());
    pr = pingRequestFactory.createUDPPing();
    assertFalse(pr.requestsIP());
    data = pr.getSupportsCachedPongData();
    assertEquals(0x0, data[0] & 0x1);
    assertEquals(0x0, data[0] & 0x2);

    ConnectionSettings.EVER_ACCEPTED_INCOMING.setValue(false);
    pr = pingRequestFactory.createUDPPing();
    assertTrue(pr.requestsIP());
  }
コード例 #2
0
  byte[] getSCPData() {
    byte[] data = new byte[1];
    if (connectionServices.isSupernode()) data[0] = PingRequest.SCP_ULTRAPEER;
    else data[0] = PingRequest.SCP_LEAF;

    if (networkManager.isIncomingTLSEnabled())
      data[0] |= PingRequest.SCP_TLS; // add our support for TLS.

    return data;
  }