Age | Commit message (Collapse) | Author |
|
Since the gitian mingw compiler doesn't support C++0x yet.
|
|
|
|
|
|
|
|
Move external block import to separate thread
|
|
Check for canonical public keys and signatures
|
|
|
|
This reverts commit 199d88cf901866f3c2fa2b5bd83074d11ebad02c, reversing
changes made to 65bc1573e73791c26472c3177732b7d167aa5bec.
License is worse instead of better. Will only accept public domain and
MIT-licensed icons from now on.
|
|
Non-GPL Icons, v2
|
|
|
|
regenerate it, changed the assets attribution, removed old spinner + old spinner's sources.
|
|
Translation update for Bitcoin-Qt 0.7.1
|
|
|
|
|
|
Fix a use-after-free problem in initialization (#1920)
|
|
Don't store the result of c_str().
Luckily, this only affects logging, though it could crash or leak
sensitive data to the log in rare cases.
|
|
Use fdatasync instead of fsync on supported platforms
|
|
Remove I2P support from netbase
|
|
move most explicit getters in optionsmodel to header
|
|
fix wrong (signed/unsigned) printf format specifier in bitcoinrpc.cpp
|
|
get rid of strlcpy.h
|
|
|
|
|
|
|
|
|
|
|
|
change Q_WS_MAC -> Q_OS_MAC (Qt5 compatibility)
|
|
P2P: Do not request blocks from peers with fewer blocks than us
|
|
Fat-fingered on github, and merged this too early.
This reverts commit 22f9b069035c9ba0416a62714db167eea5ba762f.
|
|
Send 'mempool' P2P command at the start of each P2P session
|
|
|
|
Corrupt wallets used to cause a DB_RUNRECOVERY uncaught exception and a
crash. This commit does three things:
1) Runs a BDB verify early in the startup process, and if there is a
low-level problem with the database:
+ Moves the bad wallet.dat to wallet.timestamp.bak
+ Runs a 'salvage' operation to get key/value pairs, and
writes them to a new wallet.dat
+ Continues with startup.
2) Much more tolerant of serialization errors. All errors in deserialization
are reported by tolerated EXCEPT for errors related to reading keypairs
or master key records-- those are reported and then shut down, so the user
can get help (or recover from a backup).
3) Adds a new -salvagewallet option, which:
+ Moves the wallet.dat to wallet.timestamp.bak
+ extracts ONLY keypairs and master keys into a new wallet.dat
+ soft-sets -rescan, to recreate transaction history
This was tested by randomly corrupting testnet wallets using a little
python script I wrote (https://gist.github.com/3812689)
|
|
Before, opening a -datadir that was created with a new
version of Berkeley DB would result in an un-caught DB_RUNRECOVERY
exception.
After these changes, the error is caught and the user is told
that there is a problem and is told how to try to recover from
it.
|
|
|
|
Before, opening a -datadir that was created with a new
version of Berkeley DB would result in an un-caught DB_RUNRECOVERY
exception.
After these changes, the error is caught and the user is told
that there is a problem and is told how to try to recover from
it.
|
|
- I missed that one in my former pull
|
|
add LOCK() for proxy related data-structures
|
|
|
|
I2P apparently needs 256 bits to store a fully routable address. Garlicat
requires a centralized lookup service to map the 80-bit addresses to fully
routable ones (as far as I understood), so that's not really usable in our
situation.
To support I2P routing and peer exchange for it, another solution is needed.
This will most likely imply a network protocol change, and extension of the
'addr' message.
|
|
Don't use hand-rolled string manipulation routine with a fixed
buffer in the bitcoin core, instead make use of c++ strings and boost.
|
|
- also includes the required bitcoinstrings.cpp update
|
|
Send --help message to stdout i.s.o stderr
|
|
When datadir missing, show messagebox instead of printing error to stderr
|
|
Document RPC error codes
|
|
|
|
|
|
Replace all "magic values" in RPCError(...) by constants.
|
|
|
|
Translation update for 0.7.1
|
|
- fix #1560 by properly locking proxy related data-structures
- update GetProxy() and introduce GetNameProxy() to be able to use a
thread-safe local copy from proxyInfo and nameproxyInfo
- update usage of GetProxy() all over the source to match the new
behaviour, as it now fills a full proxyType object
- rename GetNameProxy() into HaveNameProxy() to be more clear
|