Fixed problems after merging
This commit is contained in:
		| @@ -165,8 +165,8 @@ class DefaultMessageListener implements NetworkHandler.MessageListener { | |||||||
|         listener.receive(msg); |         listener.receive(msg); | ||||||
|         updatePubkey(msg.getFrom(), msg.getFrom().getPubkey()); |         updatePubkey(msg.getFrom(), msg.getFrom().getPubkey()); | ||||||
|  |  | ||||||
|         if (msg.getType() == Type.MSG && identity.has(Pubkey.Feature.DOES_ACK)) { |         if (msg.getType() == Plaintext.Type.MSG && msg.getTo().has(Pubkey.Feature.DOES_ACK)) { | ||||||
|             ObjectMessage ack = plaintext.getAckMessage(); |             ObjectMessage ack = msg.getAckMessage(); | ||||||
|             if (ack != null) { |             if (ack != null) { | ||||||
|                 ctx.getInventory().storeObject(ack); |                 ctx.getInventory().storeObject(ack); | ||||||
|                 ctx.getNetworkHandler().offer(ack.getInventoryVector()); |                 ctx.getNetworkHandler().offer(ack.getInventoryVector()); | ||||||
|   | |||||||
| @@ -16,14 +16,10 @@ | |||||||
|  |  | ||||||
| package ch.dissem.bitmessage; | package ch.dissem.bitmessage; | ||||||
|  |  | ||||||
| import ch.dissem.bitmessage.entity.BitmessageAddress; |  | ||||||
| import ch.dissem.bitmessage.entity.Encrypted; |  | ||||||
| import ch.dissem.bitmessage.entity.ObjectMessage; |  | ||||||
| import ch.dissem.bitmessage.entity.payload.*; |  | ||||||
| import ch.dissem.bitmessage.exception.ApplicationException; |  | ||||||
| import ch.dissem.bitmessage.entity.*; | import ch.dissem.bitmessage.entity.*; | ||||||
| import ch.dissem.bitmessage.entity.payload.*; | import ch.dissem.bitmessage.entity.payload.*; | ||||||
| import ch.dissem.bitmessage.entity.valueobject.Label; | import ch.dissem.bitmessage.entity.valueobject.Label; | ||||||
|  | import ch.dissem.bitmessage.exception.ApplicationException; | ||||||
| import ch.dissem.bitmessage.ports.*; | import ch.dissem.bitmessage.ports.*; | ||||||
| import ch.dissem.bitmessage.utils.Singleton; | import ch.dissem.bitmessage.utils.Singleton; | ||||||
| import ch.dissem.bitmessage.utils.TTL; | import ch.dissem.bitmessage.utils.TTL; | ||||||
| @@ -36,7 +32,6 @@ import java.util.Arrays; | |||||||
| import java.util.TreeSet; | import java.util.TreeSet; | ||||||
|  |  | ||||||
| import static ch.dissem.bitmessage.entity.Plaintext.Status.SENT; | import static ch.dissem.bitmessage.entity.Plaintext.Status.SENT; | ||||||
| import static ch.dissem.bitmessage.utils.UnixTime.DAY; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * The internal context should normally only be used for port implementations. If you need it in your client |  * The internal context should normally only be used for port implementations. If you need it in your client | ||||||
| @@ -182,11 +177,11 @@ public class InternalContext { | |||||||
|             if (payload instanceof Msg && recipient.has(Pubkey.Feature.DOES_ACK)) { |             if (payload instanceof Msg && recipient.has(Pubkey.Feature.DOES_ACK)) { | ||||||
|                 ObjectMessage ackMessage = ((Msg) payload).getPlaintext().getAckMessage(); |                 ObjectMessage ackMessage = ((Msg) payload).getPlaintext().getAckMessage(); | ||||||
|                 messageCallback.proofOfWorkStarted(payload); |                 messageCallback.proofOfWorkStarted(payload); | ||||||
|                 security.doProofOfWork(ackMessage, networkNonceTrialsPerByte, networkExtraBytes, new ProofOfWorkEngine.Callback() { |                 cryptography.doProofOfWork(ackMessage, NETWORK_NONCE_TRIALS_PER_BYTE, NETWORK_EXTRA_BYTES, new ProofOfWorkEngine.Callback() { | ||||||
|                     @Override |                     @Override | ||||||
|                     public void onNonceCalculated(byte[] nonce) { |                     public void onNonceCalculated(byte[] initialHash, byte[] nonce) { | ||||||
|                         object.encrypt(recipient.getPubkey()); |                         object.encrypt(recipient.getPubkey()); | ||||||
|                         proofOfWorkService.doProofOfWork(to, object); |                         proofOfWorkService.doProofOfWork(recipient, object); | ||||||
|                     } |                     } | ||||||
|                 }); |                 }); | ||||||
|             } else { |             } else { | ||||||
| @@ -318,7 +313,7 @@ public class InternalContext { | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         @Override |         @Override | ||||||
|         public void onNonceCalculated(byte[] nonce) { |         public void onNonceCalculated(byte[] initialHash, byte[] nonce) { | ||||||
|             object.setNonce(nonce); |             object.setNonce(nonce); | ||||||
|             messageCallback.proofOfWorkCompleted(payload); |             messageCallback.proofOfWorkCompleted(payload); | ||||||
|             if (payload instanceof PlaintextHolder) { |             if (payload instanceof PlaintextHolder) { | ||||||
|   | |||||||
| @@ -175,7 +175,7 @@ public class Plaintext implements Streamable { | |||||||
|         if (type == Type.MSG) { |         if (type == Type.MSG) { | ||||||
|             if (to.has(Pubkey.Feature.DOES_ACK)) { |             if (to.has(Pubkey.Feature.DOES_ACK)) { | ||||||
|                 ByteArrayOutputStream ack = new ByteArrayOutputStream(); |                 ByteArrayOutputStream ack = new ByteArrayOutputStream(); | ||||||
|                 ackMessage.write(ack); |                 getAckMessage().write(ack); | ||||||
|                 byte[] data = ack.toByteArray(); |                 byte[] data = ack.toByteArray(); | ||||||
|                 Encode.varInt(data.length, out); |                 Encode.varInt(data.length, out); | ||||||
|                 out.write(data); |                 out.write(data); | ||||||
|   | |||||||
| @@ -24,9 +24,7 @@ import ch.dissem.bitmessage.entity.payload.Broadcast; | |||||||
| import ch.dissem.bitmessage.entity.payload.GetPubkey; | import ch.dissem.bitmessage.entity.payload.GetPubkey; | ||||||
| import ch.dissem.bitmessage.entity.payload.Msg; | import ch.dissem.bitmessage.entity.payload.Msg; | ||||||
| import ch.dissem.bitmessage.factory.Factory; | import ch.dissem.bitmessage.factory.Factory; | ||||||
| import ch.dissem.bitmessage.ports.AddressRepository; | import ch.dissem.bitmessage.ports.*; | ||||||
| import ch.dissem.bitmessage.ports.Labeler; |  | ||||||
| import ch.dissem.bitmessage.ports.MessageRepository; |  | ||||||
| import ch.dissem.bitmessage.utils.Singleton; | import ch.dissem.bitmessage.utils.Singleton; | ||||||
| import ch.dissem.bitmessage.utils.TestBase; | import ch.dissem.bitmessage.utils.TestBase; | ||||||
| import ch.dissem.bitmessage.utils.TestUtils; | import ch.dissem.bitmessage.utils.TestUtils; | ||||||
| @@ -51,6 +49,10 @@ public class DefaultMessageListenerTest extends TestBase { | |||||||
|     private AddressRepository addressRepo; |     private AddressRepository addressRepo; | ||||||
|     @Mock |     @Mock | ||||||
|     private MessageRepository messageRepo; |     private MessageRepository messageRepo; | ||||||
|  |     @Mock | ||||||
|  |     private Inventory inventory; | ||||||
|  |     @Mock | ||||||
|  |     private NetworkHandler networkHandler; | ||||||
|  |  | ||||||
|     private InternalContext ctx; |     private InternalContext ctx; | ||||||
|     private DefaultMessageListener listener; |     private DefaultMessageListener listener; | ||||||
| @@ -62,6 +64,8 @@ public class DefaultMessageListenerTest extends TestBase { | |||||||
|         Singleton.initialize(new BouncyCryptography()); |         Singleton.initialize(new BouncyCryptography()); | ||||||
|         when(ctx.getAddressRepository()).thenReturn(addressRepo); |         when(ctx.getAddressRepository()).thenReturn(addressRepo); | ||||||
|         when(ctx.getMessageRepository()).thenReturn(messageRepo); |         when(ctx.getMessageRepository()).thenReturn(messageRepo); | ||||||
|  |         when(ctx.getInventory()).thenReturn(inventory); | ||||||
|  |         when(ctx.getNetworkHandler()).thenReturn(networkHandler); | ||||||
|  |  | ||||||
|         listener = new DefaultMessageListener(ctx, mock(Labeler.class), mock(BitmessageContext.Listener.class)); |         listener = new DefaultMessageListener(ctx, mock(Labeler.class), mock(BitmessageContext.Listener.class)); | ||||||
|     } |     } | ||||||
| @@ -104,6 +108,7 @@ public class DefaultMessageListenerTest extends TestBase { | |||||||
|     public void ensureIncomingMessageIsSaved() throws Exception { |     public void ensureIncomingMessageIsSaved() throws Exception { | ||||||
|         BitmessageAddress identity = TestUtils.loadIdentity("BM-2cSqjfJ8xK6UUn5Rw3RpdGQ9RsDkBhWnS8"); |         BitmessageAddress identity = TestUtils.loadIdentity("BM-2cSqjfJ8xK6UUn5Rw3RpdGQ9RsDkBhWnS8"); | ||||||
|         BitmessageAddress contact = new BitmessageAddress(identity.getAddress()); |         BitmessageAddress contact = new BitmessageAddress(identity.getAddress()); | ||||||
|  |         contact.setPubkey(identity.getPubkey()); | ||||||
|  |  | ||||||
|         when(addressRepo.getIdentities()).thenReturn(Collections.singletonList(identity)); |         when(addressRepo.getIdentities()).thenReturn(Collections.singletonList(identity)); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user