SRC_FETCH_PATH="http://www.openssl.org/source/openssl-${PKGVER}.tar.gz" SRC_FETCH_METHOD="http" PATCH_LIST=" default_ciphers.patch openssl-1.0.1c-flx2.2-cryptodev-1.5.diff openssl-DOS-in-do_ssl3_write.patch 0001-Extension-checking-fixes.patch 0002-Fix-double-frees.patch 0003-Fix-use-after-free.patch 0004-Fix-eckey_priv_encode.patch 0005-Double-free-in-i2o_ECPublicKey.patch 0006-fix-coverity-issues-966593-966596.patch 0007-Set-Enveloped-data-version-to-2-if-ktri-version-not-.patch 0008-Initialize-num-properly.patch 0009-bignum-allow-concurrent-BN_MONT_CTX_set_locked.patch 0010-evp-prevent-underflow-in-base64-decoding.patch 0011-Fixed-NULL-pointer-dereference-in-PKCS7_dataDecode-r.patch 0012-fix-coverity-issue-966597-error-line-is-not-always-i.patch 0013-PR-3342-fix-resource-leak-coverity-issue-966577.patch 0014-coverity-966576-close-socket-in-error-path.patch 0015-Return-an-error-if-no-recipient-type-matches.patch 0016-safety-check-to-ensure-we-dont-send-out-beyond-the-u.patch 0017-Fix-infinite-loop.-PR-3347.patch 0018-Avoid-out-of-bounds-write-in-SSL_get_shared_ciphers.patch 0019-dgram_sctp_ctrl-authkey-memory-leak.patch 0020-Set-authkey-to-NULL-and-check-malloc-return-value.patch 0021-Replace-manual-ASN1-decoder-with-ASN1_get_object.patch 0022-Correct-the-return-type-on-the-signature-for-X509_ST.patch 0023-Check-sk_SSL_CIPHER_num-after-assigning-sk.patch 0024-Enc-doesn-t-support-AEAD-ciphers.patch 0025-Fix-signed-unsigned-warning.patch 0026-Allow-the-maximum-value.patch 0027-Fix-a-wrong-parameter-count-ERR_add_error_data.patch " function do_config { # To find these options, try "./Configure LIST" then "./Configure TABLE". # The colons are just delimiters and all words are allowed on the line. # Please read the Configure script in openssl to fin the relevant keywords, # as most of them are already implied by the OS target definition and the # default compiler ! if [ "$FLXARCH" == "x86_64" ]; then os="linux-x86_64" opt=( $GCC_ARCH_CURRENT $GCC_CPU_CURRENT $GCC_OPT_FASTEST ) elif [ "$FLX_ARCH_SMALL" == "i386" ]; then os="linux-elf" opt=( $GCC_ARCH_CURRENT $GCC_CPU_CURRENT $GCC_OPT_FASTEST ) elif [ -n "$FLXARCH" -a -z "${FLXARCH##arm*}" ]; then os="linux-armv4" opt=( $GCC_ARCH_CURRENT $GCC_CPU_CURRENT $GCC_OPT_FASTEST ) elif [ "$FLXARCH" == "sparc" ]; then os="linux-sparcv9" opt="" elif [ "$FLXARCH" == "sparc64" ]; then os="linux64-sparcv9" opt="" else os="linux-elf" opt="" fi # Do not enable cryptodev digests (-DUSE_CRYPTODEV_DIGESTS), as indicated in # the README, they significantly lower performance due to the high latency of # the ioctl required for cryptodev. Only enable HAVE_CRYPTODEV. opt=( "${opt[@]}" -DHAVE_CRYPTODEV ) CC="$CC" ./Configure --prefix=/usr --openssldir=/usr/share/openssl threads shared "${opt[@]}" "$os" } function do_compile_only { $FLXMAKE CC=$CC AR='${FLXCROSS}ar r' RANLIB='${FLXCROSS}ranlib' || exit $? $FLXMAKE build-shared CC=$CC AR='${FLXCROSS}ar r' RANLIB='${FLXCROSS}ranlib' || exit $? $FLXMAKE -C apps CC=$CC DLIBCRYPTO=../libcrypto.so AR='${FLXCROSS}ar r' RANLIB='${FLXCROSS}ranlib' || exit $? } function do_prepack { $FLXMAKE install LIBDIR=/lib INSTALL_PREFIX=$ROOTDIR || exit $? set_default_perm $ROOTDIR }