Bug 51541 - IMAP folder flagged with error
IMAP folder flagged with error
Status: NEW
Product: UCS
Classification: Unclassified
Component: UMC - System diagnostic
UCS 5.0
Other Linux
: P5 normal with 2 votes (vote)
: ---
Assigned To: UMC maintainers
UMC maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-06-19 17:40 CEST by Philipp Hahn
Modified: 2023-05-04 14:46 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 4: Minor Usability: Impairs usability in secondary scenarios
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.091
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Error handling
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2020-06-19 17:40:45 CEST
I've created a "IMAP folder":

# udm mail/folder list
DN: cn=request@domain.extern,cn=domain,cn=mail,dc=schulung,dc=ucs
  mailDomain: domain.extern
  mailHomeServer: dc1.schulung.ucs
  mailPrimaryAddress: request@schulung.ucs
  mailQuota: None
  name: request
  sharedFolderUserACL: hahn@schulung.ucs all
  sharedFolderUserACL: eri.damrose@schulung.ucs read


Running UMC diagnostics now shows this error:

Überprüfe ACL Einträge der globalen IMAP Ordner
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/diagnostic/__init__.py", line 280, in execute
    result = execute(umc_module, **kwargs)
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 232, in run
    differences = list(all_differences(acl_class))
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 200, in all_differences
    imap_acl = acl_class.from_folder(folder)
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 177, in from_folder
    acl_list = cls._get_dovecot_acl(folder)
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 192, in _get_dovecot_acl
    output = subprocess.check_output(cmd, stderr=subprocess.PIPE).splitlines()
  File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '('doveadm', 'acl', 'get', '-u', 'Administrator', 'shared/request@schulung.ucs')' returned non-zero exit status 68


Re-running the command manually works:

# 'doveadm' 'acl' 'get' '-u' 'Administrator' 'shared/request@schulung.ucs'     
ID                            Global Rights                                                                                                       
user=eri.damrose@schulung.ucs        lookup read write write-seen -                                                                               
user=hahn@schulung.ucs               admin create delete expunge insert lookup post read write write-deleted write-seen -


Re-running the check fails now with a different error:

# univention-run-diagnostic-checks --username Administrator --bindpwdfile <(echo GEHEIM) -t 52_mail_acl_sync

You can find the logging messages of the diagnostic modules at /var/log/univention/management-console-module-diagnostic.log

############################### Start 52_mail_acl_sync ###############################
## Check failed: 52_mail_acl_sync - Überprüfe ACL Einträge der globalen IMAP Ordner ##
Es wurde ein Unterschied in den ACL Einträge für die globalen IMAP Ordner zwischen UDM und IMAP gefunden. Dies ist nicht notwendigerweise ein Problem, wenn die ACL Einträge per IMAP geändert wurden.

Im globalen Mail Ordner request@domain.extern (siehe {udm:mail/mail}):
ACL Berechtigung für den Nutzer 'eri.damrose@schulung.ucs' ist 'read' in UDM, aber 'none' in IMAP.
################################ End 52_mail_acl_sync ################################

TT 2020-06-18/19
Comment 1 Florian Best univentionstaff 2022-02-08 10:39:16 CET
Still with Python 3:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/__init__.py", line 280, in execute
    result = execute(umc_module, **kwargs)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 232, in run
    differences = list(all_differences(acl_class))
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 200, in all_differences
    imap_acl = acl_class.from_folder(folder)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 177, in from_folder
    acl_list = cls._get_dovecot_acl(folder)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/diagnostic/plugins/52_mail_acl_sync.py", line 192, in _get_dovecot_acl
    output = subprocess.check_output(cmd, stderr=subprocess.PIPE).splitlines()
  File "/usr/lib/python3.7/subprocess.py", line 395, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.7/subprocess.py", line 487, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('doveadm', 'acl', 'get', '-u', 'Administrator', 'wnnyx00fcy@buuwk.dbosi/INBOX')' returned non-zero exit status 64.