Merge remote-tracking branch 'origin/dev' into bookworm

This commit is contained in:
Alexandre Aubin 2023-12-12 15:12:13 +01:00
commit d1022b1a6c
7 changed files with 79 additions and 32 deletions

25
debian/changelog vendored
View file

@ -4,6 +4,31 @@ yunohost (12.0.0) unstable; urgency=low
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 04 May 2023 20:30:19 +0200 -- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 04 May 2023 20:30:19 +0200
yunohost (11.2.8.2) stable; urgency=low
- Aleks forgot to remove pdb.set_trace ... (54a6a1b3)
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 09 Dec 2023 18:26:10 +0100
yunohost (11.2.8.1) stable; urgency=low
- apps: fix change_url again, otherwise the lack of path_url default to the old path and fucks up the nginx regen (169c9214)
- i18n: Translations updated for German
Thanks to all contributors <3 ! (Christian Wehrli)
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 09 Dec 2023 15:56:20 +0100
yunohost (11.2.8) stable; urgency=low
- domains: also regen dovecot configuration when adding a domain (59875cae)
- helpers/fail2ban: grep logpath is likely to match comments in the file that contain the word logpath... (26796807)
- helpers: Further simplify the change url helper ([#1746](https://github.com/yunohost/yunohost/pull/1746))
Thanks to all contributors <3 ! (Josué Tille)
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 05 Dec 2023 19:21:38 +0100
yunohost (11.2.7) stable; urgency=low 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)) - helpers: fix fail2ban helper when using using --use_template arg ([#1743](https://github.com/yunohost/yunohost/pull/1743))

View file

@ -44,35 +44,22 @@ ynh_remove_nginx_config() {
} }
# Move / regen the nginx config in a change url context # Regen the nginx config in a change url context
# #
# usage: ynh_change_url_nginx_config # usage: ynh_change_url_nginx_config
# #
# Requires YunoHost version 11.1.9 or higher. # Requires YunoHost version 11.1.9 or higher.
ynh_change_url_nginx_config() { ynh_change_url_nginx_config() {
# Make a backup of the original NGINX config file if manually modified
# (nb: this is possibly different from the same instruction called by
# ynh_add_config inside ynh_add_nginx_config because the path may have
# changed if we're changing the domain too...)
local old_nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf local old_nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
local new_nginx_conf_path=/etc/nginx/conf.d/$new_domain.d/$app.conf ynh_backup_if_checksum_is_different --file="$old_nginx_conf_path"
ynh_delete_file_checksum --file="$old_nginx_conf_path"
ynh_secure_remove --file="$old_nginx_conf_path"
# Change the path in the NGINX config file # Regen the nginx conf
if [ $change_path -eq 1 ] ynh_add_nginx_config
then
# Make a backup of the original NGINX config file if modified
ynh_backup_if_checksum_is_different --file="$old_nginx_conf_path"
# Set global variables for NGINX helper
domain="$old_domain"
path="$new_path"
path_url="$new_path"
# Create a dedicated NGINX config
ynh_add_nginx_config
fi
# Change the domain for NGINX
if [ $change_domain -eq 1 ]
then
ynh_delete_file_checksum --file="$old_nginx_conf_path"
mv "$old_nginx_conf_path" "$new_nginx_conf_path"
ynh_store_file_checksum --file="$new_nginx_conf_path"
fi
ynh_systemd_action --service_name=nginx --action=reload
} }

View file

@ -374,7 +374,13 @@ ynh_setup_source() {
for stuff_to_keep in $keep; do for stuff_to_keep in $keep; do
if [ -e "$keep_dir/$stuff_to_keep" ]; then if [ -e "$keep_dir/$stuff_to_keep" ]; then
mkdir --parents "$(dirname "$dest_dir/$stuff_to_keep")" mkdir --parents "$(dirname "$dest_dir/$stuff_to_keep")"
cp --archive "$keep_dir/$stuff_to_keep" "$dest_dir/$stuff_to_keep"
# We add "--no-target-directory" (short option is -T) to handle the special case
# when we "keep" a folder, but then the new setup already contains the same dir (but possibly empty)
# in which case a regular "cp" will create a copy of the directory inside the directory ...
# resulting in something like /var/www/$app/data/data instead of /var/www/$app/data
# cf https://unix.stackexchange.com/q/94831 for a more elaborate explanation on the option
cp --archive --no-target-directory "$keep_dir/$stuff_to_keep" "$dest_dir/$stuff_to_keep"
fi fi
done done
fi fi

View file

@ -19,7 +19,7 @@
"ask_password": "Passwort", "ask_password": "Passwort",
"backup_app_failed": "Konnte keine Sicherung für {app} erstellen", "backup_app_failed": "Konnte keine Sicherung für {app} erstellen",
"backup_archive_app_not_found": "{app} konnte in keiner Datensicherung gefunden werden", "backup_archive_app_not_found": "{app} konnte in keiner Datensicherung gefunden werden",
"backup_archive_name_exists": "Datensicherung mit dem selben Namen existiert bereits.", "backup_archive_name_exists": "Eine Datensicherung mit dem Namen '{name}' existiert bereits.",
"backup_archive_name_unknown": "Unbekanntes lokale Datensicherung mit Namen '{name}' gefunden", "backup_archive_name_unknown": "Unbekanntes lokale Datensicherung mit Namen '{name}' gefunden",
"backup_archive_open_failed": "Kann Sicherungsarchiv nicht öfnen", "backup_archive_open_failed": "Kann Sicherungsarchiv nicht öfnen",
"backup_cleaning_failed": "Temporäres Sicherungsverzeichnis konnte nicht geleert werden", "backup_cleaning_failed": "Temporäres Sicherungsverzeichnis konnte nicht geleert werden",
@ -394,8 +394,8 @@
"group_cannot_edit_primary_group": "Die Gruppe '{group}' kann nicht manuell bearbeitet werden. Es ist die primäre Gruppe, welche dazu gedacht ist, nur ein spezifisches Konto zu enthalten.", "group_cannot_edit_primary_group": "Die Gruppe '{group}' kann nicht manuell bearbeitet werden. Es ist die primäre Gruppe, welche dazu gedacht ist, nur ein spezifisches Konto zu enthalten.",
"diagnosis_processes_killed_by_oom_reaper": "Das System hat ein paar Prozesse abgewürgt, da ihm der Speicher ausgegangen ist. Dies ist typischerweise sympomatisch eines ungenügenden Vorhandenseins des Arbeitsspeichers oder eines einzelnen Prozesses, der zu viel Speicher verbraucht. Zusammenfassung der abgewürgtenProzesse: \n{kills_summary}", "diagnosis_processes_killed_by_oom_reaper": "Das System hat ein paar Prozesse abgewürgt, da ihm der Speicher ausgegangen ist. Dies ist typischerweise sympomatisch eines ungenügenden Vorhandenseins des Arbeitsspeichers oder eines einzelnen Prozesses, der zu viel Speicher verbraucht. Zusammenfassung der abgewürgtenProzesse: \n{kills_summary}",
"diagnosis_description_ports": "Geöffnete Ports", "diagnosis_description_ports": "Geöffnete Ports",
"additional_urls_already_added": "Zusätzliche URL '{url}' bereits hinzugefügt in der zusätzlichen URL für Berechtigung '{permission}'", "additional_urls_already_added": "Die zusätzliche URL '{url}' wurde bereits hinzugefügt für die Berechtigung '{permission}'",
"additional_urls_already_removed": "Zusätzliche URL '{url}' bereits entfernt in der zusätzlichen URL für Berechtigung '{permission}'", "additional_urls_already_removed": "Die zusätzliche URL '{url}' wurde bereits entfernt für die Berechtigung '{permission}'",
"app_label_deprecated": "Dieser Befehl ist veraltet! Bitte nutze den neuen Befehl 'yunohost user permission update' um das Applabel zu verwalten.", "app_label_deprecated": "Dieser Befehl ist veraltet! Bitte nutze den neuen Befehl 'yunohost user permission update' um das Applabel zu verwalten.",
"diagnosis_http_hairpinning_issue_details": "Das liegt wahrscheinlich an Ihrem Router. Dadurch können Personen von ausserhalb deines Netzwerkes, aber nicht von innerhalb deines lokalen Netzwerkes (wie wahrscheinlich Sie selbst), auf Ihren Server zugreifen, wenn dazu die Domäne oder öffentliche IP verwendet wird. Sie können das Problem eventuell beheben, indem Sie einen Blick auf <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a> werfen", "diagnosis_http_hairpinning_issue_details": "Das liegt wahrscheinlich an Ihrem Router. Dadurch können Personen von ausserhalb deines Netzwerkes, aber nicht von innerhalb deines lokalen Netzwerkes (wie wahrscheinlich Sie selbst), auf Ihren Server zugreifen, wenn dazu die Domäne oder öffentliche IP verwendet wird. Sie können das Problem eventuell beheben, indem Sie einen Blick auf <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a> werfen",
"diagnosis_http_nginx_conf_not_up_to_date": "Die Konfiguration von Nginx scheint für diese Domäne manuell geändert worden zu sein. Dies hindert YunoHost daran festzustellen, ob es über HTTP erreichbar ist.", "diagnosis_http_nginx_conf_not_up_to_date": "Die Konfiguration von Nginx scheint für diese Domäne manuell geändert worden zu sein. Dies hindert YunoHost daran festzustellen, ob es über HTTP erreichbar ist.",
@ -766,5 +766,23 @@
"pattern_fullname": "Muss ein gültiger voller Name sein (mindestens 3 Zeichen)", "pattern_fullname": "Muss ein gültiger voller Name sein (mindestens 3 Zeichen)",
"migration_0021_not_buster2": "Die aktuelle Debian-Distribution ist nicht Buster! Wenn Sie bereits eine Buster->Bullseye-Migration durchgeführt haben, dann ist dieser Fehler symptomatisch für den Umstand, dass das Migrationsprozedere nicht zu 100% erfolgreich war (andernfalls hätte Yunohost es als vollständig gekennzeichnet). Es ist empfehlenswert, sich der Geschehnisse zusammen mit dem Support-Team anzunehmen, das einen Bedarf an einem **vollständigen** Log der Migration haben wird, das in Werkzeuge > Logs im Adminpanel auffindbar ist.", "migration_0021_not_buster2": "Die aktuelle Debian-Distribution ist nicht Buster! Wenn Sie bereits eine Buster->Bullseye-Migration durchgeführt haben, dann ist dieser Fehler symptomatisch für den Umstand, dass das Migrationsprozedere nicht zu 100% erfolgreich war (andernfalls hätte Yunohost es als vollständig gekennzeichnet). Es ist empfehlenswert, sich der Geschehnisse zusammen mit dem Support-Team anzunehmen, das einen Bedarf an einem **vollständigen** Log der Migration haben wird, das in Werkzeuge > Logs im Adminpanel auffindbar ist.",
"migration_0024_rebuild_python_venv_disclaimer_base": "Der Aktualisierung zu Debian Bullseye folgend ist es nötig, dass ein paar Python-Applikationen partiell neu gebaut und in die neue, mit Debian mitgelieferte Python-Version konvertiert werden. (in technischen Begrifflichkeiten: das, was wir die 'virtualenv' nennen, muss erneuert werden). In der Zwischenzeit kann es sein, dass diese Python-Applikationen nicht funktionieren. YunoHost kann versuchen die virtualenv für ein paar davon zu erneuern, wie untenstehend detailliert beschrieben wird. Für die anderen Applikationen, oder für den Fall, dass die Erneuerung fehlschlägt, werden eine erzwungene Aktualisierung für diese Applikationen durchführen müssen.", "migration_0024_rebuild_python_venv_disclaimer_base": "Der Aktualisierung zu Debian Bullseye folgend ist es nötig, dass ein paar Python-Applikationen partiell neu gebaut und in die neue, mit Debian mitgelieferte Python-Version konvertiert werden. (in technischen Begrifflichkeiten: das, was wir die 'virtualenv' nennen, muss erneuert werden). In der Zwischenzeit kann es sein, dass diese Python-Applikationen nicht funktionieren. YunoHost kann versuchen die virtualenv für ein paar davon zu erneuern, wie untenstehend detailliert beschrieben wird. Für die anderen Applikationen, oder für den Fall, dass die Erneuerung fehlschlägt, werden eine erzwungene Aktualisierung für diese Applikationen durchführen müssen.",
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs können für diese Applikationen nicht automatisch erneuert werden. Für diejenigen werden Sie eine erzwungene Aktualisierung durchführen müssen, was in der Kommandozeile bewerkstelligt werden kann mit: `yunohost app upgrade --force APP`: {ignored_apps}" "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs können für diese Applikationen nicht automatisch erneuert werden. Für diejenigen werden Sie eine erzwungene Aktualisierung durchführen müssen, was in der Kommandozeile bewerkstelligt werden kann mit: `yunohost app upgrade --force APP`: {ignored_apps}",
"ask_dyndns_recovery_password_explain_unavailable": "Diese DynDNS-Domäne ist bereits registriert. Wenn Sie die Person sind, die diese Domäne ursprünglich registriert hat, können Sie das Wiederherstellungspasswort eingeben, um diese Domäne wiederherzustellen.",
"ask_dyndns_recovery_password": "DynDNS Wiederherstellungspasswort",
"ask_dyndns_recovery_password_explain_during_unsubscribe": "Bitte geben Sie das Wiederherstellungspasswort für Ihre DynDNS-Domäne ein.",
"dyndns_no_recovery_password": "Es wurde kein Wiederherstellungspasswort spezifiziert! Wenn Sie die Kontrolle über diese Domäne verlieren, werden Sie einen Administrator des YunoHost-Teams kontaktieren müssen!",
"dyndns_too_many_requests": "Der DynDNS-Service von YunoHost hat zu viele Anfragen von Ihnen erhalten, warten Sie ungefähr 1 Stunde bevor Sie erneut versuchen.",
"dyndns_set_recovery_password_invalid_password": "Konnte Wiederherstellungspasswort nicht einstellen: Passwort ist nicht stark genug",
"log_dyndns_unsubscribe": "Von einer YunoHost-Subdomain abmelden '{}'",
"ask_dyndns_recovery_password_explain": "Bitte wählen Sie ein Passwort zur Wiederherstellung ihrer DynDNS, für den Fall, dass Sie sie später zurücksetzen müssen.",
"dyndns_subscribed": "DynDNS-Domäne registriert",
"dyndns_subscribe_failed": "Konnte DynDNS-Domäne nicht registrieren: {error}",
"dyndns_unsubscribe_failed": "Konnte die DynDNS-Domäne nicht abmelden: {error}",
"dyndns_unsubscribed": "DynDNS-Domäne abgemeldet",
"dyndns_unsubscribe_denied": "Konnte Domäne nicht abmelden: ungültige Anmeldedaten",
"dyndns_unsubscribe_already_unsubscribed": "Domäne ist bereits abgemeldet",
"dyndns_set_recovery_password_denied": "Konnte Wiederherstellungspasswort nicht einstellen: ungültiges Passwort",
"dyndns_set_recovery_password_unknown_domain": "Konnte Wiederherstellungspasswort nicht einstellen: Domäne nicht registriert",
"dyndns_set_recovery_password_failed": "Konnte Wiederherstellungspasswort nicht einstellen: {error}",
"dyndns_set_recovery_password_success": "Wiederherstellungspasswort eingestellt!"
} }

