* YAM_MA.c, YAM_UT.c, YAM_utilities.h: fixed bug #1496905 where the time
and date expand string (%t) did return the time/date relative in UTC
rather than in the actual timezone of the original message.
257 lines of code changed in 3 files:
* YAM_UT.c, misc: replaced the very last uses of the plain sprintf() in our
FormatSize() function with calls to the buffer overflow safe snprintf().
Now YAM should be completly sprintf() free and therefore a bit more stable
against potential buffer overflows.
33 lines of code changed in 6 files:
* YAM_UT.c, misc: changed all DateStamp2String() and TimeVal2String()
conversion routines to carry an additinal "dstlen" parameter which allows
to use buffer overflow safe snprintf()-like functions.
125 lines of code changed in 14 files:
* YAM_RE.c: fixed parts of bug #1497278 where certain messages caused YAM
to process a NULL pointer via strcmp(), causing an illegal access.
24 lines of code changed in 1 file:
* YAM.c: bumped the minimum required version of codesets.library to 6.2 as
the new cyrillic auto-detection requires that version.
1 lines of code changed in 1 file:
* ReadMailGroup.c: implemented a ContextMenu for the standard ReadMailGroup
object which will be used for the embedded mail pane and which will
implement all main mail related functionality a normal read window's menu
will also provide. Please note that not all functions are implemented yet
and that we need to rework some parts.
128 lines of code changed in 2 files:
* YAM_WR.c: fixed a bug in the recentyl revised MIME parameter encoding
where an unencoded parameter was outputted without any parameter name.
6 lines of code changed in 1 file:
* misc: replaced the strtok() and strtok_r() use wherever possible with
proper strpbrk() uses as strtok()/strtok_r() is known to be unsafe due
to the fact that it modifies the content of its first argument. Therefore
the use of strtok() is highly discouraged and it shouldn't be used
in future anymore.
186 lines of code changed in 5 files:
* YAM_MI.c, misc: finally implemented the RFC2231 compliant MIME parameter
encoding routine and changed the mail compose functions to use this new
function rather than encoding MIME parameters via RFC2047. This in fact
should now make YAM fully conform to RFC2231.
140 lines of code changed in 4 files:
* YAM_utilties.h, misc: replaced the redundant ISpace() macro by the more
standardized isspace() equivalent which should remove the confusion and
mixed use of both functions/macros in the source code.
43 lines of code changed in 13 files:
Use link-libs from repository
1 lines of code changed in 1 file:
- added svn:keywords spec to missing files.
4 lines of code changed in 5 files:
* YAM_WR.c: removed some obsolete functions and did some preparations for
the upcoming RFC2231 encoding support.
66 lines of code changed in 1 file:
* UpdateNotifyWindow.c: the update notification window size and location is
now fully under user control. That means a user can now save its position
and size so that it remembers its position/size accordingly. In addition,
the "Do not notify in future" checkbox should as well work as expected now.
28 lines of code changed in 1 file:
- minor fix.
1 lines of code changed in 1 file:
* YAM_COg.c: we limit the string gadget for specifying a MIME type/subtype
to only accept valid characters which are [0-9][a-Z][+-/].
8 lines of code changed in 1 file:
* YAM_RE.c: removed some redundant rfc2047_decode() calls as we have a
general rfc2047 decoding done in MA_ReadHeader().
32 lines of code changed in 1 file:
* YAM_MI.c, YAM_mime.h, YAM_RE.c: added RFC2231 MIME parameter decoding
support. Now YAM will automatically identify if a MIME parameter contains
a RFC2231 encoded sequence and decode it accordingly. Otherwise it will
use the formerly only supported RFC2047 decoding even if that is not
fully standardized - but it is common sense that many mail clients
still encode MIME parameter with RFC2047 instead. Now only RFC2231
encoding support is missing to have the whole MIME parameter encoding
issue fixed.
186 lines of code changed in 3 files:
* YAM_RE.c: fixed a minor memory leak where we didn't free the name
component of each new content parameter.
4 lines of code changed in 1 file:
* YAM_MI.c: changed the internal "audio/x-mpeg" to use the IANA conform
"audio/mpeg" instead.
2 lines of code changed in 2 files:
* YAM_RE.c, YAM_read.h: revised the MIME content value parameter parsing
routine for the upcoming RFC2231 conform parameter decoding. The
extracting of the parameter names and values are now done in the new
ExtractNextParam() function which also perfectly takes respect of
quoted strings. It should also reduce the number of required operations
until we have separated the names/value of all MIME parameters. In
addition, the whole "struct Part" CPar#? members are now dynamically
allocated instead of modifying the ContentType member directly.
330 lines of code changed in 3 files:
* classes/MailTextEdit.c: there was no real reason to bother a user with
an error requester if TextEditor.mcc failed a minor operation (e.g.
no undo/redo was able due to the buffer borders.) Now YAM will issue
a simple DisplayBeep() instead which should be more appropriate,
especially if the user doesn't want to get interrupted during writing an
email.
20 lines of code changed in 1 file:
* misc: readded the formerly removed cyrillic auto-detect codeset stuff
after having added/revised the CodesetsFindBest() function in
codesets.library. Now a new checkbox is available in the YAM config
to select that cyrillic-specific auto-detect feature. If enabled,
CodesetsFindBest() is used right before each CodesetsConvertStr() use
to identify/guess the correct cyrillic codeset via codesets.library.
Please note that this old/new feature is still highly experimental and
requires a stil experimental 6.2 version of codesets.library. As soon as
a cyrillic user verified that it works as expected, we will bump the
mimimum required version of codesets.library to 6.2, of course.
136 lines of code changed in 7 files:
- minor optimization
3 lines of code changed in 1 file:
- minor change
1 lines of code changed in 1 file:
* YAM_UT.c: reactivated the statistical file content analysis right before
we are going to ask datatypes.library for identifying a file. Now YAM
will read the first 512 bytes of a file and try to do a statistical
analysis on it for identifying if the file is a binary or text file.
60 lines of code changed in 1 file:
* YAM_MI.c, YAM_mime.h, YAM.cd: added a whole bunch of additional,
internal MIME types together with their known file extensions. This
should hopefully increase the flexibility of YAM in case a user hasn't
configured all MIME types on his own.
61 lines of code changed in 2 files:
* misc: moved the hardcoded, internal list of MIME types to YAM_mime.h,c
and unified the previously two structures into one. Also reworked the
mechanism on how the internal MIME types are searched for identifying
a certain file. In addition, the popup lists in the configuration and
write window will now also take respect of that change and especially
the write window will now show a complete list of MIME types either
the internal (hardcoded) or the user defined one.
350 lines of code changed in 15 files:
* YAM_WR.c: revised the automatic identification of the content-type of a
file and adapted the routines to the new IdentifyFile() API.
35 lines of code changed in 1 file:
- minor compiler warning fix.
1 lines of code changed in 1 file:
* YAM_UT.c, YAM_RE.c: fixed a crash bug in the recently reworked mimetype
identification routines. In addition, the RE_DisplayMIME() function will
now only use IdentifyFile() in case the supplied content-type is NULL or
empty as the function is only for identifying a missing content-type which
only rarely happens nowadays.
44 lines of code changed in 2 files:
- minor compile fix.
2 lines of code changed in 1 file:
* misc: reworked the whole MIME type management/recognition to work more
intuitive by first scanning the user definable MIME type list, then falling
back to try to identify a file via internal methods and last by using
datatypes.library for querying general file information to construct an
artifical MIME type as a fallback. In addition, the previous limit of a
maximum of 100 user definable MIME types was removed. Now a user might
specify an unlimited amount of MIME types in addition to specifying a short
description for each type which will be later displayed right beside an
attachment file. Also removed the obsolete "IdentifyBin" option which just
caused confusion and wasn't particular usefull.
691 lines of code changed in 8 files:
* UpdateNotifyWindow.c: made the NFloattext which displays the changelog to use
MUIV_Font_Fixed instead so that a preformatted changelog will show up more
structured.
1 lines of code changed in 1 file:
* YAM_global.c: the __YAM_BUILDID define doesn't have to carry any leading "-"
sign anymore. This should make the updatecheck script less complicated and
more intuitive.
23 lines of code changed in 4 files:
* UpdateCheck.c: finalized the updatecheck mechanism together with the updated
nightly build script and PHP-based updatecheck mechanism. Now YAM should
automatically inform a user in case a newer version is set to be available
on the main update server http://update.yam.ch/
2 lines of code changed in 1 file:
* UpdateCheck.c, UpdateNotifyWindow.c: reworked the whole update protocol once
more to be compatible to the new PHP-based update script which is still under
development and will notify YAM about latest software updates.
44 lines of code changed in 2 files:
Update VMakefile and smakefile.
3 lines of code changed in 1 file: