253 Commits (4fcb22b7f281cac42c35c9ff1c039eb76fef8c36)

Author SHA1 Message Date
Brian White 377fbc1f98 lint 11 years ago
Chotiwat Chawannakul 0e89bca78e Handle undefined quota list response when set quota on some imap server (e.g. cyrus) 11 years ago
Brian White 69a9031d7c Connection: change style for hasNonASCII() 11 years ago
Brian White d028aadfca Merge pull request #291 from kevinoid/starttls-fixes
Fix broken STARTTLS
11 years ago
Kevin Locke b73f325327 Reattach 'readable' event listener when changing streams
Parser was not unregistering the 'readable' event listener from the old
socket, nor registering it to the new socket when setSocket() was
called.  This caused event handling to stop during the STARTTLS handoff.

Signed-off-by: Kevin Locke <klocke@quantpost.com>
11 years ago
Kevin Locke 2981485551 Fix for servers with LOGINDISABLED before STARTTLS
When connecting to a server that advertises LOGINDISABLED in its
CAPABILITIES before STARTTLS, the connection raises an error and
destroys the socket before completing STARTTLS.  This is demonstrated in
the following debug output:

debug: [connection] Connected to host
debug: <= '* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS LOGINDISABLED] Dovecot ready.'
debug: => 'A0 CAPABILITY'
debug: <= '* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS LOGINDISABLED'
debug: <= 'A0 OK Pre-login capabilities listed, post-login capabilities have more.'
error: Error: Logging in is disabled on this server source=authentication
debug: [connection] Closed

It appears that a return after _starttls was overlooked (since _starttls
will call _login again once the STARTTLS has completed).

Signed-off-by: Kevin Locke <klocke@quantpost.com>
11 years ago
Sagar Mehta 57a80b854c switched error text to prefer whatever is in info.text field even in case of oauth error 11 years ago
Brian White a3a1d158c5 Parser: attempt workaround for broken mime encoded words
Some MUAs appear to break multi-byte characters across encoded word boundaries, which goes against RFC2047.

This change attempts to work around this by trying to concatenate broken encoded words that are separated by linear white space.
11 years ago
Raoul Wissink 1ecec69b00 Removed check for current request on EXPUNGE so event is always emitted. 11 years ago
Brian White 510aa0b7b9 Parser: remove Readable proxied event for node 0.8
readable-stream proxies some events in wrap(). Since the Parser doesn't care about any events other than 'readable', we remove the troublesome proxied 'error' event.

Fixes #285
11 years ago
Chotiwat Chawannakul 06bd3b9037 Connection: fix getQuotaRoot crashes when box has no quota root 11 years ago
mscdex a5a3ccfb4d Connection: guard internal box manipulation 11 years ago
mscdex 86ac8ceabc Connection: remove old parameters for seq.fetch() 11 years ago
Alex Indigo 16dfe6a894 #276 Made parseHeader parse only header and ignore message's body + test. 11 years ago
mscdex 6b52620fd9 Connection: check both permFlags and flags in move() 11 years ago
mscdex 9625faab85 Connection: reword timeout error message 11 years ago
mscdex 4729de2dab Parser: fix header parsing so that folded whitespace between adjacent MIME encoded-words is ignored 11 years ago
mscdex 0662d18f50 Connection: guard possible direct socket write 11 years ago
mscdex ccf397d7f9 Connection: fix destroy() 11 years ago
mscdex 4285211a73 Connection: add guard for conditional 11 years ago
mscdex dff2ff4a90 Connection: make end() more graceful, add destroy() for more forceful 11 years ago
Celal Baris Ozdemir 976e21709c change state to disconnected when connection ends/closed 11 years ago
mscdex b1fc9f5f89 Connection: fix modifiers assignment for fetch() 11 years ago
mscdex 8c68fcc23d Parser: relax continuation response checking for broken IMAP server implementations 11 years ago
mscdex 7dd577a133 restore npm dependency on iconv-lite 11 years ago
mscdex 41554f5188 Connection: default to lowercased version of original attribute name if no mapping exists 11 years ago
mscdex 671c5b3e0d deps: add iconv-lite fork (for now) 11 years ago
mscdex 2d7012a835 Parser: use (slower?) pure-JS fallback for encodings that iconv-lite does not support 11 years ago
mscdex 30d0b12953 lint 11 years ago
Roger Garner e787146ef4 Add support for SUBSCRIBE, UNSUBSCRIBE and LSUB
IMAP can subscribe to / unsubscribe from folders. Servers such as
Dovecot do not automatically subscribe to newly created mailboxes, you
must subscribe to them after creation.

subscribeBox - Subscribes to the specified box.
unsubcribeBox - Unsubscribes from the specified box.
getSubscribedBoxes - Issues a LSUB command to the server. Whilst LIST
returns all folders, LSUB only returns the folders the user has
subscribed to.
11 years ago
mscdex 201818dda1 Parser: fix typo 11 years ago
mscdex 88359f9f43 First go at CONDSTORE support 11 years ago
mscdex 00caa8f7b5 misc cleanup 11 years ago
mscdex f8f9310f56 Connection: add 'uidvalidity' event for unsolicited, untagged OK responses with uidvalidity text code 11 years ago
mscdex b06599ceb2 Connection: rename 'deleted' event name to 'expunge' 11 years ago
mscdex f942ede18a Connection: add 'update' event for unsolicited, untagged FETCH responses 11 years ago
mscdex f59e1239b1 Connection: do not filter box attribs 11 years ago
mscdex d7c2d89250 Connection: Don't modify permFlags 11 years ago
mscdex f831fd7fa0 Connection: refactor _store() and add setFlags() and setKeywords() 11 years ago
mscdex 8ea6b78532 Finish change over to always using preceding backslash for flags 11 years ago
mscdex 2b78b90dfa Connection: set 'ended' property sooner than the next tick 11 years ago
mscdex 5697fb601e Connection: add guard for conditional 11 years ago
Ross Johnson c1b1a0b2d1 Fix formatting 11 years ago
Ross Johnson 96af8f4a8e Fix fetch crash when all parts come back immediately
Resolves "TypeError: Cannot set property 'ended' of undefined" if
bodies are sent immediately and no msg is added to the fetchCache.
12 years ago
mscdex 1c5f756056 Connection: drop restrictive flag check for addFlags() 12 years ago
mscdex 41cb2e2502 Connection: add missing message 'ended' assignment 12 years ago
mscdex 9fd42bcbed Connection: always stringify and un-escape gmail labels in responses 12 years ago
mscdex 39b479de9d Connection: need to write CRLF after append() data 12 years ago
mscdex e96102d9ce Connection: 'level' is now 'source' for Errors 12 years ago
mscdex 0342642843 Connection: allow UTF-8 strings in search requests 12 years ago