Commit graph

9267 commits

Author SHA1 Message Date
Jeff Garzik 8587b23038 leveldbwrapper symbol rename: Remove "Level" from class, etc. names 2015-10-22 21:02:20 -04:00
Jeff Garzik 6ec4b7eb20 leveldbwrapper: Remove unused .Prev(), .SeekToLast() methods
Also, trim trailing whitespace.
2015-10-22 20:49:02 -04:00
Wladimir J. van der Laan a09297010e
Merge pull request #6854
579b863 devtools: Add security-check.py (Wladimir J. van der Laan)
2015-10-22 10:23:42 +02:00
Wladimir J. van der Laan 579b863cd7 devtools: Add security-check.py
Perform the following ELF security checks:

- PIE: Check for position independent executable (PIE), allowing for address space randomization
- NX: Check that no sections are writable and executable (including the stack)
- RELRO: Check for read-only relocations, binding at startup
- Canary: Check for use of stack canary

Also add a check to symbol-check.py that checks that only the subset of
allowed libraries is imported (to avoid incompatibilities).
2015-10-22 03:35:38 +02:00
Wladimir J. van der Laan 0fbfc5106c
Merge pull request #6859
41db8c4 http: Restrict maximum size of request line + headers (Wladimir J. van der Laan)
2015-10-21 11:19:25 +02:00
Wladimir J. van der Laan 3b20e239c6
Merge pull request #6722
58254aa Fix stale comment in CTxMemPool::TrimToSize. (Matt Corallo)
2bc5018 Fix comment formatting tabs (Matt Corallo)
8abe0f5 Undo GetMinFee-requires-extra-call-to-hit-0 (Matt Corallo)
9e93640 Drop minRelayTxFee to 1000 (Matt Corallo)
074cb15 Add reasonable test case for mempool trimming (Matt Corallo)
d355cf4 Only call TrimToSize once per reorg/blocks disconnect (Matt Corallo)
794a8ce Implement on-the-fly mempool size limitation. (Matt Corallo)
e6c7b36 Print mempool size in KB when adding txn (Matt Corallo)
241d607 Add CFeeRate += operator (Matt Corallo)
e8bcdce Track (and define) ::minRelayTxFee in CTxMemPool (Matt Corallo)
9c9b66f Fix calling mempool directly, instead of pool, in ATMP (Matt Corallo)
49b6fd5 Add Mempool Expire function to remove old transactions (Pieter Wuille)
78b82f4 Reverse the sort on the mempool's feerate index (Suhas Daftuar)
2015-10-21 08:50:16 +02:00
Wladimir J. van der Laan c6de5cc886
Merge pull request #6796
c7b36cc Change URLs to https in debian/control (Matt Corallo)
e253e83 Update debian/changelog and slight tweak to debian/control (Matt Corallo)
2015-10-20 17:09:22 +02:00
Wladimir J. van der Laan e26a3f6713
Merge pull request #6235
55a8975 Chainparams: Translations: DRY: options and error strings (Jorge Timón)
f3525e2 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) (Jorge Timón)
2015-10-20 17:06:28 +02:00
Wladimir J. van der Laan 41db8c4733 http: Restrict maximum size of request line + headers
Prevent memory exhaustion by sending lots of data.
Also add a test to `httpbasics.py`.

