File too long (should be no more than 24 lines).
Line too long (should be no more than 80 characters).
Trailing empty lines.
Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.
2011-08-08 Jeffrey Stedfast <fejj@gnome.org>
* README: Bumped version
* configure.in: Bumped version to 2.4.26
* build/vs2008/gmime.vcproj: Bumped version.
2011-07-17 Jeffrey Stedfast <fejj@gnome.org>
* gmime/gmime-utils.c (charset_convert): Don't skip validation of
UTF-8 text.
2011-07-17 Jeffrey Stedfast <fejj@gnome.org>
* gmime/gmime-utils.c (charset_convert): Handle ERANGE the same as
EILSEQ.
* gmime/gmime-filter-charset.c (filter_filter): Handle ERANGE the
same as EILSEQ.
* gmime/gmime-charset.c (g_mime_charset_map_init): Improved logic
for Win32 (and even Linux) systems. Don't rely on setlocale().
2011-06-15 Jeffrey Stedfast <fejj@gnome.org>
* gmime/gmime-gpg-context.c: Define nfds_t on OSX.
2011-06-09 Jeffrey Stedfast <fejj@gnome.org>
Fix for bug #652056
* gmime/gmime-param.c (decode_value): If STRICT_PARSER isn't
defined, don't require the value to start with a valid character.
2011-06-08 Jeffrey Stedfast <fejj@gnome.org>
* README: Bumped version
* configure.in: Bumped version to 2.4.25
* build/vs2008/gmime.vcproj: Bumped version.
* gmime/gmime-session.c: Don't crash if the request_passwd()
virtual method is set to NULL. Fixes bug #651825.
2011-06-08 Jeffrey Stedfast <fejj@gnome.org>
* gmime/gmime-gpg-context.c: If building on Apple, force the use
of our own implementation of poll() because Apple's poll() is
broken on some versions of MacOS.
2011-03-26 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.24
* build/vs2008/gmime.vcproj: Bumped version.
* gmime/gmime-gpg-context.c (gpg_ctx_parse_signer_info): Fixed to
actually set the signer status. Fixes bug #645787, based on an
initial patch by Thomas Jost.
2011-03-14 Jeffrey Stedfast <fejj@novell.com>
* configure.in: Check for glib-sharp-2.0 instead of gtk-sharp-2.0
since we really only depend on glib-sharp. Also check for gapi-2.0
via pkgconfig.
* mono/gmime-sharp.dll.config.in: Dll map the .so.MajorVersion
instead of .so.Version.
* gmime/gmime-encodings.h (GMIME_UUENCODE_LEN): Fixed to prevent
possible buffer overflows.
* configure.in: Bumped version to 2.4.14 and disabled
strict-aliasing which causes bugs in GMime.
* gmime/gmime-filter-crlf.c (filter_filter): Fixed bug #606875 by
not trying to skip multiple characters per pass thru the loop when
encountering the first '.' of a possible '..' sequence.
* configure.in: Bumped version to 2.4.12
* gmime/gmime-utils.c (g_mime_utils_decode_8bit): Make sure to
always increment inptr as we force-convert it to ascii. Thanks to
Damian Pietras for finding this bug.
* gmime-2.4.pc.in: Moved -lz -lnsl, etc into Libs.private. Fixes
bug #603273.
2009-11-07 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.11
* build/vs2008/gmime.vcproj: Bumped version.
2009-11-05 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-multipart.c (ptr_array_insert): Fixed to handle an
index larger than the current array length as well as fixing the
true insert case to shift items when index is les than the current
array length (as opposed to when it is equal-to). Thanks to
harven@gingers.rulez.pl for finding this bug.
2009-10-10 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: Fixed the military timezone offsets.
* README: Bumped version
* configure.in: Bumped version to 2.4.8
* build/vs2008/gmime.vcproj: Bumped version.
* gmime/gmime-utils.c (charset_convert): If iconv() fails, treat
conditions where outleft == 0 the same as if we had gotten an
E2BIG error (e.g. we need to grow the output buffer) so that we
don't overrun it while appending a '?' placeholder character.
* configure.in: Simplified configuring of gmime in a
cross-compilation environment. Make it possible to work-around
AC_TRY_RUN limitations by copying of target system iconv-detect.h
and setting ac_cv_have_iconv_detect_h=yes.
* gmime/gmime-parser.c (g_mime_parser_set_header_regex): Fix
non-GLib regex initialization to actually compile.
* gmime/gmime-stream-fs.c (stream_read): Removed gross hack.
(stream_write): Same.
(g_mime_stream_fs_new): On Windows systems, set the translation
mode to BINARY.
(g_mime_stream_fs_new_with_bounds): Same.
* gmime/gmime-stream-file.c: Same as GMimeStreamFs
* gmime/gmime-stream-buffer.c (stream_seek_cache_read): Fixed a
64bit cleanlines issue.
(stream_seek_cache_read): Cap the max cache size to G_MAXSIZE.
2009-04-27 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.7
* build/vs2008/gmime.vcproj: Bumped version.
2009-04-25 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-object.c (g_mime_object_set_disposition): Unref the
disposition after setting it on the GMimeObject, don't ref it
again. Oops.
* gmime/gmime-message.c (unblock_changed_event): Oops, this needs
to /unblock/ the event handler.
* gmime/gmime-header.c (g_mime_header_list_set_raw): Added back
just in case someone was foolish enough to use this API.
(g_mime_header_list_has_raw): Same.
2009-04-24 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-parser.c (struct _GMimeParserPrivate): Added
message_headers_begin/end and changed the meaning of
headers_begin/end to be for the current MIME part rather than for
the current message itself.
(g_mime_parser_init): Init the boolean state variables before
calling parser_init() so that parser_init() can use them.
(parser_init): Only create a rawbuf if our stream isn't seekable
or isn't persistent. Initialize our new message_headers_begin/end.
(g_mime_parser_set_persist_stream): If our persist mode has
changed, malloc or free our rawbuf.
(raw_header_append): Don't append any data if rawbuf is NULL (this
means we're keeping track of offsets instead).
(parser_step_headers): Always update headers_begin/end since we
now always want to keep track of all header begin/end offsets.
(parser_step): Update our message_headers_begin/end state.
(parser_scan_message_part): Set the mime-part's raw header stream
on the message too.
(parser_construct_message): Same.
(parser_construct_leaf_part): Substream the input stream to get
our raw header stream to set on the mime-part's header-list.
(parser_construct_multipart): Same.
* gmime/gmime-header.c (struct _GMimeHeaderList): Instead of
having a string buffer holding the raw header block content,
instead keep a stream. This not only makes it easy for us to keep
track of what the header offsets on disk are should the developer
want to know, but it also means we don't necessarily have to use
duplicate the header block to memory.
(g_mime_header_list_set_stream): New function that replaces the
old g_mime_header_list_set_raw() and looks much cleaner.
(g_mime_header_list_get_stream): New function to access said
stream.
* gmime/gmime-message.c: Fixed uses of
g_mime_header_list_set/has_raw().
(g_mime_message_set_mime_part): Set the message's raw header
stream to NULL.
* gmime/gmime-multipart.c: Same.
* tests/test-parser.c (test_parser): Updated.
2009-04-09 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.6
2009-04-05 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-encodings.c (g_mime_encoding_uudecode_step): Fixed a
bug wrt updating uulen when the data isn't an exact multiple of 3.
* src/uuencode.c (uuencode): Don't bother dup()ing the stdout fd, just
use set_owner(FALSE) so that it doesn't close when we destroy the stream
instead.
* gmime/gmime-stream-file.c (stream_read, stream_write): Don't depend on
simple arithmetic to update our stream->position on Windows since it
may do line-ending translation behind our backs. Call ftell() to get
our real position after reading or writing.
* gmime/gmime-stream-fs.c (stream_read, stream_write): Same idea.
* gmime/gmime-utils.c (mktime_utc): Fixed the Windows code-path.
(charset_convert): In the Windows case, fake the E2BIG error condition
if outleft <= inleft on any error as errno doesn't seem to get
properly set in this case.
* tests/test-headers.c: Removed unused headers to fix the build on
Windows.
2009-04-04 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-stream-fs.c: Ported to Windows by #including io.h
* examples/basic-example.c: Reverted to the old GMimeStreamFs logic
and #included io.h for G_OS_WIN32 systems.
* examples/imap-example.c: Ported to Windows by #including io.h and
using g_ascii_strcasecmp().
2009-04-03 Jeffrey Stedfast <fejj@novell.com>
* build/vs2008: New directory for Visual Studio 2008 Solution & Project
files.
* gmime.vcproj: Moved to build/vs2008
* config.h.win32: Same.
* gmime.sln: Same.
* examples/basic-example.c: Fixed to build under Visual Studio by
using GMimeStreamFile instead of GMimeStreamFs and by #ifdef'ing
out the GnuPG code.
* tests/testsuit.[c,h]: Fixed to compile under Visual Studio which
basically means we can't use _try() as a function. Renamed to g_try().
Also renamed throw() to g_throw() for consistency.
2009-04-02 Jeffrey Stedfast <fejj@novell.com>
* tests/testsuite.c: Modified to compile without the need for
pthread.h
* gmime.vcproj: Added logic to the PreBuild step to copy
config.h.win32 to config.h
* config.h.win32: Added.
2009-04-01 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: #include <process.h> for getpid() and ws2tcpip.h
for getaddrinfo() on Windows platforms.
(mktime_utc): Use _get_timezone() when building on Windows.
(g_mime_utils_header_format_date): Windows has gmtime_s() instead
of gmtime_r(), so use that on Windows.
* gmime/gmime-parser.c: If glib is >= 2.14, use GRegex instead of
glibc regex.
2009-04-01 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: Need to #include <unistd.h> for getpid().
* gmime/gmime-stream-fs.c: Need to #include <unistd.h> here.
* gmime/gmime-multipart-signed.c: Got rid of an unused variable.
* gmime/gmime-message.c: Removed unused variables.
* gmime/gmime-content-type.c: Don't need to #include
"gmime-table-private.h" here as we don't actually use it.
* util/gtrie.c: Disable g_warning()'s when compiled w/o
--enable-warnings and also fixed some compile warnings.
2009-03-31 Jeffrey Stedfast <fejj@novell.com>
* gmime.sln: New Microsoft Visual Studio 2008 Solution file for GMime.
* gmime.vcproj: New Microsoft Visual C++ Project file for GMime.
2009-03-31 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: Removed unneeded #include <unistd.h>
* configure.in: Check for unistd.h
* gmime/gmime-multipart.c (read_random_pool): Implement using
rand() in the case that unistd.h is not available.
* gmime/gmime-parser.c (parser_scan_content): Fixed 'crlf'
argument to be a guint to make it easier to avoid compile warnings
about comparison between signed/unsigned ints in the callers.
* gmime/internet-address.c (internet_address_group_add_member):
Fixed g_return macros to return a value.
(internet_address_mailbox_get_addr): Same.
2009-03-30 Jeffrey Stedfast <fejj@novell.com>
* configure.in: Check for regex.h
* gmime/gmime-parser.c: #ifdef out the regex functionality if the
system does not have regex.h
* gmime/gmime-stream-fs.h: Don't #include <unistd.h> here.
* gmime/gmime-stream.h: Removed #include <unistd.h> as it isn't
needed there.
* gmime/gmime-part.c: Removed unused includes.
* gmime/gmime-utils.c: Only #include <sys/utsname.h> if we have
utsname.domainname. Helps build process on Windows.
2009-03-29 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.5
2009-03-27 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-stream-buffer.c: Fixed to be more diligent in setting
errno on error.
* gmime/gmime-stream-mmap.c: Fixed to be more diligent in setting
errno on error.
* gmime/gmime-stream-mem.c: Fixed to be more diligent in setting
errno on error.
(stream_seek): If the user seeks beyond the end of the buffer and
bound_end is unbound, then grow the buffer (e.g. a sparse file).
* gmime/gmime-stream-file.c: Fixed to be more diligent in setting
errno on error.
* gmime/gmime-stream-fs.c: Fixed to be more diligent in setting
errno on error.
2009-03-20 Jeffrey Stedfast <fejj@novell.com>
* configure.in: Default --enable-largefile to yes. Looks like I
forgot to do this before rolling the version to 2.4.0 like I
intended.
* tools/Makefile.am: Fixed to include the porting script in
EXTRA_DIST (instead of extra_DIST) so that the tarball includes
it, doh!
2009-03-18 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.4
2009-03-18 Jeffrey Stedfast <fejj@novell.com>
* configure.in: Check for select() and poll() as well as poll.h
* gmime/gmime-gpg-context.c (poll): Implement our own poll()
function using select() for portability to MacOS 10.2, which
apparently doesn't have poll().
2009-02-22 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: Use GSlice for rfc822 word tokens and date
tokens.
* gmime/gmime-parser.c: Updated to use GSlice.
2009-02-22 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-header.c (g_mime_header_iter_new): Use
g_slice_new().
(g_mime_header_iter_free): Use g_slice_free().
(g_mime_header_list_new): Use g_slice_new().
(g_mime_header_list_destroy): Use g_slice_free().
* gmime/gmime-gpg-context.c (gpg_ctx_new): Use g_slice_new().
(gpg_ctx_free): Use g_slice_free().
* gmime/gmime-cipher-context.c (g_mime_signer_new): Use
g_slice_new() instead of g_new().
(g_mime_signature_validity_new): Same.
(g_mime_signature_validity_free): Use g_slice_free().
(g_mime_signer_free): Same.
2009-02-07 Jeffrey Stedfast <fejj@novell.com>
* gmime/internet-address.c: Removed some unused macros.
2009-01-12 Jeffrey Stedfast <fejj@novell.com>
* mono/Makefile.am: Fixed to parallel make install, thanks to
Diego Petten
2009-01-09 Jeffrey Stedfast <fejj@novell.com>
* examples/imap-example.c (write_part): Don't unref the stream we
get from g_mime_data_wrapper_get_stream().
(reconstruct_part_content): Fixed error-checking.
2008-11-01 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-parser.c (nearest_pow): Implement using asm on i386
- this code path isn't normally built, but it's fun to
micro-optimize anyway ;-)
* gmime/gmime-gpg-context.c (status_backup): Use next_alloc_size()
macro - same as gmime-parser.c
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
GMime is a set of utilities for parsing and creating messages using
the Multipurpose Internet Mail Extension (MIME) as defined by the
following RFCs:
* 0822: Standard for the Format of Arpa Internet Text Messages
* 1521: MIME (Multipurpose Internet Mail Extensions) Part One:
Mechanisms for Specifying and Describing the Format of
Internet Message Bodies
* 1847: Security Multiparts for MIME: Multipart/Signed and
Multipart/Encrypted
* 1864: The Content-MD5 Header Field (Obsoletes rfc1544)
* 2015: MIME Security with Pretty Good Privacy (PGP)
* 2045: Multipurpose Internet Mail Extensions (MIME) Part One:
Format of Internet Message Bodies
* 2046: Multipurpose Internet Mail Extensions (MIME) Part Two:
Media Types
* 2047: Multipurpose Internet Mail Extensions (MIME) Part Three:
Message Header Extensions for Non-ASCII Text
* 2048: Multipurpose Internet Mail Extensions (MIME) Part Four:
Registration Procedures
* 2049: Multipurpose Internet Mail Extensions (MIME) Part Five:
Conformance Criteria and Examples
* 2183: Communicating Presentation Information in Internet Messages:
The Content-Disposition Header Field
* 2184: MIME Parameter Value and Encoded Word Extensions: Character
Sets, Languages, and Continuations
* 2231: MIME Parameter Value and Encoded Word Extensions: Character
Sets, Languages, and Continuations (Obsoletes rfc2184)
* 3156: MIME Security with OpenPGP (Updates rfc2015)