Peter Conrad
90137d400d
Fix for recursion depth limitation
2018-03-07 15:44:10 +01:00
Peter Conrad
1ae3cc2fad
Make unused parsers compile-time optional
2018-03-07 15:43:14 +01:00
Peter Conrad
43fabf618f
Code deduplication
2018-03-07 15:42:46 +01:00
Peter Conrad
e37d9a5051
Code cleanups and simplifications
2018-03-07 15:42:35 +01:00
John Jones
b3053d0421
adjust spacing, add const, remove unnecessary variable, bad malloc check
2018-03-07 02:55:59 -05:00
John Jones
c225488cd4
replace tabs with spaces
2018-03-06 17:17:09 -05:00
John Jones
1fe7d4be46
Trying to get the #$%@$ tabs to disappear
2018-03-06 11:44:00 -05:00
John Jones
f5d68e9336
Adjusting for formatting guidelines
2018-03-06 09:25:38 -05:00
Peter Conrad
4d782e894f
Deduplicate some code
2018-03-06 14:46:34 +01:00
Peter Conrad
52f6810735
Fixed from_file
2018-03-06 14:46:20 +01:00
John Jones
5f3ace5ca3
Added space at end of completed command
2018-03-06 08:06:18 -05:00
John Jones
e766ea9429
correctly handle list of methods
2018-03-05 14:37:14 -05:00
Peter Conrad
bbe2a8b289
JSON parsing fix from steem PR 2178
2018-03-01 18:58:23 +01:00
John Jones
046c65016b
Replaced tab with spaces
2018-02-26 16:54:32 -05:00
John Jones
9d5a32c536
Moved assignment from within a loop
2018-02-26 16:47:38 -05:00
John Jones
79cf3d2b3a
code cleanup
2018-02-26 16:43:54 -05:00
John Jones
abb4b9b0ab
Added editline as submodule
2018-02-20 15:18:47 -05:00
Anton Autushka
7d7872cb7b
some minor fixes
2018-02-06 15:37:14 +03:00
Alexey Frolov
1ae7f6bb02
FIXES:
...
- 'bloom_test_1': infinite loop if file not exists
- 'websocket_test': uncatched exceptions
- 'fc_crypto*' test_stream<>: uninitialized variable (hash)
- 'blowfish_chain_test': using memory after allocated heap
- memcmp: passing nullptr, when non-null expected
- undefined behavior: return value from function
- static_variant: member alignment - performance issue on 64-bit arch
- memory leak: fc::thread cleanup in asio thread
- warning: signed-unsigned comparison
- warning: unused variables
2018-02-05 12:19:06 +03:00
Alexey Frolov
5138c58e09
sanitize, remove warnings
2018-02-02 15:29:46 +03:00
Anton Autushka
20836338d2
Suppress coroutines deprecation warning in boost 1.62
2017-11-09 15:41:44 +03:00
Anton Autushka
c2a37a83bd
Boost 1.61 compatibility fix
2017-11-09 15:18:58 +03:00
Vikram Rajkumar
cb627980a5
Remove unused CyoEncode and Base32
...
5c466150ec
2017-06-04 18:13:13 -05:00
Vikram Rajkumar
a30647d32e
Revert "Add OpenSSL 1.1.0 support"
...
This reverts commit fee06a4c75 .
Max compatible Boost version is not compatible with OpenSSL 1.1.0
2017-06-04 17:44:25 -05:00
Vikram Rajkumar
b94a338e56
Add missing include
...
4643586411
2017-06-01 16:49:10 -05:00
Vikram Rajkumar
680731ef1b
Remove equihash
2017-06-01 16:11:35 -05:00
Vikram Rajkumar
0e2b783168
Merge remote-tracking branch 'steem/13-jsonrpc-improvements'
2017-05-21 14:37:31 -05:00
Nathan Hourt
fee06a4c75
Add OpenSSL 1.1.0 support
...
These changes should add support for openssl 1.1.0 while maintaining
compatibility with 1.0.2
2017-04-25 15:50:56 -05:00
Michael Vandeberg
fa63cd799f
Responses contain jsonrpc field and increased readability of errors #13
2017-04-10 11:12:24 -04:00
Vikram Rajkumar
1f41494f36
Merge branch 'master' of github.com:steemit/fc
2017-03-18 11:38:57 -05:00
Vikram Rajkumar
0d0b485f3a
Remove GNTP (unrelated to NTP)
2017-03-16 12:33:30 -05:00
Vikram Rajkumar
fe82998021
Remove NTP
2017-03-16 12:29:57 -05:00
Vikram Rajkumar
e3238628fc
Merge pull request #2 from elmato/named-api-call
...
Replace the call to get_api_by_name
2017-01-30 18:11:55 -06:00
Michael Vandeberg
7144cdc20b
Actually log methods and params #9
2017-01-27 12:07:50 -05:00
elmato
dd36202e74
Replace the call to get_api_by_name with a direct call to the functions that return fc::api<> in the login_api.
...
If the call to any of this functions succeed (because they where previously enabled),
the api will auto-register itself in the websocket_api_connection/http_api_connection and will return an api_id_type.
2017-01-27 06:03:36 +00:00
Michael Vandeberg
c1a0dca92f
Refactor to use cmake build options #9
2017-01-25 11:16:52 -05:00
Michael Vandeberg
0688b7eb64
Time execution of rpc API call and log long executing calls. #9
2017-01-25 10:16:02 -05:00
elmato
aed35f5b06
Add access to HTTP request headers in websocket_connection
2017-01-16 19:55:17 +00:00
Vikram Rajkumar
2b26a51b6c
Remove unused ssh code
2017-01-13 14:29:22 -06:00
Vikram Rajkumar
326140a931
Remove leftover udt code
2017-01-13 13:36:21 -06:00
Vikram Rajkumar
d1faea2bde
Revert incorrect start of boost compatibility update
2017-01-13 13:36:13 -06:00
Vikram Rajkumar
9d383077fa
Revert "change json seralization of map<string,T> to be object rather than array of pairs"
...
This reverts commit a421e28048 .
2017-01-13 13:35:48 -06:00
Michael Vandeberg
72cd69bed9
Merge pull request #7 from steemit/equihash_security
...
Implement test_canonical_order and test_intermediate_zeros for equihash
2017-01-05 14:18:12 -05:00
Michael Vandeberg
b4b7904c2e
Merge pull request #8 from steemit/rpc-catch-all
...
Wrap non-FC exceptions thrown by client methods
2017-01-05 14:18:02 -05:00
Daniel Larimer
b07f429556
remove udt and make websocketpp includes public
2017-01-03 15:13:22 -05:00
theoreticalbts
fe8710a7aa
Implement test_canonical_order and test_intermediate_zeros for equihash
2016-12-13 15:27:44 -05:00
theoreticalbts
cfc53e8b82
Wrap non-FC exceptions thrown by client methods
2016-12-07 15:27:09 -05:00
Michael Vandeberg
9bc8991f23
Merge commit '463f242ffa4132d22a5006d653bc67b5b703851f'
2016-11-16 11:24:29 -05:00
Michael Vandeberg
50dbc2b139
Add equihash
2016-11-16 11:23:33 -05:00
theoreticalbts
463f242ffa
Implement parse_size() function
2016-11-07 14:35:05 -05:00
Michael Vandeberg
013fbfb6a7
Remove logging on successful thread creation
2016-10-21 14:06:22 -04:00
theoreticalbts
962a816d17
variant.cpp: Fix bug in FC_ASSERT()
2016-10-19 09:47:11 -04:00
Daniel Larimer
6bd5a6c73b
Merge branch 'master' of https://github.com/steemit/fc
2016-10-10 17:16:59 -04:00
Daniel Larimer
0ace4298c5
adding interprocess lock
2016-10-10 17:16:57 -04:00
theoreticalbts
636d4530e3
sha256: Add method to return approx log as double
2016-10-04 14:19:59 -04:00
theoreticalbts
585cea9472
sha256: Add inverse log and testing
2016-10-04 14:19:59 -04:00
Daniel Larimer
d352463e82
fix warnings generated by latest clang
2016-10-03 12:03:34 -04:00
Daniel Larimer
e7d0d26fe2
adding fixed_string definition
2016-09-15 15:29:16 -04:00
theoreticalbts
19d41b8606
Do not emit \a escape sequence
2016-09-02 10:36:11 -04:00
theoreticalbts
a7376ceba2
tcp_socket.cpp: More verbose error message
2016-08-16 14:51:50 -04:00
theoreticalbts
f3e69d81a9
sha256: Implement and test clz(), approx_log_32()
2016-08-11 12:10:14 -04:00
Daniel Larimer
e8e26838cc
first step toward binary RPC
2016-07-30 18:41:03 -04:00
theoreticalbts
c672e3b4b4
json.cpp: Add missing cases for control character escape sequences
2016-07-21 13:33:36 -04:00
Daniel Larimer
e5ffc620ba
updating fc to support more threads
2016-07-18 21:20:40 -04:00
Daniel Larimer
c109dbecf3
improve performince of fc::uin128 divide
2016-06-27 16:22:14 -04:00
Daniel Larimer
2bc237537c
updating websocket and adding new utf8 code
2016-05-24 19:24:03 -04:00
arhag
66d4b0841d
Changes to fc to get MinGW cross-compilation working
2016-05-22 01:33:19 -04:00
theoreticalbts
44ede99409
websocket.cpp: Allow specifying CA root in websocket_client constructor
2016-05-18 21:14:25 -04:00
theoreticalbts
56e36bed8f
Revert "Update the websocketpp library and change the configuration options we pass"
...
This reverts commit d5370fc2ea .
2016-04-19 22:58:39 -04:00
theoreticalbts
1f02c6790f
Revert "Add an option to the websocket server constructor to allow disabling deflate"
...
This reverts commit 21045dde5f .
2016-04-19 22:58:37 -04:00
Daniel Larimer
b34e8584ae
Merge branch 'master' of https://github.com/steemit/fc
2016-04-08 14:18:47 -04:00
Daniel Larimer
09975ce12b
adding IP address to http request handler
2016-04-08 14:18:42 -04:00
theoreticalbts
5c1bb56177
Implement modular API support
...
- Create class `api_base` to be base class of `api<T>`, and `typedef shared_ptr<api_base> api_ptr`
- Create function `api_base::as<T>()` to allow simple downcast to `api<T>`
- Create class `any_api` to contain an API which has been returned from the remote end, but not yet cast with `as<T>`
- `to_generic()` override allowing remote API to return `api_ptr`, thus we need not know the type of the returned API at compile time
- Allow API's to be referenced by name, if we call with a string API name in the JSON the framework calls get_api_by_name on API 1 to determine the API ID
2016-04-04 00:50:56 -04:00
Daniel Larimer
a421e28048
change json seralization of map<string,T> to be object rather than array of pairs
2016-03-17 17:24:25 -04:00
Daniel Larimer
0dca15c395
Merge branch 'master' of https://github.com/cryptonomex/fc
2016-03-11 12:33:41 -05:00
Daniel Larimer
eaa763aff1
adding canonical flag
2016-03-11 12:33:33 -05:00
Eric Frias
21045dde5f
Add an option to the websocket server constructor to allow disabling deflate
...
compression. Refactored the code to remove duplication between tls/non-tls
versions of the server, which appear to have been cut & paste copies of
one another that had diverged slightly. This makes some of the fixes to
the non-tls server available in the tls server.
cryptonomex/graphene#619
2016-03-10 17:22:28 -05:00
Eric Frias
d5370fc2ea
Update the websocketpp library and change the configuration options we pass
...
when creating the websocket servers to enable deflate compression on
websocket frames. This is relevant to cryptonomex/graphene#540 because
the spammed data is higly compressible. In my tests, it reduces bandwidth
for a single idle node by a factor of ~16, from 577kbps down to 36kbps.
This doesn't require any changes to the wallets, simply upgrading the
public servers will begin sending compressed data to all clients that
support it.
Note: this commit adds a dependency on zlib for non-apple platforms
(it was already required on apple)
2016-03-03 16:53:43 -05:00
theoreticalbts
83b4de067a
future.cpp: Fix use-after-free bug cryptonomex/graphene#597
2016-02-25 03:04:45 -05:00
Daniel Larimer
e5ca765f15
clean up logging
2016-02-15 11:59:28 -05:00
Eric Frias
6ed7717826
Handle http requests to the websocket server async, in a similar manner to the way regular websocket messages were handled since 01445529f0. Fixes cryptonomex/graphene#251 , and likely eliminates the need for the workaround used to fix cryptonomex/graphene#1 and cryptonomex/graphene#252
2016-02-10 15:25:54 -05:00
Daniel Larimer
7840ef16e9
adding rshift
2016-02-04 16:32:13 -05:00
theoreticalbts
46ed830373
variant.cpp: Tighten bool parsing in variant::as_bool() cryptonomex/graphene#525
2016-01-21 15:30:51 -05:00
Michael Vandeberg
d74eee8110
Implements deserialize for extended_public_key and extended_private_key.
...
Implementation needed by cryptonomex/graphene#500
2016-01-07 17:14:16 -05:00
Daniel Larimer
6495004302
move potential yields outside of catch
2015-10-09 17:08:03 -04:00
Eric Frias
2b2dfc62fc
Win32 compile fixes (replace nonstandard runtime-sized auto arrays with alloca)
2015-10-05 12:09:35 -04:00
Daniel Larimer
dacdb997f8
Merge branch 'master' of https://github.com/cryptonomex/fc
2015-10-05 08:44:31 -04:00
Daniel Larimer
6872112ab0
adding extra checks for yielding while processing a catch
2015-10-05 08:44:24 -04:00
Daniel Larimer
7e32df4978
Merge pull request #46 from pmconrad/blinding
...
Blinding a la Oleg Andreev
2015-10-01 09:55:28 -04:00
Eric Frias
9933f57dda
In asio worker threads, catch and ignore exceptions thrown by asio
...
handlers. websocketspp code leaks boost exceptions from its handlers
which would otherwise terminate the program
2015-09-25 19:24:48 -04:00
Daniel Larimer
83a9e4d7c8
Update NTP performance requirments
...
NTP server must ACK within 300ms or time will not be set.
Removed extra printing
2015-09-23 16:22:11 -04:00
Daniel Larimer
d19f67d94f
prevent yielding from catch block
2015-09-14 11:14:52 -04:00
Daniel Larimer
19e42ac4c4
fix potential crash in websocket
2015-09-07 17:46:08 -04:00
Daniel Larimer
08944de151
updating logs to append
2015-09-07 11:15:48 -04:00
theoreticalbts
80d967a70d
variant_object: Implement operator() overload to copy a variant_object
2015-08-28 22:14:27 -04:00
Eric Frias
71be796af5
Remove extraneous spaces in relative time printing
2015-08-24 09:34:18 -04:00
Eric Frias
18ed468c6f
Win32 compile fix (allocate buffer on heap instead of stack, probably a good
...
idea anyway given fc task stack sizes)
2015-08-17 12:38:54 -04:00
Nathan Hourt
9c868b3927
Fix crash on exit
2015-08-14 14:31:09 -04:00
theoreticalbts
c16bb206a3
fstream: Implement read_file_contents
2015-08-06 14:47:15 -04:00
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
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
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
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
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
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
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
Daniel Larimer
01445529f0
handle messages async
2015-05-29 12:11:21 -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