Features:
a63913SMTPprotocol scheme updated to work with the recent TLS changesd70babFine-tunning what crypto features are included in base/core/bulk builds125fceUsing only cipher modes, which are really supported in the TLS protocol8e3985Converted original CSV-tools script to proper CSV/TSV codecs4d0841Including Brian Hawley's CSV handling tools script downloaded from www.rebol.orgc8befeAdded support for SHA384 cipher modes in the TLS protocolc17863Added support for GCM ciphers in the TLS protocolf1a82bAdded support for authentication in GCM (Galois/Counter mode) cipher modef6f7c6Updated CCM (Counter with CBC-MAC) cipher modeb08704Added support for CCM (Counter with CBC-MAC) cipher mode7cb433Added support to upgrade plain SMTP connection with a TLS layer (STARTTLS)5ae9b0Tiny code optimization in the HTTP schemee89f4bAdded possibility to start TLS connection reusing existing TCP port8aa3f5enbase/debasewith base 36 (alphanumeric)0df0d4Some useful responses from the test httpd server266b20Allow conversionto word!from any string datatype (if don't have invalid chars)81699eInitial rewrite of the oldsmtpprotocolc4547dIncluded codec for Apple's Provision Profile files31dae9Added optional codec (decoder) forplistfiles7447dcAddeduidattribute as a known OID080cd3Support for direct DH params initialization from.keyfilesf0d33eform-oidfunction for conversion of OID binary value into its numeric string format5868c1Added (limited) support for a TLS server roleace3ecProviding better info onport!values fromhelp8c051bAdded support to load X.509 encoded private RSA keys07f79cAllowread/lineson urls (HTTP scheme)ab481cNewsplit-linesnative5ec4bbAllow char as an argument for writing to a file porte22657Added certificate'sfingerprintcalculation61609dtlsscheme - using the new cryptography code9ea657Simplecryptport test/example file7d0849Added support forGCM(Galois/Counter Mode) cipher moded4614bAdd/partrefinement toremoldfunctionc7e3d7Optional definition of the message digest algorithm to sign/verify data usingrsaef0280profilefunction for easy code speed comparisons, like:profile [[wait 0.1][wait 0.2]]ca4ddbRewritten crypt port not to depend on mbedTLS's cipher-wrapping; included ARIA cipher and initialchacha20-poly1305crypt's implementation (still WIP!)d4bd52Included CHACHA20 cipher with possibility to set initial block countera86c3eAdded info about possible output limitation ofprobed9c7fbSimplified extension test definitione9ed58Updated mbedTLS code (used for checksums only so far) to version 3.1.0aa70edAdded FreeBSD support
Changes:
bef541Deprecatedchacha20,chacha20poly1305andpoly1305natives are now completely removed98fd68Improved fingerprint checksum counter in thecrtcodec070c6bAdded newreleasenative as an universal way how to release internal resources available thru handles. Removed all non universal ways of releasing crypt keys!3cdba9Minor TLS code rearrangementb2059cRemoved the rest of the old legacy TLS codef4ed6bRemoved legacy TLS support, first steps to have a server side TLSf66b9aReplacedport/spec/port-idwithport/spec/portc54b35Replacedport/localswithport/extrad19b88Replacedload/typewithload/as942d1aRenamedremove/partargument fromlengthtorangeand allowedremove/parton bitset when the argument is string, binary, block or char2d9411Allowto-decimal "1e"356292Usingrangeinstead oflengthfor the/partargument, as it may be negative.6c7fd4Allow making error using error as a make's typee74518Crypt port (work in progress)902eebReport port error reasons as positive integersf46f9bReplaced the oldECDHandECDSA implementation with code frommbedTLS`d6db6fReplaced the oldDHimplementation with code frommbedTLSe12f0aReplaced the oldRSAimplementation with code frommbedTLS
Fixes:
3f38fcUnreferenced local variable warning22794eAssignment from incompatible pointer type warningdd9300Incompatible pointer types warning9589ecAlways false result warning5eedc5Incompatible integer to pointer conversion warning13c4d3Removed unused config include79ccb3Incompatible pointer types warningb527b1import/checkwith an invalid checksum was failing with a wrong error (Oldes/Rebol-issues#1686)2660abUpdatedppkcodec using the new crypt portdd3651Cleanup and better resolvingcode-pagecharset encoding5a29c1Wrong length of the IV in the GCM cipher mode initializatione4d80cImplicit declaration of function and incompatible pointer types9f3bdcCHACHA20-POLY1305decryption in the TLS protocol was not correctly checking themac6efd1dMissing CCM crypt mode source file6c8d19ECDHE_ECDSA verification (ec public key may start with a zero byte)200a42Trying to get a console width under CI on Windows trows an error0ca83bUsinginit-vectorinstead of justivin crypt port specification;takeon crypt port is now likeread update; updated crypt port initialization to be compatible with the changes ofdecode-urlfunction.975eb9Comparing blocks with a1.#NaNvalueb751881.#NaNsorting inconsistencya4f4fcWrong return value093c89Reset unused parts of the http uri during redirection and some tiny optimizationse2ef1aUpdated http request construction to work with changes indecode-url3dd0dfRegression related to the new output fromdecode-urlfunction48a3fcOptimized url/file escape table initialization92c65fSpecial char escaping when molding a file (so it is backwards loadable)7bf61fRewrittendecode-urlfunction,moldproperly escaping urls9dc15aRegression in thehttpdscheme347d73split/atwhen the delimiter is not found4fb0acUsing shorter code variant for extending a series at its tail044c59Using set-words in thedh parametersparse rule2ce523Don't silently ignore leading zero byte in thedercodec data811d22setwith any-block types18fdf2Move elyptic curves on top (these are the most common now)60bfc8RSA binary input values were expecting, that series are always at its heade114d7Warning: incompatible pointer typesc58fbaBetter error message when using unsupported port action6ca57fCorrect width expansion when appending char in range 128-255b633ceLeaked local variablec6efa2Using correct checksum method in thefingerprintcalculationbcb875Minor TLS code optimization580ad3httpscheme - situation when server does not provide Content-Length and just closes connection1b6b88Shortened doc-string756721Large integer from stringacd983Regression introduced in 356292c8892f7make event!using existingevent!as amaketype56c14dsavetostring!needsmold77aac4Wrong context casting2077fbStatic declaration of 'free_crypt_cipher_context' follows non-static declarationbb08b5Using unsigned integer799019Improved precision of theprofilefunction even moreb171daImproved precision of theprofilefunction73c731mbedtls/common.hfile is only for private usef4e8e6Missing free call for ARIA cipher context95f974Provide title and type for the QOI codec710e66echodoes not error on bad path5bbac3trimonblock!removing nones only from head and tail,trim/alleverywhere6e0d26trimonbinary!should deal with NULL char instead of white-spaces like onstring!13da59Make sure that error message always starts on a new linec41c33'for' loop initial declarationsa8fbea'for' loop initial declarations9ed043Explicitly define all platform names (useful in the bootstrap phase)c6ea2eConflicting typesecd379Updated banner to year 2022 + includingsystem/productinfo346412Failing Base and Core buildse7f2b6Crash while using parse with non-utf-8 data from file989235Macro redefinitiona84d39Incorrect codepage id forCP819aliasIBM819codepage name1fdda5iconvon FreeBSD does not acceptCP12000forUTF-32LEcodepage0c62eaiconvnot acceptingutf8codepage on BSD systems5a8c6eMake sure thatsetenvis used on FreeBSDa53862Executable path not resolved correctly on OpenBSD and FreeBSD platforms734edaOccasional HTTPS read fails when server used ECDHE_ECDSA key method06425aOccasional HTTPS read fails when server used ECDHE_ECDSA key method