aboutsummaryrefslogtreecommitdiff
path: root/src/IRCSocket.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-21 10:11:09 +0100
committerGravatar jesopo2019-05-21 10:11:09 +0100
commitab1074cf4d91224b35fbbc217be4d39d5d5029a0 (patch)
tree68be8748aa3642862dbdfa3fdbb1d73fc677a1ec /src/IRCSocket.py
parentevent.eat() in command.regex for !title (diff)
signature
Remove mention of `ipv4` - detect address family automatically
Diffstat (limited to 'src/IRCSocket.py')
-rw-r--r--src/IRCSocket.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/IRCSocket.py b/src/IRCSocket.py
index b3b17b6d..3c32f64f 100644
--- a/src/IRCSocket.py
+++ b/src/IRCSocket.py
@@ -7,7 +7,7 @@ UNTHROTTLED_MAX_LINES = 10
class Socket(IRCObject.Object):
def __init__(self, log: Logging.Log, encoding: str, fallback_encoding: str,
- hostname: str, port: int, ipv4: bool, bindhost: str, tls: bool,
+ hostname: str, port: int, bindhost: str, tls: bool,
tls_verify: bool=True, cert: str=None, key: str=None):
self.log = log
@@ -15,7 +15,6 @@ class Socket(IRCObject.Object):
self._fallback_encoding = fallback_encoding
self._hostname = hostname
self._port = port
- self._ipv4 = ipv4
self._bindhost = bindhost
self._tls = tls
@@ -53,17 +52,15 @@ class Socket(IRCObject.Object):
hostname=server_hostname)
def connect(self):
- family = socket.AF_INET if self._ipv4 else socket.AF_INET6
- self._socket = socket.socket(family, socket.SOCK_STREAM)
-
- self._socket.settimeout(5.0)
-
+ bindhost = None
if self._bindhost:
- self._socket.bind((self._bindhost, 0))
+ bindhost = (self._bindhost, 0)
+ self._socket = socket.create_connection((self._hostname, self._port),
+ 5.0, bindhost)
+
if self._tls:
self._tls_wrap()
- self._socket.connect((self._hostname, self._port))
self.connected_ip = self._socket.getpeername()[0]
self.cached_fileno = self._socket.fileno()
self.connected = True