Commit graph

758 commits

Author SHA1 Message Date
theoreticalbts
3dc9639bdd api_connection.hpp: Handle deserialization of null api_ptr 2016-10-26 13:17:48 -04:00
Daniel Larimer
ee6ee27290 clean up tests and add some utility methods 2016-10-24 17:44:53 -04:00
Michael Vandeberg
9ce9270f82 Add to_variant for some bip types 2016-10-20 14:32:11 -04:00
theoreticalbts
929d42fe02 Add from/to variant for bip::vector<char, A...> 2016-10-19 09:47:11 -04:00
Daniel Larimer
815f07506c small formatting issues and helper api 2016-10-18 11:53:26 -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
e8b7e9d447 adding scoped_exit helper 2016-09-29 16:09:06 -04:00
Daniel Larimer
9dfee17413 Merge branch 'master' of https://github.com/steemit/fc 2016-09-28 15:55:14 -04:00
Daniel Larimer
fa5d86d821 define interprocess vector packing 2016-09-28 15:55:08 -04:00
theoreticalbts
f14f463687 fixed_string.hpp: Don't use skip() as not all stream types support it 2016-09-28 14:37:35 -04:00
Daniel Larimer
5da49e5413 Merge branch 'master' of https://github.com/steemit/fc 2016-09-28 11:55:58 -04:00
Daniel Larimer
fb4ddbac0d addding improved support for serializing boost interprocss types 2016-09-28 11:55:51 -04:00
theoreticalbts
ea78d2e75d reflect.hpp: Improve reflection of enum types
- Fix implementation of FC_REFLECT_VISIT_ENUM()
- Re-enable visit() for enum
- Add typename information for enum
2016-09-23 12:21:28 -04:00
Michael Vandeberg
78b511c11e Fix warning in fixed_string.hpp 2016-09-20 15:06:00 -04:00
Daniel Larimer
3c6d7d9fe3 remove console spam 2016-09-16 17:17:06 -04:00
Daniel Larimer
ddc2c16cdb removing duplicate definitions given boost::flat_map == boost::interprocess::flat_map 2016-09-16 14:53:03 -04:00
Daniel Larimer
5c5156f3db remove multiprecision from fixed_string 2016-09-16 13:31:03 -04:00
Daniel Larimer
e7d0d26fe2 adding fixed_string definition 2016-09-15 15:29:16 -04:00
Daniel Larimer
f59a516256 define to/from variant for boost interprocess deque and vector 2016-09-14 10:30:48 -04:00
theoreticalbts
360d86da80 Fix uninitialized variable warning 2016-08-29 13:11:37 -04:00
theoreticalbts
21d62f0a96 Throw when deserializing an integer into a value not in enum 2016-08-26 16:28:36 -04:00
theoreticalbts
80b2341e77 Throw when parsing a string as enum if the string parses as integer but does not exist in enum 2016-08-26 15:29:43 -04:00
theoreticalbts
8d99ea94e6 Avoid undefined behavior in enum deserialization
atoi() has undefined behavior when given a string that can't be parsed as an integer.
This patch replaces atoi() with boost_lexical_cast() and throws an exception when we get
something that's not a number.
2016-08-26 15:01:26 -04:00
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
894d784523 api_connection.hpp: Rename member variable api -> _api to avoid conflicting with type name 2016-08-15 10:59:42 -04:00
theoreticalbts
f3e69d81a9 sha256: Implement and test clz(), approx_log_32() 2016-08-11 12:10:14 -04:00
Daniel Larimer
d74f49ab04 progress on binary api connection 2016-07-30 19:25:32 -04:00
Daniel Larimer
de9a29c33e Progress toward binary RPC" 2016-07-30 19:24:15 -04:00
Daniel Larimer
e8e26838cc first step toward binary RPC 2016-07-30 18:41:03 -04:00
Daniel Larimer
2bc237537c updating websocket and adding new utf8 code 2016-05-24 19:24:03 -04:00
theoreticalbts
44ede99409 websocket.cpp: Allow specifying CA root in websocket_client constructor 2016-05-18 21:14:25 -04:00
theoreticalbts
b6fdcdd5dd json_relaxed.hpp: Fix bug in triple quote string parsing 2016-05-05 13:03:35 -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
theoreticalbts
7906a58468 Revert "Make websocket permessage-deflate default to disabled since it causes problems with Chrome"
This reverts commit 622ff58039.
2016-04-19 22:58:30 -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
Eric Frias
605e9ed7ef Change the variable substitution used in ilog(), FC_THROW() and similar
to make providing a name for the values to be logged optional; if not
specified, the variable name will be generated.  In other words,
you can now say ilog("${foo}", (foo)) instead of ilog("${foo}", ("foo", foo)).
2016-04-06 10:19:28 -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
2d521c390d Merge branch 'master' of github.com:steemit/fc 2016-03-17 17:24:42 -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
Eric Frias
622ff58039 Make websocket permessage-deflate default to disabled since it causes problems with Chrome 2016-03-14 18:26:29 -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
theoreticalbts
38419164b6 optional.hpp: Allow easy access to contained type 2016-02-26 14:26:58 -05:00
Eric Frias
fa2b8fd4d2 Merge branch 'cryptonomex_master'
# Conflicts:
#	src/network/http/websocket.cpp
2016-02-26 11:16:10 -05:00
theoreticalbts
232d59525a raw.hpp: Use fc::raw:: namespace explicitly everywhere, cleanup whitespace 2016-02-19 16:36:29 -05:00
Daniel Larimer
bde8a7f424 fixes updates for deque to variant 2016-02-11 17:16:39 -05:00
Daniel Larimer
7840ef16e9 adding rshift 2016-02-04 16:32:13 -05:00
Daniel Larimer
4438c8aa80 fix include dependency and redundancy of to_variant 2016-02-02 13:36:48 -05:00
Daniel Larimer
845f8388c4 add deque support to variant 2016-02-01 18:29:30 -05:00
theoreticalbts
8eec508b8c iostream.hpp: Add get(char&) override to allow unpack(fc::istream, unsigned_int) 2016-01-08 11:20:38 -05:00
theoreticalbts
7b6431f20e raw.hpp: Add pack() override for shared_ptr<T> 2016-01-08 11:20:32 -05:00
Daniel Larimer
cb27b810e3 adding support for unpacking shared_ptr 2015-11-25 12:49:49 -05:00
theoreticalbts
1e10d3dc47 raw.hpp: Require high bits to be 0 when unpacking bool 2015-10-12 10:09:08 -04: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
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
008dafe7d0 Merge branch 'github_master'
Conflicts:
	src/asio.cpp
	src/network/http/websocket.cpp
