Subject: CVS commit: pkgsrc/mail/gmime
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 03/08/2007 20:04:07
Module Name:	pkgsrc
Committed By:	wiz
Date:		Thu Mar  8 20:04:07 UTC 2007

Modified Files:
	pkgsrc/mail/gmime: Makefile PLIST distinfo
	pkgsrc/mail/gmime/patches: patch-aa
Removed Files:
	pkgsrc/mail/gmime/patches: patch-ab

Log Message:
Update to 2.2.4:

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.


To generate a diff of this commit:
cvs rdiff -r1.12 -r1.13 pkgsrc/mail/gmime/Makefile
cvs rdiff -r1.6 -r1.7 pkgsrc/mail/gmime/PLIST
cvs rdiff -r1.7 -r1.8 pkgsrc/mail/gmime/distinfo
cvs rdiff -r1.3 -r1.4 pkgsrc/mail/gmime/patches/patch-aa
cvs rdiff -r1.2 -r0 pkgsrc/mail/gmime/patches/patch-ab

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.