Crypt-MatrixSSL
view release on metacpan or search on metacpan
- Some Win32 VC installs failed to compile without a define
- Some Linux installs failed to test without a library
- My Windows PC destroyed the CaSe of some important files during "make dist"
0.05 Mon Mar 28 01:50:13 GMT 2005
- Updated to use matrixssl-1-2-4
- Scripted the header-file-adjustents so Win32 compilations properly "inline" future releases too
0.06 Fri Apr 22 18:24:58 GMT 2005
- Updated to use matrixssl-1-2-5
0.07 Wed May 4 23:28:55 GMT 2005
- Added matrixSslReadKeysMem (previously overlooked due to scarce documentation)
1.73 Mon Feb 27 15:07:38 GMT 2006
- Update to support MatrixSSL 1.7.3
- Picked a new version number to match the new underlying MatrixSSL version number
- Updated matrixSslReadKeysMem API change (itextPass is now unused)
- added changes suggested by Alex Efros to mxgg.pl
- added online testing (grabs https://www.google.com/)
1.8 Fri Apr 7 10:04:57 GMT 2006
- Update to support MatrixSSL 1.8
- Improved the perl client SSL socket handshaking in the examples
- Did a mini-benchmark: MatrixSSL managed:-
- 200 complete SSL connections per second
- 7500 SSL transactions per second (on established SSL sockets)
- Server=Dual 2.66ghz Xeon Fedora4, Client=Dual 2.2ghz Xeon RedHat ES3, Max CPU Utilisation was 50%
1.82 Sat Oct 28 14:10:11 GMT 2006
- Update to support MatrixSSL 1.82
- Included the following contributions from Alex Efros:-
01-online_test.patch:
* Refactored file name 't/online.enabled' into var.
* Moved unlink() to 'touch' logic to have everything related to this task
in single place.
* Delete no-op:
unless (defined $online_tests) {
* Replace global $online_tests with lexical.
* Removed needless '? 1 : 0' to have this line fit in 80 columns.
* Replaced global filehandle ENABLED with lexical $tmp.
* Replaced '|| die' with 'or die' which is generally more safe.
02-mxin_mxout_bugfix.patch:
* Typo fix.
03-mxfiles.patch:
* Added autogeneration of list with MatrixSSL object files to simplify
upgrade to new MatrixSSL version (Linux only!).
* Old version of object files list for MatrixSSL 1-1-5 and 1-7-3 moved
to separate files (probably they should be deleted?).
04-headers.patch:
* Updated matrixssl_win32_inline.
Original code was written for MatrixSSL-1.2.5 which has single .h file:
matrixSsl.h. Starting from version 1.7.3 MatrixSSL split matrixSsl.h into
two files: matrixSsl.h and matrixCommon.h. Part of code which
matrixssl_win32_inline fixes was left in matrixSsl.h, but another part of
code was moved into matrixCommon.h.
Also '#define SSLPUBLIC' was renamed to '#define MATRIXPUBLIC'.
I've updated it to process both .h-files, and #include both .h-files in .xs.
* Rewrite matrixssl_win32_inline documentation.
* Deleted mxSsl.h.
05-xs_no_pod.patch:
* Deleted all POD from .xs because:
- this documentation out of date;
- it isn't good place for such documentation in .xs;
- I don't think we need duplicate of official .pdf in POD.
06-MAX_CHAIN_LENGTH.patch:
* Increase MAX_CHAIN_LENGTH constant to allow usage of big package with
root CA certificates (about 120 certificates).
07-export_const.patch:
* All hardcoded constants replaced by real constants from .h-files, both
in .pm and .xs!
* All MatrixSSL functions exported into user's package.
* All constants from .h-files wrapped in .xs into functions and then
exported into read-only scalars into user's package in .pm.
Constant names are equal to MatrixSSL original names, i.e. without
prefix "mx".
* Hash %mxSSL_ALERT_CODES replaced by two hashes %SSL_alertLevel and
%SSL_alertDescription and these hashes also exported into user's package;
constant 67/SSL_ALLOW_ANON_CONNECTION removed from hashes.
* Exporter module replaced by custom import() function in .pm (because
Exporter is bloated, ugly, unable to export read-only scalars and it's
main feature "tags" isn't needed in this module).
* Line
if(flags!=0) {flags=SSL_FLAGS_SERVER;sessionId=0;}
deleted from matrixSslNewSession() in .xs. It's user responsibility to use
constant $SSL_FLAGS_SERVER and set $sessionId to 0.
* Added standard test: t/00.load.t
* Added test: t/export.t
* Added test: t/export-const.t
* Fixed test: t/Crypt-MatrixSSL.t to take advantage from exporting
functions and constants.
08-export_const2.patch:
* Refactored constants added in 07-export_const.patch using ExtUtils::Constant.
09-xs_cleanup.patch:
* Small documentation typo fix in Makefile.PL.
* Export new constant SSL_MAX_PLAINTEXT_LEN because user need to know
maximum length of message in matrixSslEncode() to split his huge
message into many matrixSslEncode() calls and avoid SSL_ERROR/SSL_FULL.
* Now all public MatrixSSL functions supported - added these:
matrixSslGetAnonStatus
matrixSslAssignNewKeys
matrixSslSetResumptionFlag
matrixSslGetResumptionFlag
( run in 0.925 second using v1.01-cache-2.11-cpan-71847e10f99 )