Make IPv4 default.
This commit is contained in:
parent
8c985fe2cb
commit
63dc9632d2
2 changed files with 14 additions and 15 deletions
|
@ -38,25 +38,23 @@ log = logging.getLogger(__name__)
|
||||||
class Trigger():
|
class Trigger():
|
||||||
"""cdist trigger handling"""
|
"""cdist trigger handling"""
|
||||||
|
|
||||||
def __init__(self, http_port=None, dry_run=False, ipv4only=False,
|
def __init__(self, http_port=None, dry_run=False, ipv6=False,
|
||||||
cdistargs=None):
|
cdistargs=None):
|
||||||
self.log = logging.getLogger("trigger")
|
self.log = logging.getLogger("trigger")
|
||||||
self.dry_run = dry_run
|
self.dry_run = dry_run
|
||||||
self.http_port = int(http_port)
|
self.http_port = int(http_port)
|
||||||
self.ipv4only = ipv4only
|
self.ipv6 = ipv6
|
||||||
|
|
||||||
self.args = cdistargs
|
self.args = cdistargs
|
||||||
|
|
||||||
# can only be set once
|
|
||||||
multiprocessing.set_start_method('forkserver')
|
|
||||||
|
|
||||||
def run_httpd(self):
|
def run_httpd(self):
|
||||||
server_address = ('', self.http_port)
|
server_address = ('', self.http_port)
|
||||||
|
|
||||||
if self.ipv4only:
|
if self.ipv6:
|
||||||
httpd = HTTPServerV4(self.args, server_address, TriggerHttp)
|
httpdcls = HTTPServerV6
|
||||||
else:
|
else:
|
||||||
httpd = HTTPServerV6(self.args, server_address, TriggerHttp)
|
httpdcls = HTTPServerV4
|
||||||
|
httpd = httpdcls(self.args, server_address, TriggerHttp)
|
||||||
|
|
||||||
httpd.serve_forever()
|
httpd.serve_forever()
|
||||||
|
|
||||||
|
@ -67,10 +65,10 @@ class Trigger():
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def commandline(args):
|
def commandline(args):
|
||||||
http_port = args.http_port
|
http_port = args.http_port
|
||||||
ipv4only = args.ipv4
|
ipv6 = args.ipv6
|
||||||
del args.http_port
|
del args.http_port
|
||||||
del args.ipv4
|
del args.ipv6
|
||||||
t = Trigger(http_port=http_port, ipv4only=ipv4only, cdistargs=args)
|
t = Trigger(http_port=http_port, ipv6=ipv6, cdistargs=args)
|
||||||
t.run()
|
t.run()
|
||||||
|
|
||||||
class TriggerHttp(BaseHTTPRequestHandler):
|
class TriggerHttp(BaseHTTPRequestHandler):
|
||||||
|
@ -122,7 +120,7 @@ class TriggerHttp(BaseHTTPRequestHandler):
|
||||||
|
|
||||||
class HTTPServerV6(socketserver.ForkingMixIn, http.server.HTTPServer):
|
class HTTPServerV6(socketserver.ForkingMixIn, http.server.HTTPServer):
|
||||||
"""
|
"""
|
||||||
Server that listens both to IPv4 and IPv6 requests.
|
Server that listens to both IPv4 and IPv6 requests.
|
||||||
"""
|
"""
|
||||||
address_family = socket.AF_INET6
|
address_family = socket.AF_INET6
|
||||||
|
|
||||||
|
@ -132,6 +130,6 @@ class HTTPServerV6(socketserver.ForkingMixIn, http.server.HTTPServer):
|
||||||
|
|
||||||
class HTTPServerV4(HTTPServerV6):
|
class HTTPServerV4(HTTPServerV6):
|
||||||
"""
|
"""
|
||||||
Server that listens to IPv4 requests
|
Server that listens to IPv4 requests.
|
||||||
"""
|
"""
|
||||||
address_family = socket.AF_INET
|
address_family = socket.AF_INET
|
||||||
|
|
|
@ -180,8 +180,9 @@ def commandline():
|
||||||
parser['beta'],
|
parser['beta'],
|
||||||
parser['config_main']])
|
parser['config_main']])
|
||||||
parser['trigger'].add_argument(
|
parser['trigger'].add_argument(
|
||||||
'-4', '--ipv4', default=False,
|
'-6', '--ipv6', default=False,
|
||||||
help=('Listen only to IPv4 (instead of IPv4 and IPv6)'), action='store_true')
|
help=('Listen to both IPv4 and IPv6 (instead of only IPv4)'),
|
||||||
|
action='store_true')
|
||||||
parser['trigger'].add_argument(
|
parser['trigger'].add_argument(
|
||||||
'-H', '--http-port', action='store', default=3000, required=False,
|
'-H', '--http-port', action='store', default=3000, required=False,
|
||||||
help=('Create trigger listener via http on specified port'))
|
help=('Create trigger listener via http on specified port'))
|
||||||
|
|
Loading…
Reference in a new issue