tests/dummysmtpd.py
changeset 29556 1b8b6adb2365
parent 29332 2bb0ddd8267b
child 30506 d9d8d78e6bc9
equal deleted inserted replaced
29555:121d11814c62 29556:1b8b6adb2365
    10 import ssl
    10 import ssl
    11 import sys
    11 import sys
    12 
    12 
    13 from mercurial import (
    13 from mercurial import (
    14     cmdutil,
    14     cmdutil,
       
    15     sslutil,
       
    16     ui as uimod,
    15 )
    17 )
    16 
    18 
    17 def log(msg):
    19 def log(msg):
    18     sys.stdout.write(msg)
    20     sys.stdout.write(msg)
    19     sys.stdout.flush()
    21     sys.stdout.flush()
    33     def handle_accept(self):
    35     def handle_accept(self):
    34         pair = self.accept()
    36         pair = self.accept()
    35         if not pair:
    37         if not pair:
    36             return
    38             return
    37         conn, addr = pair
    39         conn, addr = pair
       
    40         ui = uimod.ui()
    38         try:
    41         try:
    39             # wrap_socket() would block, but we don't care
    42             # wrap_socket() would block, but we don't care
    40             conn = ssl.wrap_socket(conn, server_side=True,
    43             conn = sslutil.wrapserversocket(conn, ui, certfile=self._certfile)
    41                                    certfile=self._certfile,
       
    42                                    ssl_version=ssl.PROTOCOL_TLSv1)
       
    43         except ssl.SSLError:
    44         except ssl.SSLError:
    44             log('%s ssl error\n' % addr[0])
    45             log('%s ssl error\n' % addr[0])
    45             conn.close()
    46             conn.close()
    46             return
    47             return
    47         smtpd.SMTPChannel(self, conn, addr)
    48         smtpd.SMTPChannel(self, conn, addr)