Commit graph

262 commits

Author SHA1 Message Date
Thomas Winget
7568f89c55 Fixed segfault with checkpoints loading
Bounds checking on blockchain_storage' m_blocks.size() when validating
against checkpoints.  Also moved initial json & DNS checkpoints load to
after blockchain init.
2014-09-30 16:21:37 -04:00
Thomas Winget
b261d9207b DNS checkpoint updating added, and daemon flag to enforce them
The daemon should now check for updated checkpoints from
checkpoints.moneropulse.org as well as from the configured json file
every ~1hr (and on launch).

The daemon now has a flag to enable enforcing these checkpoints (rather
    than just printing a warning when they fail).

TODO: an easily configurable list of DNS servers to check for
checkpoints as opposed to the hard-coded "checkpoints.moneropulse.org"
2014-09-30 16:21:37 -04:00
Thomas Winget
30caebfce3 reload checkpoints file every ~hr and print if any fail
also some other minor bug squashing and code formatting
2014-09-30 16:21:37 -04:00
Thomas Winget
0e1449135d updated DNSResolver/things that use it for DNSSEC
Note: DNSResolver does not yet *use* DNSSEC, but rather this commit is
preparation for including DNSSEC validation.  The function in
src/wallet/wallet2.cpp that uses DNSResolver still needs its parameters
updated accordingly.
2014-09-30 16:21:37 -04:00
Thomas Winget
6f2c2e1c27 Adding an identical existing checkpoint should not error
For checkpoints being read at runtime to work correctly, the checkpoint
add code needs to not return false if a checkpoint is added that already
exists.  In this case, instead return false if the checkpoint is for a
height that already has a checkpoint and the hashes are different.
2014-09-30 16:17:26 -04:00
Riccardo Spagni
59a8366bb1 Revert "low risk, potentially varint overflow bug patched thanks to BBR"
This reverts commit 4e2b2b942d.
2014-09-25 08:24:42 +02:00
Thomas Winget
fab95aef64
Remove LDNS dep and fix a bug in libunbound const correctness fix 2014-09-24 23:45:01 -04:00
Thomas Winget
2248124453 Removed ldns dependency
ldns dependency was only still around for constants defined in ldns/rr.h,
but those constants are RFC specified DNS constants, and to reduce deps
have been replicated in dns_utils.h instead of including ldns/rr.h.
2014-09-24 22:45:17 -04:00
Riccardo Spagni
4e2b2b942d low risk, potentially varint overflow bug patched thanks to BBR 2014-09-24 22:17:33 -04:00
Thomas Winget
738357459b
libunbound has const correctness issues... 2014-09-24 20:05:34 -04:00
Tomer Konforty
06a4578bf2 Added ability to read chechpoint hashes from json file in data folder 2014-09-25 00:00:44 +02:00
iamsmooth
9956b68b18 checkpoint 2014-09-24 23:52:40 +02:00
iamsmooth
d19cf1f458 checkpoint 2014-09-24 23:52:31 +02:00
iamsmooth
c428c29051 checkpoints 2014-09-24 23:52:26 +02:00
iamsmooth
b1d586af4b checkpoint 2014-09-24 23:52:20 +02:00
iamsmooth
400f1016dd checkpoints 2014-09-24 23:52:13 +02:00
Riccardo Spagni
bff1f9d4c4
redo FindUnbound.cmake 2014-09-24 20:38:24 +02:00
Riccardo Spagni
d1a7f699c6
use boost::asio::ip::address because cross-platform plz 2014-09-24 14:45:54 +02:00
Thomas Winget
1e193d687d temp commit 2014-09-24 09:13:18 +02:00
Thomas Winget
1dece111cc Added function to check syntax of URL for DNS lookup
For now, simply checks for '.' character, but that will be easy to
change in the future if necessary/desired.
2014-09-23 22:59:57 +02:00
Thomas Winget
24f325a33d
Fixed artifacts from cherry-picking devel->master 2014-09-23 22:59:47 +02:00
Thomas Winget
c14c7e1683 change to allow (at least a bit) for multiple TXT records 2014-09-23 22:58:28 +02:00
Thomas Winget
f437cb58bf Simplewallet should now resolve urls to addresses
Simplewallet should now do a DNS query on an address if it fails to
convert the given string to a binary representation of an address
(base58->binary).  It will prompt the user, telling of what the "url"
passed was, what monero address it translated to, and whether or not
DNSSEC validation was a success, and ask for a confirmation that these
are all acceptable.
2014-09-23 22:58:25 +02:00
Thomas Winget
a5757a628f Monero addres from DNS TXT record implemented, tests pass
Still need to deal with DNSSEC and optional fields in the TXT record.
2014-09-23 22:58:21 +02:00
Thomas Winget
3fb0fc020f seed node DNS code updated to use DNSResolver
Also implemented rudimentary IPv6 support, but commented it out because
it's not widely supported by ISPs for now, and thus is not currently
supported by Monero.
2014-09-23 22:58:17 +02:00
Thomas Winget
9a3b18dbc2 Use the loop iterator, previous version of me. 2014-09-23 22:58:13 +02:00
Thomas Winget
578050e91d ipv4 and ipv6 resolution working
IPv4 and IPv6 name resolution working.
Unit tests written (and passing).
net_node.{h,inl} code modified to use DNS seeds.
2014-09-23 22:58:07 +02:00
Thomas Winget
dea98df6b1 Updated CMake files -- added libunbound linker flag
CMake config file written, but was unable to test/get it working
properly because of a bug in CMake with functions related to
find_package.  Simple "-lunbound" flag used in its stead for now.  May
not build on non-Linux systems, not sure yet.
2014-09-23 22:58:02 +02:00
Thomas Winget
1ae6db25e6 Initial commit of DNS code 2014-09-23 22:57:57 +02:00
Zachary Michaels
59ab569da1 Give up on brace initializers in initializer lists (MSVC bug) 2014-09-15 23:14:24 +02:00
Riccardo Spagni
ffe7bf8c1c
another fix for CMake empty vars 2014-09-15 23:07:47 +02:00
Riccardo Spagni
de442fb9ad
Prevent CMake choking on empty vars 2014-09-15 23:04:58 +02:00
Riccardo Spagni
070ff889d2
More robust versioning in CMake, plus comments 2014-09-15 23:01:50 +02:00
Zachary Michaels
9db881864d Fix time_t serialization issue
On 32-bit MinGW-w64, time_t is int32_t.  The existing code was serializing
time_t directly and implicitly assuming that time_t is int64_t.  This commit
formalizes that assumption by serializing int64_t directly and casting to
time_t where appropriate.

