From 4b906ee1c91a6d4956a16940173898a16a8e8b54 Mon Sep 17 00:00:00 2001 From: Kayou Date: Fri, 8 Mar 2019 21:50:41 +0100 Subject: [PATCH] Fix public/private --- scripts/actions/public_private | 14 ++++++++++---- scripts/change_url | 17 +++++++++++++++++ scripts/install | 16 ++++++++++------ scripts/upgrade | 16 ++++++++++------ 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/scripts/actions/public_private b/scripts/actions/public_private index 34ea183..b06a9c0 100755 --- a/scripts/actions/public_private +++ b/scripts/actions/public_private @@ -76,10 +76,16 @@ else public_private="public" fi -ynh_app_setting_set $app unprotected_uris "/" -if [ $is_public -eq 0 ]; -then # If the app is private, only the shortened URLs are publics - ynh_app_setting_set $app protected_regex "/login$","/logout$","/api$","/extensions$","/stats$","/d/.*$","/a$","/$" +if [ $is_public -eq 0 ] +then + # If the app is private, only the shortened URLs are publics. + if [ "$path_url" == "/" ]; then + # If the path is /, clear it to prevent any error with the regex. + path_url="" + fi + # Modify the domain to be used in a regex + domain_regex=$(echo "$domain" | sed 's@-@.@g') + ynh_app_setting_set $app protected_regex "$domain_regex$path_url/login$","$domain_regex$path_url/logout$","$domain_regex$path_url/api$","$domain_regex$path_url/extensions$","$domain_regex$path_url/stats$","$domain_regex$path_url/d/.*$","$domain_regex$path_url/a$","$domain_regex$path_url/$" else ynh_app_setting_delete $app protected_regex fi diff --git a/scripts/change_url b/scripts/change_url index 86b8c45..ba5ab9d 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -127,6 +127,23 @@ ynh_store_file_checksum "${final_path}/lstu.conf" #================================================= # GENERIC FINALISATION +#================================================= +# UPDATE SSOWAT +#================================================= +ynh_print_info "Reconfigure SSOwat" + +if [ $is_public -eq 0 ] +then + # If the app is private, only the shortened URLs are publics. + if [ "$path_url" == "/" ]; then + # If the path is /, clear it to prevent any error with the regex. + path_url="" + fi + # Modify the domain to be used in a regex + domain_regex=$(echo "$domain" | sed 's@-@.@g') + ynh_app_setting_set $app protected_regex "$domain_regex$path_url/login$","$domain_regex$path_url/logout$","$domain_regex$path_url/api$","$domain_regex$path_url/extensions$","$domain_regex$path_url/stats$","$domain_regex$path_url/d/.*$","$domain_regex$path_url/a$","$domain_regex$path_url/$" +fi + #================================================= # RESTART LSTU #================================================= diff --git a/scripts/install b/scripts/install index 752d45a..6443ee8 100644 --- a/scripts/install +++ b/scripts/install @@ -182,13 +182,17 @@ yunohost service add $app --log "/var/log/$app.log" --log "/var/www/$app/log/pro #================================================= ynh_print_info "Configuring SSOwat..." -# Make app public or private ynh_app_setting_set $app unprotected_uris "/" -if [ $is_public -eq 0 ]; -then # If the app is private, only the shortened URLs are publics - ynh_app_setting_set $app protected_regex "/login$","/logout$","/api$","/extensions$","/stats$","/d/.*$","/a$","/$" -else - ynh_app_setting_delete $app protected_regex +if [ $is_public -eq 0 ] +then + # If the app is private, only the shortened URLs are publics. + if [ "$path_url" == "/" ]; then + # If the path is /, clear it to prevent any error with the regex. + path_url="" + fi + # Modify the domain to be used in a regex + domain_regex=$(echo "$domain" | sed 's@-@.@g') + ynh_app_setting_set $app protected_regex "$domain_regex$path_url/login$","$domain_regex$path_url/logout$","$domain_regex$path_url/api$","$domain_regex$path_url/extensions$","$domain_regex$path_url/stats$","$domain_regex$path_url/d/.*$","$domain_regex$path_url/a$","$domain_regex$path_url/$" fi #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 2549c05..7f92867 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -196,13 +196,17 @@ ynh_systemd_action -n $app -a reload -l "Reloaded Shortened URLs service." -p "s #================================================= ynh_print_info "Upgrading SSOwat configuration..." -# Make app public or private ynh_app_setting_set $app unprotected_uris "/" -if [ $is_public -eq 0 ]; -then # If the app is private, only the shortened URLs are publics - ynh_app_setting_set $app protected_regex "/login$","/logout$","/api$","/extensions$","/stats$","/d/.*$","/a$","/$" -else - ynh_app_setting_delete $app protected_regex +if [ $is_public -eq 0 ] +then + # If the app is private, only the shortened URLs are publics. + if [ "$path_url" == "/" ]; then + # If the path is /, clear it to prevent any error with the regex. + path_url="" + fi + # Modify the domain to be used in a regex + domain_regex=$(echo "$domain" | sed 's@-@.@g') + ynh_app_setting_set $app protected_regex "$domain_regex$path_url/login$","$domain_regex$path_url/logout$","$domain_regex$path_url/api$","$domain_regex$path_url/extensions$","$domain_regex$path_url/stats$","$domain_regex$path_url/d/.*$","$domain_regex$path_url/a$","$domain_regex$path_url/$" fi #=================================================