From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Vjxcw-0006Yn-KY for bitcoin-development@lists.sourceforge.net; Fri, 22 Nov 2013 20:46:58 +0000 Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of bitpay.com designates 74.125.82.173 as permitted sender) client-ip=74.125.82.173; envelope-from=jgarzik@bitpay.com; helo=mail-we0-f173.google.com; Received: from mail-we0-f173.google.com ([74.125.82.173]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1Vjxcv-0001Uk-DV for bitcoin-development@lists.sourceforge.net; Fri, 22 Nov 2013 20:46:58 +0000 Received: by mail-we0-f173.google.com with SMTP id t61so1657924wes.18 for ; Fri, 22 Nov 2013 12:46:51 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=zm7flVfgVNQSlHafBdk1yBpN/bTrOsGGOd73/VMLcVw=; b=eWZFX4SW4ICI4jdezz4ZigZL+BkBSFLPDZ2JYrqOiwLT+wni2fP0yu9Nw9cXhk7etT VH8JsuZ/iRdOI8ZKimq96/TyrBx0suOva6hwL+rlWoT4tt8B5R0MQm6FC+ISrjNTPWhm bDcUR9Ui33CyavopmltB4EYpkjwXSJ0O/lRmdldc54fidjXl9CK9NQ+Wy4PzBaOe0cJr gUdcBNQjBi+R3JsRfcB4YCqid9IqwA8yKOuZ+jcME+o/YqHbQRBFEqcxxYRtG70i/2/V 66AYWULZ+ckTWwg8ILLfeLw/lY4PmxeH4TvssAwXuDgoC+OK67hXLE0Y3Fi7n2om2UuT pJQg== X-Gm-Message-State: ALoCoQlCCkb/D5VhdCnBUHmoLSpT2l7JrJbxbrhirrZFqQUHWmG1M7OHWTy2gmblYivyRvxJDnoa MIME-Version: 1.0 X-Received: by 10.194.9.100 with SMTP id y4mr11898186wja.22.1385153211057; Fri, 22 Nov 2013 12:46:51 -0800 (PST) Received: by 10.194.164.164 with HTTP; Fri, 22 Nov 2013 12:46:50 -0800 (PST) Date: Fri, 22 Nov 2013 15:46:50 -0500 Message-ID: From: Jeff Garzik To: Bitcoin Dev Content-Type: multipart/mixed; boundary=047d7b5d58a21aef2304ebca1df7 X-Spam-Score: -1.6 (-) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: bitpay.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1Vjxcv-0001Uk-DV Subject: [Bitcoin-development] [PATCH] bitcoind: whitelist nodes, to prevent them from being banned X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Nov 2013 20:46:58 -0000 --047d7b5d58a21aef2304ebca1df7 Content-Type: text/plain; charset=ISO-8859-1 Trying something new... a [simple] patch sent to the list, for discussion. Seems unlikely to be controversial. github access is temporarily disabled, so this is the best pull request avenue for the moment. -- Jeff Garzik Bitcoin core developer and open source evangelist BitPay, Inc. https://bitpay.com/ --047d7b5d58a21aef2304ebca1df7 Content-Type: text/plain; charset=US-ASCII; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hobweij50 ZGlmZiAtLWdpdCBhL25vZGVfbW9kdWxlcy9iaXRwYXkvYml0Y29pblJQQy5qcyBiL25vZGVfbW9k dWxlcy9iaXRwYXkvYml0Y29pblJQQy5qcwppbmRleCBiZDQxMGFjLi5lNmVkZjgxIDEwMDY0NAot LS0gYS9ub2RlX21vZHVsZXMvYml0cGF5L2JpdGNvaW5SUEMuanMKKysrIGIvbm9kZV9tb2R1bGVz L2JpdHBheS9iaXRjb2luUlBDLmpzCkBAIC02OCw2ICs2OCwxOCBAQCBmdW5jdGlvbiBzcGVjKGIp IHsKICAgICBSUEMuY2FsbCh0aGlzLCAnZ2V0dHJhbnNhY3Rpb24nLCAgW3R4aWRdLCBjYWxsYmFj ayk7CiAgIH07CiAKKyAgQml0Y29pblJQQy5wcm90b3R5cGUuZ2V0UmF3VHJhbnNhY3Rpb24gPSBm dW5jdGlvbih0eGlkLCBjYWxsYmFjaykgeworICAgIFJQQy5jYWxsKHRoaXMsICdnZXRyYXd0cmFu c2FjdGlvbicsICBbdHhpZF0sIGNhbGxiYWNrKTsKKyAgfTsKKworICBCaXRjb2luUlBDLnByb3Rv dHlwZS5zaWduUmF3VHJhbnNhY3Rpb24gPSBmdW5jdGlvbihoZXhzdHIsIGNhbGxiYWNrKSB7Cisg ICAgUlBDLmNhbGwodGhpcywgJ3NpZ25yYXd0cmFuc2FjdGlvbicsICBbaGV4c3RyXSwgY2FsbGJh Y2spOworICB9OworCisgIEJpdGNvaW5SUEMucHJvdG90eXBlLnNlbmRSYXdUcmFuc2FjdGlvbiA9 IGZ1bmN0aW9uKGhleHN0ciwgY2FsbGJhY2spIHsKKyAgICBSUEMuY2FsbCh0aGlzLCAnc2VuZHJh d3RyYW5zYWN0aW9uJywgIFtoZXhzdHJdLCBjYWxsYmFjayk7CisgIH07CisKICAgQml0Y29pblJQ Qy5wcm90b3R5cGUuc2VuZFRvQWRkcmVzcyA9IGZ1bmN0aW9uKGFkZHJlc3MsIGFtb3VudCwgY2Fs bGJhY2spIHsKICAgICBSUEMuY2FsbCh0aGlzLCAnc2VuZHRvYWRkcmVzcycsIFthZGRyZXNzLCBh bW91bnRdLCBjYWxsYmFjayk7CiAgIH07CmRpZmYgLS1naXQgYS9ub2RlX21vZHVsZXMvdHh0b29s L3R4dG9vbCBiL25vZGVfbW9kdWxlcy90eHRvb2wvdHh0b29sCm5ldyBmaWxlIG1vZGUgMTAwNzU1 CmluZGV4IDAwMDAwMDAuLmI1MGRjNzcKLS0tIC9kZXYvbnVsbAorKysgYi9ub2RlX21vZHVsZXMv dHh0b29sL3R4dG9vbApAQCAtMCwwICsxLDEyNCBAQAorIyEvdXNyL2Jpbi9lbnYgbm9kZQorCit2 YXIgZnMgPSByZXF1aXJlKCdmcycpOwordmFyIFV0aWwgPSByZXF1aXJlKCdiaXRjb2luL2xpYi9l eHQvdXRpbCcpOwordmFyIEJpdGNvaW5SUEMgPSByZXF1aXJlKCdiaXRwYXkvYml0Y29pblJQQycp LmRlZmF1bHQoKTsKK3ZhciBiaXRjb2luUlBDID0gdW5kZWZpbmVkOwordmFyIFRyYW5zYWN0aW9u ID0gcmVxdWlyZWQoJ2JpdGNvaW4vbGliL21vZGVsL3RyYW5zYWN0aW9uJykuY2xhc3MoKTsKKwor dmFyIGFyZ3YgPSByZXF1aXJlKCdvcHRpbWlzdCcpCisJLnVzYWdlKCdUcmFuc2FjdGlvbiB0b29s LlxuVXNhZ2U6ICQwIFtvcHRpb25zXScpCisJLmRlbWFuZChbJ2MnXSkKKwkuYWxpYXMoJ2YnLCAn ZmlsZScpCisJLmRlc2NyaWJlKCdmJywgJ1RyYW5zYWN0aW9uIHNvdXJjZSBmaWxlIChyYXcsIHNl cmlhbGl6ZWQsIGhleCBlbmNvZGVkKScpCisJLmFsaWFzKCd4JywgJ3R4aWQnKQorCS5kZXNjcmli ZSgneCcsICdUcmFuc2FjdGlvbiBpZCAoc3dpdGNoZXMgVFggc291cmNlIHRvIFJQQyknKQorCS5h bGlhcygnYycsICdjbWQnKQorCS5kZXNjcmliZSgnYycsICdKU09OIGNvbW1hbmQgZmlsZScpCisJ LmFsaWFzKCdoJywgJ2hvc3QnKQorCS5kZXNjcmliZSgnaCcsICdiaXRjb2luZCBSUEMgaG9zdG5h bWUgb3IgSVAgYWRkcmVzcycpCisJLmFsaWFzKCdwJywgJ3BvcnQnKQorCS5kZXNjcmliZSgncCcs ICdiaXRjb2luZCBSUEMgcG9ydCcpCisJLmFsaWFzKCdVJywgJ3VzZXInKQorCS5kZXNjcmliZSgn VScsICdiaXRjb2luZCBSUEMgdXNlcm5hbWUnKQorCS5hbGlhcygnUCcsICdwYXNzJykKKwkuZGVz Y3JpYmUoJ1AnLCAnYml0Y29pbmQgUlBDIHBhc3N3b3JkJykKKwkuYXJndgorOworCitmdW5jdGlv biBzZXR1cFJQQyhob3N0LCBwb3J0LCB1c2VyLCBwYXNzKSB7CisJdmFyIG9wdHMgPSB7fTsKKwlv cHRzLmhvc3QgPSBob3N0OworCW9wdHMucG9ydCA9IHBvcnQ7CisJb3B0cy51c2VyID0gdXNlcjsK KwlvcHRzLnBhc3MgPSBwYXNzOworCWJpdGNvaW5SUEMgPSBuZXcgQml0Y29pblJQQyhvcHRzKTsK K30KKworZnVuY3Rpb24gbG9hZFR4UlBDKHR4aWQpIHsKKwl2YXIgaGV4c3RyID0gYml0Y29pblJQ Qy5nZXRSYXdUcmFuc2FjdGlvbih0eGlkKTsKKworCXZhciBkYXRhID0gbmV3IEJ1ZmZlcihoZXhz dHIsICdoZXgnKTsKKwl2YXIgdHggPSBuZXcgVHJhbnNhY3Rpb24oZGF0YSk7CisJcmV0dXJuIHR4 OworfQorCitmdW5jdGlvbiBsb2FkVHhmaWxlKGZpbGVuYW1lKSB7CisJdmFyIGhleGZpbGUgPSBm cy5yZWFkRmlsZXN5bmMoZmlsZW5hbWUsICd1dGY4Jyk7CisKKwl2YXIgZGF0YSA9IG5ldyBCdWZm ZXIoaGV4ZmlsZS50cmltKCksICdoZXgnKTsKKwl2YXIgdHggPSBuZXcgVHJhbnNhY3Rpb24oZGF0 YSk7CisJcmV0dXJuIHR4OworfQorCitmdW5jdGlvbiBsb2FkQ21kRmlsZShmaWxlbmFtZSkgewor CXZhciBkYXRhID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoZmlsZW5hbWUpKS5yZXN1bHQ7 CisJcmV0dXJuIGRhdGE7Cit9CisKKy8vIGhvdyBtYW55IGNvcGllcyBvZiB0aGlzIGNhbiBvbmUg Y29kZWJhc2UgYmVhcj8KK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRGVzYyh0eCkgeworICB2YXIgb3V0 RGVzY3JpcHRpb25zID0gW107CisgIHZhciBvdXRzID0gdHgub3V0czsKKyAgZm9yKHZhciBpPTA7 IGk8b3V0cy5sZW5ndGg7IGkrKykgeworICAgIHZhciB0eG91dCA9IG91dHNbaV07CisgICAgdmFy IHNjcmlwdCA9IHR4b3V0LmdldFNjcmlwdCgpOworICAgIHZhciB0eXBlID0gc2NyaXB0LmdldE91 dFR5cGUoKTsKKyAgICB2YXIgYW1vdW50ID0gKHR4b3V0LmdldFZhbHVlKCkgLyAxZTgpLnJvdW5k KDgpOworICAgIGlmKHR5cGUgPT0gJ0FkZHJlc3MnKSB7CisgICAgICBvdXREZXNjcmlwdGlvbnMu cHVzaCh7CisgICAgICAgIHR5cGU6IHR5cGUsCisgICAgICAgIGFtb3VudDogYW1vdW50LAorICAg ICAgICBhZGRyZXNzOiBVdGlsLnB1YktleUhhc2hUb0FkZHJlc3Moc2NyaXB0LnNpbXBsZU91dEhh c2goKSkKKyAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICBvdXREZXNjcmlwdGlvbnMucHVz aCh7CisgICAgICAgIHR5cGU6IHR5cGUsCisgICAgICAgIGFtb3VudDogYW1vdW50CisgICAgICB9 KTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHsKKyAgICB0eGlkOiBVdGlsLmZvcm1hdEhhc2hGdWxs KHR4LmdldEhhc2goKSksCisgICAgb3V0czogb3V0RGVzY3JpcHRpb25zCisgIH0KK307CisKK2Z1 bmN0aW9uIENtZFNob3codHgpIHsKKwljb25zb2xlLmxvZyhpbnNwZWN0KHRyYW5zYWN0aW9uRGVz Yyh0eCksIGZhbHNlLCAxMCkpOworfQorCitmdW5jdGlvbiBDbWRTaWduKHR4KSB7CisJdmFyIHR4 SGV4ID0gVXRpbC5lbmNvZGVIZXgodHguc2VyaWFsaXplKCkpOworCXZhciByZXRIZXggPSBiaXRj b2luUlBDLnNpZ25SYXdUcmFuc2FjdGlvbih0eEhleCk7CisJY29uc29sZS5sb2cocmV0SGV4KTsK K30KKworZnVuY3Rpb24gQ21kU2VuZCh0eCkgeworCXZhciB0eEhleCA9IFV0aWwuZW5jb2RlSGV4 KHR4LnNlcmlhbGl6ZSgpKTsKKwliaXRjb2luUlBDLnNlbmRSYXdUcmFuc2FjdGlvbih0eEhleCk7 Cit9CisKK2Z1bmN0aW9uIEV4ZWNDbWREYXRhKHR4LCBjbWREYXRhKSB7CisJZm9yICh2YXIgaSA9 IDA7IGkgPCBjbWREYXRhLmxlbmd0aDsgaSsrKSB7CisJCXZhciBvYmogPSBjbWREYXRhW2ldOwor CQlpZiAob2JqLmNtZCA9PSAic2hvdyIpIHsKKwkJCUNtZFNob3codHgpOworCQl9CisJCWVsc2Ug aWYgKG9iai5jbWQgPT0gInNpZ24iKSB7CisJCQlDbWRTaWduKHR4KTsKKwkJfQorCQllbHNlIGlm IChvYmouY21kID09ICJzZW5kIikgeworCQkJQ21kU2VuZCh0eCk7CisJCX0KKwl9Cit9CisKK2lm IChhcmd2Lmhvc3QpIHsKKwlzZXR1cFJQQyhob3N0LCBwb3J0LCB1c2VyLCBwYXNzKTsKK30KK3Zh ciB0eCA9IGFyZ3YudHhpZCA/IGxvYWRUeFJQQyhhcmd2LnR4aWQpIDoKKwkJICAgICBsb2FkVHhG aWxlKGFyZ3YuZmlsZSk7Cit2YXIgY21kRGF0YSA9IGxvYWRDbWRGaWxlKGFyZ3YuY21kKTsKK0V4 ZWNDbWREYXRhKHR4LCBjbWREYXRhKTsKKwo= --047d7b5d58a21aef2304ebca1df7--