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
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.
11 years ago
mscdex
1c5f756056
Connection: drop restrictive flag check for addFlags()
11 years ago
mscdex
41cb2e2502
Connection: add missing message 'ended' assignment
11 years ago
mscdex
9fd42bcbed
Connection: always stringify and un-escape gmail labels in responses
11 years ago
mscdex
39b479de9d
Connection: need to write CRLF after append() data
11 years ago
mscdex
e96102d9ce
Connection: 'level' is now 'source' for Errors
11 years ago
mscdex
0342642843
Connection: allow UTF-8 strings in search requests
11 years ago
mscdex
a3125d0323
Connection: add 'type' to error object for tagged responses
11 years ago
mscdex
dfae2cb8d0
Connection: defer message 'attributes' and 'end' events until next tick
11 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.
11 years ago
mscdex
517367ef19
Parser: check for unexpected readable-stream module behavior for node v0.8
11 years ago
mscdex
99e054b69c
Parser: fix spacing
11 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.
11 years ago
mscdex
e2c7cdd32f
Parser: add 'hack' to properly take care of non-literal BODY[*]
11 years ago
mscdex
1498020c2c
Parser: decode encoded-words by default in parseHeader()
11 years ago
mscdex
92db64096f
Parser: fix bug where entire chunk was being buffered instead of from current position onward
11 years ago
mscdex
bf4c8ca7bf
Parser: fix bug where _body isn't unset when body bytes left === chunk length
11 years ago
mscdex
e99fa094dc
Parser: remove redundant check
11 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.
11 years ago
mscdex
75e7b921e0
Parser: don't delay buffer clearing
11 years ago
mscdex
625494fc47
Connection: fix style
11 years ago
Issam Hakimi (killix)
c003a199a1
add support for xoauth & xoauth2
11 years ago
mscdex
977484ce7e
lint
11 years ago
mscdex
32d04144c6
Connection: add comment about OAUTH + SASL-IR
11 years ago
mscdex
9333c3a3a0
removeDeleted() -> expunge()
11 years ago
mscdex
48e37631c7
add support for STARTTLS
11 years ago
mscdex
dd3575560d
Connection: fix typos
11 years ago
mscdex
dd5ce57bc1
Connection: simplify xoauth error check
11 years ago
mscdex
679d685fd9
Parser: wrap passed in stream for node v0.8
11 years ago
mscdex
46efaa5e28
add support for THREAD
11 years ago
mscdex
b85456876c
Connection: add ability to explicitly close the current mailbox without auto-expunging
11 years ago
mscdex
409577fdf8
add support for QUOTA
11 years ago
mscdex
008332036f
add support for ESEARCH
11 years ago
mscdex
15727c5ac1
Parser: body structure can be either 'BODY' or 'BODYSTRUCTURE'
11 years ago
mscdex
a1295a31de
Connection: update comment
11 years ago
mscdex
132cd1e13a
Parser: check untagged list-style responses for no results
...
Example: * SEARCH
11 years ago
mscdex
bad60cf479
Parser: fix text code parsing for tagged responses
11 years ago
mscdex
2bbc17d6e3
Connection: fix UID-based fetch()
11 years ago
mscdex
10f65e4d2a
Parser: add header parser
11 years ago
mscdex
5eb8334553
module rewrite
11 years ago
mscdex
ed7203022c
utilize MOVE and UIDPLUS extensions if available and applicable when moving messages
11 years ago
mscdex
c6c6168a72
imap: fix permFlags check after flag case normalization change
11 years ago
mscdex
1815f9d5f8
lint
11 years ago
Brian White
1a69a5646c
Merge pull request #215 from meetmikey/master
...
take into account numeric gmail labels that are automatically parsed as numbers
11 years ago
mscdex
d22fe39448
flags are case-insensitive
11 years ago
Sagar Mehta
9ad3011c83
cast label to string
11 years ago
mscdex
0a8a4d5294
check for additional data after IDLE/NOOP responses
11 years ago
mscdex
97a2fb06a4
Fix bracket parsing for FETCH responses
11 years ago
mscdex
10f158e689
trim response line for misbehaving IMAP servers
11 years ago
mscdex
455aabab49
fix typo
11 years ago
Chotiwat Chawannakul
73c7d4cea9
Merge branch 'upstream' into fix-empty-boxname
...
Conflicts:
lib/imap.js
11 years ago
mscdex
e4a4fed921
un-escape gmail labels
11 years ago
mscdex
08ec773770
explicitly wait for idle continuation before sending DONE
11 years ago
mscdex
835518ca89
use end of string or CRLF in regexps
11 years ago
mscdex
d6b3c0c552
fix line ending check for string literal detection
11 years ago
mscdex
f1c59a7468
adjust untagged response regexp to allow for text code only
11 years ago
mscdex
502a2aaf4b
fix fetch command check when determining a response was unsolicited
11 years ago
mscdex
685a682572
more unsolicited response checks
11 years ago
mscdex
3d7b5e4cc8
update unsolicited response check
11 years ago
mscdex
26c6a7827c
guard against duplicate DONE commands
11 years ago
mscdex
1e020b47c1
cache part id check regexp and perform type check in object(s) passed to fetch()
11 years ago
mscdex
b786c82eec
fix style in move()
11 years ago
mscdex
a99b2c0084
simplify IDLE mechanism and _send() logic
11 years ago
mscdex
95902ec770
change MAX_WAIT from 29 to 5 minutes for re-idling
11 years ago
mscdex
ce87915fb0
pass base64-decoded message on continuation to callback as error for xoauth2
11 years ago
Brian White
acbe2913f3
Merge pull request #188 from mikemee/master
...
fix for append with empty flags array
11 years ago
Chotiwat Chawannakul
6f2adf53e3
Pass response text code and message for tagged response in append and move
11 years ago
mscdex
69d23e446f
always pass any response text code and message for tagged responses to the callback as the last argument
11 years ago
mscdex
6b0b8ff8b4
fix ignoring of 'useless' untagged OK responses
11 years ago
Mike Mee
9950b29876
Fix append with empty flags array
11 years ago
mscdex
b974f4da64
listen for 'error' on both plain and cleartext sockets
11 years ago
mscdex
2a00c83058
fix style
11 years ago
mscdex
93cb0e4c44
Merge branch 'master' of github.com:mscdex/node-imap
11 years ago
mscdex
037fcc2fff
ignore untagged OK responses that contain no other information
11 years ago
mscdex
30c11e4710
make serverSupports() public
11 years ago
Nicolas Chambrier
0b042e0e14
Allow custom TLS options ( fix #181 )
11 years ago
Chotiwat Chawannakul
12a05501b7
Allow empty mailbox name (e.g. " ")
11 years ago
mscdex
78935f8a3c
constant var names should be in caps
11 years ago
mscdex
baf18ad2b8
fix header value parsing behavior for folded lines
11 years ago
mscdex
4e0e7436e3
fix 'connected' and 'authenticated' assignments
11 years ago
mscdex
13eb18f97d
Merge branch 'master' of github.com:mscdex/node-imap
11 years ago
mscdex
6532b25ca9
don't write to a dead connection
11 years ago
Chotiwat Chawannakul
eec89fb6ec
Encode namespace with utf7 in getBoxes()
11 years ago
mscdex
2b2bacfbca
when retrieving the mailbox list, support children that may come before their parents
...
closes #163
11 years ago
mscdex
f2ec7d6071
fix regexps again
11 years ago
mscdex
024ba1f78e
modify regular expressions used for untagged responses to ignore trailing whitespace
11 years ago
mscdex
d7366a9202
fix parsing resp-text-code on tagged error responses
11 years ago
mscdex
e7cd3df5cd
be less strict about username/password value checking
...
refs #165
11 years ago
mscdex
f62659a523
re-add node 0.6 compatibility
11 years ago
mscdex
034bd33cf3
better fetch() argument detection
11 years ago
mscdex
28999b3b45
add more detail to error object
11 years ago
mscdex
86efc68998
improve handling of negative welcome response upon connection
11 years ago
mscdex
100b7cfba2
rework handling of both secure and non-secure sockets
11 years ago
mscdex
2964cfe14a
fix emitting of 'message' event for fetch responses with no body literals
11 years ago
mscdex
44fb676910
fix unsolicited fetch response detection
11 years ago
mscdex
23dc0e9c80
be less strict in parsing folded header values
11 years ago
mscdex
da6eac3a6a
don't include ".PEEK" in fetch keys, only in command where applicable
11 years ago
mscdex
318d01f177
discard any double quotes for strings in BODYs in untagged FETCH responses
11 years ago
mscdex
4398a801e4
remove displayName
11 years ago
mscdex
7cf54ed371
do more utf7 encoding and decoding for mailbox names
11 years ago
Chotiwat Chawannakul
57d7f467b7
Fix mailbox name gets convert to number
11 years ago
Brian White
6c3d6568c5
fix fetch() options a bit and don't default to fetching body structure
11 years ago
Brian White
b4051174df
fix fetch() message 'ending' for multiple messages
11 years ago
Brian White
3cb9beedf3
fix callback not being passed for fetch() with uids
11 years ago
Brian White
a9870dfce9
fix multiple header fetch parsing
11 years ago
Brian White
2d7d0a7207
fix syntax error
11 years ago
Brian White
9a0a42c50c
remove support for partial body fetching
...
We have no way to match up a partial fetch response if less than the number of
octets we requested were returned, due to the way IMAP responds to partial fetches.
Example: We request BODY[TEXT]<0.32>, but BODY[TEXT] is only 16 bytes,
then we get back: BODY[TEXT]<0> {16}
This leaves us with no way to find out what the original
length request was.
Because of this and the fact that the server can return requested
values in any order, I am disabling partial fetches entirely.
11 years ago
Brian White
42871d1285
allow `headers` to be a string for fetch()
11 years ago
Brian White
2029bd9da3
default to all fields for undefined `headers.fields` for fetch()
11 years ago
Brian White
caff5aa764
fix BODY[] parsing
11 years ago
Brian White
c6b1ffe7e7
even more fetch() fixes
11 years ago
Brian White
70251b00c3
more fetch() fixes
11 years ago
Brian White
ee89662679
fix typo
11 years ago
Brian White
f107a86f10
fix double emit on fetch()
11 years ago
Brian White
dfe176fdfd
fix xoauth/xoauth2
11 years ago
Brian White
b5dca62d5b
fix IDLE after connection if there is nothing yet to do and other misc changes
12 years ago