diff --git a/copyparty/ftpd.py b/copyparty/ftpd.py index ab8db97f..9750f8c0 100644 --- a/copyparty/ftpd.py +++ b/copyparty/ftpd.py @@ -552,6 +552,16 @@ try: class SftpHandler(FtpHandler, TLS_FTPHandler): pass + class FtpsImplicitHandler(FtpHandler, TLS_FTPHandler): + def handle(self): + self.secure_connection(self.ssl_context) + + def handle_ssl_established(self): + FtpHandler.handle(self) + + def ftp_AUTH(self, arg): + self.respond("550 not supposed to be used with implicit SSL.") + except: pass @@ -566,7 +576,7 @@ class Ftpd(object): hs.append([FtpHandler, self.args.ftp]) if self.args.ftps: try: - h1 = SftpHandler + h1 = FtpsImplicitHandler except: t = "\nftps requires pyopenssl;\nplease run the following:\n\n {} -m pip install --user pyopenssl\n" print(t.format(pybin))