Add whitelistforcerelay to control forced relaying.
Also renames whitelistalwaysrelay.
Nodes relay all transactions from whitelisted peers, this
gets in the way of some useful reasons for whitelisting
peers-- for example, bypassing bandwidth limitations.
The purpose of this forced relaying is for specialized gateway
applications where a node is being used as a P2P connection
filter and multiplexer, but where you don't want it getting
in the way of (re-)broadcast.
This change makes it configurable with whitelistforcerelay.
strUsage+=HelpMessageOpt("-whitebind=<addr>",_("Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6"));
strUsage+=HelpMessageOpt("-whitebind=<addr>",_("Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6"));
strUsage+=HelpMessageOpt("-whitelist=<netmask>",_("Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.")+
strUsage+=HelpMessageOpt("-whitelist=<netmask>",_("Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.")+
""+_("Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway"));
""+_("Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway"));
strUsage+=HelpMessageOpt("-whitelistalwaysrelay",strprintf(_("Always relay transactions received from whitelisted peers (default: %d)"),DEFAULT_WHITELISTALWAYSRELAY));
strUsage+=HelpMessageOpt("-whitelistrelay",strprintf(_("Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)"),DEFAULT_WHITELISTRELAY));
strUsage+=HelpMessageOpt("-whitelistforcerelay",strprintf(_("Force relay of transactions from whitelisted peers even they violate local relay policy (default: %d)"),DEFAULT_WHITELISTFORCERELAY));
strUsage+=HelpMessageOpt("-maxuploadtarget=<n>",strprintf(_("Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)"),DEFAULT_MAX_UPLOAD_TARGET));
strUsage+=HelpMessageOpt("-maxuploadtarget=<n>",strprintf(_("Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)"),DEFAULT_MAX_UPLOAD_TARGET));