1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/baikal_ynh.git synced 2024-09-03 18:16:11 +02:00
baikal_ynh/scripts/_common.sh
Éric Gaspar 24580dc48c
0.9.2 (#64) (#66)
* 0.9.2 (#64)

* 0.9.2

* Auto-update README

* Update upgrade

* Remove patch

* Update install

* Update install

* Fix

* Auto-update README

* Fix

* Revert "Remove patch"

This reverts commit 760cfff3b3.

* Delete app-add-ldap-auth.patch

* Fix

* Create app-add-ldap-auth.patch

* Update app-add-ldap-auth.patch

* Update upgrade

* Fix

* Fix

* Update install

* Update upgrade

* Update upgrade

* Update upgrade

* Update manifest.json

* Update upgrade

* Update upgrade

* Update baikal.yaml

* Update baikal.yaml

* Update manifest.json

* Update change_url

* Update baikal.yaml

* Update nginx.conf

* Update upgrade

* Update upgrade

* Update upgrade

* Update upgrade

* Update scripts/_common.sh

Co-authored-by: Kayou <pierre@kayou.io>

* Update nginx.conf

* Update install

* Update upgrade

Co-authored-by: yunohost-bot <yunohost@yunohost.org>
Co-authored-by: Kayou <pierre@kayou.io>

* Update nginx.conf

* deskey -> encrypt_key

Co-authored-by: yunohost-bot <yunohost@yunohost.org>
Co-authored-by: Kayou <pierre@kayou.io>
2022-05-27 23:04:44 +02:00

46 lines
1.7 KiB
Bash

#!/bin/bash
#=================================================
# COMMON VARIABLES
#=================================================
# dependencies used by the app
YNH_PHP_VERSION="8.0"
pkg_dependencies="php${YNH_PHP_VERSION}-xml php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-ldap"
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
# Check if an URL is already handled
# usage: is_url_handled --domain=DOMAIN --path=PATH_URI
is_url_handled() {
# Declare an array to define the options of this helper.
local legacy_args=dp
declare -Ar args_array=( [d]=domain= [p]=path= )
local domain
local path
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
# Try to get the url with curl, and keep the http code and an eventual redirection url.
local curl_output="$(curl --insecure --silent --output /dev/null \
--write-out '%{http_code};%{redirect_url}' https://127.0.0.1$path --header "Host: $domain" --resolve $domain:443:127.0.0.1)"
# Cut the output and keep only the first part to keep the http code
local http_code="${curl_output%%;*}"
# Do the same thing but keep the second part, the redirection url
local redirection="${curl_output#*;}"
# Return 1 if the url isn't handled.
# Which means either curl got a 404 (or the admin) or the sso.
# A handled url should redirect to a publicly accessible url.
# Return 1 if the url has returned 404
if [ "$http_code" = "404" ] || [[ $redirection =~ "/yunohost/admin" ]]; then
return 1
# Return 1 if the url is redirected to the SSO
elif [[ $redirection =~ "/yunohost/sso" ]]; then
return 1
fi
}