Handle socks connection errors

This patch handles the socks connection problems. First, move the "msg"
variable to the places where the variable is used. This variable could
be unset in the for loop, so is better move to these places.

This patch also removes the "msg" variable set in th except blocks, like
except socket.error as msg, because the variable is not used.

The patch also removes the "i" variable, not used.

Finally, the patch correct some typos.

Close: #67

Signed-off-by: Rodolfo García Peñas (kix) <kix@kix.es>
This commit is contained in:
Rodolfo García Peñas (kix) 2021-08-07 20:51:48 +02:00
parent 48f2df4267
commit 6a88896607
1 changed files with 6 additions and 5 deletions

View File

@ -89,16 +89,15 @@ class UsefulIMAPMixIn:
return self._open_socket_for_af(self.af)
def _open_socket_for_af(self, af):
msg = (-1, 'could not open socket')
for res in socket.getaddrinfo(self.host, self.port, af, socket.SOCK_STREAM):
af, socktype, proto, canonname, sa = res
try:
# use socket of our own, possiblly socksified socket.
# use socket of our own, possibly SOCKS socket.
s = self.socket(af, socktype, proto)
except socket.error as msg:
except socket.error:
continue
try:
for i in (0, 1):
for _ in (0, 1):
try:
s.connect(sa)
break
@ -106,12 +105,14 @@ class UsefulIMAPMixIn:
if len(msg.args) < 2 or msg.args[0] != errno.EINTR:
raise
else:
msg = (-1, 'could not open socket')
raise socket.error(msg)
except socket.error as msg:
except socket.error:
s.close()
continue
break
else:
msg = (-1, 'could not open socket')
raise socket.error(msg)
return s