@@ -15,6 +15,9 @@ def set_test_params(self):
15
15
self .setup_clean_chain = True
16
16
self .extra_args = [[],[]]
17
17
18
+ def is_banned (self , node , addr ):
19
+ return any (e ['address' ] == addr for e in node .listbanned ())
20
+
18
21
def run_test (self ):
19
22
# Node 0 connects to Node 1, check that the noban permission is not granted
20
23
self .connect_nodes (0 , 1 )
@@ -42,5 +45,18 @@ def run_test(self):
42
45
peerinfo = self .nodes [1 ].getpeerinfo ()[0 ]
43
46
assert (not 'noban' in peerinfo ['permissions' ])
44
47
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
+
45
61
if __name__ == '__main__' :
46
62
SetBanTests ().main ()
0 commit comments