Commit Graph

333 Commits

Author SHA1 Message Date
Riccardo Spagni
1cf22b27a6
Merge pull request #165
c0bdd51 Daemon should now exit on conflicting checkpoints (Thomas Winget)
f0b4138 various changes to runtime checkpoint updating (Thomas Winget)
7568f89 Fixed segfault with checkpoints loading (Thomas Winget)
b261d92 DNS checkpoint updating added, and daemon flag to enforce them (Thomas Winget)
30caebf reload checkpoints file every ~hr and print if any fail (Thomas Winget)
0e14491 updated DNSResolver/things that use it for DNSSEC (Thomas Winget)
6f2c2e1 Adding an identical existing checkpoint should not error (Thomas Winget)
2014-10-02 16:48:05 +02:00
Riccardo Spagni
0e777d0e65
simplewallet ignoring testnet port in RPC mode 2014-10-01 11:13:46 +02:00
Thomas Winget
c0bdd511c3 Daemon should now exit on conflicting checkpoints
If the "enforce DNS checkpoints" flag is not enabled, it should not exit
if DNS checkpoints conflict with the others, but should still print a
warning to the user.
2014-09-30 16:21:37 -04:00
Thomas Winget
f0b4138f1f various changes to runtime checkpoint updating
json checkpoints will be checked every 10 minutes, dns every 60.

json checkpoints always enforced, dns still with flag.

conflicting checkpoints is hard fail, but soft if dns enforce flag not
set and dns checkpoints are wonky.
2014-09-30 16:21:37 -04:00
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
Oran Juice
423bf69dca
Added attribution to Electrum for their word-lists 2014-09-30 23:53:02 +05:30
Oran Juice
4cbf8d4243
Is forgiving of spelling mistakes beyond the 1st 4 characters. 2014-09-30 23:30:27 +05:30
Oran Juice
cf70cc7787
Change seed message to '25' words from '24' words 2014-09-30 18:17:56 +05:30
Oran Juice
4f693d715c
Merge with origin/master 2014-09-28 15:52:05 +05:30
Oran Juice
2b60646c9b
Minor comment changes and code clean-up 2014-09-28 14:10:23 +05:30
Oran Juice
473c9644a9
Default to new style English seed 2014-09-28 13:49:47 +05:30
Oran Juice
230b80a5db
Minor code refactor and comment changes 2014-09-28 13:48:52 +05:30
Oran Juice
8f587ba1c8
CRC Checksum for word seed. Gives a new 25 word seed with checksum if one without checksum is passed. Doxygen comment fix. 2014-09-28 02:29:25 +05:30
Oran Juice
f31adbc977
Doxygen comments in 2014-09-27 18:20:15 +05:30
Oran Juice
91aa25e055
Informs about old style mnemonics from older wallet and provides a new one. CMakeLists.txt update. 2014-09-27 17:04:23 +05:30
Oran Juice
262e155bab
Throw error when word list file is empty and quick bug fix 2014-09-27 00:55:21 +05:30
Oran Juice
3c0e87e1b6
Supports wallet restoration 2014-09-26 23:34:35 +05:30
Oran Juice
a1ac92e185
Accepts seed language choice from user. 2014-09-25 18:04:30 +05:30
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
Oran Juice
26ea53d461
Copies word lists directory to the location of the executable 2014-09-24 22:44:36 +05:30
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
Oran Juice
608572eead
Check for error after opening word list file 2014-09-23 20:48:15 +05:30
Oran Juice
09170b4d3b
Added code to separate old word list to raw input file and support for multiple new languages 2014-09-23 18:34:39 +05:30
Oran Juice
6be139b511
Moved mnemonics code to src/mnemonics 2014-09-23 17:04:04 +05:30
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
Zachary Michaels
96eed84aad Pass tx and nonce to genesis block constructor 2014-09-15 15:53:50 +02:00
Zachary Michaels
257077a96b Separate network id for testnet 2014-09-15 15:53:50 +02:00
Zachary Michaels
658b6690a3
Separate rpc port for testnet 2014-09-15 15:53:46 +02:00
Zachary Michaels
98ed9a41f7 Separate p2p port for testnet 2014-09-15 15:53:10 +02:00
Zachary Michaels
fb4146fa34 Reorganize testnet constants 2014-09-15 15:53:10 +02:00
Zachary Michaels
79862ad1de Add testnet constants 2014-09-15 15:53:10 +02:00
Zachary Michaels
07470fd400
Add testnet flag
Source: cryptonotefoundation
2014-09-15 15:53:01 +02:00
Riccardo Spagni
51011ed960 fix logic in tag check, AND -> OR
Signed-off-by: Riccardo Spagni <ric@spagni.net>
2014-09-15 08:24:32 +02:00
Riccardo Spagni
3129d51eb4 ignore tag check if we haven't pulled tags
Signed-off-by: Riccardo Spagni <ric@spagni.net>
2014-09-15 08:22:52 +02:00
Riccardo Spagni
d97191d4f9
new Makefile target: release-static 2014-09-15 08:18:11 +02:00
Riccardo Spagni
9c56b38b16
Merge pull request #136
bb2b606 fix incorrect error message (obvious cut and paste bug from upstream) (iamsmooth)
6b77e83 Change wallet to not try to extract tx public key when tx has no outputs (fixes 202612 tx format messages and is otherwise correct) (iamsmooth)
08205f0 output rng fix from boolberry (iamsmooth)
2014-09-13 10:24:39 +02:00
iamsmooth
bb2b606e91 fix incorrect error message (obvious cut and paste bug from upstream) 2014-09-13 08:04:05 +00:00
iamsmooth
6b77e8358c Change wallet to not try to extract tx public key when tx has no outputs (fixes 202612 tx format messages and is otherwise correct) 2014-09-13 04:25:33 +00:00
iamsmooth
08205f01d9 output rng fix from boolberry 2014-09-12 22:57:32 +00:00
Riccardo Spagni
570b90eb43 fixed cmake variable matching 2014-09-12 13:27:30 +02:00
Riccardo Spagni
8334ce0b24 versioning now includes the commit hash, or -final for tagged releases 2014-09-12 13:12:43 +02:00
jebes
a13e879251 HOW DO I ENGLISH? 2014-09-11 10:45:05 -04:00
jebes
f7900ccfc1 mispelled brief, corrected it 2014-09-11 10:36:39 -04:00
jebes
dfed3d39b6 Merge remote-tracking branch 'upstream/master' 2014-09-11 10:20:55 -04:00
jebes
9d6f9335d1 HOW DO I GIT? 2014-09-11 10:20:17 -04:00
jebes
a70bf86037 Documented varint 2014-09-11 10:14:05 -04:00
fluffypony
d21cf293e1 added license to CMake 2014-09-11 08:25:07 +02:00
fluffypony
8d8b47e69f more dynamic miniupnp fixes 2014-09-10 20:01:30 +02:00
fluffypony
59c0423eae miniupnpc includes fixed 2014-09-10 18:22:20 +02:00
fluffypony
81490d2aea miniupnpc changes for freebsd 2014-09-10 14:19:42 +02:00
fluffypony
ccb2ab2b7b mmap on FreeBSD doesn't have MAP_HUGETLB 2014-09-10 14:01:39 +02:00
fluffypony
110f110181 Include sys/time.h on BSD 2014-09-10 13:58:43 +02:00
fluffypony
a8d043b6dd replace ftime with gettimeofday on FreeBSD because lcompat is stupid 2014-09-10 13:55:39 +02:00
fluffypony
0e343ecfdf make FreeBSD use -lcompat till we can fix ftime() 2014-09-10 13:25:34 +02:00