Most Recent Commits

* misc: replaced several VARARGS68K uses with calls to preprocessor macros which
will convert a varargs function call into a tagitem list function call. This
is a preparation of GCC5 support for the MorphOS build and refs #617.

* YAM_RE.c: made the decision whether to skip the UTF8 conversion for HTML documents or not a bit smarter by searching for embedded meta data which might set an explicit charset in addition to the mail's MIME headers. This closes #616 again.

* YAM_RE.c: a temporarily created file when viewing a mail part with a MIME viewer is no longer kept forever in T:, but treated as a zombie file to be deleted automatically later. It cannot be deleted immediately, because the MIME viewer is launched asynchronously.

* YAM_UT.c, WriteWindow.c: implemented a function to check whether a string is correctly UTF8 encoded and contains at least one UTF8 character. Based on this check the charset of text attachments is forced to either UTF8 or ISO-8859-1 instead of the configured write mail charset. This refs #600. Please note that YAM does NO reencoding, it just gives the receiver a hint how to handle the attached file.

* mui/WriteWindow.c, Config.c: excluded the "before sending" wrapping mode from the list of possible settings. Too long lines in the generated mail file will be encoded as quoted-printable not exceeded 998 characters anyway already. Resizing the write window more narrow than the wrap column will do a dynamic wrapping anyway, no matter if soft line wrapping (while typing) is active or not. All in all this makes it possible to continue editing a draft mail and being able to insert new text in the middle of a paragraph without being forced to rewrap the paragraph manually. This finally closes #529.

* Timer.c: forget the TimerBase variable right before closing timer.device. This is necessary for the debug build, otherwise any debug output that happens after cleaning up the timers will cause a crash due to the time output for each debug statement. This refs #572.

* YAM_UT.c: the restored layout weight values are now checked for consistency, because setting a horizontal weight of zero for certain groups will make these as small as possible and hence unresizeable. Even worse, this effect could be reverted in a normal fashion but only be deleting the file ENV(ARC):MUI/YAM.cfg and having to relayout all windows again from scratch. See MUI ticket #43 for details.

* Config.c: the external spam filters are now imported as soon as the configuration file has been parsed. This avoids the problem that YAM reports a changed configuration in case the current configuration is reloaded again.

* tcp/ssl.c: added new InitSSLConnections() and CleanupSSLConnection()
functions which will now be called from the global startup routines in
YAM. These new InitSSL/CleanupSSL functions will take care now to
initialize+cleanup a single global SSL_CTX structure rather than having
to create such a structure for every SSL connection being initiated. Apart
from reducing the connection overhead in general this change also allowed
to load the ca-bundle.crt once upon starting YAM rather than on every
SSL connection. In fact, this should slightly reduce the SSL negotation
delay by 2-3 seconds on slow m68k systems and should perhaps increase the
probability that SSL negotiations to mail servers from gmx.de, web.de and
1und1.de are not timing out. This refs #530.