bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
414bbc6dfb81276908f130354890b143cbf1203c |
|
30-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap: When sending "+ OK" to client, uncork ostream immediately
This makes sure that it's sent to the client as soon as possible.
Also removed o_stream_nflush(), since uncorking does that already.
If there is no corking, the "+ OK" was already attempted to be sent
by the o_stream_nsend() call and a flush is unlikely to help. |
2e47584d767f86848212ad5089549d3bb01885ca |
|
19-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap: imap_parser_unref() should always set parser=NULL
Not just when the last reference is cleared. This is how *_unref()s should
work everywhere in Dovecot. This fixes a bug in lib-imap-client where a
parser could have been accessed after it was already freed. |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74c |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Change string position/length from unsigned int to size_t
Mainly to avoid truncating >4GB strings, which might potentially cause
some security holes. Normally there are other limits, which prevent such
excessive strings from being created in the first place.
I'm sure this didn't find everything. Maybe everything could be found with
compiler warnings. -Wconversion kind of does it, but it gives way too many
unnecessary warnings.
These were mainly found with:
grep " = strlen"
egrep "unsigned int.*(size|len)" |
5965eaa2d972e6264cecaf54091cd43019bc7d1f |
|
23-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Added uchar_empty_ptr and use it instead of &uchar_nul.
This makes Coverity happier about not treating a char as an array.
For now this is a pointer to a 0, but could as well become a pointer
that crashes if dereferenced. Shouldn't be NULL anyway because clang's
-fsanitize=nonnull-attribute will complain about them. |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
d9a7e950a9cd21f2b4a90ec7759fca9e8fcc7995 |
|
05-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Fixed mismatched bool vs. int/pointer handling
I don't think these fix any actual bugs. |
d8aa10df6d1dae56d3aa485708a34d74e9e31e79 |
|
29-May-2016 |
Stephan Bosch <stephan@dovecot.fi> |
imap: Implemented support for the LITERAL- capability.
This replaces the LITERAL+ capability when the imap_literal_minus setting is enabled. |
0adc24c0c534944b55a185795e09dfaea2ca3131 |
|
29-May-2016 |
Stephan Bosch <stephan@dovecot.fi> |
lib-imap: imap-parser: Turned the fatal error flag into a proper error code. |
7bb371485650002935888b2f9b72b23aba5a5d9a |
|
29-May-2016 |
Stephan Bosch <stephan@dovecot.fi> |
lib-imap: imap-parser: Made the fatal result parameter of imap_parser_get_error() optional. |
468440fab1a18d93a31b87fd92b25c86c6328e98 |
|
29-May-2016 |
Stephan Bosch <stephan@dovecot.fi> |
lib-imap: imap-parser: Renamed error field to error_msg. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
7e428afa350650f2f5b45feac2729a28f891d16e |
|
07-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-imap: IMAP parser didn't parse atoms correctly that started with '~' character.
literal8 begins only after "~{", not immediately after "~" which is a valid
ATOM-CHAR. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
1dc33c503c3de306db4b7cba4e51ea2077b2805d |
|
02-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Fixed NIL astring to not lose its case-sensitivity. |
d0c9d4332d437b32fa6d003e4b3360b51b60e255 |
|
02-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Added IMAP_PARSE_FLAG_STOP_AT_LIST for stopping after '(' |
f7464ce41ebaa922cb36e85fdd14e27c4c43eba8 |
|
02-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap: IMAP protocol parser was parsing NIL case-sensitively.
Luckily no commands currently actually use NILs. |
6b94ad24675cf006b0aafc6746d4419d78bc454c |
|
16-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Fixed parsing literal8 in some situations. |
ba9f57d777b213081ac7e780ea112d641af4e7f1 |
|
06-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap: imap_parser_read_args() shouldn't append multiple EOLs when calling multiple times. |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
73592a4e11ebdc306a9fd030bff879318c84270a |
|
24-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Changed public IS_ATOM*() macros to match RFC 3501 exactly.
Move the imap-parser specific "atom plus some more" parsing macro inside
imap-parser.c so it's not used by anyone else. |
0bd9face893b149e486125c260a764636dd8bdd2 |
|
11-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Added IMAP_PARSE_FLAG_SERVER_TEXT that fixes parsing input from IMAP server. |
2984b6b095294c50c4626aef74a02d2e04472640 |
|
11-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Decrease minimum memory allocations.
This is mainly to avoid wasting settings-related memory for IMAP processes.
Probably something more radical should be done at some point. |
7f4a4940836d707746fc9718caac9e86b0c3b4e9 |
|
29-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap-parser: Fixed imap_parser_read_last_literal() to work again |
24d136690a38b536fed036e5b8b897f2c459e965 |
|
29-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap-parser: Allow calling imap_parser_read_args() multiple times with larger count parameter. |
1b86c77db0f27504e7490af93fe8e16d76284504 |
|
29-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap-parser: Removed filling missing parameters with NILs.
No code was relying on this behavior. |
e34d170f8f0e084bd94bfbc1a7085ece67e508df |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Make sure we check all the functions' return values. Minor API changes to simplify this.
Checked using a patched clang that adds attribute(warn_unused_result) to all
functions. This commit fixes several error handling mistakes. |
e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added o_stream_nsend*() and related functions to make delayed error handling safer.
Once o_stream_nsend*() is called, o_stream_nfinish() must be called before
stream is destroyed to finish checking if there were any errors. If
something failed and the stream is just wanted to be closed,
o_stream_ignore_last_errors() can be called.
For streams where errors don't really make any difference (network sockets)
you can call o_stream_set_no_error_handling() immediately after creating the
stream. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
d5b9f3d491742128ea753a7811a81824b2728f60 |
|
20-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
imap parser: literal8 flag was handled in opposite way. |
a84bd90eee7aa0e5e0fb536a22d0ea4b5f8f66c1 |
|
20-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
imap parser: Added support for parsing literal8 (for BINARY extension) |
7afab1ff465b429f7ee277c5a408d9ea4034ba61 |
|
02-Jun-2012 |
Stephan Bosch <stephan@rename-it.nl> |
imap-parser: Added IMAP_PARSE_FLAG_INSIDE_LIST flag.
Adds mode flag to IMAP parser which makes it assume it is inside a (...) list,
making ')' equal to EOL and '\n' an error. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
428fb4dc39c6e9b2eb36216c396dad6096a65f8f |
|
09-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Added reference counting to imap parser. |
2e37d45867d081db150ab78dad303b9077aea24f |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
183bea41fa640dc8117f3eb45ff935cd81377a84 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
5000d15a4d58579a6384833d4c8b5a340ead20de |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-imap: imap_parser_finish_line() didn't return failure on invalid input. |
1f0d01bc0b8da7d1865dd054830c5ae262b36cbb |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-imap: imap_parser_finish_line() didn't return failure on invalid input. |
f6a8cd6eab1ca716ce480962b36a58f9f7379af3 |
|
31-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-imap: struct imap_arg.str_size now contains the string value lengths.
This is especially useful for literals that might contain NUL bytes. |
0153a02ae5b49c11fe77dfe240910a2e946b74c8 |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
imap parser: Fail immediately if we see unexpected ')' while reading atom.
--HG--
branch : HEAD |
c2fbbf7515aa419dc8b2d62a3c2bb0471d51a391 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Changed imap_arg accessing APIs.
The new one is easier for both coders and static analyzers.
--HG--
branch : HEAD |
1d09825c4c6acd79a4186e2946bfec28558e54fa |
|
13-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Added imap_parser_set_streams().
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
ce3a02785c0a034436b566949c6b1f334d73858c |
|
23-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Inlined IMAP_ARG_*() macros' error handling functions.
--HG--
branch : HEAD |
7d39f10d527cf5d11673785f619fd0a002acd47c |
|
22-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
imap_parser_read_args() didn't correctly return how many parameters were read.
--HG--
branch : HEAD |
8e971e4968926ae21f49e6cc58d138608520ab03 |
|
26-May-2009 |
Timo Sirainen <tss@iki.fi> |
imap-parser: Don't return early if line ends with CR but there's no LF.
--HG--
branch : HEAD |
f2afd36af4a12549a0c89ba1bdf9ef424dc6f31d |
|
18-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
imap-parser: Added IMAP_PARSE_FLAG_MULTILINE_STR flag.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
1fa7edf68ef5cd03c7adf676839c695109993f01 |
|
06-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If IMAP_PARSE_FLAG_ATOM_ALLCHARS is enabled, allow also ')' characters in
atoms if no lists are open.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
f0ade4e2a28e5adfb9952507f10d360da7e4b7bb |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed handling invalid characters in atoms.
--HG--
branch : HEAD |
ffa9c1a085a631e173eeb246ce9d3d2d54269ef2 |
|
01-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Added IMAP_PARSE_FLAG_ATOM_ALLCHARS.
--HG--
branch : HEAD |
89669e1b9dfaa4a7aa26f90f7e558b5b1033514f |
|
08-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Added imap_parser_get_literal_size() and imap_parser_read_last_literal() to
help continue parsing input after IMAP_ARG_LITERAL_SIZE when
IMAP_PARSE_FLAG_LITERAL_SIZE is used.
--HG--
branch : HEAD |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
648d24583c1574441c4fa0331a90bd4d6e7996c5 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
pool_unref() now takes ** pointer.
--HG--
branch : HEAD |
00395881d1dbbf37178d1efc193a7e9804aaff3b |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Removed _ prefix from all public APIs.
--HG--
branch : HEAD |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--HG--
branch : HEAD |
1582f0b7daeb1b30214e067e050d8d0017b1d2f1 |
|
02-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed IS_ATOM_SPECIAL() to IS_ATOM_SPECIAL_INPUT() and added a new
IS_ATOM_SPECIAL() that contains all of the specials.
--HG--
branch : HEAD |
92269da33087dbae49c678438fd8804f05a63532 |
|
29-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
imap_arg_string() should handle IMAP_ARG_LITERAL also.
--HG--
branch : HEAD |
7c7a364a72d4edd1701df72fee835c09db19d933 |
|
29-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Changed imap-parser API to use standard arrays for lists instead of its own
imap_arg_list struct.
--HG--
branch : HEAD |
f1e9611e93dcb3b745c1904029084fa81644e1b3 |
|
29-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Added more consts to imap-parser API
--HG--
branch : HEAD |
b5a084602a3dc2c118345f6d2990f47c1ff66264 |
|
18-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Use larger default pool sizes
--HG--
branch : HEAD |
65b7beb7cefce89e175920ef6c16118b1b0dbfb3 |
|
18-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Added some noreturn attributes and fixed warnings caused by them.
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--HG--
branch : HEAD |
6ef7e31619edfaa17ed044b45861d106a86191ef |
|
13-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added "bool" type and changed all ints that were used as booleans to bool.
--HG--
branch : HEAD |
eac5209701f957767e076d19b1474a4da7e4f3ba |
|
12-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Updated IS_ATOM_SPECIAL() list and moved it to header file.
--HG--
branch : HEAD |
ce3a233032cec7647e4d6abb804411a91f3ec97b |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Removed element_count variable, it's not used anymore.
--HG--
branch : HEAD |
4c07b08af30e1065f7022980b60474f229d8cadf |
|
28-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
BODY.PEEK[HEADER.FIELDS (...)] list is allowed to contain strings and
literals. We didn't handle them correctly before.
--HG--
branch : HEAD |
de20c643fd37e6b592f69c22a926dd1b5a7edb76 |
|
06-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Fixes for parsing BODYSTRUCTURE
--HG--
branch : HEAD |
1733dc0970314e157c001dd21c39b275d515c259 |
|
02-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
IMAP parser memory limits are now enforced by bytes per line rather than
limiting maximum amount of tokens per line. Default is 64k now, which should
help with the huge message sets generated by some clients.
--HG--
branch : HEAD |
fb04ac9c58352325385ec806d2f6be48332e43cd |
|
20-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
Literals didn't work if they weren't the last argument.
--HG--
branch : HEAD |
091303c3130376fcb955e4eded8593f2a4455bec |
|
20-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
We didn't stop after reading literal size. This broke using non-synced
literals with APPEND.
--HG--
branch : HEAD |
2568db5e5635acc7fb99d90d2fc7aca9ca912714 |
|
09-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
Literal parser broke if \r\n wasn't in buffer at the time '}' was parsed.
--HG--
branch : HEAD |
547523a3ba712cea19f990ca90cfea8fad976dcc |
|
13-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Allow '\' character too in atoms, they're used in flags..
--HG--
branch : HEAD |
2e6e7a4c3319072407c32ac5c4a418237fb0b38e |
|
14-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
show proper error message to 8bit chars
--HG--
branch : HEAD |
81b3bb812b4bdace50984a871186ddab408bf29c |
|
14-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Allow wildcards anyway in atoms, they're needed with LIST.
--HG--
branch : HEAD |
eb438bd50c7b17e875c42869f3b3e384487313b5 |
|
14-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Complain if atoms contain invalid characters.
--HG--
branch : HEAD |
385310979408010b6114e2ae8adf0df727e6e065 |
|
07-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
Don't do x-unknown mime encoding. Correct way is to just send them as
literals to client. ENVELOPE, BODY and BODYSTRUCTURE replies are now always
sent as literals if they contain 8bit text, '"' or '\' characters.
Added option to IMAP parser to return literals with IMAP_ARG_LITERAL type.
--HG--
branch : HEAD |
5907141755c22209ce27d19c2e1992549d77be84 |
|
31-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Giving >7 args to imap command was buggy
--HG--
branch : HEAD |
fbe2451122809f2b719316d0edd9d7e7c91c0d34 |
|
23-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Disconnect client if given non-sync literal size is too large. Better than
eating the input.
--HG--
branch : HEAD |
1879416e000b4509087e05098512b7af9a4cc5f6 |
|
23-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Support for LITERAL+ extension.
--HG--
branch : HEAD |
a096ecaeb090e7f7b26b512866e7a1ac76b0767f |
|
22-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Externally parsed literal size always stops argument parsing now. Input
stream is now skipped when returning success/failure, so the stream can be
used for other purposes too.
--HG--
branch : HEAD |
b2cfc57b9f22f90698e7ddaaa4669c5069d348ab |
|
21-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Missing ')' wasn't reported correctly.
--HG--
branch : HEAD |
01af88dfbb7a022ddb3ab9fb4159f2a4a204ead3 |
|
10-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Added old_size parameter to p_realloc() - we rarely need it and this way
each allocation takes 8 bytes less memory.
--HG--
branch : HEAD |
c0435c854a0e7246373b9752d163095cc4fbe985 |
|
05-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming style changes, finally got tired of most of the typedefs. Also the
previous enum -> macro change reverted so that we don't use the highest bit
anymore, that's incompatible with old indexes so they will be rebuilt.
--HG--
branch : HEAD |
a3ea111cfdbfd4f32baeb0bd7f1d72568c60a023 |
|
04-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Use unsigned char* when accessing non-NUL terminating strings. Compiler
warnings would then notify about accidentally passing them to functions which
require them NUL-terminated. Changed a few functions to use void* to avoid
unneeded casting.
--HG--
branch : HEAD |
4a6f9ed8e5412508dcba1eabb58a3680ad5e9b68 |
|
03-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Rewrote rfc822-tokenize.c to work one token at a time so it won't uselessly
take memory, maybe also a bit faster. This caused pretty large changes all
around.
Also moved all string (un)escaping code to lib/strescape.c.
--HG--
branch : HEAD |
4525c4a8f8d1a6365e4469c0c8f46575400a9a67 |
|
02-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Don't access ImapArg's union members directly - too easy to mess up. Fixes a
crash with feeding non-string parameters to SEARCH/SORT commands.
--HG--
branch : HEAD |
2b619d427addefb7d1660b23a528259d162a5f67 |
|
21-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
We don't have separate read-write pools, so renamed pool_create(.., FALSE)
to pool_alloconly_create().
--HG--
branch : HEAD |
555ebb032f9b8f0cdb66f27ce7374734833e7cac |
|
19-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Buffer related cleanups. Use PATH_MAX instead of hardcoded 1024 for paths.
Added str_path() and str_ppath() functions. i_snprintf() now returns only -1
or 0 depending on if buffer got full. dec2str() returns the string allocated
from data stack. Instead of just casting to (long) or (int), we now use
dec2str() with printf-like functions. Added o_stream_send_str(). Added
strocpy() and replaced all strcpy()s and strncpy()s with it.
Pretty much untested, hope it doesn't break too badly :)
--HG--
branch : HEAD |
5254d77805cd35b9356d072ba325c356c43b0d51 |
|
18-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Marked all non-trivial buffer modifications with @UNSAFE tag. Several
cleanups and a couple of minor bugfixes.
--HG--
branch : HEAD |
9e0959adf671330f95ba941cff238ad5cd408fe1 |
|
09-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Limited max. command argument elements to 128. Added more verbose error
messages to IMAP parser.
--HG--
branch : HEAD |
ecc81625167ed96c04c02aa190a1ea5baa65b474 |
|
06-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Renamed IBuffer and OBuffer to IStream and OStream which describes their
functionality better. I tried to keep the variable names and comments also
sensible.
--HG--
branch : HEAD |
87d6f649d5a51ab462b30f27f23b8a61d6da15e6 |
|
01-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
All SEARCH arguments still may not have been parsed.
--HG--
branch : HEAD |
0200d98a218b7609e1fb43e1bde2d828f874d393 |
|
30-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Maybe now?
--HG--
branch : HEAD |
ffe5681060907246ccf7f9f413a63049b7651ba0 |
|
30-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Still not exactly right.
--HG--
branch : HEAD |
7c542b84d9f336b80e0eac464ac2694c0f846a3e |
|
30-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Lists still weren't fully parsed always.
--HG--
branch : HEAD |
af7888bde69eab553da22bdfe875f27a3234ce40 |
|
30-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Input parsing was a bit broken in some conditions. Mostly visible with
APPEND (_finally_, that should be the last weird bug I've noticed).
--HG--
branch : HEAD |
bb30dbdec689323ec145242403a11d54f8ff90b9 |
|
28-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Added --enable-asserts (default) and fixed some warnings when building
without. Added i_unreached() to indicate supposedly unreachable code block
and changed a existing i_assert(0) calls to it. Removed return_if_fail() and
return_val_if_fail() macros, they're not useful.
--HG--
branch : HEAD |
17bbd2414e0202ba3f14d3d46db4e15e4ec73629 |
|
25-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Buffer returns const type, don't cast it away.
--HG--
branch : HEAD |
71172daa00b1cb9cf50b9fec5e13d7ae53ff4acf |
|
25-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
imap_parser_read_args() didn't correctly always return "need for more data"
which sometimes resulted in broken parsing of client commands.
--HG--
branch : HEAD |
9c023e1c6ec926e59964551515fcc02f1ddb9063 |
|
20-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
List parsing was broken.
--HG--
branch : HEAD |
fa648d5d07d9152bb640d6377e7f5b78e75fcba0 |
|
18-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
IMAP_ARG_EOL doesn't belong to number of arguments in list.
--HG--
branch : HEAD |
11a1cf93e400cd7d4de4e67193e8d0f9c4bc249c |
|
17-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
ImapArgList changed from linked list to array. easier to handle that way.
--HG--
branch : HEAD |
d8a9fb948509bbcad46ca07974a89d00ea340b07 |
|
14-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
use p_realloc() instead of p_realloc_min().
--HG--
branch : HEAD |
b646fdb90f75ab80ea7feca42fa2e1f8e788b004 |
|
14-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Split IOBuffer into mmaped IBuffer, file IBuffer, memory data IBuffer and
file OBuffer.
--HG--
branch : HEAD |
458de2c8c9f10038de964d789012e80a970b9c5c |
|
12-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Dropped sent_time and alignment from MailIndexRecord. SEARCH can now use
cached ENVELOPE data to search FROM, TO, CC, BCC, SUBJECT, HEADER MESSAGE-ID
and HEADER IN-REPLY-TO. They're never cached anymore now. Also SEARCH SENT*
had to be changed to use ENVELOPE (or fallback to Date-header parsing)
because sent_time was removed.
--HG--
branch : HEAD |
69c0e4402662eb420853c11b8c27223a0bb8f0db |
|
05-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
compiler warning fixes
--HG--
branch : HEAD |
3d87bb18faf8bf1152d129288a4adb5a516d6afe |
|
24-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
We didn't allow saving messages longer than 8192 bytes. Now we also send the
"+ OK" only after other parameters have been verified to be ok.
--HG--
branch : HEAD |
6697a923d6768bf8d71f87f80b90747cf6870753 |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
move size_t fixes
--HG--
branch : HEAD |
5f5c4c6225234e008ab46b14b226ca1bc9000344 |
|
03-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
because the iobuffer is now buffered, the "+ OK" continuation request wasn't
actually sent to client .. we flush it now.
--HG--
branch : HEAD |
ec9d382ea6adbf2c8a0e5dd304acb629ebed3203 |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Introduced uoff_t which is the unsigned-equilevant of off_t. This was needed
to be able to handle off_t overflows properly. Also changed a few unsigned
int fields into uoff_t so we should now support >2G mails if uoff_t is
64bit. Also fixed several potential integer overflows.
--HG--
branch : HEAD |
468bb8fbe53f28a18a47b8dc6761171d5d8ce706 |
|
24-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
mbox fixes, not fully working yet but almost :)
--HG--
branch : HEAD |
e403d34ae6904cd8d9f72345a2f2dc017d3b46aa |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Message data is parsed in blocks (no longer entirely mmap()ed). Several
IOBuffer changes. All mixed signed/unsigned comparisions were fixed so code
can now be compiled with gcc's -W flag. mbox support is broken currently,
and there's most likely several other problems too.
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |