Changeset View
Changeset View
Standalone View
Standalone View
src/init.cpp
Show First 20 Lines • Show All 1,024 Lines • ▼ Show 20 Lines | #endif | ||||
argsman.AddArg( | argsman.AddArg( | ||||
"-shrinkdebugfile", | "-shrinkdebugfile", | ||||
"Shrink debug.log file on client startup (default: 1 when no -debug)", | "Shrink debug.log file on client startup (default: 1 when no -debug)", | ||||
ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST); | ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST); | ||||
argsman.AddArg("-uacomment=<cmt>", | argsman.AddArg("-uacomment=<cmt>", | ||||
"Append comment to the user agent string", | "Append comment to the user agent string", | ||||
ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST); | ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST); | ||||
argsman.AddArg( | |||||
"-useragent=<ua>", | |||||
"Override user agent name to a specific string (overrides -uacomment)", | |||||
ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST); | |||||
SetupChainParamsBaseOptions(argsman); | SetupChainParamsBaseOptions(argsman); | ||||
argsman.AddArg( | argsman.AddArg( | ||||
"-acceptnonstdtxn", | "-acceptnonstdtxn", | ||||
strprintf( | strprintf( | ||||
"Relay and mine \"non-standard\" transactions (%sdefault: %u)", | "Relay and mine \"non-standard\" transactions (%sdefault: %u)", | ||||
"testnet/regtest only; ", defaultChainParams->RequireStandard()), | "testnet/regtest only; ", defaultChainParams->RequireStandard()), | ||||
▲ Show 20 Lines • Show All 1,237 Lines • ▼ Show 20 Lines | #endif | ||||
node.chainman = &g_chainman; | node.chainman = &g_chainman; | ||||
ChainstateManager &chainman = *Assert(node.chainman); | ChainstateManager &chainman = *Assert(node.chainman); | ||||
node.peerman.reset(new PeerManager(chainparams, *node.connman, | node.peerman.reset(new PeerManager(chainparams, *node.connman, | ||||
node.banman.get(), *node.scheduler, | node.banman.get(), *node.scheduler, | ||||
chainman, *node.mempool)); | chainman, *node.mempool)); | ||||
RegisterValidationInterface(node.peerman.get()); | RegisterValidationInterface(node.peerman.get()); | ||||
if (args.IsArgSet("-useragent")) { | |||||
const std::string ua = args.GetArg("-useragent", ""); | |||||
if (ua != SanitizeString(ua, SAFE_CHARS_DEFAULT)) { | |||||
return InitError(strprintf( | |||||
_("User Agent (%s) contains invalid characters."), ua)); | |||||
} | |||||
if (ua.size() > MAX_SUBVERSION_LENGTH) { | |||||
return InitError(strprintf( | |||||
_("Length of explicitly set User Agent (%i) exceeds maximum " | |||||
"length (%i). Reduce the size of -useragent."), | |||||
ua.size(), MAX_SUBVERSION_LENGTH)); | |||||
} | |||||
} | |||||
// sanitize comments per BIP-0014, format user agent and check total size | // sanitize comments per BIP-0014, format user agent and check total size | ||||
std::vector<std::string> uacomments; | std::vector<std::string> uacomments; | ||||
for (const std::string &cmt : args.GetArgs("-uacomment")) { | for (const std::string &cmt : args.GetArgs("-uacomment")) { | ||||
if (cmt != SanitizeString(cmt, SAFE_CHARS_UA_COMMENT)) { | if (cmt != SanitizeString(cmt, SAFE_CHARS_UA_COMMENT)) { | ||||
return InitError(strprintf( | return InitError(strprintf( | ||||
_("User Agent comment (%s) contains unsafe characters."), cmt)); | _("User Agent comment (%s) contains unsafe characters."), cmt)); | ||||
} | } | ||||
uacomments.push_back(cmt); | uacomments.push_back(cmt); | ||||
▲ Show 20 Lines • Show All 686 Lines • Show Last 20 Lines |