33 Commits (68c08ac65d2b644d5cbea00a96000a4baac9c976)

Author SHA1 Message Date
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
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
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
Alex Indigo 16dfe6a894 #276 Made parseHeader parse only header and ignore message's body + test. 11 years ago
mscdex 4729de2dab Parser: fix header parsing so that folded whitespace between adjacent MIME encoded-words is ignored 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 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
mscdex 201818dda1 Parser: fix typo 11 years ago
mscdex 88359f9f43 First go at CONDSTORE support 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 977484ce7e lint 12 years ago
mscdex 48e37631c7 add support for STARTTLS 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 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 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 10f65e4d2a Parser: add header parser 12 years ago
mscdex 5eb8334553 module rewrite 12 years ago