Produce a corrupt peers.dat that claims 20 addrs when it only has one addr.
| 909 | |
| 910 | // Produce a corrupt peers.dat that claims 20 addrs when it only has one addr. |
| 911 | static CDataStream MakeCorruptPeersDat() |
| 912 | { |
| 913 | CDataStream s(SER_DISK, CLIENT_VERSION); |
| 914 | s << ::Params().MessageStart(); |
| 915 | |
| 916 | unsigned char nVersion = 1; |
| 917 | s << nVersion; |
| 918 | s << ((unsigned char)32); |
| 919 | s << uint256::ONE; |
| 920 | s << 10; // nNew |
| 921 | s << 10; // nTried |
| 922 | |
| 923 | int nUBuckets = ADDRMAN_NEW_BUCKET_COUNT ^ (1 << 30); |
| 924 | s << nUBuckets; |
| 925 | |
| 926 | CService serv; |
| 927 | BOOST_CHECK(Lookup("252.1.1.1", serv, 7777, false)); |
| 928 | CAddress addr = CAddress(serv, NODE_NONE); |
| 929 | CNetAddr resolved; |
| 930 | BOOST_CHECK(LookupHost("252.2.2.2", resolved, false)); |
| 931 | AddrInfo info = AddrInfo(addr, resolved); |
| 932 | s << info; |
| 933 | |
| 934 | return s; |
| 935 | } |
| 936 | |
| 937 | BOOST_AUTO_TEST_CASE(load_addrman_corrupted) |
| 938 | { |
no test coverage detected