Skip to content
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

Run ImapTest #243

Open
emersion opened this issue May 11, 2019 · 4 comments · May be fixed by #499
Open

Run ImapTest #243

emersion opened this issue May 11, 2019 · 4 comments · May be fixed by #499
Milestone

Comments

@emersion
Copy link
Owner

https://github.com/dovecot/imaptest

@foxcpp
Copy link
Collaborator

foxcpp commented May 14, 2019

Tried to run imaptest stress testing against maddy.
Using go-imap 1.0.0.beta.4 and go-imap-sql (dev branch).

Command:

imaptest seed=666 port=9999 copybox=INBOX2 user=testuser pass=foo mbox=~/Downloads/firefox/dovecot-crlf

Mentioned mbox file is here: http://www.dovecot.org/tmp/dovecot-crlf.

Outputer after running is two seconds: imaptest_stress.log (look for "Error:" lines)

Looks like there is some issue that makes responses get intermixed with literals in responses.
Adding cilents=1 leaves only

Error: testuser[300]: DELETE failed: 300.6 NO Flags must be a list

@foxcpp
Copy link
Collaborator

foxcpp commented May 14, 2019

Need to check against RFC if this is a valid syntax.

*** Test close command 1/4 (line 3)
 - failed: Expected tagged reply 'ok', got 'NO Flags must be a list'
 - Command (tag 4.13): store 1,3 +flags \deleted

@foxcpp
Copy link
Collaborator

foxcpp commented May 14, 2019

Relevant ABNF from RFC 3501.

flag            = "\Answered" / "\Flagged" / "\Deleted" /
                  "\Seen" / "\Draft" / flag-keyword / flag-extension
store           = "STORE" SP sequence-set SP store-att-flags
store-att-flags = (["+" / "-"] "FLAGS" [".SILENT"]) SP
                  (flag-list / (flag *(SP flag)))

Turns out STORE * +FLAGS $FlagA $FlagB is also valid and equivalent to STORE * +FLAGS ($FlagA $FlagB).

foxcpp added a commit to foxcpp/go-imap that referenced this issue May 21, 2019
foxcpp added a commit to foxcpp/go-imap that referenced this issue May 21, 2019
See emersion#243 (comment).

ABNF:
store-att-flags = (["+" / "-"] "FLAGS" [".SILENT"]) SP
                  (flag-list / (flag *(SP flag)))
emersion pushed a commit that referenced this issue May 21, 2019
See #243 (comment).

ABNF:
store-att-flags = (["+" / "-"] "FLAGS" [".SILENT"]) SP
                  (flag-list / (flag *(SP flag)))
@foxcpp foxcpp added this to the v2 milestone Dec 15, 2019
@foxcpp
Copy link
Collaborator

foxcpp commented Dec 15, 2019

Adding to the v2 milestone. There is number of issues detected by imaptest that could be resolved only using breaking changes (see #323).

@emersion emersion linked a pull request Oct 5, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants