🎉 YunoHost 12.1 release / Sortie du YunoHost 12.1

P.S.: I’m using noho.st for domain and dyndns

Nohost.me dyndns update doesn’t get the right ip even when forcing update. It reuses an old ip.
https://paste.yunohost.org/raw/igekisitoh

2 Likes

Exactly the same issue here. Thank you for your comment, I thought I’d be the only one and it was driving me insane. Especially the following debug line:

DEBUG - Reusing IPv4 from cache

No, please do not reuse from cache, this IP is wrong that is why I’m trying the force update in the first place.

1 Like

I am also experiencing frequent connectivity issues on a local connection and general slowness of tasks.

Also please tell me RAID is coming to Yunohost :folded_hands:

yop, j’ai un petit problùme lors de la MAJ.
Plus aucun utilisateurs ne peux accéder aux applications

message d’erreur lors de l’etape “0033_rework_permission” , avez vous deja eu le probleme ?

La migration 0033_rework_permission_infos a échoué, abandon. Erreur : Error during LDAP update operation:
rdn: cn=strut.main,ou=permission
attr_dict: {'label': [], 'authHeader': [], 'showTile': [], 'isProtected': [], 'URL': [], 'additionalUrls': [], 'groupPermission': []}
new_rdn: False
ldif: [(1, 'label', ['Présentations Diapo']), (1, 'authHeader', ['TRUE']), (1, 'showTile', ['TRUE']), (1, 'isProtected', ['FALSE']), (1, 'URL', ['/']), (1, 'groupPermission', ['cn=all_users,ou=groups,dc=yunohost,dc=org', 'cn=visitors,ou=groups,dc=yunohost,dc=org'])]
exception: {'msgtype': 103, 'msgid': 35, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 357, in update
self.con.modify_ext_s(dn, encoded_ldif)
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 1024, in modify_ext_s
return self._apply_method_s(SimpleLDAPObject.modify_ext_s,*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 968, in _apply_method_s
return func(self,*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 400, in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 543, in result3
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 553, in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 128, in _ldap_call
result = func(*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^
ldap.NO_SUCH_ATTRIBUTE: {'msgtype': 103, 'msgid': 35, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 895, in tools_migrations_run
migration.run()
File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 1119, in func
run(self, backup_folder)
File "/usr/lib/python3/dist-packages/yunohost/migrations/0033_rework_permission_infos.py", line 45, in run
self.delete_legacy_permissions()
File "/usr/lib/python3/dist-packages/yunohost/migrations/0033_rework_permission_infos.py", line 166, in delete_legacy_permissions
ldap.update(
File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 359, in update
raise MoulinetteError(
moulinette.core.MoulinetteError: Error during LDAP update operation:
rdn: cn=strut.main,ou=permission
attr_dict: {'label': [], 'authHeader': [], 'showTile': [], 'isProtected': [], 'URL': [], 'additionalUrls': [], 'groupPermission': []}
new_rdn: False
ldif: [(1, 'label', ['Présentations Diapo']), (1, 'authHeader', ['TRUE']), (1, 'showTile', ['TRUE']), (1, 'isProtected', ['FALSE']), (1, 'URL', ['/']), (1, 'groupPermission', ['cn=all_users,ou=groups,dc=yunohost,dc=org', 'cn=visitors,ou=groups,dc=yunohost,dc=org'])]
exception: {'msgtype': 103, 'msgid': 35, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}

EDIT : ISSUE solved. Due to STRUT issue. i have desinstalled strut and relaunch apt install yunohost --reinstall and now it’s working fine.

I have just upgraded to latest 12.1.14 version.

When I do a full backup up, during the process I have “La connexion avec le serveur a Ă©tĂ© fermĂ©e pour des raisons inconnues. Peut-ĂȘtre que ‘yunohost-api’ ne rĂ©pond plus ?”

Likewise, when I upgrade App, I got at some stage (seems to be when backup apps) the message “La connexion avec le serveur a Ă©tĂ© fermĂ©e pour des raisons inconnues. Peut-ĂȘtre que ‘yunohost-api’ ne rĂ©pond plus ?”

I can’t access to my server when this message is shown (connected through ssh, I have something like “another process is currently ongoing” what seems a clearer information)

When backup or upgrade is finished, the message disappears and the server can be called again.

I am just surprised by this new message.

Everything else looks fantastic !

I have the same issue as Croulibri.

Otherwise no issues to report with the upgrade.

Thanks to all who worked on this release!

Bonjour, je suis coincĂ© depuis la mise Ă  jour, enfin je crois que la MAJ s’est bien passĂ©e mais c’est la “migration” des permissions qui ne fonctionne pas, je n’ai plus accĂšs Ă  aucune application.

Les permissions ont sautées, et les recréer ne fonctionne pas. :frowning:

Voici ce que dit les logs de la migration :

Exécution de la migration 0033_rework_permission_infos


Création d'une sauvegarde de la base de données LDAP et des paramÚtres des applications avant la migration proprement dite.

La configuration a été mise à jour pour 'slapd'

Impossible de migrer
 tentative de restauration du systùme.

SystÚme rétabli dans son état initial.

La migration 0033_rework_permission_infos a échoué, abandon. Erreur : Error during LDAP update operation:
rdn: cn=my_webapp.main,ou=permission
attr_dict: {'label': [], 'authHeader': [], 'showTile': [], 'isProtected': [], 'URL': [], 'additionalUrls': [], 'groupPermission': []}
new_rdn: False
ldif: [(1, 'label', ['My Webapp ']), (1, 'authHeader', ['TRUE']), (1, 'showTile', ['TRUE']), (1, 'isProtected', ['FALSE']), (1, 'URL', ['/']), (1, 'groupPermission', ['cn=all_users,ou=groups,dc=yunohost,dc=org', 'cn=visitors,ou=groups,dc=yunohost,dc=org'])]
exception: {'msgtype': 103, 'msgid': 11, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 357, in update
self.con.modify_ext_s(dn, encoded_ldif)
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 1024, in modify_ext_s
return self._apply_method_s(SimpleLDAPObject.modify_ext_s,*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 968, in _apply_method_s
return func(self,*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 400, in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 543, in result3
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 553, in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 128, in _ldap_call
result = func(*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^
ldap.NO_SUCH_ATTRIBUTE: {'msgtype': 103, 'msgid': 11, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 895, in tools_migrations_run
migration.run()
File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 1119, in func
run(self, backup_folder)
File "/usr/lib/python3/dist-packages/yunohost/migrations/0033_rework_permission_infos.py", line 45, in run
self.delete_legacy_permissions()
File "/usr/lib/python3/dist-packages/yunohost/migrations/0033_rework_permission_infos.py", line 166, in delete_legacy_permissions
ldap.update(
File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 359, in update
raise MoulinetteError(
moulinette.core.MoulinetteError: Error during LDAP update operation:
rdn: cn=my_webapp.main,ou=permission
attr_dict: {'label': [], 'authHeader': [], 'showTile': [], 'isProtected': [], 'URL': [], 'additionalUrls': [], 'groupPermission': []}
new_rdn: False
ldif: [(1, 'label', ['My Webapp - manege-a-rythmes.fr ']), (1, 'authHeader', ['TRUE']), (1, 'showTile', ['TRUE']), (1, 'isProtected', ['FALSE']), (1, 'URL', ['/']), (1, 'groupPermission', ['cn=all_users,ou=groups,dc=yunohost,dc=org', 'cn=visitors,ou=groups,dc=yunohost,dc=org'])]
exception: {'msgtype': 103, 'msgid': 11, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}

Besoin d’aide svp ! :folded_hands:

P.S. J’ai lancĂ© apt install yunohost --reinstall et ça n’a rien changĂ©

Bonjour,

Sur nftables, la politique par dĂ©faut ne devrait pas ĂȘtre drop ?

Aprùs mise à jour de la nouvelle version yunohost, j’ai ça:
sudo nft list ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy accept;


table ip filter {
chain INPUT {
type filter hook input priority filter; policy accept;



Un scan nmap depuis le LAN montre que tout est ouvert

Depuis Internet, tout n’est pas accessible, mais j’ai ma box internet devant, avec du NAT.

Merci !

1 Like

Fantastique, je ne savais pas que l’option existait et je me demandais pourquoi certaines applications Ă©taient manquantes dans mon portail. :+1:

yop,
pour retrouver une situation fonctionnelle :
desinstall my_webapp ( site perso )
rebalance le script de reinstall,

tu retournes dans tes backups, et tu restore uniquement my_webapp
ca devrait le faire.

1 Like

Merci beaucoup ça m’a dĂ©bloquĂ©, ça semble fonctionner Ă  nouveau ! Ça a rĂ©initialisĂ© toutes les permissions j’ai l’impression, mais c’est pas trĂšs grave. :slight_smile:

Encore super merci !! :folded_hands:

2 Likes

Bonjour Ă  tous 
 problĂšme semblable Ă  @remouk lors de l’installation de la migration 0033_rework_permission 
 ca bloquĂ© dĂ©jĂ  avec une application que j’ai dĂ©sinstallĂ©e. Maintenant il bloque au niveau de Nextcloud ! j’aimerais Ă©viter de devoir le dĂ©sinstaller. Une idĂ©e ?

Log :

La migration 0033_rework_permission_infos a échoué, abandon. Erreur : Error during LDAP update operation:
rdn: cn=nextcloud.main,ou=permission
attr_dict: {'label': [], 'authHeader': [], 'showTile': [], 'isProtected': [], 'URL': [], 'additionalUrls': [], 'groupPermission': []}
new_rdn: False
ldif: [(1, 'label', ['NEXTCLOUD Mails,\xa0partage de fichiers, etc']), (1, 'authHeader', ['TRUE']), (1, 'showTile', ['TRUE']), (1, 'isProtected', ['FALSE']), (1, 'URL', ['/']), (1, 'groupPermission', ['cn=all_users,ou=groups,dc=yunohost,dc=org', 'cn=visitors,ou=groups,dc=yunohost,dc=org'])]
exception: {'msgtype': 103, 'msgid': 27, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 357, in update
self.con.modify_ext_s(dn, encoded_ldif)
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 1024, in modify_ext_s
return self._apply_method_s(SimpleLDAPObject.modify_ext_s,*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 968, in _apply_method_s
return func(self,*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 400, in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 543, in result3
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 553, in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 128, in _ldap_call
result = func(*args,**kwargs)
^^^^^^^^^^^^^^^^^^^^
ldap.NO_SUCH_ATTRIBUTE: {'msgtype': 103, 'msgid': 27, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 895, in tools_migrations_run
migration.run()
File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 1119, in func
run(self, backup_folder)
File "/usr/lib/python3/dist-packages/yunohost/migrations/0033_rework_permission_infos.py", line 45, in run
self.delete_legacy_permissions()
File "/usr/lib/python3/dist-packages/yunohost/migrations/0033_rework_permission_infos.py", line 166, in delete_legacy_permissions
ldap.update(
File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 359, in update
raise MoulinetteError(
moulinette.core.MoulinetteError: Error during LDAP update operation:
rdn: cn=nextcloud.main,ou=permission
attr_dict: {'label': [], 'authHeader': [], 'showTile': [], 'isProtected': [], 'URL': [], 'additionalUrls': [], 'groupPermission': []}
new_rdn: False
ldif: [(1, 'label', ['NEXTCLOUD Mails,\xa0partage de fichiers, etc']), (1, 'authHeader', ['TRUE']), (1, 'showTile', ['TRUE']), (1, 'isProtected', ['FALSE']), (1, 'URL', ['/']), (1, 'groupPermission', ['cn=all_users,ou=groups,dc=yunohost,dc=org', 'cn=visitors,ou=groups,dc=yunohost,dc=org'])]
exception: {'msgtype': 103, 'msgid': 27, 'result': 16, 'desc': 'No such attribute', 'ctrls': [], 'info': 'modify/delete: label: no such value'}

NB : toutes mes autorisations de groupe on Ă©tĂ© effacĂ© Ă©galement. Pas un souci en soi mais peut ĂȘtre significatif du problĂšme, je ne sais pas !

Salut,
de mon cĂŽte j’ai une erreur avec le LDAP Ă  priori, le log que j’ai rĂ©cupĂ©rer

Edit: fixed avec les dernieres update de Yuno. Merci beaucoup :folded_hands: .

ended_at: 2025-08-23 13:37:04.423747
error: 'Migration 0034_fix_missing_admins_aliases did not complete, aborting. Error:
  Could not update the group ''admins'': LDAP attribute ''mail'' already exists with
  value ''root@maindomain.tld'''
interface: api
operation: tools_migrations_migrate_forward
parent: null
started_at: 2025-08-23 13:37:03.388169
started_by: ******
success: false
yunohost_version: 12.1.14

============

2025-08-23 15:37:04,417: INFO - Running migration 0034_fix_missing_admins_aliases

2025-08-23 15:37:04,420: INFO - attribute 'mail' with value 'root@maindomain.tld' is not unique
2025-08-23 15:37:04,421: ERROR - Migration 0034_fix_missing_admins_aliases did not complete, aborting. Error: Could not update the group 'admins': LDAP attribute 'mail' already exists with value 'root@maindomain.tld'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/yunohost/user.py", line 1343, in user_group_update
    ldap.validate_uniqueness({"mail": mail})
  File "/usr/lib/python3/dist-packages/yunohost/utils/ldap.py", line 389, in validate_uniqueness
    raise YunohostError(
yunohost.utils.error.YunohostError: LDAP attribute 'mail' already exists with value 'root@maindomain.tld'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 895, in tools_migrations_run
    migration.run()
  File "/usr/lib/python3/dist-packages/yunohost/migrations/0034_fix_missing_admins_aliases.py", line 11, in run
    _update_admins_group_aliases(
  File "/usr/lib/python3/dist-packages/yunohost/user.py", line 1675, in _update_admins_group_aliases
    user_group_update(
  File "/usr/lib/python3/dist-packages/yunohost/log.py", line 532, in func_wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/yunohost/user.py", line 1345, in user_group_update
    raise YunohostError("group_update_failed", group=groupname, error=e)
yunohost.utils.error.YunohostError: Could not update the group 'admins': LDAP attribute 'mail' already exists with value 'root@maindomain.tld'

Every time I view the local backups, the Frontend looses the connection to the yunohost-api. After a view minutes the content is displayed (I have about 20 backups frum app upgrades in there and wanted to clean up)

Je ne saurais plus faire tout ça de mémoire. Dans mes souvenirs, sans
ĂȘtre trĂšs compliquĂ©, il faut quand mĂȘme modifier la zone dns chez son
fournisseur et manipuler les certificats Letsencrypt.

J’essaierai de retrouver ce que j’ai fait si ça peut servir.

1 Like

Hello, on my side the upgrade fails for the migration 0032_firewall_config:

  - 2025-08-23 20:56:42,157: INFO - Running migration 0032_firewall_config

  - 2025-08-23 20:56:42,161: ERROR - Migration 0032_firewall_config did not complete, aborting. Error: argument of type 'NoneType' is not iterable
  - Traceback (most recent call last):
  -   File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 895, in tools_migrations_run
  -     migration.run()
  -   File "/usr/lib/python3/dist-packages/yunohost/migrations/0032_firewall_config.py", line 80, in run
  -     self.firewall_file_migrate()
  -   File "/usr/lib/python3/dist-packages/yunohost/migrations/0032_firewall_config.py", line 69, in firewall_file_migrate
  -     new_data[proto.lower()] = {
  -                               ^
  -   File "/usr/lib/python3/dist-packages/yunohost/migrations/0032_firewall_config.py", line 72, in <dictcomp>
  -     "upnp": port in old_data["uPnP"][proto],
  -             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  - TypeError: argument of type 'NoneType' is not iterable

I’ll check if I can fix that by myself.

EDIT:
fixed by editing the line 72 of /usr/lib/python3/dist-packages/yunohost/migrations/0032_firewall_config.py:

--- 0032_firewall_config.py	2025-08-23 21:24:33.924000000 +0200
+++ 0032_firewall_config_my.py	2025-08-23 21:24:04.820000000 +0200
@@ -69,7 +69,7 @@
             new_data[proto.lower()] = {
                 port if isinstance(port, int) else port.replace(":", "-"): {
                     "open": True,
-                    "upnp": port in old_data["uPnP"][proto],
+                    "upnp": port in (old_data["uPnP"].get(proto) or []),
                     "comment": self._app_comment_of_port(port),
                 }
                 for port in set(old_data["ipv4"][proto] + old_data["ipv6"][proto])

And the migration ran successfully. I hope my fix still make sense xD I’m not an expert of nftable.

NB: do not use old_data["uPnP"].get(proto, []), as is my case old_data["uPnP"][proto] actually exists but was evaluated to None instead of a list. So the or construct cover both cases where the key does not exists and the case where it exists but is null.

1 Like

A 12.1.15.1 release was just being made to fix the nasty dyndns bug (Reusing IPvx from cache) ^w^

3 Likes

I can’t edit my email aliases from the user interface anymore. I checked the admin page and it says users are allowed to change their aliases.

I agree with @morcelan, the default input and forward policy should be to drop traffic. This should be changed in /etc/nftables.conf.