Closes #6425
2015-10-20 14:31:40 +02:00
Jorge Timón 55a89751fa Chainparams: Translations: DRY: options and error strings
Also remove SelectBaseParamsFromCommandLine and SelectParamsFromCommandLine
2015-10-20 14:28:43 +02:00
Jorge Timón f3525e24e3 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) 2015-10-20 14:22:44 +02:00
Wladimir J. van der Laan 020c4073a0
Merge pull request #6841
b6d5e32 Make fee aware of min relay in pruning.py RPC test (Alex Morcos)
2015-10-20 12:53:45 +02:00
Wladimir J. van der Laan ae69a75c55
Merge pull request #6801
e76d9e4 [depends] Latest config.guess and config.sub (fanquake)
2015-10-20 12:35:54 +02:00
Wladimir J. van der Laan 87e5539e9c
Merge pull request #6827
bd4c22e [rpc-tests] Check return code (MarcoFalke)
0d8b175 [rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase (MarcoFalke)
2015-10-20 12:21:25 +02:00
Wladimir J. van der Laan c834f56869
Merge pull request #6853
7801f43 Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. (Eric Lombrozo)
2015-10-20 12:07:44 +02:00
Wladimir J. van der Laan 488f8517a1
Merge pull request #6829
53b86d0 doc: add comment explaining initial header request (Daniel Kraft)
2015-10-20 12:06:44 +02:00
MarcoFalke bd4c22ed56 [rpc-tests] Check return code 2015-10-20 10:28:42 +02:00
MarcoFalke 0d8b1759d2 [rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase 2015-10-20 10:25:45 +02:00
Eric Lombrozo 7801f4387d Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. 2015-10-19 14:25:21 -04:00
Wladimir J. van der Laan da7d57fb95
Merge pull request #6852
bfcdc21 build: make sure OpenSSL heeds noexecstack (Wladimir J. van der Laan)
2015-10-19 15:02:57 +02:00
Wladimir J. van der Laan 5f5ee0f3ce
Merge pull request #6837
0658d0b temporarily comment out rpcbind.py (Alex Morcos)
2015-10-19 12:15:26 +02:00
Wladimir J. van der Laan bfcdc21a5d build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building
platform-specific assembly files, to signal that a non-executable stack
can be used. This is the same approach as used by Debian
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)
2015-10-19 12:03:29 +02:00
Wladimir J. van der Laan fc41278e96
Merge pull request #6843
99963b9 Correct spelling mistakes in doc folder (Mitchell Cash)
2015-10-19 12:01:07 +02:00
Matt Corallo 58254aa3bc Fix stale comment in CTxMemPool::TrimToSize. 2015-10-19 02:41:52 -07:00
Wladimir J. van der Laan 5888046323
Merge pull request #6849
d2e3fbc Mention PHP bindings to libbitcoinconsensus (Thomas Kerin)
2015-10-19 11:29:25 +02:00
Thomas Kerin d2e3fbc620
Mention PHP bindings to libbitcoinconsensus 2015-10-18 19:04:14 +01:00
Mitchell Cash 99963b938f Correct spelling mistakes in doc folder
- OSX —> OS X
- XCode —> Xcode
- github —> GitHub
- homebrew —> Homebrew
- gitian —> Gitian
- Other miscellaneous obvious spelling fixes and whitespace removal
2015-10-18 06:25:43 +10:00
Alex Morcos b6d5e32e0e Make fee aware of min relay in pruning.py RPC test 2015-10-17 15:52:40 -04:00
Alex Morcos 0658d0ba82 temporarily comment out rpcbind.py
until libevent is fixed.  also remove duplicate commented-out forknotify.py.
2015-10-16 10:27:03 -04:00
Wladimir J. van der Laan d78a880900
Merge pull request #6820
60af755 build: univalue subdir build fixups (Cory Fields)
2015-10-15 12:55:25 +02:00
Wladimir J. van der Laan 8ce9920635
Merge pull request #6817
a0d5e0d [doc] Cleanup release-process documentation (Michael)
2015-10-15 12:54:13 +02:00
Wladimir J. van der Laan fa6b405f05
Merge pull request #6823
f8f2ace trivial: use constants for db keys (Daniel Kraft)
2015-10-15 12:52:34 +02:00
Wladimir J. van der Laan 34f200d140
Merge pull request #6830
d57586f Add historical release notes for October 2015 bugfix releases (Micha)
2015-10-15 12:46:01 +02:00
Micha d57586f91c
Add historical release notes for October 2015 bugfix releases
[skip ci]
2015-10-14 23:14:13 +03:00
Matt Corallo 2bc50187ee Fix comment formatting tabs 2015-10-14 12:46:20 -07:00
Matt Corallo 8abe0f5658 Undo GetMinFee-requires-extra-call-to-hit-0 2015-10-14 12:44:18 -07:00
Daniel Kraft 53b86d0de5 doc: add comment explaining initial header request
Add a comment that explains why the initial "getheader" requests are
made starting from the block preceding the currently best one.

Thanks to sdaftuar for the explanation!
2015-10-14 20:42:49 +02:00
Michael a0d5e0d2f4 [doc] Cleanup release-process documentation 2015-10-14 07:54:29 +08:00
Daniel Kraft f8f2aceadd trivial: use constants for db keys
Replace literal occurances of the key "prefixes" 'c' and 'b' in txdb.cpp
by the respective constants.
2015-10-13 20:25:57 +02:00
Cory Fields 60af755e56 build: univalue subdir build fixups
- Force a rebuild if the headers change
- Only build the lib target
- Clean univalue on 'make clean'
2015-10-13 13:40:49 -04:00
Wladimir J. van der Laan a1d623da3e
Merge pull request #6810
7d325b9 zmq: point API link to 4.0 as that is what we are conforming to [Trivial] (Johnathan Corgan)
2015-10-13 12:31:50 +02:00
Wladimir J. van der Laan 9caaf6ed22
Merge pull request #6777
dcd8e27 Refer to obfuscate_key via pointer in peripheral CLevelDB classes (James O'Beirne)
1488506 Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator (James O'Beirne)
0fdf8c8 Handle obfuscation in CLevelDBIterator (James O'Beirne)
3499ce1 Encapsulate CLevelDB iterators cleanly (Pieter Wuille)
2015-10-13 12:23:45 +02:00
Wladimir J. van der Laan 16faccb736
Merge pull request #6791
d0321a4 [doc] trivial: fix markdown syntax in qa/rpc-tests/README.md (MarcoFalke)
60a8b70 [doc] trivial: developer-notes.md covers more than just coding standards (MarcoFalke)
3507992 [trivial] Make optimize-pngs.py also cover share/pixmaps (MarcoFalke)
8a320c7 [trivial] Remove obsolete share/qt/make_windows_icon.sh (MarcoFalke)
2015-10-13 11:50:26 +02:00
Wladimir J. van der Laan 01f74999e3
Merge pull request #6798
700f52e Clarification of unit test build instructions. (Eric Lombrozo)
2015-10-13 11:35:24 +02:00
Wladimir J. van der Laan feea3057df
Merge pull request #6812
3a4a458 Update bluematt-key, the old one is long-since revoked (Matt Corallo)
2015-10-13 10:57:03 +02:00
Wladimir J. van der Laan 97bee37d4c
Merge pull request #6788
3b1279f build: match upstream build change (Cory Fields)
313e7f5 Squashed 'src/univalue/' changes from 87d9045..5839ac3 (MarcoFalke)
2015-10-13 10:54:31 +02:00
Matt Corallo 9e93640be6 Drop minRelayTxFee to 1000
There is no exact science to setting this parameter, but 5000
(just over 1 US cent at the time of writing) is higher than the
cost to relay a transaction around the network (the new benchmark
due to mempool limiting).
2015-10-13 01:39:38 -07:00
Matt Corallo 074cb155c2 Add reasonable test case for mempool trimming 2015-10-13 01:39:38 -07:00
Matt Corallo d355cf4420 Only call TrimToSize once per reorg/blocks disconnect 2015-10-13 01:39:38 -07:00
Matt Corallo 794a8cec5d Implement on-the-fly mempool size limitation.
After each transaction which is added to mempool, we first call
Expire() to remove old transactions, then throwing away the
lowest-feerate transactions.

After throwing away transactions by feerate, we set the minimum
relay fee to the maximum fee transaction-and-dependant-set we
removed, plus the default minimum relay fee.

After the next block is received, the minimum relay fee is allowed
to decrease exponentially. Its halflife defaults to 12 hours, but
is decreased to 6 hours if the mempool is smaller than half its
maximum size, and 3 hours if the mempool is smaller than a quarter
its maximum size.

The minimum -maxmempool size is 40*-limitdescendantsize, as it is
easy for an attacker to play games with the cheapest
-limitdescendantsize transactions. -maxmempool defaults to 300MB.

This disables high-priority transaction relay when the min relay
fee adjustment is >0 (ie when the mempool is full). When the relay
fee adjustment drops below the default minimum relay fee / 2 it is
set to 0 (re-enabling priority-based free relay).
2015-10-13 01:39:27 -07:00