Commit graph

497 commits

Author SHA1 Message Date
Eric Frias
accb6fddcb Add raw serialization for microseconds 2014-06-19 15:51:41 -04:00
Daniel Larimer
c7013d3eea update log_message to take std::string rather than const char* 2014-06-19 11:29:57 -04:00
Daniel Larimer
7a51b73680 adding ulog to send messages to the user log stream 2014-06-19 11:19:22 -04:00
Nathan Hourt
885aa14ed1 Add missing synchronous call overload to json_connection 2014-06-17 13:16:57 -04:00
Daniel Larimer
c84e47120d various updates 2014-06-17 09:37:04 -04:00
Daniel Larimer
4c3b6c2106 fix prototype mismatch 2014-06-17 09:35:37 -04:00
Eric Frias
6ef1c3e5d9 Spelling fix 2014-06-16 18:48:02 -04:00
Daniel Larimer
0c0a53541a made it easier to define custom loggers per file 2014-06-16 16:27:21 -04:00
Eric Frias
a0a33a9e95 Add missing include 2014-06-16 08:46:14 -07:00
Daniel Larimer
b7ad720647 updating ntp service 2014-06-16 11:17:29 -04:00
Eric Frias
888a01881a Change the function that returns relative time strings to generate times relative to an arbitrary clock instead of always using time_point::now(). (this is so we can use blockchain::now() instead).
Remove unused include.
2014-06-15 14:16:22 -04:00
Daniel Larimer
b02210a361 fix implicit bigint to bool 2014-06-12 17:36:58 -04:00
Daniel Larimer
4385bbe49a serialization and copy support for exceptions 2014-06-12 02:23:52 -04:00
Daniel Larimer
36d657fb62 enhance console appender 2014-06-11 23:41:10 -04:00
Daniel Larimer
cb69e2385b exception updates 2014-06-11 21:46:26 -04:00
Daniel Larimer
454da57a32 adding base58 helper 2014-06-11 17:28:47 -04:00
Daniel Larimer
6e7da6ca78 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-11 15:17:33 -04:00
Daniel Larimer
0c64d208d9 adding ntp support to fc 2014-06-11 15:17:28 -04:00
Eric Frias
f034839f10 Work around bugs in Visual C++ variadic macro parsing and/or non-standard use of same. Compiles on win32 and linux, whether it works is anyone's guess. 2014-06-10 09:56:58 -04:00
Daniel Larimer
8fd05525da fix printing 2014-06-09 19:58:45 -04:00
Daniel Larimer
c58a8339e8 fixing spacing on exception messages 2014-06-09 12:15:51 -04:00
Daniel Larimer
f9746b6fe6 fix exception macro 2014-06-09 12:13:29 -04:00
Daniel Larimer
ef8f257520 support for derived exceptions 2014-06-09 12:01:52 -04:00
Daniel Larimer
c5ee342ddf fix exception rethrow code 2014-06-09 11:46:11 -04:00
Daniel Larimer
374d71a1fd adding support for derived exceptions 2014-06-09 10:56:55 -04:00
Daniel Larimer
34ac1baf82 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-09 10:49:54 -04:00
Daniel Larimer
2164dd2e0c fix FC_CAPTURE_AND_RETHROW 2014-06-09 10:49:41 -04:00
Eric Frias
8e82a0a24a Fix default constructor for exceptions declared using the FC_DECLARE_EXCEPTION macro to include the correct code and strings 2014-06-09 09:55:02 -04:00
Eric Frias
263a6bbdc5 add time_point_sec::minimum() and maximum() 2014-06-09 09:54:11 -04:00
HackFisher
9b3b7993ee add unknown host exception 2014-06-08 16:53:23 -04:00
Daniel Larimer
88e41b76e3 fix warning in release builds 2014-06-08 10:45:32 -04:00
Daniel Larimer
8e3163d4fb extra helper variant constructor 2014-06-07 22:58:19 -04:00
Daniel Larimer
ac6505f196 fix compile warnings 2014-06-08 01:08:12 +00:00
dnotestein
a43bdf2ab7 fix fc compilation for windows (add NO_RETURN to rethrow declaration) 2014-06-07 12:55:35 -04:00
Daniel Larimer
17117bc6bf adding support for 7 arg rpc calls 2014-06-06 22:46:28 -04:00
Daniel Larimer
d046526974 upgrade exception handling to support custom types in 3rd party libraries 2014-06-06 16:42:42 -04:00
Daniel Larimer
942545df5e adding variant for microseconds 2014-06-04 15:00:58 -04:00
Eric Frias
a6ca7042da add to/from variant for fc::microseconds 2014-06-04 13:51:50 -04:00
Eric Frias
2690a52fe5 Add a function to return the local endpoint of a http server 2014-06-03 19:00:22 -04:00
Daniel Larimer
5a0f996333 adding pretty print 2014-06-03 11:09:15 -04:00
Daniel Larimer
0cf08f124e Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into HEAD 2014-06-02 21:05:19 -04:00
Daniel Larimer
285913bce0 some compilers need more space 2014-06-02 21:05:04 -04:00
Eric Frias
2251d0f241 Fix bigint on conversions to and from 64-bit integers on 32-bit platforms
Fixes BitShares/bitshares_toolkit#150
2014-06-02 13:32:42 -04:00
vogel76
04f07aa429 [BW]: [Fix] Eliminated OpenSSL initialization from CRT init time (which caused random problems on windows7 machines leading the application to silent crash). Right now it is done at first use of fc parts using it. Also added method to setup OpenSSL configuration path to custom one (to avoid using path compiled into OpenSSL at configuration & build time). 2014-06-02 17:34:04 +02:00
Eric Frias
9fa6e8a430 Separate the 'bind' operation for tcp_sockets from the 'connect_to' operation so we can tell which operation is throwing an exception in client code. convert a few boost exceptions into fc::exceptions. 2014-06-01 18:08:10 -04:00
Daniel Larimer
861221098f made ripemd160 string conversion operator explicit 2014-05-30 14:29:00 -04:00
Eric Frias
7dde0a705d Add 5 and 6 argument versions of json rpc call functions 2014-05-29 15:54:40 -04:00
Daniel Larimer
ca0b3c7758 adding reflect typename to fc::microseconds 2014-05-29 10:54:42 -04:00
Daniel Larimer
65361f1fce updated typedefs for clarity 2014-05-25 23:12:33 -04:00
Daniel Larimer
ac03a71f3d improve variant cast error reporting 2014-05-25 14:18:26 -04:00
Daniel Larimer
f636a9602c Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-05-23 21:38:11 -04:00
Daniel Larimer
3eaa6a3f65 adding mod to uint128 2014-05-23 21:38:05 -04:00
Eric Frias
b9050b589d Merge branch 'phoenix' into tcp_rate_limiting 2014-05-23 18:04:05 -04:00
Eric Frias
c1ff37889b Add + operator to time_point_sec 2014-05-23 18:03:27 -04:00
Nikolai Mushegian
adacbf6d6b Merge pull request #27 from vikramrajkumar/phoenix
Minor cleanup
2014-05-23 17:43:16 -04:00
Daniel Larimer
ba45a9b090 improve error reporting on std::exceptions 2014-05-22 14:56:52 -04:00
Daniel Larimer
9874fc9076 adding != operator to fc::microseconds 2014-05-22 14:24:31 -04:00
Vikram Rajkumar
c9529c8f87 Return synonym "uint160_t" for uint160 typename to not break leveldb upgrade routine 2014-05-22 03:52:59 -04:00
Eric Frias
5719d28a19 Move/rename git revision info compiled into FC to be more self-explanatory 2014-05-20 18:02:20 -04:00
Eric Frias
cb6014eecc Remove to_string overload on size_t for win32, it now conflicts with the uint32_t case 2014-05-20 17:10:38 -04:00
Eric Frias
d2e2311d72 Removed old versions of base-16/58/64 conversion headers from fc/io, they have moved to fc/crypto 2014-05-20 17:07:34 -04:00
Daniel Larimer
6b9abdf272 adding raw::pack_size() helper 2014-05-20 13:42:21 -04:00
Daniel Larimer
b5828dc750 adding extra to_string variants 2014-05-20 12:31:05 -04:00
Daniel Larimer
17aefe29de using explicit bool operator for optional 2014-05-20 11:25:31 -04:00
Daniel Larimer
87c314facb raw serialization of std::map 2014-05-19 15:22:19 -04:00
Daniel Larimer
013b9a867f reflect typename of variant 2014-05-18 21:14:51 -04:00
HackFisher
ce131bae43 Fix compile error under windows
Error 1 error C2668: 'fc::to_string' : ambiguous call to overloaded function
2014-05-18 16:37:06 +08:00
Daniel Larimer
fd00bddcb4 update logging to create parent directory if it does not exist 2014-05-17 16:38:32 -04:00
Daniel Larimer
06bc873da0 improving error reporting in deserialization 2014-05-17 19:35:44 +00:00
Vikram Rajkumar
cde67a202c Implement assignment by subtraction for time classes 2014-05-16 22:29:46 -04:00
Eric Frias
b3e30e893b 32/64 bit int stuff 2014-05-15 14:14:58 -04:00
Eric Frias
2837892ec0 Upgrade to new version of city_hash library. This version has performance improvements, plus implements a variant with 32-bit output which will quiet some compiler warnings on win32. 2014-05-14 17:11:36 -04:00
Eric Frias
873a0ea70d Merge branch 'phoenix' into tcp_rate_limiting 2014-05-14 16:26:34 -04:00
Eric Frias
db7b1bdd69 Add an optional timeout parameter when waiting for a local process to exit 2014-05-14 08:51:30 -04:00
Daniel Larimer
0a11b29984 update error reporting 2014-05-13 16:41:27 -04:00
Eric Frias
37330ca005 change the naming of invalidOperation exception to the more fc-friendly
invalid_operation, and add an implementation so it can be used.
2014-05-09 11:50:32 -04:00
Eric Frias
bc4361bf64 Merge branch 'phoenix' into tcp_rate_limiting
Conflicts:
	include/fc/network/tcp_socket.hpp
	src/network/tcp_socket.cpp
2014-05-08 09:04:45 -04:00
Daniel Larimer
9378f6c7aa Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-05-07 21:27:48 -04:00
Daniel Larimer
3a34299199 update json validation and varint hashing 2014-05-07 21:27:37 -04:00
Eric Frias
b8a7531eab Fix error message printed when unable to deserialize a json object, improve
logging of return values and add logging of exceptional returns from
json function calls.  Continue my endless quest to break the mac build.
2014-05-06 17:20:04 -04:00
Eric Frias
9d3bddf09a constification 2014-05-01 14:04:44 -04:00
Eric Frias
aa111510f3 Expose enough functions in tcp_socket and tcp_server to allow listening and originating connections on the same port. So far, this seems to work on win32, other platforms untested.
Add a local_endpoint() function so we can find out which local interface a socket is bound to
2014-05-01 14:02:49 -04:00
Daniel Larimer
1d8f80c8f7 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-04-27 21:20:54 -04:00
Daniel Larimer
6f466979cc adding helper methods 2014-04-27 21:20:40 -04:00
Nikolai Mushegian
6b84b990b3 Merge pull request #21 from vikramrajkumar/phoenix
Make fc::reflector<ENUM>::to_string work with C++11 strongly typed enumerations
2014-04-25 16:19:39 -04:00
Daniel Larimer
61f2ac4679 adding HTTP response code 2014-04-22 17:25:07 -04:00
Vikram Rajkumar
1bdc40368f Make fc::reflector<ENUM>::to_string work with C++11 strongly typed enumerations 2014-04-22 15:57:11 -04:00
Daniel Larimer
e36ccb3cfd adding NotAuthorized HTTP response code 2014-04-22 10:22:17 -04:00
Eric Frias
cd34f696ce - Add four-argument version of json-rpc call function
- fix bug in json parser that prevented correct parsing of
  a true/false/null at the end of input
- prevent infinite recursion in a json helper function
2014-04-21 14:34:46 -04:00
Eric Frias
06df18c690 More work towards rate-limited TCP sockets 2014-04-17 19:39:15 -04:00
Eric Frias
f0633f8022 Merge branch 'phoenix' into tcp_rate_limiting 2014-04-17 16:18:22 -04:00
Eric Frias
ce7139c073 Start of work towards throttling TCP connections 2014-04-17 12:00:52 -04:00
Eric Frias
1b16e15585 Quiet compiler warning signed vs unsigned 2014-04-14 17:10:29 -04:00
Daniel Larimer
ac0f01843f fix build on osx by disabling some keepalive params 2014-04-11 17:06:57 -04:00
Eric Frias
85a9da6f27 Add to tcp_socket to enable TCP keepalives 2014-04-09 18:38:52 -04:00
Eric Frias
8bdc6fd219 Colorize fc log messages on win32 2014-04-06 18:06:43 -04:00
Eric Frias
3d02e3bc00 Wrap OpenSSL's random number generator in fc clothing 2014-04-02 08:54:13 -04:00
Eric Frias
2e5fdf952c Add a new version of tcp_socket::connect_to() that allows you to set the source port
(working, but not yet useful because we'll need to set SO_REUSEADDR)
2014-04-02 08:54:13 -04:00
Eric Frias
d27be6851b Fix serializing enums 2014-04-02 08:54:12 -04:00
Eric Frias
5543044bd3 Collect time of git commit for display in Keyhotee, add function for pretty-printing times 2014-03-31 16:10:52 -04:00
dnotestein
6c989e7b7a added minutes, hours, and days time functions 2014-03-31 11:01:28 -04:00
dnotestein
10127a854c Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix
Conflicts:
	src/crypto/elliptic.cpp
2014-03-30 18:32:20 -04:00
dnotestein
f09c91f878 added hash64 function that uses sha256 to replace city_hash in blockchain and message protocol-related hashing 2014-03-30 14:16:33 -04:00
Daniel Larimer
5f9dfa9a42 update http code 2014-03-27 19:53:40 -04:00
Daniel Larimer
3c59eebe92 Update HTTP server api to specify network interface 2014-03-27 01:55:52 -04:00
Daniel Larimer
987568e31b update apis 2014-03-27 01:09:08 -04:00
Daniel Larimer
bdeefb48bf adding std::map<> conversions to/from variant 2014-03-24 11:46:23 -04:00
Daniel Larimer
d3c2f60fe0 adding extra operators 2014-03-13 20:04:47 -04:00
Daniel Larimer
4ed7659b2b Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2014-03-10 22:23:19 -04:00
Daniel Larimer
a7b579e4e8 adding api helper 2014-03-10 22:22:31 -04:00
HackFisher
8b73226312 This should be a typo, fix it.
move ">" before #endif
2014-03-09 16:18:00 +08:00
Eric Frias
fdbaf88e5e Provide a way to intercept Win32 structured exceptions in async tasks
Something about the stacks created by boost::context prevents global structured exception handlers
from being called.  This allows the user to register a handler which will be called when there
is an unhandled structured exception in async task.
2014-03-08 18:48:19 -05:00
vogel76
f5249dc2d6 [BW]: [Ign] Workaround for missing template aliasing feature in VS 2012 to make bts_wallet compiling. 2014-03-04 18:24:15 +01:00
vogel76
163be8a6d0 [BW]: [NIP] Added public_key::to_base58 text conversion to simplify contact display_name generation at bts side. 2014-03-03 11:31:08 +01:00
Daniel Larimer
4b2d221c05 fix ecc point seralization 2014-02-27 23:35:24 -05:00
BrownBear
46bfcfe74d added missing files: romix.[hc]pp 2014-02-27 12:37:23 +01:00
BrownBear2
49ff83922b added romix kdf and cfb for aes 2014-02-26 12:05:17 +01:00
Tzadik Vanderhoof
0761d32d01 safer sha256 binary constructor 2014-02-24 02:08:48 -05:00
Tzadik Vanderhoof
57769e4df9 BSX-21 Import Bitcoin Private Key from String 2014-02-24 00:47:00 -05:00
Nicolas Wack
30ee9868e6 Fix compilation on mac os with clang/libc++ 2014-02-22 19:27:53 +01:00
batmaninpink
1e509fa1a9 added support for scrypt key derivation needed for multibit wallet support 2014-02-18 08:59:17 +01:00
Daniel Larimer
5178ca8c1a added api methods to encryption functions 2014-02-16 21:28:55 -05:00
Daniel Larimer
9b2190aa63 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-02-16 01:17:35 -05:00
Daniel Larimer
0843aa6652 adding raw serialization for unordered_map 2014-02-16 01:17:31 -05:00
dnotestein
5b103e5754 Add get_typename for std::vector<char> 2014-02-15 22:48:09 -05:00
dnotestein
32b7b02b15 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-02-15 17:34:53 -05:00
Daniel Larimer
2743b56b56 added utility to hide console echo for entering passwords 2014-02-15 14:06:35 -05:00
Daniel Larimer
ded475f45a upgraded to boost::signals2 because signals is deprecated 2014-02-15 01:52:19 -05:00
Daniel Larimer
0ecd66fa73 adding utility methods for getting home dir and app dir 2014-02-15 01:22:59 -05:00
Daniel Larimer
a80164645f Update tcp_socket listen on single endpoint 2014-02-14 20:32:23 -05:00
dnotestein
68281f4dc0 Added get_typename function needed by new leveldb database upgrading code (uint160 is stored in blockchain database). 2014-02-11 23:10:24 -05:00
Daniel Larimer
09c84c1731 fixes to build under clang++ 2014-02-06 03:22:09 -05:00
Daniel Larimer
23eead5eaa merge changes 2014-02-06 02:49:02 -05:00
Daniel Larimer
3fda653b45 small fixes 2014-02-06 02:47:09 -05:00
Daniel Larimer
0db28ec6de Merge pull request #3 from wackou/fix_clang_compile
Fix clang compile
2014-02-06 02:46:43 -05:00
vogel76
af77f4dc4b [BW]: [Fix] Fixed gcc compile errors 2014-02-01 14:41:02 +01:00
vogel76
21558dbd70 [BW]: [Ign] Fixed compile errors on MSVC. 2014-01-31 14:07:14 +01:00
Daniel Larimer
52a4a46cca std::hash supprot for sha256 2014-01-30 15:10:05 -05:00
Daniel Larimer
fa85f98844 Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2014-01-29 17:07:31 -05:00
Daniel Larimer
36b29d74c2 adding comparison operators 2014-01-29 17:07:25 -05:00
vogel76
d2eefb7ed4 [BW]: [Ign] #pragma warning enclosed into _MSC_VER to avoid gcc complaining
[BW]: [NIP] Added LLCONST and ULLCONST macros to safely declare large literals incl. setting its type and avoid gcc compile error this way.
2014-01-29 13:09:52 +01:00
vogel76
10a6e76375 [BW]: [Ign] Fixed compile errors (missing < operator on fc::enum_type
[BW]: [Ign] Eliminated some annoying compiler warnings.
2014-01-29 12:52:13 +01:00
batmaninpink
ccd2bbe7b2 expose aes_decrypt for use elsewhere 2014-01-20 15:17:39 +01:00
Nicolas Wack
36de4226d9 Removed unused duplicate file.
This functionality is now found in network/ip.hpp
2014-01-19 19:58:58 +01:00
Nicolas Wack
271781f78c Fix compilation with clang/libc++
The issue was that redeclaring the hash template in the code somehow seems to shadow the declaration that is done in <functional> and <memory> and afterwards the template specialization of the hash function seems to use our redefined template instead of libc++’s one (most likely due to the fact that libc++ uses an inline namespace inside std)
2014-01-19 19:30:42 +01:00
Daniel Larimer
fb2fddf25c update logger 2014-01-14 14:00:30 -05:00
Daniel Larimer
7d81035e14 fix coding standard violations 2014-01-14 03:56:15 -05:00
Daniel Larimer
d4e5d604a5 Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2014-01-14 03:51:20 -05:00
Daniel Larimer
c0727f30b0 adding variant support for unordered maps 2014-01-14 03:51:17 -05:00
vogel76
59f80e34d2 [BW]: [NIP] Further changes to get to work paths containing unicode characters:
- fc::path extended by method toNativeAnsiPath allowing to safely convert current unicode path into its ansi equivalent
- fc::path to_variant uses toNativeAnsiPath method instead of generic_string to avoid loss of data while serializing a path
- fc::mmap_struct_base::open should use toNativeAnsiPath method instead of generic_string to access ansi path
- fc::json::save_to_file should directly pass fc::path to underlying stream instead of generic_string.
2014-01-10 00:05:18 +01:00