v22.214.171.124 Micro Update: New Features, Fixes, Changes, etc.
- SSL/TLS: Added the SslAllowedCiphers property to allow for a comma-separated list o allowed ciphers, in order of preference, to be specified. This property is added to FTP2, MailMan, Imap, Socket, and Http. See the online reference documentation and SSL/TLS ciphers and the FREAK attack for more information.
- SSL/TLS: Chilkat will by-default disallow all possible usage of RSA keys that are less than 1024 bits. To allow for 512 bits or above, add “rsa512” to the list of algorithms in the SslAllowedCiphers list. To allow only 2048 bits or above, add “rsa2048” to the list of algorithms. (Adding “rsa1024” chooses the same as the default.)
- SMTP: Improved performance through the automatic (internal) use of pipelining.
- SMTP: Added the MailMan.SmtpConnect and MailMan.SmtpAuthenticate methods so that connecting and authenticating can proceed in two distinct steps instead of a single step. This in combination with the SmtpFailReason property can help applications react more appropriately to errors.
- SMTP: Added the MailMan.SmtpFailReason property. (See online reference documentation.)
- SMTP: The AddMultipleCC method added each email address twice. This was a bug introduced in v126.96.36.199 and fixed in this version (188.8.131.52).
- SMTP: The MailMan.AutoSmtpRset defaults to false now.
- SMTP: When using OAuth2 authentication, if the MailMan.SmtpPassword property was unset, then MailMan thought no authentication was necessary. The SmtpPassword property may now be left empty when OAuth2 is used.
- Email: The GetAttachedMessageFilename and GetAttachedMessageAttr methods always returned info for index 0, regardless of the index passed in by the app.
- Email: The LoadEml method will automatically ignore the leading “From …” line that might exist if the file was an email saved in Mbox format.
- Email: Email.AddStringAttachment2 can specify a charset prepened with “bom-” or “no-bom-” to include or exclude the BOM for charsets such utf-8 or ucs-2 / utf-16.
- Email: Fixed problem when setting the FileDistList equal to the empty string (which should simply clear the property, but instead cause an error in the call to SendEmail).
- MIME: Issues relating to MIME header continuation lines when saving to/from XML format were fixed.
- MIME/PKCS7: The Mime.EncryptN method now sets the smime-type sub-header field. For example:
Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m
- MIME/Email: Bare CR’s or LF’s in quoted-printable/Base64 email bodies (non-encoded) auto-converted to CRLF (for compliance to RFC 2822). This does NOT change the actual content of the email bodies.
- MIME/Email: (Internal MIME parsing fix.) When an email is received that uses star-encoding, if a single char was multi-byte and the bytes were split across two lines, then Chilkat did not decode properly.
- Socket: Clarified in the reference documentation that if the maxWaitMs argument equals 0, then it is a poll (as opposed to “wait forever”).
- RSA: Added the OaepHash property so that any hash algorithm can be used with OAEP padding (such as SHA256).
- : A MLSD directory listing problem specific to some types of FTP servers was fixed.
- FTP: The SetRemoteFileDt and SetRemoteFileTime methods will automatically use the MFMT command if the FTP server indicates support for it upon connection.
- Cert: Fixed problem with Cert.VerifySignature when the cert is obtained by the Socket.GetSslServerCert method. The intermedate certs in the chain of authentication, received during the SSL/TLS handshake, were not (internally and automatically) made available to the Cert object returned by GetSslServerCert, and thus they were not accessible when trying to verify the cert signature.
- SSH: Added the WaitForChannelMessage method. (See online reference documentation.)
- HTML-to-Text: Fixed a crash bug.
- Zip: For files skipped because of access-denied or file-not-found, the FileZipped event fired when it should not have. This was fixed, and in addition a ProgressInfo event was added for each occurance, using the names “fileAccessDenied” and “fileNotFound”. (Each Progress info event has two params: a name and value where the name identifies the event, and the value contains information specific to the event.)
- Zip: AppendFilesEx w/ ArchiveOnly=true omitted directory entries, which was unnoticed when the directory contained files because the files still get added and unzip software automatically re-creates directories when unzipping as needed. However, this is noticed for empty directories because the empty directory entries were not added to the .zip.
- CSV: When writing CSV’s, the inner LF, CRLF, etc. of a row will now remain unmodified. The Crlf property controls the line-endings for each entire row, but should have no effect (and cause no changes) of LF / CRLF usage within any given cell.