index 2ebd56ea3c79e3bb26f8b3ea0df00d0bd573eb6a..2e26218fe0b6930312661465dcdd056e776872e7 100644 (file)
except ImportError:
SSL = None
-from time import sleep
-
# python version check
from roundup import configuration, version_check
from roundup import __version__ as roundup_version
def auto_ssl():
print _('WARNING: generating temporary SSL certificate')
- import OpenSSL, time, random, sys
+ import OpenSSL, random
pkey = OpenSSL.crypto.PKey()
pkey.generate_key(OpenSSL.crypto.TYPE_RSA, 768)
cert = OpenSSL.crypto.X509()
try:
return self.__fileobj.readline(*args)
except SSL.WantReadError:
- sleep (.1)
+ time.sleep(.1)
def read(self, *args):
""" SSL.Connection can return WantRead """
try:
return self.__fileobj.read(*args)
except SSL.WantReadError:
- sleep (.1)
+ time.sleep(.1)
def __getattr__(self, attrib):
return getattr(self.__fileobj, attrib)
DEBUG_MODE = self["MULTIPROCESS"] == "debug"
CONFIG = self
+ def setup(self):
+ if self.CONFIG["SSL"]:
+ # perform initial ssl handshake. This will set
+ # internal state correctly so that later closing SSL
+ # socket works (with SSL end-handshake started)
+ self.request.do_handshake()
+ RoundupRequestHandler.setup(self)
+
+ def finish(self):
+ RoundupRequestHandler.finish(self)
+ if self.CONFIG["SSL"]:
+ self.request.shutdown()
+ self.request.close()
+
if self["SSL"]:
base_server = SecureHTTPServer
else: