Commit Graph

83 Commits

Author SHA1 Message Date
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
549c8854ed Refactoring: renamed 'security' to 'cryptography' 2016-01-10 13:38:32 +01:00
fad3e07871 Some changes needed for POW server and some general improvements 2015-12-21 15:13:48 +01:00
61788802c5 Some POW improvements 2015-12-18 16:42:17 +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.
2015-12-08 20:27:32 +01:00
991a0e5f86 Some improvements for custom message handling 2015-12-02 17:45:50 +01:00
99266712fa Some extensions for server POW 2015-11-28 20:27:05 +01:00
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
c9c0806e0d Attempt to disconnect on thread interrupt 2015-10-29 12:34:29 +01:00
9c2d8589bf Improved POW test 2015-10-28 16:56:09 +01:00
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
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
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
fb300c8731 Fixed possible ConcurrentModificationException 2015-10-19 15:08:11 +02:00
1e605f56a5 Added method to retrieve all properties 2015-10-18 18:22:49 +02:00
409100ab20 Work-around for parsing problem
(and made code more robust for different parsing problems)
2015-10-14 22:56:46 +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
2015-10-14 18:37:43 +02:00
117ac3ca73 Fixed some problems and added cleanup on shutdown 2015-10-12 12:44:13 +02:00
ea1419eda1 Synchronisation API - added option to wait for the synchronization to finish 2015-10-08 13:12:39 +02:00
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
c3fdee79ca Some bugfixes and added findMessages by sender 2015-09-29 07:13:27 +02:00
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
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
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
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
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
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
65fdd7d408 Dropped obsolete table and set lower POW target for test (there is no need) 2015-07-03 09:04:35 +02:00
7f4c67f43e Removing IV of received objects from requested objects list (I forgot that one) 2015-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)
2015-07-01 06:57:30 +02:00
c8960df2b3 issues #11 and #12 - import and export for Wallet Import Format 2015-06-27 07:52:28 +02:00
b150d08188 Fixed NPE 2015-06-23 22:29:44 +02:00
fefefe6809 Added some stuff necessary to publish to maven central - I hope it still builds on travis 2015-06-21 08:58:49 +02:00
027efe43df Version 0.1.2 bump - fixed problem where IPv4 Addresses weren't converted correctly. 2015-06-20 08:09:51 +02:00
72d0fbe550 Version 0.1.0 bump
Updated Gradle file structure so the version and a few other things are only defined once
2015-06-18 21:26:08 +02:00
1eb6851798 Updated and fixed JavaDoc 2015-06-18 18:25:47 +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
2015-06-18 13:41:11 +02:00
9b0de83706 Issue # 5: initialize node repository if there are no nodes in DB 2015-06-17 06:00:03 +02:00
c0a7acc609 Greatly improved network code - the "manage the node repository" part of issue #5 should now be OK 2015-06-16 06:41:59 +02:00
ed0d1c2911 issue #4: prevent connections to self, select random nodes to connect to 2015-06-13 17:37:55 +02:00
bd5bf76904 Improved connection management, preventing multiple connections to the same node, and improved broadcast handling. 2015-06-12 06:57:20 +02:00
b40d2e9f73 Fixed issue #8 - search for MAGIC bytes instead of just checking
(NOW it should work)
2015-06-11 20:00:37 +02:00
a053b64fe6 Fixed issue #8 - search for MAGIC bytes instead of just checking 2015-06-11 19:42:44 +02:00
effb2ac2fb Fixing issue #4 - leading zeroes must be omitted on writing the coordinate components 2015-06-10 02:46:45 +02:00
0566b27ce3 Fixed sending broadcasts 2015-06-10 01:02:03 +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. 2015-06-10 00:49:44 +02:00
b4683bba68 Broadcasts. Receiving seems to work, but there still seems to be a problem with sending them. 2015-06-09 22:45:24 +02:00
f76864eebd Added tests for all repositories, fixed some bugs and made database configurable 2015-06-05 13:43:56 +02:00
274c16b748 Implemented sending messages (and fixed a few bugs on the way)
This closes issue #3
2015-05-29 13:17:00 +02:00
593eebb33b Added some JavaDoc 2015-05-27 19:06:46 +02:00