147 Commits (ed7203022cf816d6d4067403d05bb06426253304)

Author SHA1 Message Date
mscdex 100b7cfba2 rework handling of both secure and non-secure sockets 12 years ago
mscdex 2964cfe14a fix emitting of 'message' event for fetch responses with no body literals 12 years ago
mscdex 44fb676910 fix unsolicited fetch response detection 12 years ago
mscdex da6eac3a6a don't include ".PEEK" in fetch keys, only in command where applicable 12 years ago
mscdex 318d01f177 discard any double quotes for strings in BODYs in untagged FETCH responses 12 years ago
mscdex 4398a801e4 remove displayName 12 years ago
mscdex 7cf54ed371 do more utf7 encoding and decoding for mailbox names 12 years ago
Chotiwat Chawannakul 57d7f467b7 Fix mailbox name gets convert to number 12 years ago
Brian White 6c3d6568c5 fix fetch() options a bit and don't default to fetching body structure 12 years ago
Brian White b4051174df fix fetch() message 'ending' for multiple messages 12 years ago
Brian White 3cb9beedf3 fix callback not being passed for fetch() with uids 12 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.
12 years ago
Brian White 42871d1285 allow `headers` to be a string for fetch() 12 years ago
Brian White 2029bd9da3 default to all fields for undefined `headers.fields` for fetch() 12 years ago
Brian White c6b1ffe7e7 even more fetch() fixes 12 years ago
Brian White 70251b00c3 more fetch() fixes 12 years ago
Brian White ee89662679 fix typo 12 years ago
Brian White f107a86f10 fix double emit on fetch() 12 years ago
Brian White dfe176fdfd fix xoauth/xoauth2 12 years ago
Brian White b5dca62d5b fix IDLE after connection if there is nothing yet to do and other misc changes 12 years ago
Brian White 4e61905378 Don't clear connection timer until greeting is received 12 years ago
Brian White 1bc39932df relax parsing for search/sort results 12 years ago
Brian White bb5d8c43ed fix comment style 12 years ago
Brian White 93de609c54 fix backwards compatibility for require() 12 years ago
Brian White d1cdb06cc1 use type coercion and less 'arguments' usage 12 years ago
Brian White ce072c5d84 use util.isDate instead of instanceof 12 years ago
Brian White 1a1d51c42a rename is* connection properties 12 years ago
mscdex beda1283bf Check for boolean true in headers.fields for fetch() 12 years ago
mscdex 6b6bfb6bc1 Fix 'struct' default for fetch() 12 years ago
mscdex 2ae7371f22 fetch() rewrite 12 years ago
Brian White 5720473201 Fix variable case 12 years ago
Brian White ec01e96e2b Add UTF-7 support where needed for mailbox names 12 years ago
Brian White c270a7054a fix style 12 years ago
Brian White d3a366bd84 Merge pull request #109 from antifuchs/fix-preauth-connections
Don't attempt logging in on a PREAUTH connection
12 years ago
Brian White e3b336560c Fix re-IDLE 12 years ago
Brian White d39b7e72ac Add isConnected and isAuthenticated properties 12 years ago
Brian White 8db9bccc72 Reset some more state variables 12 years ago
Brian White abc0c6bb21 Merge pull request #114 from wavify/message-size
Can request for message size when fetch
12 years ago
Brian White 737b2de8b8 Check for prepended backslashes in user-supplied flags 12 years ago
Chotiwat Chawannakul 2615008ec6 Fix style 12 years ago
Brian White 321387c0e6 Fix confusing unseen mailbox count behavior 12 years ago
Brian White 6554c74e61 Don't change internal state when opening a box until the command is actually sent 12 years ago
Brian White 639701125b Don't use arguments.callee 12 years ago
Brian White 8370471c58 Add readOnly to definition and in resetBox() 12 years ago
Brian White 6919873b6b Merge branch 'master' of github.com:mscdex/node-imap 12 years ago
Brian White adbfc49150 Make the reverse sort prefix '-' instead of '!' 12 years ago
Brian White 8376ee1559 Add uidvalidity event and make uidvalidity, uidnext, etc consistently an integer 12 years ago
Brian White 4242f2be3c Simplify command regex 12 years ago
Brian White f4641e9523 Add readOnly attribute to mailbox object when opening 12 years ago
Chotiwat Chawannakul 53e254c491 Don't reset indata.temp before in data.expect is zero. 12 years ago
Brian White b1a45c7ea6 Lint 12 years ago
Brian White 36d65c6d8f Add xoauth2 support 12 years ago
Chotiwat Chawannakul 009ccc6beb Initialize and reset unseen property. Fix wrong property assignment. 12 years ago
Chotiwat Chawannakul e8e2130249 Get unseen count of mailbox 12 years ago
Chotiwat Chawannakul 1d65778694 Fix addKeywords method 12 years ago
Brian White 49e85a43ec Merge pull request #107 from Contatta/addDel-Labels
Added support to add/remove/store X-GM-LABELS
12 years ago
Andreas Fuchs 86248a66aa Don't attempt logging in on a PREAUTH connection
Node-imap already correctly recorded state for PREAUTH connections,
but attempted to login anyway, which results in a timeout, as it waits
for the connection to get into a state it can never reach.
12 years ago
Andreas Fuchs 7749d75207 Fix IDLE for very fast connections
When issuing commands in rapid succession, it was possible for
node-imap to send multiple "DONE" commands. This resulted in wedged
state when the server dropped out of IDLE and then didn't know what to
do with the second DONE command.

