1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2026-03-12 17:07:23 +01:00
Files
mailinabox/setup
downtownallday 80decc3f71 fix python error "cannot pickle 'dict_keys' object"
a deep copy of a dictionary with values of type `dict_keys`, required by the underlying ldap3 python3 library, is no longer allowed. they must be a `list` type

actual error:

Traceback (most recent call last):
  File "/mailinabox/setup/migrate.py", line 461, in <module>
    run_miabldap_migrations()
  File "/mailinabox/setup/migrate.py", line 440, in run_miabldap_migrations
    raise e
  File "/mailinabox/setup/migrate.py", line 431, in run_miabldap_migrations
    migration_func(env)
  File "/mailinabox/setup/migrate.py", line 249, in migration_miabldap_1
    users=m13.create_users(env, conn, ldap, ldap_base, ldap_users_base, ldap_domains_base)
  File "/mailinabox/setup/migration_13.py", line 137, in create_users
    dn = add_user(env, ldapconn, ldap_base, ldap_users_base, ldap_domains_base, email, password, privs.split("\n"), totp)
  File "/mailinabox/setup/migration_13.py", line 90, in add_user
    ldapconn.add(dn, objectClasses, attrs)
  File "/usr/lib/python3/dist-packages/ldap3/core/connection.py", line 947, in add
    _attributes = deepcopy(attributes)  # dict could change when adding objectClass values
  File "/usr/lib/python3.10/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.10/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.10/copy.py", line 161, in deepcopy
    rv = reductor(4)
TypeError: cannot pickle 'dict_keys' object
2022-09-05 17:20:41 -04:00
..
2022-06-25 12:39:52 -04:00
2020-06-14 16:48:21 -04:00
2022-09-05 14:12:52 -04:00