1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/galene_ynh.git synced 2024-09-03 18:36:31 +02:00
* Fix some issues with Coturn settings and rights
This commit is contained in:
Éric Gaspar 2021-01-25 18:06:42 +01:00 committed by GitHub
parent 4e04919d0d
commit 5a2883014f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 43 additions and 49 deletions

View file

@ -55,7 +55,7 @@ To check if Galène can connect to the TURN server, connect to Galène as operat
## Documentation ## Documentation
* Official documentation: https://galene.org/ * Official documentation: https://galene.org/
* YunoHost documentation: If specific documentation is needed, feel free to contribute. * YunoHost documentation: https://yunohost.org/#/app_galene
## YunoHost specific features ## YunoHost specific features

View file

@ -55,7 +55,7 @@ Pour vérifier si Galène peut se connecter au serveur TURN, connectez-vous à G
## Documentation ## Documentation
* Documentation officielle : https://galene.org/ * Documentation officielle : https://galene.org/
* Documentation YunoHost : If specific documentation is needed, feel free to contribute. * Documentation YunoHost : https://yunohost.org/#/app_galene_fr
## Caractéristiques spécifiques YunoHost ## Caractéristiques spécifiques YunoHost

View file

@ -14,6 +14,7 @@ location __PATH__/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Host $server_name;
# WebSocket support
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";

View file

@ -1,5 +1,6 @@
[Unit] [Unit]
Description=Galène: videoconferencing server Description=Galène: videoconferencing server
Documentation=https://galene.org
After=network.target After=network.target
[Service] [Service]

View file