This change adds a safeguard that ensures _send never sends more than
one DONE, and queues (non-DONE/IDLE) commands up for when the server
was able to acknowledge.
12 years ago
Stuart Carnie 295d6ffd06 Added support to add/remove X-GM-LABELS 12 years ago
Chotiwat Chawannakul 26be70afba Check for 'SORT' capability in _sort(). Fix style and wording. 12 years ago
Chotiwat Chawannakul 6ef3ae2141 Add sort() method 12 years ago
Chotiwat Chawannakul 86b399238a Can request for message size when fetch. 12 years ago
Brian White 28e9965787 Add ability to also retrieve only specific headers and a body in addition to all headers and a body 12 years ago
Brian White 747f2c2122 Remove length property as it can be misleading 12 years ago
Brian White 847ac47757 Fix variable re-use 12 years ago
Brian White a430d37e04 More style fixes 12 years ago
Brian White 430cda79cb Style fixes 12 years ago
Brian White 2be77661a9 Fix global leak 12 years ago
Brian White ef66bb5c57 Make line parsing state per-connection 12 years ago
Brian White 5ab5e55734 Move incoming data state variables 12 years ago
Chotiwat Chawannakul 779cc7a33f Fix buffer is not sliced when read position > 0 and bytes remaining are less than bytes expected 12 years ago
Chotiwat Chawannakul 23779f307f Fix typo. Update delim to delimiter in readme. 12 years ago
Chotiwat Chawannakul a1227bd966 Fix unexpected continuation error when APPEND 12 years ago
Brian White 298fdafcb4 Merge pull request #89 from wavify/getboxes-delimiter
Fix wrong delimiter when getBoxes()
12 years ago
Chotiwat Chawannakul fac4a1d34c Increment attribute value index after it is parsed when parsing response of STATUS 12 years ago
Chotiwat Chawannakul b48f5d804e Fix wrong delimiter when getBoxes 12 years ago
Brian White ac71ac0c8f Don't delay processing of extra data until next tick
There could be other 'data' events that are waiting to be emitted before the end of the current tick.
12 years ago
Brian White a9062b98f3 Fix buffer OOB error and re-style traffic debug output 12 years ago
Brian White 4c03c7519c First go at parser and partial code rewrite 12 years ago
Brian White 61fdef282d Fix scope issue when re-using mime parser instance 12 years ago
Chotiwat Chawannakul 84318676c6 Fix undefined login callback call when connection timed out 12 years ago
Chotiwat Chawannakul ca317f56d9 Fix missing message structure in fetch result 12 years ago
Brian White 0135f16e47 Add mailbox name to result for status() 12 years ago
Brian White edcfbdb797 Add status command 12 years ago
Brian White 83a3008658 Rename _supports() -> _serverSupports() 12 years ago
Brian White 7efda6cb9e Misc minor changes + be less strict on non-selectable mailboxes
Closes #58
12 years ago
Brian White 21e50a9887 Use string.indexOf() since we already have a stringified version of the response chunk 12 years ago
Brian White 4f8fbcbe01 Use custom message parser instead of node core's HTTP response parser
node core's HTTP response parser's header value unfolding removes any and all whitespace when concatenating lines together.

The new custom parser also removes any and all whitespace, but replaces all of said whitespace with a single space. Some message parsers behave this way also, while others choose to only remove the CRLF and preserve any other proceeding, leading whitespace.
12 years ago
Brian White 733cb24767 Revert header collection behavior such that header values are always arrays of strings instead of only when duplicate headers are found 12 years ago
Brian White 03b4cefe84 Fix more style 12 years ago
Brian White bcacc36582 Fix capatilization of Deleted flag when moving a message 12 years ago
Brian White 0c9baf755d Use node's built-in HTTP parser for headers or headers and bodies 12 years ago
Brian White 1866d4ad88 Simplify checking of server capabilities 12 years ago
Brian White 15a2e1036b Remove unused variable 12 years ago
Brian White dc45f96e21 Use lazy debugging output and some style changes / code reorganization 12 years ago
Brian White 4053d58dd9 Add RFC reference for NAMESPACE capability 12 years ago
Brian White 5cd24335e4 First go at code reorganization. 12 years ago