44d9a395b3
2007-02-08 Jeffrey Stedfast * README: Bumped version * configure.in: Bumped version to 2.2.4 2007-02-06 Jeffrey Stedfast Fix for bug #394433 * configure.in: Detect if the system has GNU's getopt implementation available for us to use. * Makefile.am: Don't build our own copy of the GNU getopt library if the system has it available. * src/uuencode.c: If the system has getopt.h, use it instead of our own getopt.h. * src/uudecode.c: If the system has getopt.h, use it instead of our own getopt.h. 2007-02-06 Jeffrey Stedfast More fixes on account of my test suite... * tests/test-cat.c (test_cat_substream): end = start + random amount... duh. Fixes a bug where sometimes the end bound was < the start bound. * gmime/gmime-stream-cat.c (stream_substream): Calculate the length of each of the source streams correctly. D'oh. (stream_substream): Fixed the calculation for s->start. (stream_substream): Fixed the s->end calculation for when end within the source stream's bounds. (stream_substream): Keep track of how long our substream is going to be for use with setting absolute bound_end on a multi-stream substream. 2007-02-05 Jeffrey Stedfast Fixes on account of the awesome test suite I wrote earlier... still need to fix ::substream() tho (or maybe it's just the test that's broke?). * gmime/gmime-stream-cat.c: Added an id member to struct _cat_node, for use with debugging... (stream_read): Seek in the source stream, don't call Cat::stream_seek() to do it. (stream_seek): Swapped the logic of the "within bounds" check, had it backwards. When seeking past a stream, set the node->position to the length of the stream (technically, it's like we read() thru all that data, right?). Instead of resetting all streams starting at n->next, reset them all starting at current->next... since 'n' technically might be before 'current'. (g_mime_stream_cat_add_source): Assign each node an id for easier debugging... 2007-02-05 Jeffrey Stedfast * tests/test-cat.c: The beginnings of a test suite for GMimeStreamCat. * gmime/gmime-stream-cat.c (stream_read): Go to the next stream if nread <= 0, not just nread == 0. 2007-02-04 Jeffrey Stedfast * gmime/gmime-stream-mem.c (stream_reset): No longer need to update stream->position. * gmime/gmime-stream-mmap.c (stream_reset): Same g_return_if_fail change. Also don't update stream->position. (stream_seek): Added similar sanity checking/eos resetting as StreamFs code. * gmime/gmime-stream-file.c (stream_read): Style changes. (stream_write): Style changes. (stream_close): Fixed compiler warning. (stream_reset): Changed g_return_if_fail to a true if-then. (stream_seek): Changed to mimic the StreamFs changes. (g_mime_stream_file_new): Similar to fs_new() change. * gmime/gmime-stream-fs.c (stream_close): Loop the close() ourselves. (stream_reset): Changed g_return_if_fail to a true if-then. Also be better about resetting eos. (stream_seek): Rewritten to be more correct/robust (at least I hope). Also properly reset eos when appropriate. (g_mime_stream_fs_new): If lseek() fails, pretend start offset is 0. * gmime/gmime-stream.c (stream_reset): No longer needs to update stream->position. (g_mime_stream_reset): Update stream->position if everything reset smoothly. This is just a convenience change to subclass implementations. * gmime/gmime-stream-cat.c (stream_read): Rewritten. Hopefully correct now? Ugh. We can hope... (stream_write): Fixed to work better. (stream_close): Rewritten. (stream_reset): Rewritten to reset the streams, don't seek. (stream_seek): Rewritten... still not correct, but should be ok assuming our bound_start is 0. (stream_length): Rewritten to not depend on a pre-calculated length value... this Does Not Work (tm) if the source streams are unbound and we've written to them. (stream_substream): Rewritten... because ::seek() is so complex for this type of stream, I've tried to eliminate a lot of the headaches by making substreams only slurp up the streams within the bounds of the start/end requested. If the entire contents within the requested bounds are contained within a single source stream, we return a substream of said source stream instead. (g_mime_stream_cat_add_source): Don't precalculate the length here anymore. * gmime/gmime-stream-buffer.c (stream_read): Fixed to never allow buflen to be negative if the read() of our source stream fails. (stream_close): Handle the case where we've already been closed. (stream_eos): Simplified. (stream_reset): Stylistic changes. (stream_seek): Don't allow seeks under our bound_start. 2007-02-03 Jeffrey Stedfast * gmime/gmime-stream-cat.c (stream_flush): Flush all streams up to and including the current stream, not just the current stream. (stream_write): break if we don't write any data to current->stream or get an error so we can try the next stream. * gmime/gmime-stream-file.c (stream_close): Same as below. * gmime/gmime-stream-fs.c (stream_close): Allow closing multiple times... makes this consistant with the other streams. (stream_write): If a system write fails with EFBIG or ENOSPC, set eos to TRUE. 2007-01-20 Jeffrey Stedfast * tests/test-streams.c (test_stream_gets): printf formatter fixes. * examples/imap-example.c: #include <glib/gstdio.h>, fixes bug #394434. 2007-01-20 Jeffrey Stedfast Fixes bug #394419 * gmime/gmime-filter-charset.c (filter_filter): Do iconv const casting. (filter_complete): Same. 2006-11-02 Jeffrey Stedfast * gmime/gmime-utils.c (g_mime_utils_header_format_date): Changed the names of the parameters to date and tz_offset to prevent warnings from -Wshadow. * gmime/gmime-filter-html.c (writeln): Fixed another possible buffer overflow condition pointed out by hpj. * gmime/gmime-filter-crlf.c (filter_filter): Fixed a possible buffer overflow condition pointed out by hpj. * gmime/gmime-gpg-context.c (gpg_ctx_op_step): Modified to use poll() rather than select() 2006-09-18 Joe Shaw * mono/Makefile.am: Use SOURCES_XML instead of XML_SOURCES to specify the sources.xml file. XML_SOURCES breaks with newer automakes. 2006-08-29 Pawel Salek * gmime/gmime-message-partial.c: set buf just before use - since the mem stream buffer may get reallocated in the meantime leading to segfaults. 2006-08-29 Jeffrey Stedfast * gmime/gmime-param.c (decode_quoted_string): Unescape escape sequences. Fixes bug #352771. * gmime/gmime-message.c (g_mime_message_set_subject): Updated the docs. (g_mime_message_get_subject): Same. 2006-08-21 Peter Bloomfield * gmime/gmime-utils.c (g_mime_utils_unquote_string): handle an arbitrary sequence of quoted and unquoted sections. 2006-08-02 Jeffrey Stedfast * README: Bumped version * configure.in: Bumped version to 2.2.3 * gmime/gmime-message.c (process_header): Decode the values for Subject, From, Reply-To so that g_mime_message_get_subject/etc all return decoded strings like they were meant to. 2006-06-23 Jeffrey Stedfast * gmime/gmime-gpg-context.c (swrite): Use g_build_filename() and g_get_tmp_dir() rather than hard-coding the tmpfile to be in /tmp. 2006-06-23 Jeffrey Stedfast * gmime/gmime-part.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-parser.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-param.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-multipart-signed.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-multipart-encrypted.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-multipart.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-message-partial.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-message-part.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-message.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-iconv.c (g_mime_iconv_open): Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-header.c (g_mime_header_new): Use g_mime_strcase_[hash,equal] rather than param_[hash,equal] to reuse code. * gmime/gmime-gpg-context.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-filter-enriched.c: Use g_ascii_* versions of str[n]casecmp. * gmime/gmime-disposition.c (g_mime_disposition_add_parameter): Use g_mime_strcase_[hash,equal] rather than param_[hash,equal] to reuse code. (g_mime_disposition_new): Same. (param_equal): Removed. (param_hash): Removed. * gmime/gmime-content-type.c: Use g_ascii_* versions of str[n]casecmp. (g_mime_content_type_new_from_string): Use g_mime_strcase_[hash,equal] rather than param_[hash,equal] to reuse code. (g_mime_content_type_set_parameter): Same. (param_equal): Removed. (param_hash): Removed. * gmime/gmime-charset.c: Use g_ascii_* versions of str[n]casecmp. 2006-06-23 Jeffrey Stedfast * gmime/gmime-stream-cat.c (stream_seek): Fixed to only seek if necessary and also to use ::reset() if seeking back to the beginning of the stream so that it works for non-seekable streams too. Fixes bug #345503 - again thanks to Charles for reporting this bug. * gmime/gmime-object.c (subtype_bucket_foreach): Fixed to also free the bucket memory. Fixes bug #345768, thanks to Charles Kerr for pointing this out. 2006-06-22 Jeffrey Stedfast * gmime/gmime-gpg-context.c: Removed #define _POSIX_SOURCE to fix bug #172179. 2006-06-15 Jeffrey Stedfast * README: Bumped version * configure.in: Bumped version to 2.2.2 2006-06-01 Jeffrey Stedfast * gmime/gmime-utils.c (parse_broken_date): Fixed to handle MM-DD-YY properly and also to fallback to DD-MM-YY if the first pair of digits isn't within range for a proper month. 2006-05-30 Jeffrey Stedfast * gmime.h.in: Removed. * gmime.h: Now static, no longer auto-generated. * gmime/gmime.c: Set the gmime_[major,minor,micro]_version variables. (g_mime_check_version): New function to check the required version. * gmime/gmime-stream-fs.c: Implement our own no-op version of fsync() for systems that don't have fsync(). 2006-05-24 Jeffrey Stedfast * examples/imap-example.c (main): Use g_mkdir() to make this example portable to Win32. 2006-05-01 Jeffrey Stedfast * gmime/gmime-gpg-context.c (gpg_ctx_parse_status): Handle prompts from GnuPG asking for the user's PIN for their SmartCard. 2006-04-21 Jeffrey Stedfast * gmime/gmime-stream.h: #include <stdio.h> for SEEK_SET/CUR/END enum values. 2006-03-16 Jeffrey Stedfast * README: Bumped version * configure.in: Bumped version to 2.2.1 * gmime/gmime-parser.c (parser_step): No-op if we are in an ERROR state. (parser_construct_message): Don't bail if we don't start in state INIT, this is valid. (parser_step_from): We need to bail even if parser_fill() returns > 0 if the line is incomplete (e.g. a forced refill was needed but no additional data could be read). 2006-03-16 Jeffrey Stedfast * README: Bumped version * configure.in: Bumped version to 2.2.0, it's about time I made a stable release. 2006-03-15 Jeffrey Stedfast * gmime/gmime-parser.c (parser_step_from): If we fail to find a From line, set an error state. Also fixed the End-Of-Data check to prevent an infinite loop if the stream ends with \n\n. (parser_construct_message): Make sure our state starts off at INIT. Also check for the ERROR state in our parser_step() loop and return NULL if we encounter an error. 2006-03-03 Jeffrey Stedfast * util/url-scanner.c (g_url_web_end): Allow urls such as "http://www.novell.com./path" (note the '.' before the path component). (g_url_addrspec_start): If the '@' is the first character in the match, then it isn't a valid email address. |
||
---|---|---|
.. | ||
anomy-sanitizer | ||
archivemail | ||
autorespond | ||
avenger | ||
balsa2 | ||
bbmail | ||
bmf | ||
bogofilter | ||
bulk_mailer | ||
clamav | ||
clamsmtp | ||
columba | ||
coolmail | ||
courier-analog | ||
courier-imap | ||
courier-maildir | ||
courier-mta | ||
cucipop | ||
cue | ||
cyrus-imapd | ||
cyrus-imapd21 | ||
dbmail | ||
deliver | ||
demime | ||
distribute | ||
dk-milter | ||
dkim-milter | ||
dot-forward | ||
dovecot | ||
drac | ||
dspam | ||
elm | ||
elm-me | ||
elmo | ||
esmtp | ||
etach | ||
etpan | ||
evolution | ||
evolution-data-server | ||
evolution-exchange | ||
exim | ||
exim-html | ||
exim3 | ||
exmh | ||
ezmlm | ||
ezmlm-idx | ||
faces | ||
fastforward | ||
fetchmail | ||
fetchmailconf | ||
fetchyahoo | ||
fix-mime-charset | ||
fromto | ||
getmail | ||
gld | ||
gmime | ||
GNUMail | ||
gnus | ||
gotmail | ||
greetdelay | ||
grepmail | ||
hypermail | ||
ifile | ||
ifile-procmail | ||
imap-uw | ||
imap-uw-utils | ||
imapfilter | ||
imapproxy | ||
imapsync | ||
imp | ||
incm | ||
ingo | ||
isync | ||
ja-mh | ||
ja-squirrelmail | ||
jchkmail | ||
kbiff | ||
libesmtp | ||
libetpan | ||
libmilter | ||
libspf-alt | ||
libsylph | ||
mail-notification | ||
mailagent | ||
mailcrypt | ||
maildrop | ||
mailfront | ||
mailgraph | ||
mailman | ||
mailscanner | ||
mailserv | ||
mailsync | ||
mailwrapper | ||
mairix | ||
majordomo | ||
mb2md | ||
mdfrm | ||
mess822 | ||
metamail | ||
mew | ||
mhonarc | ||
milter-greylist | ||
milter-regex | ||
mimedefang | ||
mini_sendmail | ||
mpop | ||
msmtp | ||
mush | ||
mutt | ||
mutt-devel | ||
nail | ||
newmail | ||
newspipe | ||
nmh | ||
nullmailer | ||
oe2mbx | ||
offlineimap | ||
p5-Email-Abstract | ||
p5-Email-Simple | ||
p5-Email-Valid | ||
p5-GMail-IMAPD | ||
p5-IMAP-Admin | ||
p5-Mail-Audit | ||
p5-Mail-Box | ||
p5-Mail-ClamAV | ||
p5-Mail-DKIM | ||
p5-Mail-Ezmlm | ||
p5-Mail-IMAPClient | ||
p5-Mail-ListDetector | ||
p5-Mail-Mbox-MessageParser | ||
p5-Mail-Milter | ||
p5-Mail-Sender | ||
p5-Mail-Sender-Easy | ||
p5-Mail-Sendmail | ||
p5-Mail-SPF-Query | ||
p5-Mail-SRS | ||
p5-Mail-Webmail-Gmail | ||
p5-MailTools | ||
p5-MIME-Lite | ||
p5-MIME-Lite-HTML | ||
p5-MIME-tools | ||
p5-MIME-Types | ||
p5-Net-LMTP | ||
p5-Net-SMTP_auth | ||
p5-razor-agents | ||
p5-Sendmail-AccessDB | ||
p5-Sendmail-PMilter | ||
p5-User-Identity | ||
Pantomime | ||
pear-Mail | ||
pear-Mail_Mime | ||
perdition | ||
perdition-bdb | ||
perdition-gdbm | ||
perdition-ldap | ||
perdition-mysql | ||
perdition-odbc | ||
perdition-postgresql | ||
pfqueue | ||
php-imap | ||
pine | ||
pine-pgp-filters | ||
popa3d | ||
poppassd | ||
poppy | ||
postfix | ||
postfix-current | ||
postgrey | ||
prayer | ||
procmail | ||
proxsmtp | ||
pulsar | ||
pymsgauth | ||
qcheck | ||
qgreylist | ||
qmail | ||
qmail-conf | ||
qmail-lint | ||
qmail-qfilter | ||
qmail-run | ||
qmailanalog | ||
qmHandle | ||
qmqtool | ||
qpopper | ||
qtools | ||
queue-fix | ||
queue-repair | ||
rblcheck | ||
relay-ctrl | ||
ripmime | ||
rmail-mime | ||
rss2email | ||
ruby-actionmailer | ||
ruby-tmail | ||
safecat | ||
sendmail | ||
sendmail812 | ||
sendymail | ||
serialmail | ||
sigrot | ||
sma | ||
smtpfeed | ||
solid-pop3d | ||
spamass-milter | ||
spamassassin | ||
spamd | ||
spamprobe | ||
squirrelmail | ||
squirrelmail-decode | ||
squirrelmail-locales | ||
sqwebmail | ||
ssmtp | ||
sylpheed | ||
sylpheed-claws | ||
sylpheed-devel | ||
sympa | ||
teapop | ||
thunderbird | ||
thunderbird-bin-nightly | ||
thunderbird-gtk1 | ||
tmda | ||
tnef | ||
tnef2txt | ||
turba | ||
up-imapproxy | ||
vm | ||
wl | ||
wmbiff | ||
wmmail | ||
xbuffy | ||
xfmail | ||
xmailbox | ||
xmailwatcher | ||
yatsvrs | ||
YoSucker | ||
Makefile |