mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge branch 'dev' into bookworm
This commit is contained in:
commit
dad366da61
8 changed files with 41 additions and 22 deletions
9
debian/changelog
vendored
9
debian/changelog
vendored
|
@ -4,6 +4,15 @@ yunohost (12.0.0) unstable; urgency=low
|
|||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 04 May 2023 20:30:19 +0200
|
||||
|
||||
yunohost (11.2.7) stable; urgency=low
|
||||
|
||||
- helpers: fix fail2ban helper when using using --use_template arg ([#1743](https://github.com/yunohost/yunohost/pull/1743))
|
||||
- i18n: Translations updated for Basque, French, Galician
|
||||
|
||||
Thanks to all contributors <3 ! (José M, OniriCorpe, ppr, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 27 Nov 2023 14:13:54 +0100
|
||||
|
||||
yunohost (11.2.6) stable; urgency=low
|
||||
|
||||
- mail: Improve dovecots rspamd integration wrt junk/spam folder naming ([#1731](https://github.com/yunohost/yunohost/pull/1731))
|
||||
|
|
|
@ -74,7 +74,7 @@ ynh_add_fail2ban_config() {
|
|||
ports=${ports:-http,https}
|
||||
use_template="${use_template:-0}"
|
||||
|
||||
if [ $use_template -ne 1 ]; then
|
||||
if [ "$use_template" -ne 1 ]; then
|
||||
# Usage 1, no template. Build a config file from scratch.
|
||||
test -n "$logpath" || ynh_die --message="ynh_add_fail2ban_config expects a logfile path as first argument and received nothing."
|
||||
test -n "$failregex" || ynh_die --message="ynh_add_fail2ban_config expects a failure regex as second argument and received nothing."
|
||||
|
@ -86,7 +86,7 @@ port = __PORTS__
|
|||
filter = __APP__
|
||||
logpath = __LOGPATH__
|
||||
maxretry = __MAX_RETRY__
|
||||
" >$YNH_APP_BASEDIR/conf/f2b_jail.conf
|
||||
" >"$YNH_APP_BASEDIR/conf/f2b_jail.conf"
|
||||
|
||||
echo "
|
||||
[INCLUDES]
|
||||
|
@ -94,20 +94,28 @@ before = common.conf
|
|||
[Definition]
|
||||
failregex = __FAILREGEX__
|
||||
ignoreregex =
|
||||
" >$YNH_APP_BASEDIR/conf/f2b_filter.conf
|
||||
" >"$YNH_APP_BASEDIR/conf/f2b_filter.conf"
|
||||
fi
|
||||
|
||||
ynh_add_config --template="f2b_jail.conf" --destination="/etc/fail2ban/jail.d/$app.conf"
|
||||
ynh_add_config --template="f2b_filter.conf" --destination="/etc/fail2ban/filter.d/$app.conf"
|
||||
|
||||
# if "$logpath" doesn't exist (as if using --use_template argument), assign
|
||||
# "$logpath" using the one in the previously generated fail2ban conf file
|
||||
if [ -z "${logpath:-}" ]; then
|
||||
# the first sed deletes possibles spaces and the second one extract the path
|
||||
logpath=$(grep "^logpath" "/etc/fail2ban/jail.d/$app.conf" | sed "s/ //g" | sed "s/logpath=//g")
|
||||
fi
|
||||
|
||||
# Create the folder and logfile if they doesn't exist,
|
||||
# as fail2ban require an existing logfile before configuration
|
||||
mkdir -p "/var/log/$app"
|
||||
if [ ! -f "$logpath" ]; then
|
||||
touch "$logpath"
|
||||
chown -R "$app:$app" "/var/log/$app"
|
||||
chmod -R u=rwX,g=rX,o= "/var/log/$app"
|
||||
fi
|
||||
# Make sure log folder's permissions are correct
|
||||
chown -R "$app:$app" "/var/log/$app"
|
||||
chmod -R u=rwX,g=rX,o= "/var/log/$app"
|
||||
|
||||
ynh_systemd_action --service_name=fail2ban --action=reload --line_match="(Started|Reloaded) Fail2Ban Service" --log_path=systemd
|
||||
|
||||
|
|
|
@ -389,7 +389,7 @@
|
|||
"group_already_exist_on_system_but_removing_it": "{group} taldea existitzen da sistemaren taldeetan, baina YunoHostek ezabatuko du…",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Lehenik eta behin zure routerraren konfigurazio gunean edo hostingaren enpresaren aukeretan alderantzizko DNSa konfiguratzen saiatu beharko zinateke <code>{ehlo_domain}</code> erabiliz. (Hosting enpresaren arabera, ezinbestekoa da beraiekin harremanetan jartzea).",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "SMTP posta zerbitzaria posta elektronikoa bidaltzeko gai da (25. atakaren irteera ez dago blokeatuta).",
|
||||
"diagnosis_ports_partially_unreachable": "{port}. ataka ez dago eskuragarri kanpotik Pv{failed} erabiliz.",
|
||||
"diagnosis_ports_partially_unreachable": "{port}. ataka ez dago eskuragarri kanpotik IPv{failed} erabiliz.",
|
||||
"diagnosis_ports_forwarding_tip": "Arazoa konpontzeko, litekeena da operadorearen routerrean ataken birbideraketa konfiguratu behar izatea, <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a>-n agertzen den bezala",
|
||||
"domain_creation_failed": "Ezinezkoa izan da {domain} domeinua sortzea: {error}",
|
||||
"domains_available": "Erabilgarri dauden domeinuak:",
|
||||
|
|
|
@ -776,11 +776,11 @@
|
|||
"dyndns_unsubscribe_failed": "Impossible de se désinscrire du domaine DynDNS : {erreur}",
|
||||
"dyndns_unsubscribed": "Désinscription du domaine DynDNS",
|
||||
"dyndns_unsubscribe_denied": "Échec de la désinscription du domaine : informations d'identification non valides",
|
||||
"dyndns_unsubscribe_already_unsubscribed": "Le domaine est déjà désabonné/retiré",
|
||||
"dyndns_set_recovery_password_denied": "Échec de la définition du mot de passe de récupération : mot de passe non valide",
|
||||
"dyndns_unsubscribe_already_unsubscribed": "Le domaine est déjà retiré",
|
||||
"dyndns_set_recovery_password_denied": "Échec de la mise en place du mot de passe de récupération : mot de passe non valide",
|
||||
"dyndns_set_recovery_password_unknown_domain": "Échec de la définition du mot de passe de récupération : le domaine n'est pas enregistré",
|
||||
"dyndns_set_recovery_password_invalid_password": "Échec de la définition du mot de passe de récupération : le mot de passe n'est pas assez fort/solide",
|
||||
"dyndns_set_recovery_password_failed": "Échec de la définition du mot de passe de récupération : {erreur}",
|
||||
"dyndns_set_recovery_password_invalid_password": "Échec de la mise en place du mot de passe de récupération : le mot de passe n'est pas assez fort/solide",
|
||||
"dyndns_set_recovery_password_failed": "Échec de la mise en place du mot de passe de récupération : {erreur}",
|
||||
"dyndns_set_recovery_password_success": "Mot de passe de récupération changé !",
|
||||
"log_dyndns_unsubscribe": "Se désabonner d'un sous-domaine YunoHost '{}'",
|
||||
"dyndns_too_many_requests": "Le service dyndns de YunoHost a reçu trop de requêtes/demandes de votre part, attendez environ 1 heure avant de réessayer.",
|
||||
|
|
|
@ -21,12 +21,12 @@
|
|||
"backup_archive_cant_retrieve_info_json": "Non se puido cargar a info do arquivo '{archive}'... Non se obtivo o ficheiro info.json (ou é un json non válido).",
|
||||
"backup_archive_open_failed": "Non se puido abrir o arquivo de copia de apoio",
|
||||
"backup_archive_name_unknown": "Arquivo local de copia de apoio descoñecido con nome '{name}'",
|
||||
"backup_archive_name_exists": "Xa existe un arquivo de copia con este nome.",
|
||||
"backup_archive_name_exists": "Xa existe un ficheiro de copia con nome '{name}'.",
|
||||
"backup_archive_broken_link": "Non se puido acceder ao arquivo da copia (ligazón rota a {path})",
|
||||
"backup_archive_app_not_found": "Non se atopa {app} no arquivo da copia",
|
||||
"backup_applying_method_tar": "Creando o arquivo TAR da copia...",
|
||||
"backup_applying_method_custom": "Chamando polo método de copia de apoio personalizado '{method}'...",
|
||||
"backup_applying_method_copy": "Copiando tódolos ficheiros necesarios...",
|
||||
"backup_applying_method_copy": "Copiando os ficheiros na copia...",
|
||||
"backup_app_failed": "Non se fixo copia de {app}",
|
||||
"backup_actually_backuping": "Creando o arquivo de copia cos ficheiros recollidos...",
|
||||
"backup_abstract_method": "Este método de copia de apoio aínda non foi implementado",
|
||||
|
@ -215,7 +215,7 @@
|
|||
"diagnosis_mail_ehlo_wrong_details": "O EHLO recibido polo diagnosticador remoto en IPv{ipversion} é diferente ao dominio do teu servidor.<br>EHLO recibido: <code>{wrong_ehlo}</code><br>Agardado: <code>{right_ehlo}</code><br>A razón máis habitual para este problema é que o porto 25 <a href='https://yunohost.org/isp_box_config'>non está correctamente redirixido ao teu servidor</a>. Alternativamente, asegúrate de non ter un cortalumes ou reverse-proxy interferindo.",
|
||||
"diagnosis_regenconf_manually_modified_details": "Probablemente todo sexa correcto se sabes o que estás a facer! YunoHost non vai actualizar este ficheiro automáticamente... Pero ten en conta que as actualizacións de YunoHost poderían incluír cambios importantes recomendados. Se queres podes ver as diferenzas con <cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd> e forzar o restablecemento da configuración recomendada con <cmd>yunohost tools regen-conf {category} --force</cmd>",
|
||||
"diagnosis_regenconf_manually_modified": "O ficheiro de configuración <code>{file}</code> semella que foi modificado manualmente.",
|
||||
"diagnosis_regenconf_allgood": "Tódolos ficheiros de configuración seguen a configuración recomendada!",
|
||||
"diagnosis_regenconf_allgood": "Todos os ficheiros de configuración seguen a configuración recomendada!",
|
||||
"diagnosis_mail_queue_too_big": "Hai demasiados emails pendentes na cola de correo ({nb_pending} emails)",
|
||||
"diagnosis_mail_queue_unavailable_details": "Erro: {error}",
|
||||
"diagnosis_mail_queue_unavailable": "Non se pode consultar o número de emails pendentes na cola",
|
||||
|
@ -358,7 +358,7 @@
|
|||
"log_app_install": "Instalar a app '{}'",
|
||||
"log_app_change_url": "Cambiar o URL da app '{}'",
|
||||
"log_operation_unit_unclosed_properly": "Non se pechou correctamente a unidade da operación",
|
||||
"log_does_exists": "Non hai rexistro de operación co nome '{log}', usa 'yunohost log list' para ver tódolos rexistros de operacións dispoñibles",
|
||||
"log_does_exists": "Non hai rexistro de operación co nome '{log}', usa 'yunohost log list' para ver todos os rexistros de operacións dispoñibles",
|
||||
"log_help_to_get_failed_log": "A operación '{desc}' non se completou. Comparte o rexistro completo da operación utilizando o comando 'yunohost log share {name}' para obter axuda",
|
||||
"log_link_to_failed_log": "Non se completou a operación '{desc}'. Por favor envía o rexistro completo desta operación <a href=\"#/tools/logs/{name}\">premendo aquí</a> para obter axuda",
|
||||
"migration_ldap_rollback_success": "Sistema restablecido.",
|
||||
|
@ -484,7 +484,7 @@
|
|||
"service_description_rspamd": "Filtra spam e outras características relacionadas co email",
|
||||
"service_description_redis-server": "Unha base de datos especial utilizada para o acceso rápido a datos, cola de tarefas e comunicación entre programas",
|
||||
"service_description_postfix": "Utilizado para enviar e recibir emails",
|
||||
"service_description_nginx": "Serve ou proporciona acceso a tódolos sitios web hospedados no teu servidor",
|
||||
"service_description_nginx": "Serve ou proporciona acceso a todos os sitios web hospedados no teu servidor",
|
||||
"service_description_mysql": "Almacena datos da app (base de datos SQL)",
|
||||
"service_description_metronome": "Xestiona as contas de mensaxería instantánea XMPP",
|
||||
"service_description_fail2ban": "Protexe contra ataques de forza bruta e outro tipo de ataques desde internet",
|
||||
|
@ -693,7 +693,7 @@
|
|||
"global_settings_setting_webadmin_allowlist_enabled": "Activar a lista de IP autorizados",
|
||||
"invalid_credentials": "Credenciais non válidas",
|
||||
"log_settings_reset": "Restablecer axuste",
|
||||
"log_settings_reset_all": "Restablecer tódolos axustes",
|
||||
"log_settings_reset_all": "Restablecer todos os axustes",
|
||||
"log_settings_set": "Aplicar axustes",
|
||||
"admins": "Admins",
|
||||
"all_users": "Tódalas usuarias de YunoHost",
|
||||
|
|
|
@ -1555,9 +1555,7 @@ class RestoreManager:
|
|||
operation_logger.success()
|
||||
|
||||
# Call post_app_restore hook
|
||||
env_dict = _make_environment_for_app_script(
|
||||
app_instance_name
|
||||
)
|
||||
env_dict = _make_environment_for_app_script(app_instance_name)
|
||||
hook_callback("post_app_restore", env=env_dict)
|
||||
else:
|
||||
self.targets.set_result("apps", app_instance_name, "Error")
|
||||
|
|
|
@ -336,7 +336,7 @@ def domain_add(
|
|||
# should identify the root of this bug...
|
||||
_force_clear_hashes([f"/etc/nginx/conf.d/{domain}.conf"])
|
||||
regen_conf(
|
||||
names=["nginx", "metronome", "dnsmasq", "postfix", "rspamd", "mdns"]
|
||||
names=["nginx", "metronome", "dnsmasq", "postfix", "rspamd", "mdns", "dovecot"]
|
||||
)
|
||||
app_ssowatconf()
|
||||
|
||||
|
|
|
@ -1107,7 +1107,9 @@ class AptDependenciesAppResource(AppResource):
|
|||
values["packages"] = [value.strip() for value in values["packages"].split(",")] # type: ignore
|
||||
|
||||
if isinstance(values.get("packages_from_raw_bash"), str):
|
||||
out, err = self.check_output_bash_snippet(values.get("packages_from_raw_bash"))
|
||||
out, err = self.check_output_bash_snippet(
|
||||
values.get("packages_from_raw_bash")
|
||||
)
|
||||
if err:
|
||||
logger.error(
|
||||
f"Error while running apt resource packages_from_raw_bash snippet for '{key}' extras:"
|
||||
|
@ -1126,7 +1128,9 @@ class AptDependenciesAppResource(AppResource):
|
|||
)
|
||||
|
||||
# Drop 'extras' entries associated to no packages
|
||||
self.extras = {key: values for key, values in self.extras.items() if values["packages"]}
|
||||
self.extras = {
|
||||
key: values for key, values in self.extras.items() if values["packages"]
|
||||
}
|
||||
|
||||
def provision_or_update(self, context: Dict = {}):
|
||||
script = " ".join(["ynh_install_app_dependencies", *self.packages])
|
||||
|
|
Loading…
Add table
Reference in a new issue