Commit graph

732 commits

Author SHA1 Message Date
Peter Conrad
e3fc463efc Initialize openssl properly, use ssl wrapper types instead of ..._free, unify DH_check 2015-07-30 17:43:43 +02:00
Peter Conrad
5377b45d97 Fixed signedness, simplified word-shift 2015-07-30 14:58:35 +02:00
Peter Conrad
d67c18f6c3 Fixed shift in hashes + more tests 2015-07-29 23:22:34 +02:00
Peter Conrad
ef92e68146 Created + added test vectors, various fixes - working! 2015-07-29 21:00:08 +02:00
Peter Conrad
622de81402 Added tests, fixes (sig format, canonicalization) 2015-07-29 21:00:08 +02:00
Peter Conrad
56e98e136a Initial blinding implementation, untested 2015-07-29 21:00:08 +02:00
Peter Conrad
5ecdcba4b6 Some refactoring 2015-07-29 21:00:08 +02:00
Peter Conrad
0f67ca751e Implemented extended keys 2015-07-29 20:59:32 +02:00
Vikram Rajkumar
088dadd124 Merge pull request #47 from pmconrad/testing
Testing
2015-07-29 13:29:22 -04:00
theoreticalbts
d11b48a015 exception.hpp: Implement exception constructors for const log_messages& 2015-07-28 17:01:59 -04:00
Peter Conrad
0878e7f8f8 Tested + fixed more cases 2015-07-27 22:22:20 +02:00
Peter Conrad
fe0ec4a42d Added FC_ASSERT to prevent buffer overflow 2015-07-27 21:23:15 +02:00
Peter Conrad
0e681dfb1c Added tests for base_n encodings, fixed base32 + base36 2015-07-27 21:23:15 +02:00
Eric Frias
a31f0f503d Fix compile error when readline not available 2015-07-27 12:08:28 -04:00
Daniel Larimer
e9eeb3300c adding tab completion to CLI 2015-07-27 09:11:20 -04:00
Daniel Larimer
d79855b491 Websocket shouldn't cleanup default_io_service, that should only happen ONE time when main exits. 2015-07-24 08:32:38 -04:00
Daniel Larimer
d76a15ec89 adding child key derivation for ecc keys 2015-07-23 18:45:35 -04:00
Nathan Hourt
17b64bb38f Resolve cryptonomex/graphene/issues/146 2015-07-22 12:11:04 -04:00
Eric Frias
55111ebbb5 Merge branch 'github_master' 2015-07-14 13:32:58 -04:00
theoreticalbts
5f43c06bae uint128: Implement popcount() 2015-07-13 17:01:11 -04:00
Vikram Rajkumar
0391665471 Fix and cleanup safe spec; cryptonomex/graphene#10 2015-07-13 14:28:44 -04:00
Eric Frias
1e6176911a Fix bugs in http request when using chunked content encoding.
Add missing support for parsing/reconstructing URLs with query strings
to fc::url.
Add md5 hash algorithm.
2015-07-10 10:07:14 -04:00
theoreticalbts
787e4abf3f exception.hpp: Allow enable/disable assert trip notifications with only one dirty file 2015-07-07 21:50:26 -04:00
Scott Howard
153d3f0433
Fix cryptonomex/graphene#107: Define char as signed when comparing against EOF 2015-07-05 15:44:32 -04:00
Eric Frias
d462be0e92 Quiet harmless compiler warnings 2015-07-01 11:21:15 -04:00
theoreticalbts
7bd47af88e rpc: Move many method implementations from headers to cpp files 2015-06-30 15:54:29 -04:00
Eric Frias
3dd848d7eb Fix HTTP request to work with servers that don't specify a
content-length header (either chunked encoding or http 1.0-style.
Allow sending a different content-type in request header other
than app/json.
2015-06-29 11:34:27 -04:00
Vikram Rajkumar
701b9ac00c Remove problematic easylzma 2015-06-23 16:19:36 -04:00
Vikram Rajkumar
943fe5150e Remove unused salsa20
See https://github.com/bitshares/bitshares/issues/1089
2015-06-23 15:43:36 -04:00
Vikram Rajkumar
43f3aff577 Remove unused scrypt-jane
See https://github.com/bitshares/bitshares/issues/1016
2015-06-23 15:34:28 -04:00
Peter Conrad
8ff0f3e764 Dont ignore EOF because users cannot distinguish EOF and empty input line 2015-06-21 15:33:50 +02:00
Eric Frias
c425a019cd Merge branch 'github_master' 2015-06-15 16:04:49 -04:00
Vikram Rajkumar
c09035dba0 Merge pull request #41 from emfrias/json_parser_mods
Json parser mods
2015-06-15 15:30:35 -04:00
Eric Frias
10e747409c Fix FC win32 compiling (secp256k1 related errors) 2015-06-15 14:38:33 -04:00
Eric Frias
8161f3230c Downgrade some websocket debugging wlog messages to ilogs 2015-06-12 14:08:16 -04:00
Eric Frias
c2451f30f1 Add a new mode to the variant->json generator to restore the normal
behavior of writing numbers out as numbers instead of strings
2015-06-12 11:05:58 -04:00
Eric Frias
e5a5323642 When formatting doubles as strings, use 17 digits of precision to ensure they are read back in without loss (up from 12 digits).
Add a mode to the JSON parser to parse all real numbers into strings, so we can later parse them into doubles or another fixed/floating point format to preserve as much precision as needed
2015-06-12 11:05:52 -04:00
Eric Frias
18e80eca23 Merge branch 'github_master' 2015-06-12 10:53:02 -04:00
Eric Frias
74a377aee5 Add a new mode to the variant->json generator to restore the normal
behavior of writing numbers out as numbers instead of strings
2015-06-11 19:22:22 -04:00
Daniel Larimer
8087aa66d0 removing AGPL code 2015-06-11 09:10:12 -04:00
Daniel Larimer
a824aa04a9 Mapping blinding crypto to fc ecc api 2015-06-10 18:34:19 -04:00
Eric Frias
1f2593e764 Merge branch 'master' into syncad_master 2015-05-29 15:43:41 -04:00
Daniel Larimer
01445529f0 handle messages async 2015-05-29 12:11:21 -04:00
Eric Frias
b899bbd476 Merge remote-tracking branch 'github/master' 2015-05-29 09:20:58 -04:00
Nathan Hourt
83d5bcb147 Mark websockets as logging to rpc 2015-05-27 15:04:34 -04:00
Nathan Hourt
8012ab4705 Fix crash on exit with websocket_client 2015-05-27 14:54:11 -04:00
Eric Frias
043ead5579 Fix compile with microsoft c++ which still doesn't support noexcept 2015-05-22 16:15:00 -04:00
Daniel Larimer
ccd14c7260 Merge pull request #4 from pmconrad/libsecp256k1
fc::ecc implementations based on libsecp256k1
2015-05-20 10:30:05 -04:00
Daniel Larimer
71cca4559c adding quotes around large integers 2015-05-18 15:05:25 -04:00
Daniel Larimer
a3c284408e make CLI prompt configurable 2015-05-18 13:40:01 -04:00
Daniel Larimer
135949ee19 large integers are converted to strings in JSON printing 2015-05-15 15:58:47 -04:00
Daniel Larimer
9ef91e2245 partial fixes to crashing on websocket client close 2015-05-12 17:15:00 -04:00
Daniel Larimer
c28ed38f1a adding support for secure websocket client 2015-05-12 16:16:10 -04:00
Daniel Larimer
fb62b6421c adding ssl support to websocket 2015-05-12 14:50:08 -04:00
Daniel Larimer
812b42dbe6 adding default 2015-05-12 12:59:14 -04:00
Daniel Larimer
4f0919c493 adding sanity checks to string->json parsing 2015-05-12 12:58:47 -04:00
Peter Conrad
d9f6b7a526 Rebase + upgrade to latest libsecp256k1 API 2015-05-07 15:59:21 +02:00
Peter Conrad
a164a55c86 Fixed move constructor + assignment 2015-05-07 14:51:03 +02:00
Peter Conrad
5782fd42af Added missing constructors + pubkey::valid 2015-05-07 14:51:03 +02:00
Peter Conrad
05dee8669f Much refactoring
Fixed Move semantics in openssl impl
Use in-place construction for secp256k1
Swapped implementations in mixed - sign with libsecp256k1, verify with openssl
2015-05-07 14:51:03 +02:00
Peter Conrad
10897adf1e Hopefully this is more thread-safe 2015-05-07 14:51:03 +02:00
Peter Conrad
d69e67c032 Work around too deterministic nonce 2015-05-07 14:51:03 +02:00
Peter Conrad
1de9a3ba87 Bugfix 2015-05-07 14:51:03 +02:00
Peter Conrad
abab7617c8 Minor fixes 2015-05-07 14:51:02 +02:00
Peter Conrad
2f383f078f More refactoring 2015-05-07 14:51:02 +02:00
Peter Conrad
bab3864437 Added mixed implementation, fixed interop test script 2015-05-07 14:51:02 +02:00
Peter Conrad
55f9cf5e16 Added mixed implementation, fixed interop test script 2015-05-07 14:51:02 +02:00
Peter Conrad
414617d8e3 Refactoring, step 2 2015-05-07 14:51:02 +02:00
Peter Conrad
55c5773a46 Started refactoring 2015-05-07 14:51:02 +02:00
Peter Conrad
7b15098f3a Woot! 2015-05-07 14:49:52 +02:00
Peter Conrad
34af5d98ec Intermediate version 2015-05-07 14:49:52 +02:00
Peter Conrad
f17444d90b Added ECC_IMPL switch + interop test 2015-05-07 14:48:00 +02:00
Peter Conrad
8bcaa01541 Mark internal helper functions as static 2015-05-07 14:48:00 +02:00
Daniel Larimer
4df08d8efe fix crash in websocket 2015-05-06 16:34:55 -04:00
Daniel Larimer
3599850bb9 Merge commit '72288a2' 2015-05-04 14:07:51 -04:00
Daniel Larimer
72288a25b1 making sure getline doesn't blog 2015-05-04 14:07:22 -04:00
Eric Frias
e9824e1740 Add missing include for isatty on win32 2015-05-04 13:36:15 -04:00
theoreticalbts
80de0987d7 Add readline support to fc::rpc::cli 2015-04-29 16:37:54 -04:00
dnotestein
4ddc8f053b Merge remote-tracking branch 'remotes/bitshares/master' 2015-04-08 09:33:47 -04:00
Daniel Larimer
c8200afade better close notification and error handling 2015-04-01 10:25:57 -04:00
Daniel Larimer
8b5e2e7613 adding helper to get a list of variants from a string 2015-03-31 18:46:05 -04:00
Daniel Larimer
55ee57040a added support for unhandled extension and mapping the first registered API to global namespace 2015-03-31 17:45:01 -04:00
Daniel Larimer
1fb31737a7 RPC now supports remote callbacks
to_variant now skips null optional members on reflected objects.
2015-03-31 11:31:56 -04:00
Eric Frias
174e065bd5 When formatting doubles as strings, use 17 digits of precision to ensure they are read back in without loss (up from 12 digits).
Add a mode to the JSON parser to parse all real numbers into strings, so we can later parse them into doubles or another fixed/floating point format to preserve as much precision as needed
2015-03-31 09:47:54 -04:00
Daniel Larimer
e506e4f4be added listen on a specific endpoint/port pair 2015-03-30 16:56:28 -04:00
Daniel Larimer
74b707999c fix bugs with websocket and integrate API support 2015-03-27 16:29:33 -04:00
Daniel Larimer
b8d7d3012d abstracting rpc state 2015-03-26 18:17:47 -04:00
Daniel Larimer
41fedc14f3 Merge branch 'master' of github.com:BitShares/fc 2015-03-26 16:51:15 -04:00
Daniel Larimer
4ce26f068f implement simple websocket wrapper ontop of websocketpp 2015-03-26 16:51:10 -04:00
Vikram Rajkumar
3d17836a1e Remove extraneous log config setting 2015-03-25 20:07:19 -04:00
Nathan Hourt
4194a609c2 Allow hashing of uint128 2015-03-06 16:41:52 -05:00
Daniel Larimer
73c2c1de90 fix static_variant to/from variant 2015-03-05 09:54:33 -05:00
Daniel Larimer
374f141f0a Merge branch 'master' of github.com:BitShares/fc 2015-02-23 14:02:06 -05:00
Daniel Larimer
537029f09f fix build 2015-02-23 14:01:58 -05:00
Vikram Rajkumar
c3bc573af7 Fix Mac build 2015-02-23 11:08:55 -05:00
SynaptiCAD User
42fcebd473 Remove unnecessary locking around log sending 2015-02-22 14:07:27 -05:00
SynaptiCAD User
30e52b6b01 Fix GELF logging to split long messages, use compression 2015-02-22 14:07:05 -05:00
Daniel Larimer
ec66863902 added type for safe int ops 2015-02-19 11:39:17 -05:00
Daniel Larimer
cf4ed08d4b Merge branch 'master' of github.com:BitShares/fc 2015-02-17 09:55:36 -05:00
Daniel Larimer
93a789891e Adding is_utf8 call and making enum_type cast explicit 2015-02-17 09:55:31 -05:00
Nathan Hourt
c7de8954fb Merge branch 'master' of github.com:bitshares/fc 2015-02-12 10:55:12 -05:00
Nathan Hourt
de2000795d Fix crashes when destroying json_connection, tcp_socket
Also, create on_close callback on json_connection, so clients can
know when the connection has failed.
2015-02-12 10:54:18 -05:00
Vikram Rajkumar
ee370dd5a8 Define sha256::hash( sha256 ) 2015-02-11 18:58:19 -05:00
Nathan Hourt
13430fce12 Revert "Dumb hack that seems to prevent crashing when destroying json_connection"
This reverts commit b068865eb5.
Caused crashes elsewhere.
2015-02-11 17:20:58 -05:00
Nathan Hourt
b068865eb5 Dumb hack that seems to prevent crashing when destroying json_connection 2015-02-10 18:35:50 -05:00
Vikram Rajkumar
9c5450185a Revert "Pretty-print objects in log messages"
This reverts commit 41630e7629.
2015-02-05 18:52:59 -05:00
Vikram Rajkumar
41630e7629 Pretty-print objects in log messages 2015-02-04 18:05:28 -05:00
Vikram Rajkumar
43659333d3 Fix compiler warning 2015-02-03 18:12:37 -05:00
theoretical
323d59b054 real128: Rename PRECISION to FC_REAL128_PRECISION and expose it globally 2015-02-03 11:31:20 -05:00
theoretical
51033bcb12 real128: Implement from_fixed() to initialize real128 from fixed point value 2015-02-03 11:23:22 -05:00
theoretical
4b8c211629 uint128: Check for large shift count before truncating in << and >>
- Correctly handle very large shift counts
- uint128(1) << (uint64_t(1) << 32) should now be 0 as expected
2015-01-30 13:19:01 -05:00
Nathan Hourt
ac197311ca json_connection: save and cancel a future
Hopefully this will fix a crash on exit.
2015-01-30 10:23:33 -05:00
theoretical
d963c6482a Protect flush() with lock in json_connection.cpp
- Maybe fixes https://github.com/BitShares/bitshares/issues/1323
2015-01-29 12:55:34 -05:00
Eric Frias
a33bb60cf6 Add a simplified lock file class to use to prevent two applications from using the same resource 2015-01-21 19:29:38 -05:00
theoretical
0642eb63d3 Throw more appropriate exception type in from_base58 2015-01-21 14:57:04 -05:00
SynaptiCAD User
859282305d Better format log message context 2015-01-21 09:50:14 -05:00
Eric Frias
f3065b367e Add log appender that sends logs in GrayLog Extended Log Format 2015-01-20 16:13:26 -05:00
Vikram Rajkumar
e1678b1801 Add missing default HTTP response 2015-01-19 17:38:28 -05:00
theoretical
64c6c01b80 more efficient uint128 multiplication algorithm (measured 29.23x speedup) 2015-01-07 14:57:45 -05:00
theoretical
6ecb55ac2e Implement full product for uint128 * uint128 -> 256-bit result 2015-01-07 11:20:34 -05:00
drltc
40943808d0 Initial implementation of relaxed JSON parser (not fully tested) 2015-01-02 10:37:16 -05:00
theoretical
524093ce1e Implement chmod function (no-op on Windows) 2014-12-31 14:42:36 -05:00
Eric Frias
5a91c4f118 Virtualize a few functions in istream to allow them to be overridden in derived classes 2014-12-22 17:56:30 -05:00
drltc
594ef43f76 Wrap boost exceptions thrown by to_int64, to_uint64, to_double 2014-12-15 15:40:35 -05:00
drltc
43e02caa79 Fix typo in 64-bit integer variant constructor on Linux 2014-12-15 15:40:21 -05:00
Vikram Rajkumar
36baae683e Minor spelling fix 2014-12-11 19:16:02 -05:00
Daniel Larimer
cb66666edd Merge branch 'master' of github.com:BitShares/fc 2014-12-10 22:58:53 -08:00
Daniel Larimer
a4a90fac05 Update to elliptic curve signature verification 2014-12-10 22:43:37 -08:00
drltc
16c0709500 Increase stack size to 2MB 2014-11-19 11:27:22 -05:00
Vikram Rajkumar
e29438461e Revert "Temporarily revert timestamp serialization change to upgrade in phases"
This reverts commit c38479c6ae.
2014-11-12 14:12:56 -05:00
Daniel Larimer
e6b43a6149 adding support for 10 arg rpc calls 2014-11-10 18:29:05 -05:00
dnotestein
27ac054883 Log thread creation and destruction 2014-11-03 16:59:19 -05:00
dnotestein
13d536c119 Prevent crash at shutdown by shutting down rate_limiting asyncs before boost filesystem global constructors execute. 2014-10-31 17:54:14 -04:00
Vikram Rajkumar
c38479c6ae Temporarily revert timestamp serialization change to upgrade in phases 2014-10-29 15:01:24 -04:00
Vikram Rajkumar
f948bd759d Use ISO standard delimited timestamp string serialization 2014-10-28 18:54:49 -04:00
Eric Frias
307252e23a Call fc:🧵:quit() on thread destruction, and remove code that explicitly terminates threads from the destructors of the objects that own those threads.
Fix fc::thread to set the thread name in the Debugger when the name is set after thread construction.
When terminating a thread, cancel any tasks that have been schedule()d or async()ed but have not yet started executing.
When canceling a task blocked on a fc::mutex, notify the thread to reschedule the task to allow it to clean up the mutex's block list.
Fix a bug in managing the recursive lock count when tasks block on a fc::mutex
Reorder the code that manages the hard links for log files to avoid an exception generated by unlinking a locked file on Windows.
2014-10-21 10:25:28 -04:00
Nathan Hourt
c1eca45ef1 More fixes in json_connection 2014-10-20 12:52:47 -04:00
Eric Frias
891e880ad1 When the HTTP server asyncs a handler for a request, keep a future for that async and cancel any running asyncs when the HTTP server destructs 2014-10-17 16:18:55 -04:00
Nathan Hourt
fadc0512a1 Merge branch 'master' of github.com:InvictusInnovations/fc 2014-10-17 13:43:46 -04:00
Nathan Hourt
502a3c653c Fix yield in catch block 2014-10-17 13:43:40 -04:00
Vikram Rajkumar
7ddf882459 Fix linux build 2014-10-17 13:23:51 -04:00
Eric Frias
b026e82451 Remove task priority hack that is no longer needed 2014-10-17 12:04:21 -04:00
Eric Frias
227767a425 Fix type of PRECISION 2014-10-16 19:00:30 -04:00
Eric Frias
b34a222dc5 Remove #ifdefed-out code 2014-10-16 17:50:58 -04:00
Eric Frias
e5666cca54 Convert ready_head (list of fibers able to run immediately) into a priority heap 2014-10-16 16:26:19 -04:00
Eric Frias
95eb84e62d Add missing include 2014-10-16 16:25:12 -04:00
Eric Frias
1af4ac6a5c Schedule fibers in the order they are asynced or unblocked. Earlier behavior was always to start newly-asycned tasks before resuming existing tasks, so existing tasks could be starved if there was a steady stream of new tasks created. Now all tasks are started or resumed in the order they are created or unblocked. 2014-10-16 15:25:31 -04:00
Eric Frias
a426bf9710 whitespace and spelling fixes, no functional changes 2014-10-16 15:25:31 -04:00
Daniel Larimer
dfe67a4494 adding blob type to variant 2014-10-15 23:32:37 -04:00
Daniel Larimer
ec9e85d268 fix fixed point math 2014-10-15 20:46:24 -04:00