344 Commits (fork)

Author SHA1 Message Date
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