Commit Graph

1477 Commits

Author SHA1 Message Date
Ignotus Peverell ee5fd489bb Moving distro-related files to etc subdir 2018-11-08 22:29:30 +00:00
Dawid Ciężarkiewicz a98f2afa29 Add nix-shell to help test/build on NixOS (#1819) 2018-11-08 14:26:25 -08:00
Yeastplume ee19cfcf86 Wallet self-send (#1939)
* add self send function to wallet

* rustfmt

* add destination to self send method

* update usage doc

* doc clarification

* remove localhost send restriction
2018-11-08 09:46:09 +00:00
Ignotus Peverell e9c50ccb56 Time comparisons are difficult. Or not. 2018-11-08 00:40:28 +00:00
Ignotus Peverell f7d0fe1840 Bug fix, tuning of peer message rate counting 2018-11-07 22:15:12 +00:00
Antioch Peverell ab30f714fc Capabilities now deserialize safely (#1946)
* deserialize capabilities dropping unknown flag bits

* add tests for capabilities deserialization

* rustfmt

* FULL_NODE needs to be handled safely for legacy nodes
2018-11-07 11:15:37 +00:00
Antioch Peverell e25a3b9d72 Fix capabilities (#1944)
* we cannot safely update nodes to use capabilities bits = 15 ...

* rustfmt
2018-11-07 10:00:42 +00:00
Antioch Peverell 949f75c77c fix the lock on the new mutex (#1942) 2018-11-07 09:40:39 +00:00
Antioch Peverell d97a6c2189 [DNM] broadcast tx kernel hash (if supported by peer) (#1929)
broadcast tx kernel hash (if supported by peer)
2018-11-07 09:28:17 +00:00
Ignotus Peverell 8b546632fe Peer rate limiting (#1933)
* Rate counter in peer conn to monitor traffic 
* Ban peers that trigger is_abusive
2018-11-06 17:51:22 -08:00
hashmap d2088ff48c Fix recently introduced peer deadlock (#1941) 2018-11-06 16:42:36 -08:00
hashmap 8742c334dd Remove unsafe sync/send impl for Peers (#1938)
This is really unsafe. Fixes #1937

* Switch to better mutex
2018-11-06 08:59:46 -08:00
hashmap 0af1f13bf9 Fix IPV6 address deserialization (#1932)
Fuzz test found that we don't read IPV6 addr (as part of p2p message)
properly. The code is supposed to read 8 dwords, but [0..8] is not a
slice of 8 ints, but a slice of one Range, so we always read just one
dword
2018-11-05 20:38:41 -08:00
hashmap 109a426990 Add fuzz tests for p2p crate (#1931)
Add fuzz tests for p2p crate
2018-11-05 21:50:16 +01:00
Antioch Peverell 26d449a08b only rewind and reapply on header extension if necessary (#1930)
* only rewind and reapply on header extension if necessary

* use head of full block chain
2018-11-05 19:59:39 +00:00
Gary Yu 1b264d3554 protection of parallel requests of TxHashSetRequest (#1923)
* protection of parallel requests of TxHashSetRequest

* fix: adapt the test of test_unexpected_zip
2018-11-05 22:56:45 +08:00
Quentin Le Sceller 24ed4b787a Add a maximum size to stempool (#1895)
* Add a maximum size to stempool

* Simplify logic
2018-11-05 13:51:52 +01:00
Antioch Peverell d3a8613e43 use hash_file abstraction for pmmr backend (#1925)
* use HashFile (wraps an AppendOnlyFile) in the PMMR backend

* rustfmt

* cleanup

* rustfmt
2018-11-05 12:01:24 +00:00
j0hnta 92e41fa571 doc: Add Japanese translation of intro.md (#1917)
* doc: Add Japanese translation of intro.md

* doc: fixes

* doc: add link to japanese translation

* doc: fix typo
2018-11-05 09:58:44 +01:00
Gary Yu d56ef364c4 fix: init_test_logger update for log4rs (#1921) 2018-11-05 11:57:59 +08:00
Ignotus Peverell f276de1719 Revert #1643, fixes #1654, header head not updating on low diff 2018-11-05 01:50:33 +00:00
hashmap 04438347ad Fix wallet output for old config (#1919)
Wallet output operations expect now color scheme be defined in the
configuration file. This fix makes it works for old configuration files.
2018-11-05 07:58:10 +08:00
hashmap 53bce41981 Don't use process::exit in wallet cmd (#1913)
Unlike panic it doesn't call destructors (Drop) so all open transactions
are not closed. It's fine when LMDB file is open by the current process
only, but if another process keeps the same file open such transactions
will be considered alive until the second process exits. We usually have
one or more long-lived process (like `wallet listen`) which opens the
same wallet db as short-lived wallet commands. When a command fails it
calls process::exit and as result leaks a transaction.
This pr replaces such calls with an exit code return, which allows to call
all destructors before calling process::exit.
Fixes #1822
2018-11-04 21:26:46 +01:00
Gary Yu f645937a2b replace cyan and yellow which not easy to read on white background (#1903)
* replace cyan and yellow which not easy to read on white background

* wallet output color scheme configuration for terminal dark/white background

* use true for dark_background_color_scheme to make the default behavior same as before
2018-11-03 09:42:41 +01:00
Jeff Barg cc63fe4d32 refactor: refactored the API into related handler files (#1914) 2018-11-03 07:46:12 +01:00
eupn 40d727a01c fix: more readable timestamp format for logging (#1912)
* Use more readable timestamp format for logging

* Add logging level highlighting

* Change date and time format to YYYYMMDD from MM-DD
2018-11-02 15:13:12 +00:00
Antioch Peverell d23dec73d0 PMMRable cleanup (#1910)
* cleanup pmmrable and len()
introduce FixedLength trait with a const LEN
make Hash impl FixedLength for consistency

* rustfmt

* store tests cleanup

* rustfmt

* whats going on with those comments and rustfmt?
2018-11-01 20:14:46 +00:00
hashmap 9cebbf24b8 Update TLS wallet doc (#1908)
Cover Stratum server changes
2018-11-01 10:37:48 -07:00
hashmap b087325761 Don't die on malformed HTTPS request (#1907)
Fixes #1906
2018-11-01 23:03:32 +08:00
Yeastplume 9d0641c2b8 Wallet restore fix (#1904)
* wallet restore txlog + status fixes

* rustfmt
2018-11-01 11:36:29 +00:00
hashmap 368e1a461e Tiny store crate cleanup (#1899) 2018-11-01 12:34:47 +01:00
Antioch Peverell 12be191ecd validate root of header MMR when processing headers (during sync and full blocks) (#1836)
validate root of header MMR when processing headers (during sync and full blocks) (#1836)
2018-11-01 09:51:32 +00:00
Gary Yu e8f4c47178 Avoid unnecessary panic of some wallet commands (#1893)
Replace wallet command panic with map_err or unwrap_or_else
2018-10-31 13:26:17 -07:00
Antioch Peverell d51522a9cd Genesis is height 0 (not height 1) (#1896) 2018-10-31 13:24:21 -07:00
hashmap b01fcd2f56 Remove unused unsafe declarations (#1901) 2018-10-31 13:19:28 -07:00
Ignotus Peverell 385b385456 Minor block.rs cleanup (#1889) 2018-10-31 13:18:59 -07:00
Antioch Peverell 3b5a39dd42 we have not used the rm_log for a while, getting rid of it (#1897) 2018-10-31 11:16:27 +00:00
Gary Yu a8bf2eb126 avoid long display of TxLogEntryType (#1894) 2018-10-31 10:31:24 +00:00
Antioch Peverell bc0128ab88 be careful resetting sync_head (#1885)
* be careful resetting sync_head
make sure we have the header corresponding to header_head
and that nothing is corrupted from an earlier shutdown

* add logging when resetting heads due to missing header
2018-10-31 10:29:23 +00:00
Gary Yu 5651fa7a8f add some log to help analysis root cause of #1880 (#1891) 2018-10-31 10:23:15 +00:00
Ignotus Peverell a028748f11 Trivial wallet file operations logging improvement (#1888) 2018-10-30 16:12:30 -07:00
Gary Yu 641e7f51f0 Adjust the title format of wallet txs output (#1882) 2018-10-30 14:40:53 -07:00
Ignotus Peverell 0b22789865 Cleanup and minor fixes to core after transaction.rs review (#1854) 2018-10-30 14:09:56 -07:00
Ignotus Peverell 6f14f4c998 Cleanup and simplify sync (locator, body, etc.) (#1860)
* Cleanup syncer and sync header (locator)
* Simplify body sync
* Remove duplicate head in locator, add greater case in close_enough
* Various sync small fixes and tuning after testing
* More close_enough tests and related minor fixes
2018-10-30 14:09:24 -07:00
Antioch Peverell d3b491674a Cleanup unused archive_mode param (#1886) 2018-10-30 11:36:28 -07:00
Quentin Le Sceller c8afc800ff Small correction in Node API (#1881) 2018-10-30 15:49:45 +01:00
Blade Doyle 2587ef5eb0 Add shares edge_bits to the stratum submit log messages (#1876) 2018-10-29 11:27:27 -07:00
Antioch Peverell 17f15b6dae Adapter check compact archive (#1873)
* we do want to run compaction for archive nodes (from the adapter)

* rustfmt
2018-10-29 15:03:23 +00:00
Ignotus Peverell 46051ee174 improve minimum difficulty handling (#1791)
* rename MIN_DIFFICULTY to UNIT_DIFFICULTY; define Difficulty::unit, fix INITIAL_DIFFICULTY
* improve minimum difficulty handling
* replace all Difficulty::one by ::min
* revert secondary scaling default in HeaderInfo; rename scaling_difficulty; refactor difficulty_data_to_vector
2018-10-27 10:37:44 -07:00
eupn 0959bf376c Avoid stdout and panic logging when TUI is running (#1837) 2018-10-27 10:37:03 -07:00