@ -6,7 +6,7 @@
"en": "Videoconferencing server that is easy to deploy", "en": "Videoconferencing server that is easy to deploy",
"fr": "Serveur de visioconférence facile à déployer" "fr": "Serveur de visioconférence facile à déployer"
}, },
"version": "0.2~ynh4", "version": "0.2~ynh5",
"url": "https://galene.org/", "url": "https://galene.org/",
"license": "MIT", "license": "MIT",
"maintainer": { "maintainer": {

View file

@ -13,6 +13,4 @@
## Package_check results ## Package_check results
--- ---
*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results* * An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"*
[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/galene_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/galene_ynh%20PR-NUM-%20(USERNAME)/)

View file

@ -188,14 +188,9 @@ ynh_print_ON
public_ip4="$(curl ip.yunohost.org)" || true public_ip4="$(curl ip.yunohost.org)" || true
public_ip6="$(curl ipv6.yunohost.org)" || true public_ip6="$(curl ipv6.yunohost.org)" || true
if [ -n "$public_ip4" ] && ynh_validate_ip4 --ip_address="$public_ip4" if ( [[ -n "$public_ip4" ]] && ynh_validate_ip4 --ip_address="$public_ip4" || [[ -n "$public_ip6" ]] && ynh_validate_ip6 --ip_address="$public_ip6" )
then then
echo "external-ip=$public_ip4" >> "$coturn_config_path" echo "external-ip=${public_ip4}/${public_ip6}" >> "$coturn_config_path"
fi
if [ -n "$public_ip6" ] && ynh_validate_ip6 --ip_address="$public_ip6"
then
echo "external-ip=$public_ip6" >> "$coturn_config_path"
fi fi
ynh_store_file_checksum --file="$coturn_config_path" ynh_store_file_checksum --file="$coturn_config_path"
@ -245,6 +240,8 @@ ynh_use_logrotate --logfile "/var/log/$app"
# For any update do it in all files # For any update do it in all files
cp ../sources/Coturn_config_rotate.sh $final_path/Coturn_config_rotate.sh cp ../sources/Coturn_config_rotate.sh $final_path/Coturn_config_rotate.sh
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh"
chmod +x $final_path/Coturn_config_rotate.sh
#================================================= #=================================================
# GENERIC FINALIZATION # GENERIC FINALIZATION
@ -257,6 +254,7 @@ chown -R $app:root $final_path
chmod -R 755 $final_path chmod -R 755 $final_path
chown -R $app:root /var/log/$app chown -R $app:root /var/log/$app
chown -R $app:root /etc/$app chown -R $app:root /etc/$app
chown turnserver:root $coturn_config_path
chmod -R u=rwX,g=rX,o= /etc/$app chmod -R u=rwX,g=rX,o= /etc/$app
chmod 770 $final_path/Coturn_config_rotate.sh chmod 770 $final_path/Coturn_config_rotate.sh
setfacl -R -m user:turnserver:rX /etc/$app setfacl -R -m user:turnserver:rX /etc/$app
@ -287,7 +285,7 @@ ynh_script_progression --message="Configuring permissions..." --weight=2
# Make app public if necessary # Make app public if necessary
if [ $is_public -eq 1 ] if [ $is_public -eq 1 ]
then then
ynh_permission_update --permission "main" --add "visitors" ynh_permission_update --permission="main" --add="visitors"
fi fi
#================================================= #=================================================

View file

@ -87,18 +87,17 @@ ynh_remove_logrotate
# CLOSE A PORT # CLOSE A PORT
#================================================= #=================================================
closeport() { if yunohost firewall list | grep -q "\- $turnserver_tls_port$"
local port=$1 then
if yunohost firewall list | grep -q "\- $turnserver_tls_port$" ynh_script_progression --message="Closing port $turnserver_tls_port..." --weight=1
then ynh_exec_warn_less yunohost firewall disallow Both $turnserver_tls_port
ynh_script_progression --message="Closing port $turnserver_tls_port port" fi
ynh_exec_warn_less yunohost firewall disallow Both $turnserver_tls_port
elif yunohost firewall list | grep -q "\- $turnserver_alt_tls_port$" if yunohost firewall list | grep -q "\- $turnserver_alt_tls_port$"
then then
ynh_script_progression --message="Closing port $turnserver_alt_tls_port port" ynh_script_progression --message="Closing port $turnserver_alt_tls_port..." --weight=1
ynh_exec_warn_less yunohost firewall disallow Both $turnserver_alt_tls_port ynh_exec_warn_less yunohost firewall disallow Both $turnserver_alt_tls_port
fi fi
}
#================================================= #=================================================
# GENERIC FINALIZATION # GENERIC FINALIZATION

View file

@ -76,8 +76,8 @@ ynh_script_progression --message="Recreating the dedicated system user..." --wei
# Create the dedicated user (if not existing) # Create the dedicated user (if not existing)
ynh_system_user_create --username=$app ynh_system_user_create --username=$app
ynh_system_user_create --username=turnserver ssl-cert ynh_system_user_create --username=turnserver
#adduser turnserver ssl-cert adduser turnserver ssl-cert
#================================================= #=================================================
# RESTORE SYSTEMD # RESTORE SYSTEMD
@ -103,7 +103,7 @@ yunohost service add coturn-$app --needs_exposed_ports $turnserver_tls_port
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=3 ynh_script_progression --message="Starting a systemd service..." --weight=3
ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" ynh_systemd_action --service_name=$app --action=start --log_path="/var/log/$app/$app.log"
yunohost service add coturn-$app --needs_exposed_ports $turnserver_tls_port yunohost service add coturn-$app --needs_exposed_ports $turnserver_tls_port
#================================================= #=================================================
@ -158,14 +158,9 @@ ynh_print_ON
public_ip4="$(curl ip.yunohost.org)" || true public_ip4="$(curl ip.yunohost.org)" || true
public_ip6="$(curl ipv6.yunohost.org)" || true public_ip6="$(curl ipv6.yunohost.org)" || true
if [ -n "$public_ip4" ] && ynh_validate_ip4 --ip_address="$public_ip4" if ( [[ -n "$public_ip4" ]] && ynh_validate_ip4 --ip_address="$public_ip4" || [[ -n "$public_ip6" ]] && ynh_validate_ip6 --ip_address="$public_ip6" )
then then
echo "external-ip=$public_ip4" >> "$coturn_config_path" echo "external-ip=${public_ip4}/${public_ip6}" >> "$coturn_config_path"
fi
if [ -n "$public_ip6" ] && ynh_validate_ip6 --ip_address="$public_ip6"
then
echo "external-ip=$public_ip6" >> "$coturn_config_path"
fi fi
ynh_store_file_checksum --file="$coturn_config_path" ynh_store_file_checksum --file="$coturn_config_path"
@ -189,6 +184,7 @@ chown -R $app:root $final_path
chmod -R 755 $final_path chmod -R 755 $final_path
chown -R $app:root /var/log/$app chown -R $app:root /var/log/$app
chown -R $app:root /etc/$app chown -R $app:root /etc/$app
chown turnserver:root $coturn_config_path
chmod -R u=rwX,g=rX,o= /etc/$app chmod -R u=rwX,g=rX,o= /etc/$app
chmod 770 $final_path/Coturn_config_rotate.sh chmod 770 $final_path/Coturn_config_rotate.sh
setfacl -R -m user:turnserver:rX /etc/$app setfacl -R -m user:turnserver:rX /etc/$app

View file

@ -68,7 +68,7 @@ ynh_abort_if_errors
#================================================= #=================================================
ynh_script_progression --message="Stopping a systemd service..." --weight=3 ynh_script_progression --message="Stopping a systemd service..." --weight=3
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log"
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # DOWNLOAD, CHECK AND UNPACK SOURCE
@ -181,14 +181,9 @@ ynh_print_ON
public_ip4="$(curl ip.yunohost.org)" || true public_ip4="$(curl ip.yunohost.org)" || true
public_ip6="$(curl ipv6.yunohost.org)" || true public_ip6="$(curl ipv6.yunohost.org)" || true
if [ -n "$public_ip4" ] && ynh_validate_ip4 --ip_address="$public_ip4" if ( [[ -n "$public_ip4" ]] && ynh_validate_ip4 --ip_address="$public_ip4" || [[ -n "$public_ip6" ]] && ynh_validate_ip6 --ip_address="$public_ip6" )
then then
echo "external-ip=$public_ip4" >> "$coturn_config_path" echo "external-ip=${public_ip4}/${public_ip6}" >> "$coturn_config_path"
fi
if [ -n "$public_ip6" ] && ynh_validate_ip6 --ip_address="$public_ip6"
then
echo "external-ip=$public_ip6" >> "$coturn_config_path"
fi fi
ynh_store_file_checksum --file="$coturn_config_path" ynh_store_file_checksum --file="$coturn_config_path"
@ -201,6 +196,8 @@ ynh_store_file_checksum --file="$coturn_config_path"
# For any update do it in all files # For any update do it in all files
cp ../sources/Coturn_config_rotate.sh $final_path/Coturn_config_rotate.sh cp ../sources/Coturn_config_rotate.sh $final_path/Coturn_config_rotate.sh
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh"
chmod +x $final_path/Coturn_config_rotate.sh
#================================================= #=================================================
# MODIFY A CONFIG FILE # MODIFY A CONFIG FILE
@ -262,6 +259,7 @@ chown -R $app:root $final_path
chmod -R 755 $final_path chmod -R 755 $final_path
chown -R $app:root /var/log/$app chown -R $app:root /var/log/$app
chown -R $app:root /etc/$app chown -R $app:root /etc/$app
chown turnserver:root $coturn_config_path
chmod -R u=rwX,g=rX,o= /etc/$app chmod -R u=rwX,g=rX,o= /etc/$app
chmod 770 $final_path/Coturn_config_rotate.sh chmod 770 $final_path/Coturn_config_rotate.sh
setfacl -R -m user:turnserver:rX /etc/$app setfacl -R -m user:turnserver:rX /etc/$app

View file

@ -1,21 +1,24 @@
#!/bin/bash #!/bin/bash
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
external_IP_line="external-ip=__IPV4__,__IPV6__" external_IP_line="external-ip=__IPV4__/__IPV6__"
public_ip4="$(curl ip.yunohost.org)" || true public_ip4="$(curl ip.yunohost.org)" || true
public_ip6="$(curl ipv6.yunohost.org)" || true public_ip6="$(curl ipv6.yunohost.org)" || true
if [ -n "$public_ip4" ] && ynh_validate_ip4 --ip_address="$public_ip4" if [ -n "$public_ip4" ] && ynh_validate_ip4 --ip_address="$public_ip4"
then then
echo "external-ip=$public_ip4" >> "$coturn_config_path" external_IP_line="${external_IP_line/'__IPV4__'/$public_ip4}"
else
external_IP_line="${external_IP_line/'__IPV4__/'/}"
fi fi
if [ -n "$public_ip6" ] && ynh_validate_ip6 --ip_address="$public_ip6" if [ -n "$public_ip6" ] && ynh_validate_ip6 --ip_address="$public_ip6"
then then
echo "external-ip=$public_ip6" >> "$coturn_config_path" external_IP_line="${external_IP_line/'__IPV6__'/$public_ip6}"
else
external_IP_line="${external_IP_line/'/__IPV6__'/}"
fi fi
old_config_line=$(egrep "^external-ip=.*\$" "/etc/$app/coturn.conf") old_config_line=$(egrep "^external-ip=.*\$" "/etc/$app/coturn.conf")
@ -26,7 +29,7 @@ setfacl -R -m user:turnserver:rX /etc/$app
if [ "$old_config_line" != "$new_config_line" ] if [ "$old_config_line" != "$new_config_line" ]
then then
systemctl restart coturn-$app.service systemctl restart coturn-__APP__.service
fi fi
exit 0 exit 0