Thanks go to greatwolf for reporting this issue.

monero-project/bitmonero#88
2014-09-15 22:38:46 +02:00
Zachary Michaels
f64a68e7cc
Force CMake to link the runtime statically 2014-09-15 22:36:02 +02:00
Zachary Michaels
45bc24d69b Another preprocessor fix (difficulty.cpp) 2014-09-15 22:33:10 +02:00
Zachary Michaels
aba3497fdd More preprocessor fixes for slow-hash 2014-09-15 22:33:10 +02:00
Zachary Michaels
cf91545734 Correct includes for mingw in slow-hash
This needs testing
2014-09-15 22:33:10 +02:00
Zachary Michaels
2b76e9d8a3 Change Windows include to windows
mingw is case sensitive
2014-09-15 22:33:10 +02:00
Riccardo Spagni
b92a8b53e0
fix CMake for multiplatform versioning 2014-09-15 20:15:26 +02:00
Riccardo Spagni
72a80f6213
fixed incorrect version reference 2014-09-15 15:58:22 +02:00
Zachary Michaels
95a2701ec5 Change testnet prefix 2014-09-15 15:55:07 +02:00
Zachary Michaels
120c84d04f Make P2P use the testnet data dir 2014-09-15 15:55:07 +02:00
Zachary Michaels
23525655fa Replace macro with equivalent function call
Also removed useless bool return
2014-09-15 15:55:07 +02:00
Zachary Michaels
d03308734b
Separate testnet address prefix 2014-09-15 15:54:59 +02:00
Zachary Michaels
ee1bacc64f Add testnet seed nodes 2014-09-15 15:54:24 +02:00
Zachary Michaels
4a6eb0a016 Create testnet data dir if necessary 2014-09-15 15:54:24 +02:00
Zachary Michaels
018e251cc0
Separate testnet default data dir 2014-09-15 15:54:19 +02:00
Zachary Michaels
3ef7f33300 Add descriptions for RPC command line params 2014-09-15 15:53:50 +02:00
Zachary Michaels
1e38a02bb5 Add testnet genesis tx as output by CN reference 2014-09-15 15:53:50 +02:00