-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mbentry->ext_name not set for proxying GETMETADATA #2741
Comments
As fetching the Size Information in Cyrus imapd 2.4 I tried the GETANNOTATION command:
So the bt differs at cmd_getannotation / cmd_getmetadata but reunite in annot_fetch_cb |
See also #2472 |
So, the problem is that this mbentry was created by mboxlist_lookup, which only sets the fields from the mailbox list (but external names need more context -- userid and namespace -- so the ext_name field is left blank). But then we just pass that mbentry around and everything further down assumes the ext_name field is populated. It looks like nothing in Cyrus ever (at present) initialises the ext_name field of an mbentry (seriously! try |
Added a check for getmetadata to the Murder.frontend_commands test, which reproduced the error. And added a5767f0 (master) and 80b1a70 (3.0) that seem to fix it. Can you try this out with a real world setup and confirm if it's properly fixed? (I wonder if there's a nuance that's still broken that I haven't seen because Cassadane's murder setup is quite simple.) |
@elliefm I applied the patch to 3.0.11 and after some testing on my test systems I installed |
The test I added for this trips the same assertion on 2.5, so I guess that's affected too, but I doubt the 3.0/master fix will cherry-pick cleanly, so I'm gonna just let it slide for now |
Version Cyrus Iampd 3.0.8
mupdate_config: standard
Sending a GETMETADATA command to a frondend server the imapd connection
fails with an assertion error:
gdb output
mbox_pat is state->mbentry->ext_name in annotate_state_fetch
and atate->mbentry->ext_name in annot_fetch_cb
I don't know where mbox_pat / mbentry->ext_name should have been set.
The text was updated successfully, but these errors were encountered: