diff --git a/ulib/base b/ulib/base index daeb584..c5f4060 100644 --- a/ulib/base +++ b/ulib/base @@ -1802,6 +1802,23 @@ function check_hostname() { done return 1 } +function check_userhostname() { +# Vérifier si le hostname et éventuellement le user courant sont l'un des +# arguments $1..* +# Chaque argument est de la forme [user@]host, mais le test ne tient compte que +# du nom de l'hôte, sans tenir compte du domaine. Si le user n'est pas spécifié, +# le test ne porte que sur hostname. + local userhost path user host + for userhost in "$@"; do + if check_hostname "$userhost"; then + [[ "$userhost" == *@* ]] || return 0 + splitfsep "$userhost" : userhost path + splituserhost "$userhost" user host + check_user "$user" && return 0 + fi + done + return 1 +} UTOOLS_ENSURE_HOSTNAME_SSH_OPTS=() function ensure_hostname() { # Vérifier si le hostname et le user courant sont l'un des arguments $1..*