Brian White
4dfe687a55
Connection: only pass specific text codes to callbacks
11 years ago
Brian White
3c507f20bb
Connection: check UIDPLUS availability before attempting a UID EXPUNGE
11 years ago
Brian White
0e07b83230
Connection: fix style
11 years ago
Brian White
302e241458
Connection: fix nested OR when searching
11 years ago
Brian White
11b37fcd8f
Merge pull request #283 from wavify/tagged-ok
...
Pass tagged OK text code as the last argument of the callback (for APPENDUID, COPYUID, etc.)
11 years ago
Brian White
9f5ba4de8c
Merge pull request #307 from dominikgehl/dgl/idExtension
...
support for IMAP ID extension (RFC 2971)
11 years ago
Dominik Gehl
93337c567f
further improvements to ID extension support
11 years ago
Dominik Gehl
4ff1b82b9f
ID support improvements
11 years ago
Brian White
9ee0f51818
connection: add additional guards for idle changing
11 years ago
Dominik Gehl
b697dfe66d
support for IMAP ID extension (RFC 2971)
11 years ago
Ronnie
91fd2d1512
Removed separate if for esearch result
11 years ago
Ronnie
436a2761b2
esearch should call _esearch and return data to callback. Removed space in _esearch command and put it before encode, as query already has a space
11 years ago
Dominik Gehl
bf9984f063
allow flags with backslash in append
...
https://github.com/mscdex/node-imap/issues/186
11 years ago
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
0f09bfdea6
Pass tagged OK text code as the last argument of the callback (for APPENDUID, COPYUID, etc.)
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
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
517367ef19
Parser: check for unexpected readable-stream module behavior for node v0.8
12 years ago
mscdex
99e054b69c
Parser: fix spacing
12 years ago
Roger Garner
2867d2ac96
Ending IDLE not being detected
...
As the buffer was wiped before emitting the 'other' event, the
parser.on('other') event handler has no buffer data passed to it thus
can't detect the end of the IDLE and never calls the
self._processQueue() to get the stuff waiting in the queue to move.
12 years ago
mscdex
e2c7cdd32f
Parser: add 'hack' to properly take care of non-literal BODY[*]
12 years ago
mscdex
1498020c2c
Parser: decode encoded-words by default in parseHeader()
12 years ago
mscdex
92db64096f
Parser: fix bug where entire chunk was being buffered instead of from current position onward
12 years ago
mscdex
bf4c8ca7bf
Parser: fix bug where _body isn't unset when body bytes left === chunk length
12 years ago
mscdex
e99fa094dc
Parser: remove redundant check
12 years ago
mscdex
d4a9c30bbd
Parser: don't set _read() for body until it's needed (push() returns false)
...
This fixes a problem where _read() was firing before the parsing function exited, causing the wrong data to be pulled in from the socket stream.
12 years ago
mscdex
75e7b921e0
Parser: don't delay buffer clearing
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
679d685fd9
Parser: wrap passed in stream for node v0.8
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
mscdex
15727c5ac1
Parser: body structure can be either 'BODY' or 'BODYSTRUCTURE'
12 years ago
mscdex
a1295a31de
Connection: update comment
12 years ago
mscdex
132cd1e13a
Parser: check untagged list-style responses for no results
...
Example: * SEARCH
12 years ago
mscdex
bad60cf479
Parser: fix text code parsing for tagged responses
12 years ago
mscdex
2bbc17d6e3
Connection: fix UID-based fetch()
12 years ago
mscdex
10f65e4d2a
Parser: add header parser
12 years ago
mscdex
5eb8334553
module rewrite
12 years ago
mscdex
ed7203022c
utilize MOVE and UIDPLUS extensions if available and applicable when moving messages
12 years ago
mscdex
c6c6168a72
imap: fix permFlags check after flag case normalization change
12 years ago
mscdex
1815f9d5f8
lint
12 years ago