diff --git a/acme/acme/standalone.py b/acme/acme/standalone.py index 97e52fa9f..49759bc07 100644 --- a/acme/acme/standalone.py +++ b/acme/acme/standalone.py @@ -55,6 +55,8 @@ class ACMEServerMixin: # pylint: disable=old-style-class def serve_forever2(self): """Serve forever, until other thread calls `shutdown2`.""" + logger.debug("Starting server at %s:%d...", + *self.socket.getsockname()[:2]) while not self._stopped: self.handle_request() diff --git a/acme/acme/standalone_test.py b/acme/acme/standalone_test.py index 5dd6c2952..349581a3d 100644 --- a/acme/acme/standalone_test.py +++ b/acme/acme/standalone_test.py @@ -101,8 +101,8 @@ class DVSNIServerTest(unittest.TestCase): self.assertFalse(self.server._stopped) def test_dvsni(self): - cert = crypto_util.probe_sni( - b'localhost', *self.server.socket.getsockname()) + host, port = self.server.socket.getsockname()[:2] + cert = crypto_util.probe_sni(b'localhost', host=host, port=port) self.assertEqual(jose.ComparableX509(cert), jose.ComparableX509(self.certs[b'localhost'][1])) diff --git a/letsencrypt/cli.py b/letsencrypt/cli.py index 9090839a6..e10bed2e9 100644 --- a/letsencrypt/cli.py +++ b/letsencrypt/cli.py @@ -1042,6 +1042,7 @@ def main(cli_args=sys.argv[1:]): args.logs_dir, 0o700, os.geteuid(), "--strict-permissions" in cli_args) setup_logging(args, _cli_log_handler, logfile='letsencrypt.log') + logger.debug("letsencrypt version: %s", letsencrypt.__version__) # do not log `args`, as it contains sensitive data (e.g. revoke --key)! logger.debug("Arguments: %r", cli_args) logger.debug("Discovered plugins: %r", plugins) diff --git a/letsencrypt/plugins/standalone.py b/letsencrypt/plugins/standalone.py index 3ad823e9c..d4dddc7f6 100644 --- a/letsencrypt/plugins/standalone.py +++ b/letsencrypt/plugins/standalone.py @@ -72,13 +72,12 @@ class ServerManager(object): except socket.error as error: raise errors.StandaloneBindError(error, port) - # if port == 0, then random free port on OS is taken - # pylint: disable=no-member - host, real_port = server.socket.getsockname() thread = threading.Thread(target=server.serve_forever2) - logger.debug("Starting server at %s:%d", host, real_port) thread.start() + # if port == 0, then random free port on OS is taken + # pylint: disable=no-member + real_port = server.socket.getsockname()[1] self._instances[real_port] = self._Instance(server, thread) return server @@ -89,6 +88,8 @@ class ServerManager(object): """ instance = self._instances[port] + logger.debug("Stopping server at %s:%d...", + *instance.server.socket.getsockname()[:2]) instance.server.shutdown2() instance.thread.join() del self._instances[port]