| Summary | ACL tool does not list newly created ACL |
| Queue | IMP |
| Queue Version | HEAD |
| Type | Bug |
| State | Resolved |
| Priority | 1. Low |
| Owners | |
| Requester | ekg2002 (at) columbia (dot) edu |
| Created | 05/23/2006 (7110 days ago) |
| Due | |
| Updated | 06/24/2006 (7078 days ago) |
| Assigned | 05/24/2006 (7109 days ago) |
| Resolved | 06/24/2006 (7078 days ago) |
| Github Issue Link | |
| Github Pull Request | |
| Milestone | |
| Patch | No |
State ⇒ Resolved
Looks OK here on both PHP4 and PHP5 systems.
/etc/httpd/htdocs/horde/imp/acl.php on line 141
Warning: Invalid argument supplied for foreach() in
/etc/httpd/htdocs/horde/imp/acl.php on line 180
imap_getacl() exists, this is semantically more correct. Also, all
imap_* calls (beside the imap_error* calls) need to be silenced. And
you shouldn't use $_connected, but instead check in _connect() whether
the connection has already been made.
Beside that, looks good.
New Attachment: imap_getacl.patch
time for propogation to occur.
2) Store the ACL information on the client and use that instead of
asking the server again.
3) Use PHP5's imap_getacl() if available since it will use the same
stream (aka same server) as the SETACL.
None of these seem correct.
solution? Could even combine it with the sleep(), only sleeping for
php 4. Not pretty, but at least it's compartmentalized.
SETACL and GETACL are run on different Cyrus front-end servers. The
ACL information hasn't propogated to all servers by the time GETACL is
run so the data is stale. Options include:
1) Add a sleep() before the GETACL (or after the SETACL) to allow time
for propogation to occur.
2) Store the ACL information on the client and use that instead of
asking the server again.
3) Use PHP5's imap_getacl() if available since it will use the same
stream (aka same server) as the SETACL.
None of these seem correct.
State ⇒ Feedback
New Attachment: acldiag.png
information.
First of all, we're running Cyrus IMAP with RFC 2086 ACL support.
It seems that the query made in the connection created in Horde's
_getACL() in rfc2086.php is not obtaining the correct information
after the imap_setacl() function is invoked earlier in the page load.
Upon submitting a new acl, imap_setacl is called with the new
information. For testing purposes, I inserted an imap_getacl (> PHP 5)
call immediately after this and the returned array contains the
correct information.
Later in invocation, _getACL executes a standard IMAP GETACL query,
but the server response does not contain the newly created ACL,
meaning the array returned by _getACL is incorrect.
Attached is a screenshot that shows this information.
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ ACL tool does not list newly created ACL
Queue ⇒ IMP
New Attachment: acl_fail.png
State ⇒ Unconfirmed
does not show the ACL in the list. See attached screenshot.