Commit graph

463 commits

Author SHA1 Message Date
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
vogel76
6261a25442 [BW]: [NIP] Support for unicode paths to avoid problems while accessing paths containing native characters. 2014-01-09 13:29:47 +01:00
vogel76
08ab455dff [BW]: [Fix] fc::task_base class member initialization. 2014-01-06 23:58:42 +01:00
Daniel Larimer
f618f3a10f updated ip serialization forwards 2014-01-04 01:21:11 +00:00
vogel76
c2de86ccd4 [BW]: [NIP] Implemented dedicated exception class (fc::db_in_use_exception) to be thrown when underlying database is already in use. 2014-01-03 17:00:07 +01:00
Daniel Larimer
8d65e5e265 adding trim method 2013-12-24 20:22:21 -05:00
Daniel Larimer
c6897c4dbf added method to get port 2013-12-22 00:10:03 -05:00
Daniel Larimer
fa07ec438f Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2013-12-15 10:57:05 -05:00
dnotestein
d1d365beaf further attempt at fixing Linux compile error 2013-12-13 09:13:08 -05:00
dnotestein
2d0bdb8e7a attempt to fix Linux compile error, needs to be verified on a Linux build machine 2013-12-12 22:18:09 -05:00
dnotestein
8e47816c4e Fix for problem reported with Boost 1.55 (memory_order_consume removed?). Also added move constructors for future, this second change probably needs review. 2013-12-12 09:19:15 -05:00
Daniel Larimer
b8a9c77269 adding helper function to return uncompressed ecc pub key 2013-12-09 22:25:59 -05:00
Daniel Larimer
a68d22a699 various updates 2013-12-09 00:48:28 -05:00
Daniel Larimer
76b13a741a adding missing files 2013-11-24 13:00:21 -05:00
dnotestein
001c999316 Fix some forward sizes for Win64 2013-11-13 14:35:12 -05:00
Daniel Larimer
cf37cd776b update reflect 2013-10-22 22:02:55 -04:00
dnotestein
bacf98ddb8 don't try to build salsa.s (assembly language file) on windows, eliminate annoying warnings in optional.hpp 2013-10-10 22:19:01 -04:00
dnotestein
760c94d20f Untested popcnt code for Windows 2013-09-22 14:10:40 -04:00
Daniel Larimer
81c0290568 raw pack of fc::path 2013-09-21 22:48:50 -04:00
Daniel Larimer
3da6a03987 adding not equal operator to fc::ecc::public_key 2013-09-13 23:13:11 -04:00
Daniel Larimer
b644ce2b67 fix bug loading null pubkey from binary 2013-09-11 17:54:45 -04:00
Daniel Larimer
68b9fafe9a disable padding for aes_encoder and decoder 2013-09-05 22:09:12 -04:00
Daniel Larimer
8c95d62c9e two phase init of aes encoder/decoder 2013-09-05 19:02:10 -04:00
Daniel Larimer
be836e3e47 add stream-based aes decryption 2013-09-05 18:49:55 -04:00
Daniel Larimer
d30891f4af adding operators 2013-09-05 02:16:12 -04:00
Daniel Larimer
5d2e605747 adding array > compare 2013-09-04 17:58:35 -04:00
Daniel Larimer
9066e46b1b fix potential crashes by checking nullptr 2013-09-01 19:45:15 -04:00
Daniel Larimer
b615522217 add typedefs for forward compat 2013-08-31 13:56:59 -04:00
Daniel Larimer
5bf5cf9219 adding aes_load and aes_save methods 2013-08-31 13:12:55 -04:00
Daniel Larimer
8fc6f79dc9 adding operators to enum_type 2013-08-27 20:21:20 -04:00
Daniel Larimer
3acfe018b1 various updates 2013-08-25 01:24:07 -04:00
Daniel Larimer
6a1f42aba0 adding new crypto apis 2013-08-24 04:25:03 -04:00
Daniel Larimer
9410980885 various updates 2013-08-23 20:14:46 -04:00
Daniel Larimer
24768d2d26 fixed compile bugs for friend constructors 2013-08-19 01:46:28 -04:00
Daniel Larimer
9d79456cc5 update assignment and copy constructor templates for fc::optional 2013-08-18 23:41:53 -04:00