powerman / perl-Crypt-MatrixSSL3

Perl module: Crypt::MatrixSSL3 - Perl extension for SSL and TLS using MatrixSSL.org
https://metacpan.org/release/Crypt-MatrixSSL3
Other
1 stars 1 forks source link

CPAN Testers: several portability issues #27

Open powerman opened 8 years ago

powerman commented 8 years ago

We've got at lot of reports at http://matrix.cpantesters.org/?dist=Crypt-MatrixSSL3+v3.7.4 - below I've listed unique issues with one example report for each issue.

@vonydev, please close this issue if you're not planning to fix them all or close when you'll fix all which you're willing to fix.

At a glance it's 32-bit Windows with 32-bit Perl - should work, isn't it? http://www.cpantesters.org/cpan/report/1b1553b3-6bfa-1014-9091-0286d2fdc239

gcc -c  -I. -Iinc/matrixssl-3-7-2b-open -Iinc/matrixssl-3-7-2b-open/crypto  -s -O2 -DWIN32 -DHAVE_DES_FCRYPT  -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -Os -Wp,-w -m32 -fomit-frame-pointer -fPIC -I./ -I../ -s -O2     -DVERSION=\"v3.7.4\"  -DXS_VERSION=\"v3.7.4\"  "-IC:\strawberry\perl\lib\CORE"  -DUSE_TLS_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_RSA_WITH_AES_256_CBC_SHA256 -DUSE_TLS_RSA_WITH_AES_128_GCM_SHA256 -DUSE_TLS_RSA_WITH_AES_256_GCM_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -DUSE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA -DUSE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 -DUSE_AES -DUSE_AES_GCM -DUSE_3DES -DUSE_DES -DUSE_ARC4 -DUSE_RC2 -DUSE_SHA1 -DUSE_SHA256 -DUSE_SHA384 -DUSE_SHA512 -DUSE_MD5 -DUSE_HMAC -DUSE_ECC -DUSE_DH -DUSE_RSA -DUSE_X509 -DUSE_BASE64_DECODE -DUSE_CERT_PARSE -DUSE_FULL_CERT_PARSE -DUSE_PRIVATE_KEY_PARSING -DMATRIX_USE_FILE_SYSTEM -DUSE_CLIENT_SIDE_SSL -DUSE_SERVER_SIDE_SSL -DUSE_TLS -DUSE_TLS_1_1 -DUSE_TLS_1_2 -DDISABLE_SSLV3 -DUSE_STATELESS_SESSION_TICKETS -DENABLE_SECURE_REHANDSHAKES -DENABLE_TLS_FALLBACK_SCSV -DREQUIRE_SECURE_REHANDSHAKES -DENABLE_CERTIFICATE_STATUS_REQUEST -DENABLE_SIGNED_CERTIFICATE_TIMESTAMP -DREQUIRE_DH_PARAMS -DUSE_ALPN -DENABLE_FALSE_START -DUSE_BEAST_WORKAROUND -DUSE_CLIENT_AUTH -DSERVER_CAN_SEND_EMPTY_CERT_REQUEST -DSERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG -DUSE_PKCS5 -DUSE_PKCS8 -DUSE_PKCS12 -DPS_PUBKEY_OPTIMIZE_FOR_FASTER_SPEED -DPS_AES_IMPROVE_PERF_INCREASE_CODESIZE -DPS_3DES_IMPROVE_PERF_INCREASE_CODESIZE -DPS_MD5_IMPROVE_PERF_INCREASE_CODESIZE -DPS_SHA1_IMPROVE_PERF_INCREASE_CODESIZE -DALL_CERTS_PASS_DATE_VALIDATION inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c -o inc\matrixssl-3-7-2b-open\core\WIN32\osdep.o
inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c:140: error: syntax error before "hProv"
inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c: In function `osdepEntropyOpen':
inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c:144: error: `PROV_RSA_FULL' undeclared (first use in this function)
inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c:144: error: (Each undeclared identifier is reported only once
inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c:144: error: for each function it appears in.)
inc\matrixssl-3-7-2b-open\core\WIN32\osdep.c:145: error: `CRYPT_VERIFYCONTEXT' undeclared (first use in this function)
dmake.EXE:  Error code 129, while making 'inc\matrixssl-3-7-2b-open\core\WIN32\osdep.o'

64-bit FreeBSD 9.2 - not sure is you plan to support it, but this issue looks easy to fix… http://www.cpantesters.org/cpan/report/0214c0c2-dfe5-11e5-843f-53ecfcd2507e

chmod 644 "MatrixSSL3.bs"
cc -c  -I. -Iinc/matrixssl-3-7-2b-open -Iinc/matrixssl-3-7-2b-open/crypto  -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -Os -Wp,-w -fomit-frame-pointer -fPIC -I./ -I../ -O    -DVERSION=\"v3.7.4\"  -DXS_VERSION=\"v3.7.4\" -DPIC -fPIC "-I/usr/perl5.20.0/lib/5.20.0/amd64-freebsd/CORE"  -DUSE_TLS_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_RSA_WITH_AES_256_CBC_SHA256 -DUSE_TLS_RSA_WITH_AES_128_GCM_SHA256 -DUSE_TLS_RSA_WITH_AES_256_GCM_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -DUSE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA -DUSE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 -DUSE_AES -DUSE_AES_GCM -DUSE_3DES -DUSE_DES -DUSE_ARC4 -DUSE_RC2 -DUSE_SHA1 -DUSE_SHA256 -DUSE_SHA384 -DUSE_SHA512 -DUSE_MD5 -DUSE_HMAC -DUSE_ECC -DUSE_DH -DUSE_RSA -DUSE_X509 -DUSE_BASE64_DECODE -DUSE_CERT_PARSE -DUSE_FULL_CERT_PARSE -DUSE_PRIVATE_KEY_PARSING -DMATRIX_USE_FILE_SYSTEM -DUSE_CLIENT_SIDE_SSL -DUSE_SERVER_SIDE_SSL -DUSE_TLS -DUSE_TLS_1_1 -DUSE_TLS_1_2 -DDISABLE_SSLV3 -DUSE_STATELESS_SESSION_TICKETS -DENABLE_SECURE_REHANDSHAKES -DENABLE_TLS_FALLBACK_SCSV -DREQUIRE_SECURE_REHANDSHAKES -DENABLE_CERTIFICATE_STATUS_REQUEST -DENABLE_SIGNED_CERTIFICATE_TIMESTAMP -DREQUIRE_DH_PARAMS -DUSE_ALPN -DENABLE_FALSE_START -DUSE_BEAST_WORKAROUND -DUSE_CLIENT_AUTH -DSERVER_CAN_SEND_EMPTY_CERT_REQUEST -DSERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG -DUSE_PKCS5 -DUSE_PKCS8 -DUSE_PKCS12 -DPS_PUBKEY_OPTIMIZE_FOR_FASTER_SPEED -DPS_AES_IMPROVE_PERF_INCREASE_CODESIZE -DPS_3DES_IMPROVE_PERF_INCREASE_CODESIZE -DPS_MD5_IMPROVE_PERF_INCREASE_CODESIZE -DPS_SHA1_IMPROVE_PERF_INCREASE_CODESIZE -DPOSIX -DPSTM_64BIT inc/matrixssl-3-7-2b-open/core/corelib.c -o inc/matrixssl-3-7-2b-open/core/corelib.o
inc/matrixssl-3-7-2b-open/core/corelib.c: In function 'psTraceBytes':
inc/matrixssl-3-7-2b-open/core/corelib.c:190: error: 'int64' undeclared (first use in this function)
inc/matrixssl-3-7-2b-open/core/corelib.c:190: error: (Each undeclared identifier is reported only once
inc/matrixssl-3-7-2b-open/core/corelib.c:190: error: for each function it appears in.)
inc/matrixssl-3-7-2b-open/core/corelib.c:190: error: expected ')' before 'p'
*** [inc/matrixssl-3-7-2b-open/core/corelib.o] Error code 1

32-bit GNUkFreeBSD - I've no idea is it worth to bother about this one at all. http://www.cpantesters.org/cpan/report/703863a8-e0e7-11e5-87c9-9aa7aef69d38

cc -c  -I. -Iinc/matrixssl-3-7-2b-open -Iinc/matrixssl-3-7-2b-open/crypto -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wp,-w -fomit-frame-pointer -fPIC -I./ -I../ -O2   -DVERSION=\"v3.7.4\" -DXS_VERSION=\"v3.7.4\" -fpic "-I/home/cpan/pit/bare/perl-5.12.0/lib/5.12.0/i386-gnukfreebsd/CORE"  -DUSE_TLS_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_RSA_WITH_AES_256_CBC_SHA256 -DUSE_TLS_RSA_WITH_AES_128_GCM_SHA256 -DUSE_TLS_RSA_WITH_AES_256_GCM_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -DUSE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -DUSE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA -DUSE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA -DUSE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 -DUSE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 -DUSE_AES -DUSE_AES_GCM -DUSE_3DES -DUSE_DES -DUSE_ARC4 -DUSE_RC2 -DUSE_SHA1 -DUSE_SHA256 -DUSE_SHA384 -DUSE_SHA512 -DUSE_MD5 -DUSE_HMAC -DUSE_ECC -DUSE_DH -DUSE_RSA -DUSE_X509 -DUSE_BASE64_DECODE -DUSE_CERT_PARSE -DUSE_FULL_CERT_PARSE -DUSE_PRIVATE_KEY_PARSING -DMATRIX_USE_FILE_SYSTEM -DUSE_CLIENT_SIDE_SSL -DUSE_SERVER_SIDE_SSL -DUSE_TLS -DUSE_TLS_1_1 -DUSE_TLS_1_2 -DDISABLE_SSLV3 -DUSE_STATELESS_SESSION_TICKETS -DENABLE_SECURE_REHANDSHAKES -DENABLE_TLS_FALLBACK_SCSV -DREQUIRE_SECURE_REHANDSHAKES -DENABLE_CERTIFICATE_STATUS_REQUEST -DENABLE_SIGNED_CERTIFICATE_TIMESTAMP -DREQUIRE_DH_PARAMS -DUSE_ALPN -DENABLE_FALSE_START -DUSE_BEAST_WORKAROUND -DUSE_CLIENT_AUTH -DSERVER_CAN_SEND_EMPTY_CERT_REQUEST -DSERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG -DUSE_PKCS5 -DUSE_PKCS8 -DUSE_PKCS12 -DPS_PUBKEY_OPTIMIZE_FOR_FASTER_SPEED -DPS_AES_IMPROVE_PERF_INCREASE_CODESIZE -DPS_3DES_IMPROVE_PERF_INCREASE_CODESIZE -DPS_MD5_IMPROVE_PERF_INCREASE_CODESIZE -DPS_SHA1_IMPROVE_PERF_INCREASE_CODESIZE -DPOSIX  inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.c -o inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.o
inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.c: In function ‘pstm_mul_comba’:
inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.c:270:4: error: can’t find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.c:323:4: error: ‘asm’ operand has impossible constraints
inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.c:474:4: error: ‘asm’ operand has impossible constraints
inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.c:270:4: error: ‘asm’ operand has impossible constraints
make: *** [inc/matrixssl-3-7-2b-open/crypto/math/pstm_mul_comba.o] Error 1
vonydev commented 8 years ago

1) Windows XP - this might fix it: http://msgroups.net/vc.mfc/wincrypt/546531 2) matrixSSL fails to detect native 64 bit int FreeBSD 3) Some matrixSSL assembly optimizations require more registers than available

I will try to fix them with the next updates (not sure when that will be tho).

Leave this open for now.