コード例 #1
0
 def _real_connect(self, addr, connect_ex):
     if self.server_side:
         raise ValueError("can't connect in server-side mode")
     # Here we assume that the socket is client-side, and not
     # connected at the time of the call.  We connect it, then wrap it.
     if self._connected:
         raise ValueError("attempt to connect already-connected SSLSocket!")
     self._sslobj = self._context._wrap_socket(self._sock,
                                               False,
                                               self.server_hostname,
                                               ssl_sock=self)
     try:
         if connect_ex:
             rc = socket.connect_ex(self, addr)
         else:
             rc = None
             socket.connect(self, addr)
         if not rc:
             self._connected = True
             if self.do_handshake_on_connect:
                 self.do_handshake()
         return rc
     except socket_error:
         self._sslobj = None
         raise
コード例 #2
0
 def connect(self, addr): # renamed addr -> address in Python 3 pylint:disable=arguments-renamed
     """Connects to remote ADDR, and then wraps the connection in
     an SSL channel."""
     # Here we assume that the socket is client-side, and not
     # connected at the time of the call.  We connect it, then wrap it.
     if self._sslobj:
         raise ValueError("attempt to connect already-connected SSLSocket!")
     socket.connect(self, addr)
     if self.ciphers is None:
         self._sslobj = _ssl.sslwrap(self._sock, False, self.keyfile, self.certfile,
                                     self.cert_reqs, self.ssl_version,
                                     self.ca_certs)
     else:
         self._sslobj = _ssl.sslwrap(self._sock, False, self.keyfile, self.certfile,
                                     self.cert_reqs, self.ssl_version,
                                     self.ca_certs, self.ciphers)
     if self.do_handshake_on_connect:
         self.do_handshake()
コード例 #3
0
ファイル: _ssl2.py プロジェクト: wellbehavedsoftware/gevent
 def connect(self, addr):
     """Connects to remote ADDR, and then wraps the connection in
     an SSL channel."""
     # Here we assume that the socket is client-side, and not
     # connected at the time of the call.  We connect it, then wrap it.
     if self._sslobj:
         raise ValueError("attempt to connect already-connected SSLSocket!")
     socket.connect(self, addr)
     if self.ciphers is None:
         self._sslobj = _ssl.sslwrap(self._sock, False, self.keyfile, self.certfile,
                                     self.cert_reqs, self.ssl_version,
                                     self.ca_certs)
     else:
         self._sslobj = _ssl.sslwrap(self._sock, False, self.keyfile, self.certfile,
                                     self.cert_reqs, self.ssl_version,
                                     self.ca_certs, self.ciphers)
     if self.do_handshake_on_connect:
         self.do_handshake()
コード例 #4
0
 def _real_connect(self, addr, connect_ex):
     if self.server_side:
         raise ValueError("can't connect in server-side mode")
     # Here we assume that the socket is client-side, and not
     # connected at the time of the call.  We connect it, then wrap it.
     if self._connected:
         raise ValueError("attempt to connect already-connected SSLSocket!")
     self._sslobj = self.context._wrap_socket(self._sock, False, self.server_hostname, ssl_sock=self)
     try:
         if connect_ex:
             rc = socket.connect_ex(self, addr)
         else:
             rc = None
             socket.connect(self, addr)
         if not rc:
             self._connected = True
             if self.do_handshake_on_connect:
                 self.do_handshake()
         return rc
     except socket_error:
         self._sslobj = None
         raise