Merge remote-tracking branch 'bitcoin/0.10' into master-0.10
This commit is contained in:
commit
2f2d3f6ea2
@ -701,6 +701,14 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB([crypto],[RAND_egd],[],[
|
||||
AC_ARG_WITH([libressl],
|
||||
[AS_HELP_STRING([--with-libressl],[Build with system LibreSSL (default is no; DANGEROUS; NOT SUPPORTED)])],
|
||||
[AC_MSG_WARN([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])],
|
||||
[AC_MSG_ERROR([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])]
|
||||
)
|
||||
])
|
||||
|
||||
CFLAGS_TEMP="$CFLAGS"
|
||||
LIBS_TEMP="$LIBS"
|
||||
CFLAGS="$CFLAGS $SSL_CFLAGS $CRYPTO_CFLAGS"
|
||||
|
||||
12
src/init.cpp
12
src/init.cpp
@ -596,7 +596,11 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
if (mapArgs.count("-proxy")) {
|
||||
// to protect privacy, do not listen by default if a default proxy server is specified
|
||||
if (SoftSetBoolArg("-listen", false))
|
||||
LogPrintf("AppInit2 : parameter interaction: -proxy set -> setting -listen=0\n");
|
||||
LogPrintf("%s: parameter interaction: -proxy set -> setting -listen=0\n", __func__);
|
||||
// to protect privacy, do not use UPNP when a proxy is set. The user may still specify -listen=1
|
||||
// to listen locally, so don't rely on this happening through -listen below.
|
||||
if (SoftSetBoolArg("-upnp", false))
|
||||
LogPrintf("%s: parameter interaction: -proxy set -> setting -upnp=0\n", __func__);
|
||||
// to protect privacy, do not discover addresses by default
|
||||
if (SoftSetBoolArg("-discover", false))
|
||||
LogPrintf("AppInit2 : parameter interaction: -proxy set -> setting -discover=0\n");
|
||||
@ -682,12 +686,6 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
if (nConnectTimeout <= 0)
|
||||
nConnectTimeout = DEFAULT_CONNECT_TIMEOUT;
|
||||
|
||||
// Continue to put "/P2SH/" in the coinbase to monitor
|
||||
// BIP16 support.
|
||||
// This can be removed eventually...
|
||||
const char* pszP2SH = "/P2SH/";
|
||||
COINBASE_FLAGS << std::vector<unsigned char>(pszP2SH, pszP2SH+strlen(pszP2SH));
|
||||
|
||||
// Fee-per-kilobyte amount considered the same as "free"
|
||||
// If you are mining, be careful setting this:
|
||||
// if you set it to zero then
|
||||
|
||||
@ -521,12 +521,11 @@ namespace json_spirit
|
||||
|
||||
const spirit_namespace::parse_info< Iter_type > info =
|
||||
spirit_namespace::parse( begin, end,
|
||||
Json_grammer< Value_type, Iter_type >( semantic_actions ),
|
||||
Json_grammer< Value_type, Iter_type >( semantic_actions ) >> spirit_namespace::end_p,
|
||||
spirit_namespace::space_p );
|
||||
|
||||
if( !info.hit )
|
||||
{
|
||||
assert( false ); // in theory exception should already have been thrown
|
||||
throw_error( info.stop, "error" );
|
||||
}
|
||||
|
||||
@ -570,7 +569,8 @@ namespace json_spirit
|
||||
{
|
||||
typename String_type::const_iterator begin = s.begin();
|
||||
|
||||
return read_range( begin, s.end(), value );
|
||||
bool success = read_range( begin, s.end(), value );
|
||||
return success && begin == s.end();
|
||||
}
|
||||
|
||||
template< class Istream_type >
|
||||
|
||||
@ -139,6 +139,24 @@ BOOST_AUTO_TEST_CASE(rpc_parse_monetary_values)
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("20999999.99999999")), 2099999999999999LL);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(json_parse_errors)
|
||||
{
|
||||
Value value;
|
||||
// Valid
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("1.0"), value), true);
|
||||
// Valid, with trailing whitespace
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("1.0 "), value), true);
|
||||
// Invalid, initial garbage
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("[1.0"), value), false);
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("a1.0"), value), false);
|
||||
// Invalid, trailing garbage
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("1.0sds"), value), false);
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("1.0]"), value), false);
|
||||
// BTC addresses should fail parsing
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"), value), false);
|
||||
BOOST_CHECK_EQUAL(read_string(std::string("3J98t1WpEZ73CNmQviecrnyiWrnqRhWNL"), value), false);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(rpc_boostasiotocnetaddr)
|
||||
{
|
||||
// Check IPv4 addresses
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user