Use only encrypted send

This commit is contained in:
Manfred Karrer 2015-04-13 12:27:27 +02:00
parent b2eb52e5bd
commit 37f228b049
4 changed files with 8 additions and 19 deletions

View file

@ -19,7 +19,7 @@
<configuration> <configuration>
<appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %xEx%n</pattern> <pattern>%d{MMM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %xEx%n</pattern>
</encoder> </encoder>
</appender> </appender>

View file

@ -23,8 +23,6 @@ import io.bitsquare.p2p.listener.SendMessageListener;
public interface MessageService extends P2PService { public interface MessageService extends P2PService {
void sendMessage(Peer peer, Message message, SendMessageListener listener);
void sendEncryptedMessage(Peer peer, PubKeyRing pubKeyRing, Message message, SendMessageListener listener); void sendEncryptedMessage(Peer peer, PubKeyRing pubKeyRing, Message message, SendMessageListener listener);
void addMessageHandler(MessageHandler listener); void addMessageHandler(MessageHandler listener);

View file

@ -103,6 +103,8 @@ public class BootstrappedPeerBuilder {
this.useManualPortForwarding = useManualPortForwarding; this.useManualPortForwarding = useManualPortForwarding;
this.bootstrapNode = bootstrapNode; this.bootstrapNode = bootstrapNode;
this.networkInterface = networkInterface; this.networkInterface = networkInterface;
log.debug("Bootstrap to {}", bootstrapNode.toString());
} }

View file

@ -76,24 +76,11 @@ public class TomP2PMessageService extends TomP2PService implements MessageServic
// MessageService implementation // MessageService implementation
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@Override
public void sendMessage(Peer peer, Message message, SendMessageListener listener) {
doSendMessage(peer, null, message, listener);
}
@Override @Override
public void sendEncryptedMessage(Peer peer, PubKeyRing pubKeyRing, Message message, SendMessageListener listener) { public void sendEncryptedMessage(Peer peer, PubKeyRing pubKeyRing, Message message, SendMessageListener listener) {
assert pubKeyRing != null; assert pubKeyRing != null;
try {
doSendMessage(peer, pubKeyRing, cryptoService.encryptAndSignMessage(pubKeyRing, message), listener);
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
executor.execute(listener::handleFault);
}
}
private void doSendMessage(Peer peer, PubKeyRing pubKeyRing, Message message, SendMessageListener listener) {
log.debug("sendMessage called"); log.debug("sendMessage called");
if (peer == null) if (peer == null)
throw new IllegalArgumentException("Peer must not be null"); throw new IllegalArgumentException("Peer must not be null");
@ -101,7 +88,9 @@ public class TomP2PMessageService extends TomP2PService implements MessageServic
throw new IllegalArgumentException("Peer must be of type TomP2PPeer"); throw new IllegalArgumentException("Peer must be of type TomP2PPeer");
try { try {
FutureDirect futureDirect = peerDHT.peer().sendDirect(((TomP2PPeer) peer).getPeerAddress()).object(message).start(); final Message encryptedMessage = cryptoService.encryptAndSignMessage(pubKeyRing, message);
FutureDirect futureDirect = peerDHT.peer().sendDirect(((TomP2PPeer) peer).getPeerAddress()).object(encryptedMessage).start();
futureDirect.addListener(new BaseFutureListener<BaseFuture>() { futureDirect.addListener(new BaseFutureListener<BaseFuture>() {
@Override @Override
public void operationComplete(BaseFuture future) throws Exception { public void operationComplete(BaseFuture future) throws Exception {
@ -113,7 +102,7 @@ public class TomP2PMessageService extends TomP2PService implements MessageServic
log.info("sendMessage failed. We will try to send the message to the mailbox. Fault reason: " + log.info("sendMessage failed. We will try to send the message to the mailbox. Fault reason: " +
futureDirect.failedReason()); futureDirect.failedReason());
if (pubKeyRing != null) if (pubKeyRing != null)
sendMailboxMessage(pubKeyRing, (SealedAndSignedMessage) message, listener); sendMailboxMessage(pubKeyRing, (SealedAndSignedMessage) encryptedMessage, listener);
} }
} }
@ -122,7 +111,7 @@ public class TomP2PMessageService extends TomP2PService implements MessageServic
log.info("sendMessage failed with exception. We will try to send the message to the mailbox. Exception: " log.info("sendMessage failed with exception. We will try to send the message to the mailbox. Exception: "
+ t.getMessage()); + t.getMessage());
if (pubKeyRing != null) if (pubKeyRing != null)
sendMailboxMessage(pubKeyRing, (SealedAndSignedMessage) message, listener); sendMailboxMessage(pubKeyRing, (SealedAndSignedMessage) encryptedMessage, listener);
} }
} }
); );