Age | Commit message (Collapse) | Author |
|
API, compatible with clang's -Wthread-safety
|
|
feature in clang. These macros should primarily be used to
document which locks protect a given piece of data. Secondary it
can be used to document the set of held and excluded locks when
entering a function.
|
|
One-line comments for public main functions
|
|
|
|
|
|
don't use memset() in privacy/security relevant code parts
|
|
remove printf redefinition from bitcoinrpc.cpp
|
|
Qt: small header changes / fixes
|
|
- this allows the client to listen on via -bind specified addresses
(e.g. 127.0.0.1), even when a network (IPv4 in that case) was blocked
via e.g -onlynet="Tor"
- introduce enum BindFlags to avoid passing multiple bools to Bind()
- make -bind help text clear we ALWAYS listen on the specified address
- remove an unused variable
- remove 2 unneeded IsLimited() checks before calling Bind(), which does
these checks anyway
- usage case: specify -bind=127.0.0.1 -onlynet="Tor" to allow incoming
connections to a Tor hidden service, but still don't allow other IPv4
nodes to connect / get connected
|
|
|
|
Add -reindex, to perform in-place reindexing of block chain files
|
|
The base bits of pull req #1982.
|
|
Remove -detachdb and stop's detach argument.
|
|
- this way there is no need for an explicit destructor, who does the same
thing anyway
|
|
As memset() can be optimized out by a compiler it should not be used in
privacy/security relevant code parts. OpenSSL provides the safe
OPENSSL_cleanse() function in crypto.h, which perfectly does the job of
clean and overwrite data.
For details see: http://www.viva64.com/en/b/0178/
- change memset() to OPENSSL_cleanse() where appropriate
- change a hard-coded number from netbase.cpp into a sizeof()
|
|
Flushes the blktree/ and coins/ databases, and reindexes the
block chain files, as if their contents was loaded via -loadblock.
Based on earlier work by Jeff Garzik.
|
|
|
|
|
|
|
|
Cache size optimizations
|
|
- ensure header inclusion guard is named after the header file
- add missing comments at the end of some inclusion guards
- add a small Qt5 compatibility fix in macdockiconhandler.h
|
|
fix some double-spaces in strings
|
|
rather than reusing ReadHTTPStatus() from the client mode.
The following additional HTTP request validations are added, both in line with
existing HTTP client practice:
1) HTTP method must be GET or POST. Most clients use POST, some
use GET. Either way, this continues to work.
2) HTTP URI must start with "/" character.
Normal URI is "/" (a 1-char string), so this is fine.
|
|
ReadHTTPStatus() is currently overloaded: In client mode, it properly parses
and receives an HTTP status line. In server mode, it incorrectly parses the
HTTP request line as an HTTP status line.
This server mode bug has never mattered, because the RPC server never
cared about the URI (path) provided in the HTTP request. That will change in
the future, so go ahead and begin fixing the problem.
This patch is cosmetic, and should result in NO behavior changes.
Further renames:
ReadHTTPHeader -> ReadHTTPHeaders
ReadHTTP -> ReadHTTPMessage
|
|
|
|
As the only BDB database left is the wallet, and it is always
detached.
Also remove IsChainFile() predicate and related chainfile-specific
logic.
|
|
- as the redefiniton of printf happens in util.h, which is included in
bitcoinrpc.cpp, we don't need another redefinition
|
|
Bugfix: do not keep relaying spent wallet transactions
|
|
|
|
|
|
The original test (checking whether the transaction occurs in the
txindex) is not usable anymore, as it will miss anything already
fully spent. However, as merkle transactions (and by extension,
wallet transactions) track which block they were last seen being
included in, we can use that to determine the need for
rebroadcasting.
|
|
- add setStatusTip() in addition to setTooltip() where it makes sense
- add only setStatusTip() if GUI element is only used in main- or tray menu
- add an event filter on our BitcoinGUI object to prevent garbelled text
on the status bar, which happens when we use it for e.g. displaying
block-sync state and then a QEvent::StatusTip wants to write own text to it
- remove a double translation of "Bitcoin client"
|
|
fix some thread related log messages
|
|
Bugfix: don't crash by trying to write unchanged best block
|
|
|
|
|
|
|
|
|
|
This is to support the signrawtransaction API call; given the public
keys involved in a multisig transaction, this gives back the redeemScript
needed to sign it.
|
|
signrawtransaction was unable to sign pay-to-script-hash inputs
when given the list of private keys to use. With this commit
you can provide the p2sh redemption script in the list of
inputs.
|
|
|
|
|
|
|
|
|
|
- remove some unneeded stuff in sendcoinsentry.ui
- harmonize some "Error:"-messages
|
|
As the coinset data refers to the best block, stored in the block
tree. Flushing the coin set first can cause inconsistencies if
the process gets killed in between.
|
|
Estetics
|
|
remove "checkorder" P2P command
|
|
make optionsmodel query real proxy state for ::data()
|
|
Fixes a race condition in CreateNewBlock and a future null deref on testnet.
|