Pieter Wuille
63046fcf62
Merge pull request #1679 from Diapolo/fix_sign_warning
...
fix a compiler sign warning in OpenBlockFile()
2012-08-17 05:26:48 -07:00
Pieter Wuille
6ece1d747e
CHashWriter that does SHA256 in-place during serialization
2012-07-07 23:09:14 +02:00
Pieter Wuille
9af3c3c824
Merge pull request #1566 from Diapolo/typo
...
fix typo in optionsmodel.cpp
2012-07-07 07:41:51 -07:00
Pieter Wuille
0ba5bacd0c
Merge pull request #1565 from jrmithdobbs/socks5-fix
...
Fix OBO in socks5 auth proposal.
2012-07-07 07:19:53 -07:00
Pieter Wuille
abbb9a829c
Merge pull request #1347 from rebroad/FixAlreadyAskedFor
...
mapAlreadyAskedFor gets additions when AlreadyHave()
2012-06-27 08:06:57 -07:00
Pieter Wuille
6c88568fef
Merge pull request #973 from TheBlueMatt/diffsendbuffer
...
Stop processing messages on full send buffer and dont disconnect.
2012-06-27 07:49:28 -07:00
Pieter Wuille
4a52c187d3
Merge pull request #457 from muggenhor/async-ipv6-rpc
...
IPv6 RPC using asynchronously accepted connections
2012-06-27 07:48:38 -07:00
Pieter Wuille
6cef700203
Merge pull request #1517 from Diapolo/fix_comment
...
fix a comment to correctly use -upgradewallet
2012-06-24 09:10:03 -07:00
Pieter Wuille
d789a3f140
Some documentation about tor
2012-06-23 01:11:38 +02:00
Pieter Wuille
863e995b79
Debug version messages
2012-06-23 01:11:38 +02:00
Pieter Wuille
54ce3bad64
Add -tor and related configuration
2012-06-23 01:11:38 +02:00
Pieter Wuille
d077dd2a6e
Rewrite CNetAddr::GetReachabilityFrom()
...
Add support for Tor/I2P networks, and make code more readable.
2012-06-23 01:11:38 +02:00
Pieter Wuille
70f7f00385
Node support for Tor hidden services
...
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.
2012-06-23 01:11:32 +02:00
Pieter Wuille
e0be8da392
Unit tests for base32 encode/decode
2012-06-22 17:19:28 +02:00
Pieter Wuille
c4c99ade65
Base32 encoding/decoding
2012-06-22 17:19:28 +02:00
Pieter Wuille
d65e959bae
Update my GPG key
2012-06-20 18:13:16 +02:00
Pieter Wuille
70f6049f71
Remove CTxDB::ReadOwnerTxes.
...
It seems it wasn't ever used since 0.1.5.
2012-06-20 15:07:48 +02:00
Pieter Wuille
451c3957fe
Merge pull request #1485 from xanatos/patch-1
...
Small logical error in mruset
2012-06-19 05:37:21 -07:00
Pieter Wuille
4c6b210af0
Fix netbase tests
...
* 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
2012-06-19 02:22:09 +02:00
Pieter Wuille
432d28d3bb
Merge pull request #1477 from gmaxwell/master
...
Fix inverted logic for !Discover/!UPNP when !Listen.
2012-06-17 17:07:08 -07:00
Pieter Wuille
c971112dfa
Use a 64-bit nonce in ping
...
Former code sent '0' as nonce, which was serialized as 32-bit.
2012-06-14 18:31:08 +02:00
Pieter Wuille
c4971e24f9
Add netbase tests
2012-06-14 17:43:10 +02:00
Pieter Wuille
1e8aeae15a
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
2012-06-14 17:37:15 +02:00
Pieter Wuille
de29f9b444
Merge pull request #1441 from TheBlueMatt/gitian-downloader
...
Fix broken config files
2012-06-12 03:43:06 -07:00
Pieter Wuille
11f73c728a
Merge pull request #1421 from Diapolo/netbase_fix_sign_warnings
...
fix two signed/unsigned comparison warnings in netbase.cpp
2012-06-08 07:29:34 -07:00
Pieter Wuille
0ed0806bb4
Update comment about secure_allocator<>
2012-06-08 16:27:05 +02:00
Pieter Wuille
1b7cd74a49
Merge pull request #1424 from TheBlueMatt/lockcontention
...
Fix DEBUG_LOCKCONTENTION
2012-06-08 07:22:19 -07:00
Pieter Wuille
afdd59416e
Merge pull request #1418 from Diapolo/GUI_fix_default_proxy_addr
...
fix default Proxy address in Qt options (no hostname allowed currently)
2012-06-05 11:13:25 -07:00
Pieter Wuille
587f929c64
Rework network config settings
2012-05-31 18:12:35 +02:00
Pieter Wuille
10ed8178fc
Update bitcoinstrings.cpp
2012-05-30 23:00:21 +02:00
Pieter Wuille
a52c7a1b65
Merge pull request #1357 from sipa/keyid
...
Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
2012-05-26 10:17:27 -07:00
Pieter Wuille
1e07068adf
Merge pull request #1370 from Diapolo/add_startuptime_to_log
...
add client startup time as an entry to debug.log
2012-05-26 01:55:17 -07:00
Pieter Wuille
1025440184
Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
...
This introduces internal types:
* CKeyID: reference (hash160) of a key
* CScriptID: reference (hash160) of a script
* CTxDestination: a boost::variant of the former two
CBitcoinAddress is retrofitted to be a Base58 encoding of a
CTxDestination. This allows all internal code to only use the
internal types, and only have RPC and GUI depend on the base58 code.
Furthermore, the header dependencies are a lot saner now. base58.h is
at the top (right below rpc and gui) instead of at the bottom. For the
rest: wallet -> script -> keystore -> key. Only keystore still requires
a forward declaration of CScript. Solving that would require splitting
script into two layers.
2012-05-24 20:26:19 +02:00
Pieter Wuille
fd61d6f506
Encapsulate public keys in CPubKey
2012-05-24 19:58:12 +02:00
Pieter Wuille
f29f242758
Merge pull request #1380 from gavinandresen/optimize2
...
Move signature cache from CKey::Verify to CheckSig in script.cpp
2012-05-22 15:13:36 -07:00
Pieter Wuille
fa638ec8af
Merge pull request #1369 from sipa/bootorder
...
Reorder AppInit2
2012-05-22 13:54:46 -07:00
Pieter Wuille
63407fd6e2
Merge pull request #917 from mndrix/reopen-log-file
...
Reopen log file on SIGHUP
2012-05-21 10:04:26 -07:00
Pieter Wuille
7d80d2e3d7
Reorder AppInit2
...
This reorders AppInit2 into 10 sections:
1) basic setup (OS stuff, signal handlers)
2) parameter interactions (softset)
3) interpreting options without side effects (just setting internal variables)
4) application initialization (datadir lock, daemonize, pidfile, log file)
5) network initialization (network params, proxy, binding)
6) load blockchain
7) load wallet
8) import blocks (-loadblock=)
9) load peers
10) start node/rpc threads
11) finished
This means invalid configurations will be detected as soon as possible
(in particular, before loading the block chain).
2012-05-21 18:43:22 +02:00
Pieter Wuille
46784d0826
Merge pull request #1354 from fanquake/master
...
Update Header Licenses
2012-05-20 12:27:50 -07:00
Pieter Wuille
6e86c4700b
Merge pull request #1363 from Diapolo/remove_strncasecmp
...
remove strncasecmp() + strnicmp() calls use boost::algorithm::istarts_with()
2012-05-20 12:26:43 -07:00
Pieter Wuille
bd795bd543
Merge pull request #1358 from luke-jr/shared_lockchk
...
Shared code for wallet lock help and check
2012-05-19 08:34:27 -07:00
Pieter Wuille
660ff174f2
Use boost::thread locking instead of interprocess
2012-05-18 16:56:12 +02:00
Pieter Wuille
385f730f31
Hopefully final fix for the stuck blockchain issue
...
Immediately issue a "getblocks", instead of a "getdata" (which will
trigger the relevant "inv" to be sent anyway), and only do so when
the previous set of invs led us into a known and attached part of
the block tree.
2012-05-15 17:53:46 +02:00
Pieter Wuille
91dace35a1
Do not listen on blocked networks
2012-05-14 17:52:51 +02:00
Pieter Wuille
55bb0cfbb6
Allow binding to the any address, and report failure
2012-05-14 17:52:50 +02:00
Pieter Wuille
0f1707de67
-onlynet instead of -blocknet
2012-05-14 17:52:45 +02:00
Pieter Wuille
0071a540d4
Merge pull request #1291 from sipa/canonames
...
Use getnameinfo() to get canonical IPv6 addresses
2012-05-14 04:14:28 -07:00
Pieter Wuille
ca81464697
Use getnameinfo() to get canonical IPv6 addresses
2012-05-14 01:41:15 +02:00
Pieter Wuille
09b4e26a44
Really do not consider blocked networks local
2012-05-13 23:50:55 +02:00
Pieter Wuille
1653f97c8f
Do not consider blocked networks local
2012-05-13 15:11:51 +02:00
Pieter Wuille
8f737d28a6
Only encode IPv4 addresses in IRC nicks
2012-05-13 15:07:31 +02:00
Pieter Wuille
9fc0a15cd4
Merge pull request #1285 from sipa/initerror
...
Improve error reporting at startup
2012-05-13 06:01:21 -07:00
Pieter Wuille
af4006b3f5
Enforce -nodiscover better
2012-05-13 14:22:15 +02:00
Pieter Wuille
ac7c7ab99a
Improve error reporting at startup
2012-05-13 12:35:39 +02:00
Pieter Wuille
22db3f2c77
Fix warning about uninitialized value
...
Only reported when using -flto.
2012-05-13 01:36:46 +02:00
Pieter Wuille
5a3cb32e59
Take -port into account when resolving -bind's
2012-05-13 01:26:14 +02:00
Pieter Wuille
139d2f7c29
Keep local service information per address
...
Keep local service information per CNetAddr instead of per CService,
but move the port into the information kept on it.
2012-05-13 01:03:05 +02:00
Pieter Wuille
89b5616d10
Do not signal outbound semaphore if uninitialized
2012-05-13 00:49:12 +02:00
Pieter Wuille
45dcf63a62
Only check for port# after : in ConnectSocketByName
2012-05-13 00:49:12 +02:00
Pieter Wuille
a6cd0b08f6
Partially revert f621326: xCXXFLAGS
2012-05-13 00:41:46 +02:00
Pieter Wuille
839c4e7966
Fix initialization of inaddr_any
2012-05-12 17:20:43 +02:00
Pieter Wuille
a3878873f3
Merge pull request #1021 from sipa/ipv6
...
IPv6 node support
2012-05-11 18:23:56 -07:00
Pieter Wuille
7f3ccb59da
Split synchronization mechanisms from util.{h,cpp}
2012-05-11 18:13:51 +02:00
Pieter Wuille
5456ef3092
Use polling instead of boost's broken semaphore on OSX
2012-05-11 17:02:11 +02:00
Pieter Wuille
c59abe2589
Use semaphores instead of condition variables
2012-05-11 17:02:11 +02:00
Pieter Wuille
8f10a28890
Separate listening sockets, -bind=<addr>
2012-05-11 15:29:20 +02:00
Pieter Wuille
7fa4443f77
Keep port information for local addresses
2012-05-11 15:29:19 +02:00
Pieter Wuille
457754d2c2
Add -blocknet to prevent connections to a given network
2012-05-11 15:29:19 +02:00
Pieter Wuille
c5b3ffd8d5
Use NET_ identifiers in CNetAddr::GetGroup()
2012-05-11 15:29:19 +02:00
Pieter Wuille
623b987813
Add -noproxy to circumvent proxy for some network
2012-05-11 15:29:19 +02:00
Pieter Wuille
090e5b40f1
Limited relaying/storing of foreign addresses
...
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.
2012-05-11 15:29:19 +02:00
Pieter Wuille
d32148567f
Preliminary support for Tor/I2P hidden services
...
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.
2012-05-11 15:29:19 +02:00
Pieter Wuille
23aa78c405
IPv6 node support
...
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.
2012-05-11 15:29:19 +02:00
Pieter Wuille
1f5a7cef6f
Fix version numbers of archive builds
2012-05-11 11:44:53 +02:00
Pieter Wuille
f621326c24
Clean up warnings
...
* Use -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameters
* Remove xCXXFLAGS usage in makefile.unix
* Fix several recent and older sign-compare warnings
2012-05-09 03:48:30 +02:00
Pieter Wuille
6860133373
Prevent stuck download: correct solution
...
Pull request #948 introduced a fix for nodes stuck on a long side branch
of the main chain. The fix was non-functional however, as the additional
getdata request was created in a first step of processing, but dropped
in a second step as it was considered redundant. This commits fixes it
by sending the request directly.
2012-05-06 23:37:45 +02:00
Pieter Wuille
bd1aabe941
Bugfix: store source address in addrman
2012-05-05 21:33:29 +02:00
Pieter Wuille
56f1e91239
Fix addrman crashes
...
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.
Closes : #1065 , #1156
2012-05-05 21:33:26 +02:00
Pieter Wuille
29a86a1735
Add extra asserts to addrman
2012-05-05 21:32:41 +02:00
Pieter Wuille
19b6958cfd
Added -externalip and -discover
...
-externalip=<ip> can be used to explicitly set the public IP address
of your node. -discover=0 can be used to disable the automatic public
IP discovery system.
2012-05-04 16:12:23 +02:00
Pieter Wuille
39857190de
Support for multiple local addresses
2012-05-04 16:12:23 +02:00
Pieter Wuille
478b01d9a7
Add -seednode connections, and use this for -dnsseed + -proxydns
2012-05-04 16:11:54 +02:00
Pieter Wuille
9bab521df8
Support connecting by hostnames passed to proxy (-proxydns)
2012-05-04 16:11:54 +02:00
Pieter Wuille
a012e2db59
refactor ConnectSocket
2012-05-04 16:11:54 +02:00
Pieter Wuille
933f2715d8
SOCKS5 connect via hostname
2012-05-04 16:11:54 +02:00
Pieter Wuille
60a87bce87
SOCKS5 support by default
...
Add -socks=<n> to select SOCKS version to use. 4 and 5 are supported,
5 is default.
2012-05-04 16:11:54 +02:00
Pieter Wuille
287ce61dc2
Merge pull request #1146 from drizztbsd/posix-include
...
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
2012-04-26 15:25:56 -07:00
Pieter Wuille
e1ea3ce7aa
Merge pull request #1119 from sipa/fastshutdown
...
Make lsn_reset ("detach databases") optional and off by default.
2012-04-26 05:20:57 -07:00
Pieter Wuille
83743ed681
Make lsn_reset ("detach databases") optional and off by default.
...
Add an option -detachdb (and entry in OptionDialog), without which no
lsn_reset is called on addr.dat and blkindex.dat. That means these
files cannot be moved to a new environment, but shutdown can be
significantly faster. The wallet file is always lsn_reset'ed.
-detachdb corresponds to the old behaviour, though it is off by
default now to speed up shutdowns.
2012-04-26 00:31:54 +02:00
Pieter Wuille
ef758662c5
Merge pull request #1133 from sipa/abspath
...
Make GetDataDir return absolute paths
2012-04-22 14:56:03 -07:00
Pieter Wuille
f4203de302
Make GetDataDir return absolute paths
2012-04-22 17:38:47 +02:00
Pieter Wuille
1d740055da
-loadblock to load from an external blk000?.dat file
2012-04-22 03:09:35 +02:00
Pieter Wuille
457661f640
Merge pull request #1124 from sipa/rpcobj3
...
extension of #1103 : encapsulate mapCommands in CRPCTable
2012-04-21 16:49:32 -07:00
Pieter Wuille
7dbe393629
Merge pull request #1131 from laanwj/2012_04_hexstr
...
Integrate @JoelKatz's optimized ToHex (#562 ) into current HexStr function
2012-04-21 16:47:02 -07:00
Pieter Wuille
d5eb41fa08
Merge pull request #1129 from laanwj/2012_04_opcodes
...
Add explicit numeric constant value for all opcodes
2012-04-21 16:43:31 -07:00
Pieter Wuille
6a7a42be16
Merge pull request #1126 from drizztbsd/master
...
Fix build with gcc 4.7
2012-04-21 15:13:29 -07:00
Pieter Wuille
e46704dd90
Expose CRPCTable via bitcoinrpc.h for testing
2012-04-21 01:37:34 +02:00
Pieter Wuille
9862229d4d
Encapsulate mapCommands in class CRPCTable
2012-04-21 01:20:05 +02:00
Pieter Wuille
3b9e6b7820
Merge pull request #959 from rebroad/LoadBlockIndexKillable
...
Added ability to respond to signals during Block Loading stage.
2012-04-19 04:33:04 -07:00
Pieter Wuille
c73ba23eb5
gettransaction RPC for non-wallet transactions
...
Works for wallet transactions, memory-pool transaction and block chain
transactions.
Available for all:
* txid
* version
* locktime
* size
* coinbase/inputs/outputs
* confirmations
Available only for wallet transactions:
* amount
* fee
* details
* blockindex
Available for wallet transactions and block chain transactions:
* blockhash
* time
2012-04-18 23:42:07 +02:00