From b513424eb112b454fe2a464155224a2ef9fbbc39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florent=20Thi=C3=A9ry?= <florent.thiery@ubicast.eu>
Date: Wed, 23 Jan 2019 10:00:14 +0100
Subject: [PATCH] enable FTP over TLS, fixes #27817

---
 10.MediaImport/2.Install_FTP_watch_folder/0_setup.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/10.MediaImport/2.Install_FTP_watch_folder/0_setup.py b/10.MediaImport/2.Install_FTP_watch_folder/0_setup.py
index 668ba7c0..3586579c 100644
--- a/10.MediaImport/2.Install_FTP_watch_folder/0_setup.py
+++ b/10.MediaImport/2.Install_FTP_watch_folder/0_setup.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 import os
-
+import socket
 import utils
 
 
@@ -17,7 +17,7 @@ def setup(interactive=True):
             raise Exception('Invalid user/pass definition, separator not present or too many detected')
     # Run commands
     cmds = [
-        'apt-get install --yes pure-ftpd python3-unidecode python3-mediaserver-mediaimport',
+        'apt-get install --yes pure-ftpd python3-unidecode python3-mediaserver-mediaimport openssl',
         dict(line='adduser --disabled-login --gecos "" --shell /bin/false ftp', cond='id ftp', cond_neg=True, cond_skip=True),
         'mkdir -p /usr/local/bin',
         'cp "%s/mediaimport_create_ftp_user.sh" /usr/local/bin' % (dir_path),
@@ -32,6 +32,8 @@ def setup(interactive=True):
         'echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone',
         'echo "yes" > /etc/pure-ftpd/conf/DontResolve',
         'echo "no" > /etc/pure-ftpd/conf/PAMAuthentication',
+        'echo 1 > /etc/pure-ftpd/conf/TLS',
+        'openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -subj "/C=FR/ST=NA/L=Paris/O=Ubicast/CN=%s"' % socket.gethostname(),
         # Post upload script
         'cp "%s/on_ftp_upload.py" /home/ftp/on_ftp_upload.py' % dir_path,
         'chown ftp:ftp /home/ftp/on_ftp_upload.py',
-- 
GitLab