Commit Graph

283 Commits

Author SHA1 Message Date
chris 8764642878 Major fixes and improvements to the network module, fixing problems where objects where requested multiple times or not at all in some situations. 2016-01-16 08:47:50 +01:00
chris 549c8854ed Refactoring: renamed 'security' to 'cryptography' 2016-01-10 13:38:32 +01:00
chris de0100e14f Merge branch 'feature/server-pow' into develop 2016-01-10 12:22:57 +01:00
chris fad3e07871 Some changes needed for POW server and some general improvements 2015-12-21 15:13:48 +01:00
chris 61788802c5 Some POW improvements 2015-12-18 16:42:17 +01:00
chris 51bf3b8bd2 Fixed tests 2015-12-12 11:05:13 +01:00
chris 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.
2015-12-08 20:27:32 +01:00
chris 991a0e5f86 Some improvements for custom message handling 2015-12-02 17:45:50 +01:00
chris 99266712fa Some extensions for server POW 2015-11-28 20:27:05 +01:00
chris 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
2015-11-08 19:29:26 +01:00
chris 1f05a52f05 Improvements
- Massively reduced logging, especially at debug level
- Optimizations to reduce system load
- Use bootstrapping to find stable nodes
2015-11-08 10:14:37 +01:00
chris 2a8834e3c6 Timeout might have been too short for Travis CI
(or there is an actual problem with concurrency)
2015-10-30 20:05:55 +01:00
chris c9c0806e0d Attempt to disconnect on thread interrupt 2015-10-29 12:34:29 +01:00
chris 9c2d8589bf Improved POW test 2015-10-28 16:56:09 +01:00
chris b496f81b20 Fixed POWEngine and improved test.
(Locks can't be released from a different thread, we need to use a semaphore)
2015-10-27 07:50:20 +01:00
chris 36fe780766 The nonce is now set over a callback method in the POW engine. This should make some POW implementations easier. 2015-10-26 09:49:49 +01:00
chris bdc8e025c1 Connections are now severed after a configurable time (12h by default) or when a limit is exceeded (150 by default) 2015-10-24 12:08:23 +02:00
chris a398b072b5 (probably) fixed another concurrency problem in the tests 2015-10-19 15:14:25 +02:00
chris fb300c8731 Fixed possible ConcurrentModificationException 2015-10-19 15:08:11 +02:00
chris 1e605f56a5 Added method to retrieve all properties 2015-10-18 18:22:49 +02:00
chris 3f1b41a2c1 Merge branch 'develop' of github.com:Dissem/Jabit into develop 2015-10-15 18:04:55 +02:00
chris ac70a4b632 We probably shouldn't leave the bitmessage node running after the test is finished 2015-10-15 17:59:32 +02:00
chris 4913a21b11 Fixed NetworkHandlerTest 2015-10-15 15:34:04 +02:00
chris d39342b12f Update .travis.yml
Travis seems to use Java 7 by default, probably because it's defined in the base `build.gradle`. This causes a problem for modules that use Java 8.
2015-10-15 08:21:41 +02:00
chris 409100ab20 Work-around for parsing problem
(and made code more robust for different parsing problems)
2015-10-14 22:56:46 +02:00
chris ddaa52f416 Merge branch 'feature/threaded-connections' into develop 2015-10-14 20:38:37 +02:00
chris 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
2015-10-14 18:37:43 +02:00
chris 117ac3ca73 Fixed some problems and added cleanup on shutdown 2015-10-12 12:44:13 +02:00
chris 3d1bd7227b Updated H2 version 2015-10-12 12:42:11 +02:00
chris ea1419eda1 Synchronisation API - added option to wait for the synchronization to finish 2015-10-08 13:12:39 +02:00
chris f9ff22bebe Synchronisation API and related refactorings / improvements
-> lets you synchronize with the Bitmessage network without staying connected
2015-10-07 21:50:41 +02:00
chris c3fdee79ca Some bugfixes and added findMessages by sender 2015-09-29 07:13:27 +02:00
chris 7fb837645f Synchronisation now shouldn't fail if the trusted host has no new messages
- fixed tests for Gradle builds
- fixed SerializationTest
2015-09-25 23:35:31 +02:00
chris 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)
2015-09-24 08:09:20 +02:00
chris 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)
2015-08-28 13:48:01 +02:00
chris 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. 2015-08-05 19:55:53 +02:00
chris 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) 2015-08-05 19:52:18 +02:00
chris 6542bd1451 now the build should work for anyone (esp. travis) 2015-07-04 11:13:35 +02:00
chris 070cde699e Version 0.2.1-SNAPSHOT bump - minor changes so anyone should be able to build and I can easily upload to maven central 2015-07-04 10:26:02 +02:00
chris bef9ea716e Merge branch 'release/0.2.0' into develop 2015-07-03 14:48:34 +02:00
chris c557eafc36 Merge branch 'release/0.2.0' 0.2.0 2015-07-03 14:48:33 +02:00
chris c1ca1d856d Version 0.2.0 bump 2015-07-03 14:47:25 +02:00
chris 6fbb3f850d There are some instances where an inventory item is requested and therefore saved twice. This shouldn't be logged as an error. 2015-07-03 14:46:55 +02:00
chris 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
2015-07-03 11:28:06 +02:00
chris 65fdd7d408 Dropped obsolete table and set lower POW target for test (there is no need) 2015-07-03 09:04:35 +02:00
chris 7f4c67f43e Removing IV of received objects from requested objects list (I forgot that one) 2015-07-03 07:56:18 +02:00
chris 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)
2015-07-01 06:57:30 +02:00
chris c8960df2b3 issues #11 and #12 - import and export for Wallet Import Format 2015-06-27 07:52:28 +02:00
chris 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) 2015-06-24 22:56:17 +02:00
chris fb25852bac Removed docs into another repo - they don't have much to do with Jabit
(If you must: https://git.dissem.ch/chrigu.meyer/thesis/)
2015-06-24 06:55:25 +02:00