Age | Commit message (Collapse) | Author |
|
Conflicts:
doc/unit-tests.txt
src/serialize.h
|
|
Conflicts:
src/main.cpp
src/serialize.h
|
|
This was causing test_bitcoin to abort on a 32-bit system likely due to -ftrapv.
|
|
(this fixes a Mac OS X gitian build error for 0.5.x)
|
|
(this fixes a Mac OS X gitian build error for 0.5.x)
|
|
I originally created a pull to replace the "COPYING" in crypter.cpp and
crypter.h, but it turned out that COPYING was actually the correct
file.
|
|
I originally created a pull to replace the "COPYING" in crypter.cpp and
crypter.h, but it turned out that COPYING was actually the correct
file.
|
|
I originally created a pull to replace the "COPYING" in crypter.cpp and
crypter.h, but it turned out that COPYING was actually the correct
file.
|
|
|
|
|
|
|
|
|
|
2^31 milliseconds is only about 25 days. Also clamps Sleep() to 10 years,
because it currently sleeps for 0 seconds when the sleep time would cross
2^31 seconds since the epoch. Hopefully boost will be fixed by 2028.
|
|
2^31 milliseconds is only about 25 days. Also clamps Sleep() to 10 years,
because it currently sleeps for 0 seconds when the sleep time would cross
2^31 seconds since the epoch. Hopefully boost will be fixed by 2028.
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
src/qt/locale/bitcoin_ru.ts
src/qt/locale/bitcoin_zh_TW.ts
|
|
Conflicts:
src/bitcoinrpc.cpp
|
|
|
|
|
|
|
|
default BIP16 switchover date from Feb 15 to Mar 1
|
|
|
|
|
|
|
|
|
|
This introduces CNetAddr and CService, respectively wrapping an
(IPv6) IP address and an IP+port combination. This functionality used
to be part of CAddress, which also contains network flags and
connection attempt information. These extra fields are however not
always necessary.
These classes, along with logic for creating connections and doing
name lookups, are moved to netbase.{h,cpp}, which does not depend on
headers.h.
Furthermore, CNetAddr is mostly IPv6-ready, though IPv6
functionality is not yet enabled for the application itself.
|
|
|
|
Conflicts:
src/util.cpp
|
|
Conflicts:
src/init.cpp
src/util.cpp
|
|
|
|
|
|
This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
|
|
SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
|
|
|
|
Store fewer time samples
|
|
|
|
modern c++ compilers)
|
|
Implement BIP 14 : separate protocol version from client version
|
|
|
|
|
|
Remembering all time samples makes nTimeOffset slow to respond to
system clock corrections. For instance, I start my node with a system
clock that's 30 minutes slow and run it for a few days. During that
time, I accumulate 10,000 offset samples with a median of 1800
seconds. Now I correct my system clock. Without this change, my node
must collect another 10,000 samples before nTimeOffset is correct
again. With this change, I must only accumulate 100 samples to
correct the offset.
Storing unlimited time samples also allows an attacker with many IP
addresses (ex, a large botnet) to perform a memory exhaustion attack
against Bitcoin nodes. The attacker sends a version message from each
IP to his target, consuming more of the target's memory each time.
Time samples are small, so this attack might be impractical under the
old code, but it's impossible with the new code.
|
|
SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
|
|
|
|
|
|
Replaced all occurrences of #if* __WXMSW__ with WIN32,
and all occurrences of __WXMAC_OSX__ with MAC_OSX, and made
sure those are defined appropriately in the makefile and bitcoin-qt.pro.
|
|
|