From 40f8a357ebaef4beb8c06672c0256cfb972ce3df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 7 Mar 2017 15:46:05 +0100 Subject: [PATCH] Use new findport fonction --- scripts/_common.sh | 32 ++++++++++++-------------------- scripts/install | 10 ++++------ scripts/restore | 24 ------------------------ 3 files changed, 16 insertions(+), 50 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index cb93e0e..bb70f55 100755 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -102,20 +102,6 @@ CHECK_VAR () { # Vérifie que la variable n'est pas vide. test -n "$1" || (echo "$2" >&2 && false) } -# Ignore the yunohost-cli log to prevent errors with conditionals commands -# usage: NO_LOG COMMAND -# Simply duplicate the log, execute the yunohost command and replace the log without the result of this command -# It's a very badly hack... -# Petite copie perso à mon usage ;) -NO_LOG() { - ynh_cli_log=/var/log/yunohost/yunohost-cli.log - sudo cp -a ${ynh_cli_log} ${ynh_cli_log}-move - eval $@ - exit_code=$? - sudo mv ${ynh_cli_log}-move ${ynh_cli_log} - return $? -} - CHECK_PATH () { # Vérifie la présence du / en début de path. Et son absence à la fin. if [ "${path:0:1}" != "/" ]; then # Si le premier caractère n'est pas un / path="/$path" # Ajoute un / en début de path @@ -138,16 +124,22 @@ CHECK_FINALPATH () { # Vérifie que le dossier de destination n'est pas déjà u fi } -FIND_PORT () { # Cherche un port libre. -# $1 = Numéro de port pour débuter la recherche. +# Find a free port and return it +# +# example: port=$(ynh_find_port 8080) +# +# usage: ynh_find_port begin_port +# | arg: begin_port - port to start to search +ynh_find_port () { port=$1 - while ! sudo yunohost app checkport $port ; do - port=$((port+1)) + test -n "$port" || ynh_die "The argument of ynh_find_port must be a valid port." + while netcat -z 127.0.0.1 $port # Check if the port is free + do + port=$((port+1)) # Else, pass to next port done - CHECK_VAR "$port" "port empty" + echo $port } - ### REMOVE SCRIPT REMOVE_NGINX_CONF () { # Suppression de la configuration nginx diff --git a/scripts/install b/scripts/install index 7f674cd..56e9687 100644 --- a/scripts/install +++ b/scripts/install @@ -16,12 +16,10 @@ CHECK_DOMAINPATH # Vérifie la disponibilité du path et du domaine. CHECK_FINALPATH # Vérifie que le dossier de destination n'est pas déjà utilisé. # Ouvre le port dans le firewall -NO_LOG FIND_PORT 8448 # Cherche un port libre. -synapse_tls_port=$port -NO_LOG FIND_PORT 8008 # Cherche un port libre. -synapse_port=$port -NO_LOG FIND_PORT 5349 # Cherche un port libre. -turnserver_tls_port=$port +synapse_tls_port=$(ynh_find_port 8448) +synapse_port=$(ynh_find_port 8008) +turnserver_tls_port=$(ynh_find_port 5349) + sudo yunohost firewall allow --no-upnp TCP $synapse_tls_port > /dev/null 2>&1 sudo yunohost firewall allow --no-upnp Both $turnserver_tls_port > /dev/null 2>&1 diff --git a/scripts/restore b/scripts/restore index a979e43..6db3805 100644 --- a/scripts/restore +++ b/scripts/restore @@ -111,20 +111,6 @@ CHECK_VAR () { # Vérifie que la variable n'est pas vide. test -n "$1" || (echo "$2" >&2 && false) } -# Ignore the yunohost-cli log to prevent errors with conditionals commands -# usage: NO_LOG COMMAND -# Simply duplicate the log, execute the yunohost command and replace the log without the result of this command -# It's a very badly hack... -# Petite copie perso à mon usage ;) -NO_LOG() { - ynh_cli_log=/var/log/yunohost/yunohost-cli.log - sudo cp -a ${ynh_cli_log} ${ynh_cli_log}-move - eval $@ - exit_code=$? - sudo mv ${ynh_cli_log}-move ${ynh_cli_log} - return $? -} - CHECK_PATH () { # Vérifie la présence du / en début de path. Et son absence à la fin. if [ "${path:0:1}" != "/" ]; then # Si le premier caractère n'est pas un / path="/$path" # Ajoute un / en début de path @@ -147,16 +133,6 @@ CHECK_FINALPATH () { # Vérifie que le dossier de destination n'est pas déjà u fi } -FIND_PORT () { # Cherche un port libre. -# $1 = Numéro de port pour débuter la recherche. - port=$1 - while ! sudo yunohost app checkport $port ; do - port=$((port+1)) - done - CHECK_VAR "$port" "port empty" -} - - ### REMOVE SCRIPT REMOVE_NGINX_CONF () { # Suppression de la configuration nginx