Commit graph

172 commits

Author SHA1 Message Date
stekkel
a5081fdc11 Rewrote sqimap_fread to make it work on PHP 4.3.2.
The fread behaviour was changed with as result that fread didn't return
when the requested buffersize was full but at a earlier stage, at the end of
a tcp packet.
From now on fread stops on: EOF, full buffer and in case of sockets at end
of packet if the imap server isn't providing the requested data quick
enough.
2003-09-24 20:53:06 +00:00
tassium
160ebd3c07 By request, SASL PLAIN for IMAP and SMTP.
I did not add detection to conf.pl, perhaps later..
2003-09-23 18:06:12 +00:00
tassium
f4265d8463 Fix to prevent query containing username and password from being displayed if imap connection fails during login. Similar code committed to stable as well. 2003-08-11 17:11:14 +00:00
alex-brainstorm
75e1fc46ca Fix autodetect-delimiter-no-namespace code for devel sqimap_read_data(). Was breaking Mercury/32. 2003-07-27 00:32:34 +00:00
stekkel
e375cf726b Due to changed behaviour of fread (see php bug 24033) we cannot use large
buffersizes anymore because we cannot trust fread if the requested buffer is
actually returned.
blocking socket connections do not work anymore like they supposed to work
:(
2003-07-24 21:23:18 +00:00
alex-brainstorm
ae6e881c88 Extracted error_box() calling code into sqimap_error_box() for unified imap error display 2003-07-24 18:49:28 +00:00
stekkel
b3c5fc5794 Correct on the fly base64 decode algoritm in case the returned data does not
have "proper" lines with the same length. With an old uw server I discovered
that lines were split in the middle by \n. This fix will correct it.

The rfc about base64 decoding does not mention anything about line length.
rfc2045 does mention that lines should not be longer then 78 characters but
does not say all the lines (excluding the last of course) must be of the same
size.
There for i could not ignore it and fixed it.
2003-07-24 18:08:10 +00:00
alex-brainstorm
fc8568eca0 Fix more literal mailbox names 2003-07-23 03:02:08 +00:00
stekkel
c696c38d79 Typo:
I didn't mean that large people called chuck are slow
2003-07-03 18:10:56 +00:00
stekkel
b0521febb8 Finally nailed down the exchange problem. It was caused by a very stupid
mistake from me. I didn't ended the query with \r\n but ended it with \n. I
should have known better.
An interesting discovery was that setting the number of queries to process
at once influence performance. A higher number doesn't mean more performance.
In our tests 128 was slower then 32 (on Exchange 2000).
2003-07-03 16:18:51 +00:00
stekkel
dfe15394f6 Hopefully fixed pipelined responses, I did something stupid and didn't test
out of order reponses. Now it works.
In imap_mailbox te array with mailbox objects wasn't create correctly. It
contained double entries. That's fixed too.
2003-07-03 11:45:02 +00:00
stekkel
cf4ee7583d renamed sqimap_read_data_list => sqimap_retrieve_imap_response and created a
new function sqimap_read_data_list which will inform plugins that they
should call other functions.
2003-07-02 20:55:04 +00:00
stekkel
2aba346acf Modified pipelined request function by splitting up the the provided queries
in parts. Now we do a request for 32 queries and retrieve the response
before we continue with the next 32 queries.

The number 32 is experimental and should be tested on Exchange 2000 because
that was the imap-server which drops the connection with 100 calls at once.
Maybe we should lower it or raise it.
2003-07-02 20:24:11 +00:00
stekkel
9aa54202de return the result in case of pipelined responses 2003-06-29 10:51:31 +00:00
stekkel
37f4b81ceb fixed warning 2003-06-28 21:44:28 +00:00
stekkel
00d80d1d78 handle escaped quotes again 2003-06-28 15:34:00 +00:00
stekkel
12e70193dc Downloading attachments is fixed. Now we do not buffer the entire attachment
before echo it to stdout. with fread we detect how long the base64 encoded
liones are so we can do base64 decoding on the fly.
The advantage of using fread instead of fgets is that the buffersize can be
used so we reduce the number of echo calls (fread doesn't stop at \n).
2003-06-28 13:36:41 +00:00
stekkel
bc6e1e9fe9 Ahhh, this doesn't work when the buffer is smaller then the size of the
attachment. Can somebody fix this?
2003-06-18 22:11:09 +00:00
stekkel
5a36559d1b DO NOT buffer base64 encoded attachments before we decode them. Instead
decode them directly after we retrieved the data from the imapserver and
echo te result. This will safe a lot of memmory usage :)
2003-06-18 18:39:12 +00:00
stekkel
f11cb00d14 because we remove the quotes an empty string could be left => check if the
string is empty before we add it to the token array
2003-06-17 21:21:57 +00:00
stekkel
e990133084 fixes parseAddress. I think this thing is working brilliant :) 2003-06-17 17:17:17 +00:00
stekkel
596f4e8e2e Rewritten addressparser
Should solve infinite loops and hopefully it's also quicker.
2003-06-17 00:27:58 +00:00
stekkel
cea04e81b1 in case of BYE response display errormessage 2003-06-13 15:30:28 +00:00
stekkel
7a8f5cdf94 Another failsafe check which I missed. Thnx Erin. 2003-06-12 14:17:10 +00:00
stekkel
00da36c274 better error processing, immediate break out of the while loop in case of an
error.
2003-06-12 09:42:10 +00:00
Erin Schnabel
adbde2554f align cases so they're easier to find..
{} and comments for the bigger blocks
2003-06-11 20:41:39 +00:00
stekkel
430d013987 fixed formatting, sjeesh that's realy dull work. Makes me simple :(
The only exiting part was working with VIM for the first time. And I still
thing it's not the most user friendly editor unless you know all keycodes
which I don't know.
2003-06-11 19:53:22 +00:00
stekkel
9287970385 extra safetycheck before we process group addresses 2003-06-11 17:54:12 +00:00
stekkel
28a9dd7eb8 Rewrite of sqimap_read_data_list. This will raise performance and it's more
accurate.
2003-06-11 17:16:29 +00:00
Thijs Kinkhorst
5136084e4e Prevent loop in parseAddress: if the address is invalid and looks like:
Thijs <aap
(no closing ">"), parseAddress would enter an infinite loop. This is
solved by increasing $pos when no closing > is found. Closes 742584,
thanks Jeroen van Wolffelaar.
2003-05-25 18:58:15 +00:00
stekkel
00cbd8dac8 Minor fixes in parseAddress and limit the returned results to 1 address
(performance) in case we are displaying the sent folder
2003-05-23 11:51:05 +00:00
stekkel
fb9dea3eb1 fix for addresses containing groups 2003-04-25 17:35:24 +00:00
Thijs Kinkhorst
102687490e encodingfixes by Marc 2003-04-01 20:47:00 +00:00
philippe_mingo
3849a687a3 Jon, please check this. 2003-03-29 13:20:11 +00:00
jangliss
1910cefb96 Weird locales seem to mess with uppercase i, and php seems to like to
convert function names according to locales... bad php, but not much we can
do.  Changed quoteIMAP to quoteimap to work around this for now.  It's only
used during login as far as I can find.
2003-03-10 18:01:45 +00:00
stekkel
df9067c865 improved encodeHeader function and decodeHeader handling to follow RFC's
better.
2003-03-07 22:11:22 +00:00
stekkel
a8c6763ace in case of non sorting display newest messages first 2003-03-01 01:22:30 +00:00
stekkel
56158f3748 charset encode / decode fixes
support for encoded personal names inside addresses
fix for headerrequest
2003-02-28 19:12:00 +00:00
stekkel
fad2721642 added RECENT response to result array of sqimap_get_status in order to
remove an expensive select call in the newmail plugin. Probably the
influences on speed when the newmail plugin is disabled are minimal.
2003-02-06 19:36:09 +00:00
jangliss
cf1ed1cacd Added a check in sqimap_login to verify $onetimepad is set. Not sure why
no check was ensured before.  Should make plugin developers a little happier
in some cases too.
2003-01-09 20:12:40 +00:00
Erin Schnabel
d0bc2d45e0 This makes more sense to me, and has been shown not to break anything, and while the other method should probably be fixed at some point, I think this is good for now. 2003-01-09 01:40:00 +00:00
tassium
32740804c9 Improved error handling, especially for everyone whose CVS install just broke because plain auth no longer exists. (Now renamed to login) 2003-01-04 06:21:06 +00:00
tassium
d1cc599af5 Ok, I screwed up. When I put in cram-md5 and digest-md5, I left the alternative as being "plain", which is a misnomer. There really IS a mechanism called "plain", and what we're doing isn't it. So I've renamed our "plain" to "login".
For IMAP, it uses the IMAP4rev1 "LOGIN <user> <pass>" syntax.
For SMTP, it uses the AUTH LOGIN (two-step) method.
2003-01-04 06:01:26 +00:00
Thijs Kinkhorst
75de52f258 Getting ready for 1.4.0 RC1 2002-12-31 12:49:43 +00:00
Thijs Kinkhorst
b57577e4fd Assorted fixes, courtesy Roberto De Luca && kink 2002-12-21 16:13:47 +00:00
tassium
1fc6f1eced With a little help from Marc (ok, a lot), CRAM-MD5 and DIGEST-MD5 no longer require the mhash extension. If present, mhash will be used. 2002-12-07 04:02:05 +00:00
Thijs Kinkhorst
513e603e08 XXS fixes, as in stable 2002-12-06 16:42:12 +00:00
tassium
d698527ab3 Merging in the tassium-auth branch. 2002-11-06 18:55:13 +00:00
Thijs Kinkhorst
2bbed74510 Move error checking up 2002-10-26 14:20:00 +00:00
Thijs Kinkhorst
2cd17048c6 Language fix 2002-10-26 11:11:28 +00:00