ssock = SSL.Connection(ctxt, sock)
ssock.set_accept_state()
while True:
- conn, addr = ssock.accept()
- conn.do_handshake()
- logging.info('Connection from {}'.format(addr))
try:
+ conn, addr = ssock.accept()
+ conn.do_handshake()
+ logging.info('Connection from {}'.format(addr))
req = recv_req(conn)
serve_req(conn, addr, req, conf)
+ conn.shutdown()
+ conn.sock_shutdown(socket.SHUT_RDWR)
+ except SSL.SysCallError as x:
+ logging.error('{}'.format(x))
+ # Don't call conn.shutdown or sock_shutdown
except CBSException as x:
logging.error('{} {} {}'.format(x.code, x.meta, x.logdata))
conn.sendall('{} {}\r\n'.format(x.code, x.meta).encode('utf-8'))
+ conn.shutdown()
+ conn.sock_shutdown(socket.SHUT_RDWR)
except Exception as x:
logging.error('Exception: {}'.format(x))
conn.sendall('40 Server error\r\n'.encode('utf-8'))
- conn.shutdown()
- conn.sock_shutdown(socket.SHUT_RDWR)
+ conn.shutdown()
+ conn.sock_shutdown(socket.SHUT_RDWR)
if __name__ == '__main__':