View file

@ -300,8 +300,8 @@
"diagnosis_domain_expiration_not_found": "Non riesco a controllare la data di scadenza di alcuni domini", "diagnosis_domain_expiration_not_found": "Non riesco a controllare la data di scadenza di alcuni domini",
"diagnosis_dns_try_dyndns_update_force": "La configurazione DNS di questo dominio dovrebbe essere gestita automaticamente da YunoHost. Se non avviene, puoi provare a forzare un aggiornamento usando il comando <cmd>yunohost dyndns update --force</cmd>.", "diagnosis_dns_try_dyndns_update_force": "La configurazione DNS di questo dominio dovrebbe essere gestita automaticamente da YunoHost. Se non avviene, puoi provare a forzare un aggiornamento usando il comando <cmd>yunohost dyndns update --force</cmd>.",
"diagnosis_dns_point_to_doc": "Controlla la documentazione a <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> se hai bisogno di aiuto nel configurare i record DNS.", "diagnosis_dns_point_to_doc": "Controlla la documentazione a <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> se hai bisogno di aiuto nel configurare i record DNS.",
"diagnosis_dns_discrepancy": "Il record DNS non sembra seguire la configurazione DNS raccomandata:<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Current value: <code>{current}</value><br>Expected value: <code>{value}</value>", "diagnosis_dns_discrepancy": "Il record DNS non sembra seguire la configurazione DNS raccomandata:<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Current value: <code>{current}</code><br>Expected value: <code>{value}</code>",
"diagnosis_dns_missing_record": "Stando alla configurazione DNS raccomandata, dovresti aggiungere un record DNS con le seguenti informazioni.<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Value: <code>{value}</value>", "diagnosis_dns_missing_record": "Stando alla configurazione DNS raccomandata, dovresti aggiungere un record DNS con le seguenti informazioni.<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Value: <code>{value}</code>",
"diagnosis_dns_bad_conf": "Alcuni record DNS sono mancanti o incorretti per il dominio {domain} (categoria {category})", "diagnosis_dns_bad_conf": "Alcuni record DNS sono mancanti o incorretti per il dominio {domain} (categoria {category})",
"diagnosis_dns_good_conf": "I recordDNS sono configurati correttamente per il dominio {domain} (categoria {category})", "diagnosis_dns_good_conf": "I recordDNS sono configurati correttamente per il dominio {domain} (categoria {category})",
"diagnosis_ip_weird_resolvconf_details": "Il file <code>/etc/resolv.conf</code> dovrebbe essere un symlink a <code>/etc/resolvconf/run/resolv.conf</code> che punta a <code>127.0.0.1</code> (dnsmasq). Se vuoi configurare manualmente i DNS, modifica <code>/etc/resolv.dnsmasq.conf</code>.", "diagnosis_ip_weird_resolvconf_details": "Il file <code>/etc/resolv.conf</code> dovrebbe essere un symlink a <code>/etc/resolvconf/run/resolv.conf</code> che punta a <code>127.0.0.1</code> (dnsmasq). Se vuoi configurare manualmente i DNS, modifica <code>/etc/resolv.dnsmasq.conf</code>.",

View file

@ -461,6 +461,9 @@ def app_change_url(operation_logger, app, domain, path):
env_dict["old_path"] = old_path env_dict["old_path"] = old_path
env_dict["new_domain"] = domain env_dict["new_domain"] = domain
env_dict["new_path"] = path env_dict["new_path"] = path
env_dict["domain"] = domain
env_dict["path"] = path
env_dict["path_url"] = path
env_dict["change_path"] = "1" if old_path != path else "0" env_dict["change_path"] = "1" if old_path != path else "0"
env_dict["change_domain"] = "1" if old_domain != domain else "0" env_dict["change_domain"] = "1" if old_domain != domain else "0"

View file

@ -336,7 +336,15 @@ def domain_add(
# should identify the root of this bug... # should identify the root of this bug...
_force_clear_hashes([f"/etc/nginx/conf.d/{domain}.conf"]) _force_clear_hashes([f"/etc/nginx/conf.d/{domain}.conf"])
regen_conf( regen_conf(
names=["nginx", "metronome", "dnsmasq", "postfix", "rspamd", "mdns", "dovecot"] names=[
"nginx",
"metronome",
"dnsmasq",
"postfix",
"rspamd",
"mdns",
"dovecot",
]
) )
app_ssowatconf() app_ssowatconf()