MCPcopy Index your code
hub / github.com/python/cpython / run

Method run

Lib/test/test_ssl.py:2652–2749  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2650 self.sock.close()
2651
2652 def run(self):
2653 self.running = True
2654 if not self.server.starttls_server:
2655 if not self.wrap_conn():
2656 return
2657 while self.running:
2658 try:
2659 msg = self.read()
2660 stripped = msg.strip()
2661 if not stripped:
2662 # eof, so quit this handler
2663 self.running = False
2664 try:
2665 self.sock = self.sslconn.unwrap()
2666 except OSError:
2667 # Many tests shut the TCP connection down
2668 # without an SSL shutdown. This causes
2669 # unwrap() to raise OSError with errno=0!
2670 pass
2671 else:
2672 self.sslconn = None
2673 self.close()
2674 elif stripped == b'over':
2675 if support.verbose and self.server.connectionchatty:
2676 sys.stdout.write(" server: client closed connection\n")
2677 self.close()
2678 return
2679 elif (self.server.starttls_server and
2680 stripped == b'STARTTLS'):
2681 if support.verbose and self.server.connectionchatty:
2682 sys.stdout.write(" server: read STARTTLS from client, sending OK...\n")
2683 self.write(b"OK\n")
2684 if not self.wrap_conn():
2685 return
2686 elif (self.server.starttls_server and self.sslconn
2687 and stripped == b'ENDTLS'):
2688 if support.verbose and self.server.connectionchatty:
2689 sys.stdout.write(" server: read ENDTLS from client, sending OK...\n")
2690 self.write(b"OK\n")
2691 self.sock = self.sslconn.unwrap()
2692 self.sslconn = None
2693 if support.verbose and self.server.connectionchatty:
2694 sys.stdout.write(" server: connection is now unencrypted...\n")
2695 elif stripped == b'CB tls-unique':
2696 if support.verbose and self.server.connectionchatty:
2697 sys.stdout.write(" server: read CB tls-unique from client, sending our CB data...\n")
2698 data = self.sslconn.get_channel_binding("tls-unique")
2699 self.write(repr(data).encode("us-ascii") + b"\n")
2700 elif stripped == b'PHA':
2701 if support.verbose and self.server.connectionchatty:
2702 sys.stdout.write(" server: initiating post handshake auth\n")
2703 try:
2704 self.sslconn.verify_client_post_handshake()
2705 except ssl.SSLError as e:
2706 self.write(repr(e).encode("us-ascii") + b"\n")
2707 else:
2708 self.write(b"OK\n")
2709 elif stripped == b'HASCERT':

Callers

nothing calls this directly

Calls 14

wrap_connMethod · 0.95
readMethod · 0.95
closeMethod · 0.95
writeMethod · 0.95
handle_errorFunction · 0.85
stripMethod · 0.45
unwrapMethod · 0.45
get_channel_bindingMethod · 0.45
encodeMethod · 0.45
getpeercertMethod · 0.45
get_verified_chainMethod · 0.45

Tested by

no test coverage detected