Commit graph

647 commits

Author SHA1 Message Date
dnotestein
b6e38cd5ec Eliminate unnecessary cast in endpoint::from_string 2014-09-08 10:10:19 -04:00
Eric Frias
3222dc7c0b When reusing a context, re-initialize most of its fields. This fixes at least two errors:
- we were canceling tasks that hadn't been canceled, because the canceled flag was left set to true and the next task assigned to the context then became canceled as soon as it yielded
 - we were resumeing blocked tasks before they should have resumed, because their blocking_promises list wasn't cleared and they were unblocking because the erroneous promises were fulfilled
As a debugging aid, we also record the cancellation reason whenever a task is canceled, and include that in the canceled_exception (this is only enabled in debug builds)
2014-08-28 15:43:26 -04:00
Eric Frias
f8472af119 Change fc::canceled_exceptions thrown due to a socket operation being canceled into regular fc::exceptions -- we're reserving canceled_exception for canceling async tasks 2014-08-28 15:34:04 -04:00
Eric Frias
ac385d1f6b Allow the user to supply a reason string when canceling a task (useful for debugging) 2014-08-27 14:07:44 -04:00
Eric Frias
8841f5e271 Import thread/task_specific variables 2014-08-27 12:20:19 -04:00
Eric Frias
d9e6a9e568 When a task is canceled while blocking on a mutex, fix the code that removes it from the mutex's block list to null out its "next" pointer, which is assumed to be null whenever not blocked on a mutex 2014-08-27 11:55:14 -04:00
Eric Frias
976bbce668 When locking a mutex, ensure the task has a context before attempting to lock. 2014-08-25 18:44:15 -04:00
Eric Frias
d188b138d6 Allow fc::canceled_exception to pass through places where we were catching and ignoring all fc::exceptions 2014-08-25 18:43:12 -04:00
Eric Frias
27096f15a7 Log the names of tasks to the log file (now contains thread_name:task_name} 2014-08-24 18:33:05 -04:00
Eric Frias
198d858d59 Wrap boost exceptions in fc exceptions for a few socket operations that can throw 2014-08-24 14:47:01 -04:00
Eric Frias
578527626c Support GNTP password authentication 2014-08-21 19:32:56 -04:00
Eric Frias
156a7cc4b4 Allow setting hostname 2014-08-21 16:14:08 -04:00
Eric Frias
362884fc52 Import GNTP notification code 2014-08-21 15:21:48 -04:00
Nathan Hourt
9e75d47ba3 Fix to an issue causing a thread to exit if any fiber therein self-cancels 2014-08-21 14:36:29 -04:00
Daniel Larimer
8468f392ce default to_string conversion is now fixed 2014-08-13 16:06:42 -04:00
Eric Frias
92d29ac657 Prevent crash at shutdown rescheduling NTP task 2014-08-12 15:19:44 -04:00
Eric Frias
978de7885a Add a macro to check if a task that shouldn't yield actually yields. 2014-08-02 19:43:28 -04:00
Daniel Larimer
6e31ffd963 Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-08-01 17:21:24 -04:00
dnotestein
7cc69f3bb7 Set canceled flag in task's context object so that we cancel out of active tasks when they try to resume. Wrap a try-catch block around tcp and udp resolve requests to convert any non-fc exceptions to fc exceptions. Minor change to clarify design intent that request_time_task should always be running in _ntp_thread. 2014-08-01 11:31:36 -04:00
PaulEU
eae493a8c1 Remove unnecessary code from init_openssl after update new OpenSSL package. 2014-07-29 23:44:47 +02:00
Daniel Larimer
3ccbe26dd5 adding aes exception 2014-07-29 13:54:50 -04:00
Vikram Rajkumar
a23f3a86be Add missing integer variant conversions 2014-07-28 22:36:47 -04:00
Eric Frias
d847f6469a Allow us to require assigning descriptions to all async tasks to aid in debugging 2014-07-27 17:37:21 -04:00
dnotestein
9e320a3db8 Add descriptions for a bunch of async tasks, remove logging during thread::quit to avoid crashes for now until we cleanup thread quit code 2014-07-27 00:09:15 -04:00
Vikram Rajkumar
3be05ef822 Merge branch 'master' of github.com:InvictusInnovations/fc 2014-07-26 22:29:22 -04:00
Vikram Rajkumar
48837f3116 Add time_point_sec::to_iso_{extended_}string() 2014-07-26 21:05:11 -04:00
Eric Frias
b460fd6b41 Cleanup all async tasks on exit, thread safety, work in progress. 2014-07-26 18:22:38 -04:00
Eric Frias
600ae24657 separate one try/catch into two blocks during file_appender destructor 2014-07-26 15:05:26 -04:00
Eric Frias
c208a968b2 Fix ntp on win32 2014-07-25 14:40:47 -04:00
dnotestein
34296fbb4a Eliminate local variable that was shadowing data member variable stack_ctx in context object, which resulted in an assert when the context object was destructed. 2014-07-24 15:18:53 -04:00
Nathan Hourt
a254e5ff28 Merge branch 'master' of github.com:InvictusInnovations/fc 2014-07-23 11:59:48 -04:00
Nathan Hourt
523fa56d88 Bugfix: Incorrect ordering of newline and carriage return in HTTP server
The HTTP server was printing "\n\r" at the end of lines in the response
headers, which is invalid and caused some HTTP clients to detect an end
to the headers after the first header line.

