55 Commits (b73f325327b43bf1501208bc75f328d990bcf289)

Author SHA1 Message Date
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
Raoul Wissink 1ecec69b00 Removed check for current request on EXPUNGE so event is always emitted. 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
mscdex 6b52620fd9 Connection: check both permFlags and flags in move() 11 years ago
mscdex 9625faab85 Connection: reword timeout error message 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 41554f5188 Connection: default to lowercased version of original attribute name if no mapping exists 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 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 12 years ago
mscdex 5697fb601e Connection: add guard for conditional 12 years ago
Ross Johnson c1b1a0b2d1 Fix formatting 12 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
mscdex a3125d0323 Connection: add 'type' to error object for tagged responses 12 years ago
mscdex dfae2cb8d0 Connection: defer message 'attributes' and 'end' events until next tick 12 years ago
mscdex d80b873a6e Connection: defer fetch 'end' event until next tick
Due to streams2' use of process.nextTick, without this patch body streams' 'end' events will emit after the fetch 'end' event, causing some confusion.
12 years ago
mscdex 625494fc47 Connection: fix style 12 years ago
Issam Hakimi (killix) c003a199a1 add support for xoauth & xoauth2 12 years ago
mscdex 977484ce7e lint 12 years ago
mscdex 32d04144c6 Connection: add comment about OAUTH + SASL-IR 12 years ago
mscdex 9333c3a3a0 removeDeleted() -> expunge() 12 years ago
mscdex 48e37631c7 add support for STARTTLS 12 years ago
mscdex dd3575560d Connection: fix typos 12 years ago
mscdex dd5ce57bc1 Connection: simplify xoauth error check 12 years ago
mscdex 46efaa5e28 add support for THREAD 12 years ago
mscdex b85456876c Connection: add ability to explicitly close the current mailbox without auto-expunging 12 years ago
mscdex 409577fdf8 add support for QUOTA 12 years ago
mscdex 008332036f add support for ESEARCH 12 years ago