Skip to content

Commit c7d3204

Browse files
authored
XMLRPC server accepts request from all local IP addresses. (#729)
Signed-off-by: Tomoya Fujita <[email protected]>
1 parent f46fa80 commit c7d3204

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

Diff for: ros2cli/ros2cli/xmlrpc/local_server.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@
1818
from xmlrpc.server import SimpleXMLRPCRequestHandler # noqa
1919
from xmlrpc.server import SimpleXMLRPCServer
2020

21+
import netifaces
22+
23+
24+
def get_local_ipaddrs():
25+
iplist = []
26+
interfaces = netifaces.interfaces()
27+
for interface in interfaces:
28+
addrs = netifaces.ifaddresses(interface)
29+
if netifaces.AF_INET in addrs.keys():
30+
for value in addrs[netifaces.AF_INET]:
31+
iplist.append(value['addr'])
32+
return iplist
33+
2134

2235
class LocalXMLRPCServer(SimpleXMLRPCServer):
2336

@@ -37,6 +50,6 @@ def get_request(self):
3750
return sock, addr
3851

3952
def verify_request(self, request, client_address):
40-
if client_address[0] != '127.0.0.1':
53+
if client_address[0] not in get_local_ipaddrs():
4154
return False
4255
return super(LocalXMLRPCServer, self).verify_request(request, client_address)

0 commit comments

Comments
 (0)