Eric Frias
57d14c7de8
Implement gzip-compression of rotated log files (this effectively
...
restores the functionality removed in 701b9ac00c ,
which had lzma-compression of rotated logs)
2016-08-16 14:20:20 -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
Eric Frias
2bd8e92a75
Windows build fixes (disable compiling permessage-deflate, which isn't very useful right now. The build error will probably be resolved in websocketpp by the time we need it)
2016-03-18 09:32:55 -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
Eric Frias
fa2b8fd4d2
Merge branch 'cryptonomex_master'
...
# Conflicts:
# src/network/http/websocket.cpp
2016-02-26 11:16:10 -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
f9e3f0c4e6
Merge branch 'github_master'
2015-10-06 17:02:25 -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
Eric Frias
00c02b67df
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:19:45 -04:00
Eric Frias
28475608cd
Merge branch 'github_master'
2015-09-23 16:38:35 -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
Eric Frias
008dafe7d0
Merge branch 'github_master'
...
Conflicts:
src/asio.cpp
src/network/http/websocket.cpp
2015-09-18 16:03:34 -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
SynaptiCAD User
b3f8031a83
Fix whitespace padding in recent logging changes
2015-08-28 14:05:58 -04:00
Eric Frias
9f2a1e8b0c
When logging timestamps for log messages, log to millisecond precision
2015-08-25 17:30:21 -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
Eric Frias
a93e3f483b
Rework http client and server code to use a form of socket read/write
...
calls which can be canceled without trashing the stack. Also minor
changes to the code for parsing http headers to avoid buffer
overflows.
2015-08-04 10:41:04 -04:00
Eric Frias
87a2513981
Remove some unused asio completion functions
2015-08-04 10:39:04 -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
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