| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This reverts commits:
- 220de9aafbdb76fa620531fc5c0b01ffa6616d7b Qt: small header changes / fixes
- caeafd1bd1b217276005c6bb422136f379d881cf fix some double-spaces in strings
- deb9f100a04dbb9c25d6ba320eba4c653a2f5423 fix some double-spaces in strings
- 65cee0bbbdea49c08bc84be7824ab004cc19f57e don't use memset() in privacy/security relevant code parts
- ff31f1fa10e2062465520ad8a3ff846c23b7a96f don't use memset() in privacy/security relevant code parts
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/bitcoinrpc.cpp
src/crypter.h
src/main.cpp
src/qt/bitcoin.cpp
src/qt/qtipcserver.cpp
src/util.cpp
|
| | |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/init.cpp
src/main.cpp
src/serialize.h
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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()
|
| | |/ |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/key.h
src/keystore.h
src/net.h
src/protocol.cpp
src/qt/guiutil.h
src/test/DoS_tests.cpp
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| | |
foo.size() typically returns an unsigned integral type; make loop variables
match those types' signedness.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| |\ \
| | |
| | | |
fix signed/unsigned in strprintf and CNetAddr::GetByte()
|
| | | |
| | |
| | |
| | |
| | |
| | | |
- I checked every occurance of strprintf() in the code and used %u, where
unsigned vars are used
- the change to GetByte() was made, as ip is an unsigned char
|
| |/ / |
|
| | | |
|
| | |
| |
| |
| | |
socks5 proxy and tor's .2.3.x branch.
|
| | |
| |
| |
| | |
Add support for Tor/I2P networks, and make code more readable.
|
| | |
| |
| |
| |
| |
| | |
This commit adds support for .onion addresses (mapped into the IPv6
by using OnionCat's range and encoding), and the ability to connect
to them via a SOCKS5 proxy.
|
| | |
| |
| |
| |
| | |
* Do not rely on "a.b.c" being interpreted as "a.0.b.c"
* Parse numeric addresses for address families for which no device is configured
|
| |\ \
| | |
| | | |
Improve parsing of IPv6 addresses
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Implement the following rules:
* Interpret [X]:Y as host=X port=Y, if Y is an integer
* Interpret X:Y as host=X port=Y, if Y is an integer and X contains no colon
* Interpret X:Y as host=X:Y port=default otherwise
|
| |\ \ \
| |/ /
|/| |
| | | |
Resolved minor conflict in main.cpp
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This prevents an undefined operation in main.cpp, when shifting the hash value
left by 32 bits.
Shifting a signed int left into the sign bit is undefined in C++11.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/ / |
|
| |\ \
| | |
| | | |
use "IPv6" and "IPv4" in strings as these are the official spellings
|
| | | |
| | |
| | |
| | | |
make ParseNetwork() in netbase.cpp case-insensitive
|
| |/ / |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Introduce a boolean variable for each "network" (ipv4, ipv6, tor, i2p),
and track whether we are likely to able to connect to it. Addresses in
"addr" messages outside of our network get limited relaying and are not
stored in addrman.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are plans to let Bitcoin function as Tor/I2P hidden service.
To do so, we could use the established encoding provided by OnionCat
and GarliCat (without actually using those tools) to embed Tor/I2P
addresses in IPv6.
This patch makes these addresses considered routable, so they can
travel over the Bitcoin network in 'addr' messages. This will hopefully
make it easier to deploy real hidden service support later.
|
| | |
| |
| |
| |
| |
| | |
This will make bitcoin relay valid routable IPv6 addresses, and when
USE_IPV6 is enabled, listen on IPv6 interfaces and attempt connections
to IPv6 addresses.
|
| | |
| |
| |
| |
| |
| | |
* Use -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameters
* Remove xCXXFLAGS usage in makefile.unix
* Fix several recent and older sign-compare warnings
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
Add -socks=<n> to select SOCKS version to use. 4 and 5 are supported,
5 is default.
|
| | | |
|
| |/
|
|
|
| |
foo.size() typically returns an unsigned integral type; make loop variables
match those types' signedness.
|
| |
|
|
|
|
|
|
|
| |
Design goals:
* Only keep a limited number of addresses around, so that addr.dat does not grow without bound.
* Keep the address tables in-memory, and occasionally write the table to addr.dat.
* Make sure no (localized) attacker can fill the entire table with his nodes/addresses.
See comments in addrman.h for more detailed information.
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|