The server now prints the proper "\r\n" sequence, which is parsed
correctly by clients.
2014-07-23 11:56:57 -04:00
PaulEU
4890351b34 Added OpenSSL configuration file path. (qt_wallet issue #10 Some clients on Windows 7 quit/crash on start) 2014-07-23 00:18:09 +02:00
Daniel Larimer
6ef73a4198 reduce default stack size by 50% to 4x default from 8x 2014-07-17 23:03:23 -04:00
Daniel Larimer
eed62c8338 sockets now wait for any pending write or read operations to finish before destructing 2014-07-17 17:03:25 -04:00
Daniel Larimer
01202aa709 adding space to exception message 2014-07-16 14:20:36 -04:00
Eric Frias
b6f8570c35 Lock mutex during more of the log rotation process (attempting to prevent crashes that have been seen while logging at the same time as log rotation) 2014-07-16 13:39:14 -04:00
grzegorzs
06fe9e0303 [GS] Fix types u_int32_t to uint32_t etc. - continued 2014-07-15 14:20:42 +02:00
Vikram Rajkumar
e442b29f6e Fix scrypt 2014-07-14 13:40:33 -04:00
Eric Frias
a034239313 Add missing include 2014-07-07 12:36:34 -04:00
Eric Frias
62ea4ae9c3 Add mutexes to make OpenSSL thread safe 2014-07-07 12:22:01 -04:00
Vikram Rajkumar
18611eccb9 Fix log rotation scheduling bug 2014-07-05 16:22:25 -04:00
Daniel Larimer
ace06d775c support for 8 param rpc calls 2014-07-04 17:23:47 -04:00
Vikram Rajkumar
c9c56ffbb6 Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-07-03 17:24:14 -04:00
Vikram Rajkumar
e9b1b8ec2e Use a separate thread for log compression 2014-07-03 17:24:06 -04:00
Eric Frias
c020913cb8 Make process::exec take an 'int' for the bitmask of launch options instead of an enum to make it more clear that it's a bitmask (and avoid a cast) 2014-07-03 09:30:50 -04:00
Vikram Rajkumar
adf8c10ee5 Fix Linux compilation 2014-07-03 02:55:30 -04:00
Vikram Rajkumar
223f0005f5 Hardlink from most recent log to original filename during rotation 2014-07-03 02:55:30 -04:00
Vikram Rajkumar
b522f12a0e Use ISO format timestamps for rotated log files 2014-07-03 02:17:03 -04:00
Vikram Rajkumar
b1e677bcee Implement optional LZMA compression for rotated logs 2014-07-03 01:27:58 -04:00
Vikram Rajkumar
cc1ef61cd6 Logs are now rotated on startup if rotation is enabled 2014-07-03 01:16:46 -04:00
Vikram Rajkumar
39c7f05ea9 Implement LZMA file decompression 2014-07-03 00:01:02 -04:00
Vikram Rajkumar
f56dd6d208 Implement LZMA file compression 2014-07-02 23:28:43 -04:00
Vikram Rajkumar
c0187865ea Implement log file rotation 2014-07-02 17:36:21 -04:00
Daniel Larimer
aab316d190 update time pretty print, adding space after year 2014-07-01 15:20:58 -04:00
Daniel Larimer
13da4b0d6a improve socket error handling 2014-06-30 10:50:50 -04:00
Eric Frias
160da5dbb9 Fix invalid iterator comparison in process_canceled_tasks when canceling the only task in task_sch_queue 2014-06-29 18:50:05 -04:00
Daniel Larimer
c33acad0ab fix udt sockets, actually enable non blocking operation 2014-06-29 01:38:46 -04:00
Daniel Larimer
892df5c0b7 canceled scheduled tasks return immediately when waited upon 2014-06-28 21:46:10 -04:00
Daniel Larimer
ffa617183e if a task is canceled before it is run, then it will throw a canceled exception 2014-06-28 21:08:15 -04:00
Daniel Larimer
d2072e9d3a updates to thread / udt socket 2014-06-26 20:10:56 -04:00
Daniel Larimer
8670a4722f Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-06-26 20:10:37 -04:00
Eric Frias
560b107e58 Fix signed/unsigned warnings 2014-06-26 15:51:01 -04:00
Eric Frias
862e7bb5d3 fix a few 64-bit to 32-bit conversion warnings 2014-06-26 15:50:40 -04:00
Daniel Larimer
bb40828953 Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-06-26 11:25:12 -04:00
Daniel Larimer
5529b300d9 implemented working UDT socket/server 2014-06-26 11:25:07 -04:00
Eric Frias
21d1ce2067 Merge branch 'phoenix' 2014-06-26 10:03:42 -04:00
Eric Frias
78af258510 Remove include that's missing from win32 2014-06-26 10:03:02 -04:00
Daniel Larimer
5c98d7864f Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc 2014-06-26 08:48:12 -04:00
Daniel Larimer
456c81df27 fix potential errors in NTP caused by running in main thread 2014-06-25 23:32:09 -04:00
Daniel Larimer
d20b9d049b start work on udt socket class for fc 2014-06-25 18:34:04 -04:00
Eric Frias
2c5c1655a6 Add counters to the TCP rate limiter to measure actual upload and download speed, and allow the caller to set how bursty they want the connection to be. 2014-06-25 18:16:58 -04:00
dnotestein
87a93940d0 Display times in UTC for fc logging. 2014-06-24 16:29:59 -04:00
Daniel Larimer
4c59f48aa1 fix log_message variant conversion bug that stomped methodname 2014-06-24 12:12:30 -04:00
Eric Frias
331e6aac7d Convert networking exceptions to fc::exceptions to properly catch them in NTP code (fixes at least some of the shutdown crashes) 2014-06-20 12:22:37 -04:00
Eric Frias
2b3728af37 Add -> for directory_iterator 2014-06-20 10:38:21 -04:00
Daniel Larimer
c7013d3eea update log_message to take std::string rather than const char* 2014-06-19 11:29:57 -04:00
Eric Frias
9002b02469 Fix ambiguous abs() call in get_approximate_relative_time_string() 2014-06-17 15:45:16 -04:00
Daniel Larimer
b93fe7a50c commenting out elog in connection refused from fc 2014-06-17 15:43:07 -04:00
Daniel Larimer
b74a9a82bb update display for delta time in future 2014-06-17 11:12:15 -04:00
dnotestein
bf9bd5a9f6 Increase task context stack from 64K to 8*64K to prevent the stack from overflowing in the p2p code. 2014-06-16 16:59:37 -04:00
Daniel Larimer
bb3c3ec118 fix NTP flooding issue 2014-06-16 14:04:36 -04:00
Eric Frias
6898484321 Remove a few annoying unreferenced variables 2014-06-16 12:03:20 -04: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
Eric Frias
a1604e3708 Fix NTP on Win32 2014-06-12 08:40:24 -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
e2e416bf80 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-11 21:46:31 -04:00
Daniel Larimer
cb69e2385b exception updates 2014-06-11 21:46:26 -04:00
Eric Frias
f01d25788e Fix 32-bit error in uint128 to bigint conversion, move bswap_64 into its own header file 2014-06-11 17:32:59 -04:00
Daniel Larimer
454da57a32 adding base58 helper 2014-06-11 17:28:47 -04:00
Eric Frias
8ef1c4e0a7 Add include for ntohl() on linux 2014-06-11 13:56:03 -07:00
Eric Frias
59d3e80fb7 Add include to fix win32 build 2014-06-11 16:32:47 -04:00
Daniel Larimer
75ec020227 fix ntp 2014-06-11 15:30:30 -04:00
Daniel Larimer
0c64d208d9 adding ntp support to fc 2014-06-11 15:17:28 -04:00
Daniel Larimer
51de9e6abf improve error printing 2014-06-09 22:21:46 -04:00
HackFisher
9b3b7993ee add unknown host exception 2014-06-08 16:53:23 -04:00
Daniel Larimer
8e3163d4fb extra helper variant constructor 2014-06-07 22:58:19 -04:00
Daniel Larimer
fe997232f6 fix url parsing bug 2014-06-07 18:53:39 -04:00
Daniel Larimer
b379449cda fix bug where default logging is optimized out in release builds 2014-06-07 17:34:34 -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
0a2a9ec25b check for EOF while parsing quoted strings 2014-06-05 11:54:19 -04:00
Daniel Larimer
dd32afd0c3 adding better exception handling on lexical casts 2014-06-05 11:31:42 -04:00
PaulEU
ab31df2e9f Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-05 10:01:16 +02:00
PaulEU
7b2361518c Use _putenv instead of putenv because on some Windows machines putenv doesn't work properly. 2014-06-05 10:00:50 +02:00
Daniel Larimer
2e109d18c9 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into HEAD 2014-06-04 22:18:39 +00:00
Daniel Larimer
df2d013bad fix exceptions when parsing json 2014-06-04 22:17:21 +00:00
Eric Frias
ff04a5a8fb Catch std::ios_base::failure exceptions, which mean EOF when reading JSON from a std::stringstream 2014-06-04 16:55:26 -04:00
Eric Frias
a6ca7042da add to/from variant for fc::microseconds 2014-06-04 13:51:50 -04:00
Eric Frias
8347a7b7fa Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-03 19:13:52 -07:00
Eric Frias
d77bdcd3e6 Make HTTP headers case insensitive 2014-06-03 19:12:53 -07: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
73dd2d68ea fix for mac 2014-06-03 11:16:29 -04:00
Daniel Larimer
5a0f996333 adding pretty print 2014-06-03 11:09:15 -04:00
vogel76
57e1d60257 [BW]: [Fix] Looks like OpenSSL_config argument doesn't refer to configuration file path, which can be passed only through environment variable unfortunetly. 2014-06-03 17:04:34 +02:00
Eric Frias
2220920126 Fix signed bigint conversion (probably never used) 2014-06-02 17:19:36 -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
Eric Frias
7dde0a705d Add 5 and 6 argument versions of json rpc call functions 2014-05-29 15:54:40 -04:00
Eric Frias
07f131336f Convert boost exceptions caught while parsing fc::time_point strings into fc::exception 2014-05-29 15:54:39 -04:00
dnotestein
54c66bbb86 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix
Conflicts:
	src/crypto/aes.cpp
2014-05-27 09:44:54 -04:00
dnotestein
d1c3637a9f Fix variable name (input parameter to function is length of cipher text, not decoded plain text) and function comments (looks like it was some copy/paste error). 2014-05-27 09:40:23 -04:00
Daniel Larimer
ac03a71f3d improve variant cast error reporting 2014-05-25 14:18:26 -04:00
Daniel Larimer
9f6b52eac2 fix build on OS X 2014-05-23 21:54:59 -04:00
Eric Frias
b9050b589d Merge branch 'phoenix' into tcp_rate_limiting 2014-05-23 18:04:05 -04:00
Vikram Rajkumar
375aa098eb Merge github.com:vikramrajkumar/fc into phoenix 2014-05-22 03:55:45 -04:00
Daniel Larimer
e6007b88cd Merge pull request #26 from HackFisher/patch-3
Fix issue #25
2014-05-21 09:53:45 -04:00
Vikram Rajkumar
379b0791e3 Merge github.com:vikramrajkumar/fc into phoenix 2014-05-20 19:03:01 -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
Daniel Larimer
17aefe29de using explicit bool operator for optional 2014-05-20 11:25:31 -04:00
HackFisher
174096c3ab Fix issue #25
eofbit std exception is replaced by eof_exception, checked in peek(), so no need to throw std exception when encounter EOF.
2014-05-20 19:17:19 +08:00
Daniel Larimer
8a8ff28221 adding '/' to token chars to support paths 2014-05-19 16:59:01 -04:00
Eric Frias
c4770f0819 Restore correct parsing of json keywords (true/false/null) 2014-05-19 14:12:49 -04:00
Vikram Rajkumar
6b455ab850 Fix typos 2014-05-19 02:52:21 -04:00
Daniel Larimer
fd00bddcb4 update logging to create parent directory if it does not exist 2014-05-17 16:38:32 -04:00
Vikram Rajkumar
e8326ca66c Make objectFromStream always throw parse_error_exception when throwing 2014-05-17 03:30:49 -04:00
Daniel Larimer
8c370b06e6 update json error handling 2014-05-15 17:44:38 -04:00
Daniel Larimer
7078ebf382 expanding token chars 2014-05-15 14:07:19 -04:00
Daniel Larimer
c27ea9ba13 fix bugs parsing json tokens 2014-05-15 13:52:21 -04:00
Daniel Larimer
271fe8b909 found major bug in parsing, fixed it 2014-05-15 13:35:49 -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
50ac462471 Enable SO_REUSEPORT on Linux as well as OS X 2014-05-14 16:02:41 -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
Eric Frias
eb501387e8 Set the SO_REUSEPORT flag on OS X whenever we set the SO_REUSEADDR 2014-05-13 21:14:40 -07:00
Daniel Larimer
8d4fccba5f update pretty print save to file 2014-05-11 20:33:08 -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
62b479568e Get rate limiting mostly working 2014-05-08 15:13:49 -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
valzav
102e0c4ab8 fixed a bug in configure_logging that made adding more than one logger impossible 2014-05-07 20:58:54 -07:00
valzav
687eaa98f2 Merge remote-tracking branch 'upstream/phoenix' into http-server-improvements 2014-05-07 20:48:23 -07: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
valzav
e02a509b30 Merge remote-tracking branch 'upstream/phoenix' into http-server-improvements 2014-05-05 15:38:41 -07:00
Daniel Larimer
3ac07ddbf5 updates 2014-05-04 14:26:36 -04:00
valzav
de8ec4a1ae Merge remote-tracking branch 'upstream/phoenix' into http-server-improvements 2014-05-03 17:49:36 -07:00
valzav
bc1792dc98 commented out http header printed to stdout 2014-05-02 14:46:15 -07:00
Daniel Larimer
6532839938 fix apple build 2014-05-02 14:09:29 -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
Eric Frias
00edd3958c Remove accidentally-committed garbage 2014-04-30 10:56:51 -04:00
Eric Frias
19f2869490 Disable keepalives on old clang compiler used for nightly
until we can upgrade it
2014-04-30 10:52:16 -04:00
dnotestein
7672754c51 add some minor comments 2014-04-26 18:02:31 -04:00
Daniel Larimer
07affde1f2 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-04-25 15:17:10 -04:00
Daniel Larimer
9301771405 enhance error message in variant 2014-04-25 15:17:06 -04:00
Eric Frias
9731fac9f3 Fix error parsing a numeric constant at the end of file 2014-04-22 18:35:36 -04:00
Eric Frias
c3ea6cc62c Assert to warn when calling unimplemented functions 2014-04-22 18:35:36 -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
7849cc7ada Get keepalive code building on os x 2014-04-15 13:40:19 -04:00
Eric Frias
c63e598497 Fix a race that occurred when notifying a thread that was blocked on a
promise to wake up, but that thread simultaneously awoke for another
reason (probably a timeout)
2014-04-14 16:27:08 -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
07c861cca9 Add missing includes for VC12 2014-04-07 16:46:27 -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
061007ee29 In debug builds, set the thread name in the debugger to match the name given to fc::thread ctor 2014-04-01 16:56:11 -04:00
Eric Frias
f791cba36b Fix Keyhotee hang when setting system clock back bug 2014-04-01 15:22:53 -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
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
e2fb6eb5be Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-03-21 01:14:12 -04:00
Daniel Larimer
51a3d1126f fix console 2014-03-21 01:14:01 -04:00
alt
7506790bee filesystem::rename() can handle file from cross device 2014-03-20 09:27:32 +08:00
Daniel Larimer
b83a49298e adding extra to_string 2014-03-11 11:29:29 -04:00
Eric Frias
e04d544016 Remove erroneous assert in fc::thread_d::check_for_timeouts()
I believe this assert was being triggered when the only task on
a thread did a fc::usleep (it might only have been when the
sleep was of very short duration).
2014-03-10 17:37:38 -04: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
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
ecba7c5076 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-02-27 23:35:27 -05:00
Daniel Larimer
4b2d221c05 fix ecc point seralization 2014-02-27 23:35:24 -05:00
dnotestein
503b9033e8 fix infinite loop in windows when trying to read json variant from empty file 2014-02-27 21:56:46 -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
Daniel Larimer
c7baf276a1 scrypt code does not compile with clang 2014-02-21 15:10:34 -05:00
batmaninpink
1b8b4da925 fix scrypt-jane OS X compile 2014-02-21 20:57:04 +01:00
Daniel Larimer
cfb2356ab2 remove script which doesn't build on OS X 2014-02-20 22:00:10 -05: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
Yuvaraj
a5c8a07dc6 App dir for Linux is the home directory. 2014-02-16 13:21:14 +05:30
Daniel Larimer
0843aa6652 adding raw serialization for unordered_map 2014-02-16 01:17:31 -05:00
Daniel Larimer
2743b56b56 added utility to hide console echo for entering passwords 2014-02-15 14:06:35 -05:00
Daniel Larimer
00907d8f57 fix app_path 2014-02-15 01:29:21 -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
Daniel Larimer
4571ce36d5 fix bug in json file loading, see issue #8 2014-02-13 01:47:08 -05:00
Daniel Larimer
09c84c1731 fixes to build under clang++ 2014-02-06 03:22:09 -05:00
grzegorzs
8ad02176c6 [GS] Implemented lzma compression. 2014-01-24 14:51:35 +01:00
Yuvaraj Gogoi
c72ed39acd Fix for issue #216 2014-01-19 00:38:04 +05:30
Yuvaraj Gogoi
823c709f41 Fix for issue #216 Build fails on Linux 32 bit - __mm_crc32_u64 2014-01-17 03:32:58 +05:30
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
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
c2026efd56 [BW]: [Fix] Fixed ifstream/ofstream to be able to open unicode paths. 2014-01-09 17:00:41 +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
dnotestein
c84b69e094 Fix for unblock to make sure it switches to proper thread before running async. 2014-01-06 17:08:36 -05: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
a0e648acef improve error message 2013-12-17 20:40:41 -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
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
e6dcfa40f9 Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2013-12-09 00:48:34 -05:00
Daniel Larimer
a68d22a699 various updates 2013-12-09 00:48:28 -05:00
dnotestein
35077ea231 Set minimum sleep time to 10ms to avoid potential race where the thread wakes back up immediately after being put on sleep queue. This can probably be reduced to about 2ms, but this just seemed safer for now (DanL suggested 10ms). 2013-12-06 00:22:06 -05:00
Daniel Larimer
e1e3a7361b added flexability to json parsing and fixed closing hang in json rpc connection 2013-11-24 22:23:29 -05:00
Daniel Larimer
76b13a741a adding missing files 2013-11-24 13:00:21 -05:00
Daniel Larimer
dcce9b2726 v6 ignored 2013-11-08 19:34:54 -05:00
Daniel Larimer
cf37cd776b update reflect 2013-10-22 22:02:55 -04:00
Daniel Larimer
8b2e54ca8b compiles on linux 2013-10-14 21:46:23 +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
5bf5cf9219 adding aes_load and aes_save methods 2013-08-31 13:12:55 -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