2015-09-18 16:03:34 -04:00
Daniel Larimer
483b348878 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-09-11 08:55:02 -04:00
Daniel Larimer
99e1c1fd52 fix warnings 2015-09-11 08:54:51 -04:00
theoreticalbts
80d967a70d variant_object: Implement operator() overload to copy a variant_object 2015-08-28 22:14:27 -04:00
theoreticalbts
cb006ba03c api_connection.hpp: Possibly fix previous commit, see https://github.com/cryptonomex/graphene/issues/232 2015-08-12 13:45:33 -04:00
Eric Frias
ebf42fbbd4 Allow serializing std::maps that use non-standard comparison functions 2015-08-10 18:21:56 -04:00
theoreticalbts
3cd9ed4386 api_connection.hpp: Properly lock connection object for callbacks 2015-08-10 15:17:21 -04:00
theoreticalbts
c16bb206a3 fstream: Implement read_file_contents 2015-08-06 14:47:15 -04:00
Eric Frias
87a2513981 Remove some unused asio completion functions 2015-08-04 10:39:04 -04:00
Eric Frias
556f45fcbf Add missing ddump() macro 2015-08-04 10:24:31 -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
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
Peter Conrad
0575840a9c Implemented HMAC template + test 2015-07-29 20:58:44 +02:00
theoreticalbts
d11b48a015 exception.hpp: Implement exception constructors for const log_messages& 2015-07-28 17:01:59 -04:00
Daniel Larimer
e9eeb3300c adding tab completion to CLI 2015-07-27 09:11:20 -04:00
Daniel Larimer
d76a15ec89 adding child key derivation for ecc keys 2015-07-23 18:45:35 -04:00
Daniel Larimer
7fc2cc43f1 Adding multi_index to/from variant support 2015-07-23 13:16:19 -04:00
Eric Frias
55111ebbb5 Merge branch 'github_master' 2015-07-14 13:32:58 -04:00
Eric Frias
2593760687 Add overloads for comparing safe<T> with T 2015-07-14 10:45:36 -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
Daniel Larimer
2ef7583f90 adding missing smart_ref files 2015-07-09 13:39:55 -04:00
Daniel Larimer
935e90c1ec fix bug with optional that resulted in 8x more memory than necessary being reserved 2015-07-09 13:39:20 -04:00
Daniel Larimer
8d13f292b8 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-07-08 16:43:29 -04:00
Daniel Larimer
63677c47d9 helper for smart_ref 2015-07-08 16:43:25 -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
theoreticalbts
46d85a3462 exception.hpp: Add assert_trip debug logging for exceptions 2015-07-07 21:49:42 -04:00
Daniel Larimer
e2e0f38dc6 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-07-07 18:30:49 -04:00
Daniel Larimer
7c3260e965 Made static variants compareable based upon type. 2015-07-07 18:30:18 -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
theoreticalbts
443544be4f bitutil.h: Implement endian reversal inline functions 2015-07-02 15:24:02 -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