@@ -15,6 +15,9 @@ def set_test_params(self):
1515 self .setup_clean_chain = True
1616 self .extra_args = [[],[]]
1717
18+ def is_banned (self , node , addr ):
19+ return any (e ['address' ] == addr for e in node .listbanned ())
20+
1821 def run_test (self ):
1922 # Node 0 connects to Node 1, check that the noban permission is not granted
2023 self .connect_nodes (0 , 1 )
@@ -42,5 +45,18 @@ def run_test(self):
4245 peerinfo = self .nodes [1 ].getpeerinfo ()[0 ]
4346 assert (not 'noban' in peerinfo ['permissions' ])
4447
48+ self .log .info ("Test that a non-IP address can be banned/unbanned" )
49+ node = self .nodes [1 ]
50+ tor_addr = "pg6mmjiyjmcrsslvykfwnntlaru7p5svn6y2ymmju6nubxndf4pscryd.onion"
51+ ip_addr = "1.2.3.4"
52+ assert (not self .is_banned (node , tor_addr ))
53+ assert (not self .is_banned (node , ip_addr ))
54+ node .setban (tor_addr , "add" )
55+ assert (self .is_banned (node , tor_addr ))
56+ assert (not self .is_banned (node , ip_addr ))
57+ node .setban (tor_addr , "remove" )
58+ assert (not self .is_banned (self .nodes [1 ], tor_addr ))
59+ assert (not self .is_banned (node , ip_addr ))
60+
4561if __name__ == '__main__' :
4662 SetBanTests ().main ()
0 commit comments