354f506872
Raised timeout for test so hopefully it doesn't fail anymore on Travis CI (otherwise there must be a different problem)
Christian Basler2016-02-03 19:28:41 +01:00
985e830779
Made TTLs easily changeable (albeit not for specific messages) This should make the system test run on Travis CI again
Christian Basler2016-02-02 21:05:14 +01:00
edd8045327
Fixed / improved message sending and added a system test (it's a start)
Christian Basler2016-02-02 20:40:01 +01:00
5f4dbfc985
Version 1.0.1-SNAPSHOT - fixed issue with requesting pubkey, and problem where your keys are overwritten if you try to import a contact again or worse, your identity as a contact
Christian Basler2016-01-31 18:11:20 +01:00
3103ae6edd
Merge remote-tracking branch 'origin/master' into develop
Christian Basler2016-01-29 18:20:24 +01:00
ac6f291964
Renamed module 'domain' to 'core' to make its purpose more clear
Christian Basler2016-01-17 05:42:48 +01:00
8764642878
Major fixes and improvements to the network module, fixing problems where objects where requested multiple times or not at all in some situations.
Christian Basler2016-01-16 08:47:50 +01:00
ab6a3c56dd
The POW callback is now a service and its state stored. The proof of work engine therefore just has to remember its initial hash making server based POW easier.
Christian Basler2015-12-08 20:27:32 +01:00
2fae90c433
Some code for sending acknowledgements - some of it isn't tested - somehow the ack part seems to be empty, even though the flag should be set
Christian Basler2015-11-08 19:29:26 +01:00
1f05a52f05
Improvements - Massively reduced logging, especially at debug level - Optimizations to reduce system load - Use bootstrapping to find stable nodes
Christian Basler2015-11-08 10:14:37 +01:00
2a8834e3c6
Timeout might have been too short for Travis CI (or there is an actual problem with concurrency)
Christian Basler2015-10-30 20:05:55 +01:00
b496f81b20
Fixed POWEngine and improved test. (Locks can't be released from a different thread, we need to use a semaphore)
Christian Basler2015-10-27 07:50:20 +01:00
36fe780766
The nonce is now set over a callback method in the POW engine. This should make some POW implementations easier.
Christian Basler2015-10-26 09:49:49 +01:00
bdc8e025c1
Connections are now severed after a configurable time (12h by default) or when a limit is exceeded (150 by default)
Christian Basler2015-10-24 12:08:23 +02:00
a398b072b5
(probably) fixed another concurrency problem in the tests
Christian Basler2015-10-19 15:14:25 +02:00
409100ab20
Work-around for parsing problem (and made code more robust for different parsing problems)
Christian Basler2015-10-14 22:56:46 +02:00
ddaa52f416
Merge branch 'feature/threaded-connections' into develop
Christian Basler2015-10-14 20:38:37 +02:00
511b3c1754
Connections now use two separate threads for writing and listening - this should avoid dead locks, specifically when connecting to Jabit :/ - also, Java 8 features are now allowed in modules not needed by Android clients
Christian Basler2015-10-14 18:37:43 +02:00
ea1419eda1
Synchronisation API - added option to wait for the synchronization to finish
Christian Basler2015-10-08 13:12:39 +02:00
f9ff22bebe
Synchronisation API and related refactorings / improvements -> lets you synchronize with the Bitmessage network without staying connected
Christian Basler2015-10-07 21:50:41 +02:00
7fb837645f
Synchronisation now shouldn't fail if the trusted host has no new messages - fixed tests for Gradle builds - fixed SerializationTest
Christian Basler2015-09-25 23:35:31 +02:00
d67c932fb2
Added synchronization code and unit test. Synchronisation fails if the trusted host has no new messages - this needs to be fixed (but shouldn't be an issue for real world applications)
Christian Basler2015-09-24 08:09:20 +02:00
f89d1a342e
Fixed a few problems: - some bugs that creeped in when I moved security into its own adapter - improved some DB code as it doesn't work in Android anyway - all entities should be serializable (very useful in Android)
Christian Basler2015-08-28 13:48:01 +02:00
4911c268c2
Changed repositories to work with SQLDroid, which seems to have very limited support for blobs, at least it didn't work when I used stream.
Christian Basler2015-08-05 19:55:53 +02:00
b8546e28af
Moving "Security" to a separate port, so there can be a Bouncycastle and a Spongycastle implementation. (BC doesn't work on Android, SC can't be used on Oracle's JVM)
Christian Basler2015-08-05 19:52:18 +02:00
6542bd1451
now the build should work for anyone (esp. travis)
Christian Basler2015-07-04 11:13:35 +02:00
070cde699e
Version 0.2.1-SNAPSHOT bump - minor changes so anyone should be able to build and I can easily upload to maven central
Christian Basler2015-07-04 10:26:02 +02:00
6fbb3f850d
There are some instances where an inventory item is requested and therefore saved twice. This shouldn't be logged as an error.
Christian Basler2015-07-03 14:46:55 +02:00
6f50c200ee
Added import/export to the demo app - discovered private key length was wrong - fixed - as things are broken anyway, refactored flyway migrations - you'll need to delete ~/jabit.*.db
Christian Basler2015-07-03 11:28:06 +02:00
65fdd7d408
Dropped obsolete table and set lower POW target for test (there is no need)
Christian Basler2015-07-03 09:04:35 +02:00
7f4c67f43e
Removing IV of received objects from requested objects list (I forgot that one)
Christian Basler2015-07-03 07:56:18 +02:00
2c4d95af2f
smarter network code, fixed various issues - deciding on the stream at creation time is just silly - it should be done based on the identities (this part is TODO) - changed NodeRegistry so it doesn't store nodes - this should help to connect faster - inventory items shouldn't be advertised to nodes that are already aware of them (issue #13) - objects shouldn't be requested more than once (issue #9)
Christian Basler2015-07-01 06:57:30 +02:00
884171fe18
issue #15: fixed socket timeouts and connection shutdown - no exceptions should be thrown if the network node is being shut down, although it can take up to 5 seconds = max(READ_TIMEOUT, CONNECT_TIMEOUT)
Christian Basler2015-06-24 22:56:17 +02:00
b6f42c2f3d
Version 0.1.1 bump - fixed unit test / DB initialisation error
Christian Basler2015-06-18 21:53:35 +02:00
72d0fbe550
Version 0.1.0 bump Updated Gradle file structure so the version and a few other things are only defined once
Christian Basler2015-06-18 21:26:08 +02:00
6be8d51f6d
Distributable JAR build - connection manager should now be rock stable - does try to create new connections as long as there are less than eight active connections, which might result in more than eight outgoing connections, but this shouldn't be a problem - some minor improvements and bug fixes
Christian Basler2015-06-18 13:41:11 +02:00
c0a7acc609
Greatly improved network code - the "manage the node repository" part of issue #5 should now be OK
Christian Basler2015-06-16 06:41:59 +02:00
ed0d1c2911
issue #4: prevent connections to self, select random nodes to connect to
Christian Basler2015-06-13 17:37:55 +02:00
bd5bf76904
Improved connection management, preventing multiple connections to the same node, and improved broadcast handling.
Christian Basler2015-06-12 06:57:20 +02:00
35996019a2
There's something wrong with the V5 broadcast signature. I'm not quite shure what it is, so I made a test.
Christian Basler2015-06-10 00:49:44 +02:00
b4683bba68
Broadcasts. Receiving seems to work, but there still seems to be a problem with sending them.
Christian Basler2015-06-09 22:45:24 +02:00