]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
openssl: Update to 1.0.1e.
authorErik Kapfer <erik.kapfer@ipfire.org>
Mon, 23 Dec 2013 16:23:17 +0000 (17:23 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 Dec 2013 19:42:17 +0000 (20:42 +0100)
Contains also the old openssl-0.9.8 libs for compatibility purposes.

config/rootfiles/common/openssl
config/rootfiles/common/openssl-compat [new file with mode: 0644]
lfs/openssl
lfs/openssl-compat [new file with mode: 0644]
make.sh
src/patches/openssl-1.0.0-beta5-enginesdir.patch [new file with mode: 0644]
src/patches/openssl-1.0.1-beta2-build.patch [new file with mode: 0644]
src/patches/openssl-1.0.1e-cryptodev.patch [new file with mode: 0644]
src/patches/openssl-1.0.1e-fix_parallel_build-1.patch [new file with mode: 0644]
src/patches/openssl-1.0.1e-fix_pod_syntax-1.patch [new file with mode: 0644]

index bc1ac49f0b86720f71602acacfb0d6292dff825b..ec92d1cbcacb1199e4ae1d4bd21637a570059a6c 100644 (file)
@@ -7,6 +7,7 @@
 #etc/ssl/misc/c_info
 #etc/ssl/misc/c_issuer
 #etc/ssl/misc/c_name
+#etc/ssl/misc/tsget
 etc/ssl/openssl.cnf
 #etc/ssl/private
 usr/bin/c_rehash
@@ -20,7 +21,10 @@ usr/bin/openssl
 #usr/include/openssl/blowfish.h
 #usr/include/openssl/bn.h
 #usr/include/openssl/buffer.h
+#usr/include/openssl/camellia.h
 #usr/include/openssl/cast.h
+#usr/include/openssl/cmac.h
+#usr/include/openssl/cms.h
 #usr/include/openssl/comp.h
 #usr/include/openssl/conf.h
 #usr/include/openssl/conf_api.h
@@ -40,13 +44,13 @@ usr/bin/openssl
 #usr/include/openssl/err.h
 #usr/include/openssl/evp.h
 #usr/include/openssl/hmac.h
-#usr/include/openssl/idea.h
 #usr/include/openssl/krb5_asn.h
 #usr/include/openssl/kssl.h
 #usr/include/openssl/lhash.h
 #usr/include/openssl/md2.h
 #usr/include/openssl/md4.h
 #usr/include/openssl/md5.h
+#usr/include/openssl/modes.h
 #usr/include/openssl/obj_mac.h
 #usr/include/openssl/objects.h
 #usr/include/openssl/ocsp.h
@@ -57,7 +61,6 @@ usr/bin/openssl
 #usr/include/openssl/pem2.h
 #usr/include/openssl/pkcs12.h
 #usr/include/openssl/pkcs7.h
-#usr/include/openssl/pq_compat.h
 #usr/include/openssl/pqueue.h
 #usr/include/openssl/rand.h
 #usr/include/openssl/rc2.h
@@ -65,1113 +68,44 @@ usr/bin/openssl
 #usr/include/openssl/ripemd.h
 #usr/include/openssl/rsa.h
 #usr/include/openssl/safestack.h
+#usr/include/openssl/seed.h
 #usr/include/openssl/sha.h
+#usr/include/openssl/srtp.h
 #usr/include/openssl/ssl.h
 #usr/include/openssl/ssl2.h
 #usr/include/openssl/ssl23.h
 #usr/include/openssl/ssl3.h
 #usr/include/openssl/stack.h
-#usr/include/openssl/store.h
 #usr/include/openssl/symhacks.h
 #usr/include/openssl/tls1.h
-#usr/include/openssl/tmdiff.h
+#usr/include/openssl/ts.h
 #usr/include/openssl/txt_db.h
 #usr/include/openssl/ui.h
 #usr/include/openssl/ui_compat.h
+#usr/include/openssl/whrlpool.h
 #usr/include/openssl/x509.h
 #usr/include/openssl/x509_vfy.h
 #usr/include/openssl/x509v3.h
-#usr/lib/engines
-#usr/lib/engines/lib4758cca.so
-#usr/lib/engines/libaep.so
-#usr/lib/engines/libatalla.so
-#usr/lib/engines/libcapi.so
-#usr/lib/engines/libchil.so
-#usr/lib/engines/libcswift.so
-#usr/lib/engines/libgmp.so
-#usr/lib/engines/libnuron.so
-#usr/lib/engines/libsureware.so
-#usr/lib/engines/libubsec.so
 #usr/lib/libcrypto.a
 usr/lib/libcrypto.so
-usr/lib/libcrypto.so.0.9.8
+usr/lib/libcrypto.so.10
 #usr/lib/libssl.a
 usr/lib/libssl.so
-usr/lib/libssl.so.0.9.8
+usr/lib/libssl.so.10
+#usr/lib/openssl
+usr/lib/openssl/engines
+#usr/lib/openssl/engines/lib4758cca.so
+#usr/lib/openssl/engines/libaep.so
+#usr/lib/openssl/engines/libatalla.so
+#usr/lib/openssl/engines/libcapi.so
+#usr/lib/openssl/engines/libchil.so
+#usr/lib/openssl/engines/libcswift.so
+#usr/lib/openssl/engines/libgmp.so
+#usr/lib/openssl/engines/libgost.so
+#usr/lib/openssl/engines/libnuron.so
+#usr/lib/openssl/engines/libpadlock.so
+#usr/lib/openssl/engines/libsureware.so
+#usr/lib/openssl/engines/libubsec.so
 #usr/lib/pkgconfig/libcrypto.pc
 #usr/lib/pkgconfig/libssl.pc
 #usr/lib/pkgconfig/openssl.pc
-#usr/share/man/man1/CA.pl.1
-#usr/share/man/man1/asn1parse.1
-#usr/share/man/man1/ca.1
-#usr/share/man/man1/ciphers.1
-#usr/share/man/man1/crl.1
-#usr/share/man/man1/crl2pkcs7.1
-#usr/share/man/man1/dgst.1
-#usr/share/man/man1/dhparam.1
-#usr/share/man/man1/dsa.1
-#usr/share/man/man1/dsaparam.1
-#usr/share/man/man1/ec.1
-#usr/share/man/man1/ecparam.1
-#usr/share/man/man1/enc.1
-#usr/share/man/man1/errstr.1
-#usr/share/man/man1/gendsa.1
-#usr/share/man/man1/genrsa.1
-#usr/share/man/man1/md2.1
-#usr/share/man/man1/md4.1
-#usr/share/man/man1/md5.1
-#usr/share/man/man1/mdc2.1
-#usr/share/man/man1/nseq.1
-#usr/share/man/man1/ocsp.1
-#usr/share/man/man1/openssl.1
-#usr/share/man/man1/passwd.1
-#usr/share/man/man1/pkcs12.1
-#usr/share/man/man1/pkcs7.1
-#usr/share/man/man1/pkcs8.1
-#usr/share/man/man1/rand.1
-#usr/share/man/man1/req.1
-#usr/share/man/man1/ripemd160.1
-#usr/share/man/man1/rsa.1
-#usr/share/man/man1/rsautl.1
-#usr/share/man/man1/s_client.1
-#usr/share/man/man1/s_server.1
-#usr/share/man/man1/s_time.1
-#usr/share/man/man1/sess_id.1
-#usr/share/man/man1/sha.1
-#usr/share/man/man1/sha1.1
-#usr/share/man/man1/smime.1
-#usr/share/man/man1/speed.1
-#usr/share/man/man1/spkac.1
-#usr/share/man/man1/verify.1
-#usr/share/man/man1/version.1
-#usr/share/man/man1/x509.1
-#usr/share/man/man3/ASN1_OBJECT_free.3
-#usr/share/man/man3/ASN1_OBJECT_new.3
-#usr/share/man/man3/ASN1_STRING_cmp.3
-#usr/share/man/man3/ASN1_STRING_data.3
-#usr/share/man/man3/ASN1_STRING_dup.3
-#usr/share/man/man3/ASN1_STRING_free.3
-#usr/share/man/man3/ASN1_STRING_length.3
-#usr/share/man/man3/ASN1_STRING_length_set.3
-#usr/share/man/man3/ASN1_STRING_new.3
-#usr/share/man/man3/ASN1_STRING_print_ex.3
-#usr/share/man/man3/ASN1_STRING_print_ex_fp.3
-#usr/share/man/man3/ASN1_STRING_set.3
-#usr/share/man/man3/ASN1_STRING_type.3
-#usr/share/man/man3/ASN1_STRING_type_new.3
-#usr/share/man/man3/ASN1_generate_nconf.3
-#usr/share/man/man3/ASN1_generate_v3.3
-#usr/share/man/man3/BF_cbc_encrypt.3
-#usr/share/man/man3/BF_cfb64_encrypt.3
-#usr/share/man/man3/BF_decrypt.3
-#usr/share/man/man3/BF_ecb_encrypt.3
-#usr/share/man/man3/BF_encrypt.3
-#usr/share/man/man3/BF_ofb64_encrypt.3
-#usr/share/man/man3/BF_options.3
-#usr/share/man/man3/BF_set_key.3
-#usr/share/man/man3/BIO_append_filename.3
-#usr/share/man/man3/BIO_callback_ctrl.3
-#usr/share/man/man3/BIO_ctrl.3
-#usr/share/man/man3/BIO_ctrl_get_read_request.3
-#usr/share/man/man3/BIO_ctrl_get_write_guarantee.3
-#usr/share/man/man3/BIO_ctrl_pending.3
-#usr/share/man/man3/BIO_ctrl_reset_read_request.3
-#usr/share/man/man3/BIO_ctrl_wpending.3
-#usr/share/man/man3/BIO_debug_callback.3
-#usr/share/man/man3/BIO_destroy_bio_pair.3
-#usr/share/man/man3/BIO_do_accept.3
-#usr/share/man/man3/BIO_do_connect.3
-#usr/share/man/man3/BIO_eof.3
-#usr/share/man/man3/BIO_f_base64.3
-#usr/share/man/man3/BIO_f_buffer.3
-#usr/share/man/man3/BIO_f_cipher.3
-#usr/share/man/man3/BIO_f_md.3
-#usr/share/man/man3/BIO_f_null.3
-#usr/share/man/man3/BIO_f_ssl.3
-#usr/share/man/man3/BIO_find_type.3
-#usr/share/man/man3/BIO_flush.3
-#usr/share/man/man3/BIO_free.3
-#usr/share/man/man3/BIO_free_all.3
-#usr/share/man/man3/BIO_get_accept_port.3
-#usr/share/man/man3/BIO_get_bind_mode.3
-#usr/share/man/man3/BIO_get_callback.3
-#usr/share/man/man3/BIO_get_callback_arg.3
-#usr/share/man/man3/BIO_get_cipher_ctx.3
-#usr/share/man/man3/BIO_get_cipher_status.3
-#usr/share/man/man3/BIO_get_close.3
-#usr/share/man/man3/BIO_get_conn_hostname.3
-#usr/share/man/man3/BIO_get_conn_int_port.3
-#usr/share/man/man3/BIO_get_conn_ip.3
-#usr/share/man/man3/BIO_get_conn_port.3
-#usr/share/man/man3/BIO_get_fd.3
-#usr/share/man/man3/BIO_get_fp.3
-#usr/share/man/man3/BIO_get_info_callback.3
-#usr/share/man/man3/BIO_get_md.3
-#usr/share/man/man3/BIO_get_md_ctx.3
-#usr/share/man/man3/BIO_get_mem_data.3
-#usr/share/man/man3/BIO_get_mem_ptr.3
-#usr/share/man/man3/BIO_get_num_renegotiates.3
-#usr/share/man/man3/BIO_get_read_request.3
-#usr/share/man/man3/BIO_get_retry_BIO.3
-#usr/share/man/man3/BIO_get_retry_reason.3
-#usr/share/man/man3/BIO_get_ssl.3
-#usr/share/man/man3/BIO_get_write_buf_size.3
-#usr/share/man/man3/BIO_get_write_guarantee.3
-#usr/share/man/man3/BIO_gets.3
-#usr/share/man/man3/BIO_int_ctrl.3
-#usr/share/man/man3/BIO_make_bio_pair.3
-#usr/share/man/man3/BIO_new.3
-#usr/share/man/man3/BIO_new_bio_pair.3
-#usr/share/man/man3/BIO_new_buffer_ssl_connect.3
-#usr/share/man/man3/BIO_new_fd.3
-#usr/share/man/man3/BIO_new_file.3
-#usr/share/man/man3/BIO_new_fp.3
-#usr/share/man/man3/BIO_new_mem_buf.3
-#usr/share/man/man3/BIO_new_socket.3
-#usr/share/man/man3/BIO_new_ssl.3
-#usr/share/man/man3/BIO_new_ssl_connect.3
-#usr/share/man/man3/BIO_next.3
-#usr/share/man/man3/BIO_pending.3
-#usr/share/man/man3/BIO_pop.3
-#usr/share/man/man3/BIO_ptr_ctrl.3
-#usr/share/man/man3/BIO_push.3
-#usr/share/man/man3/BIO_puts.3
-#usr/share/man/man3/BIO_read.3
-#usr/share/man/man3/BIO_read_filename.3
-#usr/share/man/man3/BIO_reset.3
-#usr/share/man/man3/BIO_retry_type.3
-#usr/share/man/man3/BIO_rw_filename.3
-#usr/share/man/man3/BIO_s_accept.3
-#usr/share/man/man3/BIO_s_bio.3
-#usr/share/man/man3/BIO_s_connect.3
-#usr/share/man/man3/BIO_s_fd.3
-#usr/share/man/man3/BIO_s_file.3
-#usr/share/man/man3/BIO_s_mem.3
-#usr/share/man/man3/BIO_s_null.3
-#usr/share/man/man3/BIO_s_socket.3
-#usr/share/man/man3/BIO_seek.3
-#usr/share/man/man3/BIO_set.3
-#usr/share/man/man3/BIO_set_accept_bios.3
-#usr/share/man/man3/BIO_set_accept_port.3
-#usr/share/man/man3/BIO_set_bind_mode.3
-#usr/share/man/man3/BIO_set_callback.3
-#usr/share/man/man3/BIO_set_callback_arg.3
-#usr/share/man/man3/BIO_set_cipher.3
-#usr/share/man/man3/BIO_set_close.3
-#usr/share/man/man3/BIO_set_conn_hostname.3
-#usr/share/man/man3/BIO_set_conn_int_port.3
-#usr/share/man/man3/BIO_set_conn_ip.3
-#usr/share/man/man3/BIO_set_conn_port.3
-#usr/share/man/man3/BIO_set_fd.3
-#usr/share/man/man3/BIO_set_fp.3
-#usr/share/man/man3/BIO_set_info_callback.3
-#usr/share/man/man3/BIO_set_md.3
-#usr/share/man/man3/BIO_set_mem_buf.3
-#usr/share/man/man3/BIO_set_mem_eof_return.3
-#usr/share/man/man3/BIO_set_nbio.3
-#usr/share/man/man3/BIO_set_nbio_accept.3
-#usr/share/man/man3/BIO_set_ssl.3
-#usr/share/man/man3/BIO_set_ssl_mode.3
-#usr/share/man/man3/BIO_set_ssl_renegotiate_bytes.3
-#usr/share/man/man3/BIO_set_ssl_renegotiate_timeout.3
-#usr/share/man/man3/BIO_set_write_buf_size.3
-#usr/share/man/man3/BIO_should_io_special.3
-#usr/share/man/man3/BIO_should_read.3
-#usr/share/man/man3/BIO_should_retry.3
-#usr/share/man/man3/BIO_should_write.3
-#usr/share/man/man3/BIO_shutdown_wr.3
-#usr/share/man/man3/BIO_ssl_copy_session_id.3
-#usr/share/man/man3/BIO_ssl_shutdown.3
-#usr/share/man/man3/BIO_tell.3
-#usr/share/man/man3/BIO_vfree.3
-#usr/share/man/man3/BIO_wpending.3
-#usr/share/man/man3/BIO_write.3
-#usr/share/man/man3/BIO_write_filename.3
-#usr/share/man/man3/BN_BLINDING_convert.3
-#usr/share/man/man3/BN_BLINDING_convert_ex.3
-#usr/share/man/man3/BN_BLINDING_create_param.3
-#usr/share/man/man3/BN_BLINDING_free.3
-#usr/share/man/man3/BN_BLINDING_get_flags.3
-#usr/share/man/man3/BN_BLINDING_get_thread_id.3
-#usr/share/man/man3/BN_BLINDING_invert.3
-#usr/share/man/man3/BN_BLINDING_invert_ex.3
-#usr/share/man/man3/BN_BLINDING_new.3
-#usr/share/man/man3/BN_BLINDING_set_flags.3
-#usr/share/man/man3/BN_BLINDING_set_thread_id.3
-#usr/share/man/man3/BN_BLINDING_update.3
-#usr/share/man/man3/BN_CTX_end.3
-#usr/share/man/man3/BN_CTX_free.3
-#usr/share/man/man3/BN_CTX_get.3
-#usr/share/man/man3/BN_CTX_init.3
-#usr/share/man/man3/BN_CTX_new.3
-#usr/share/man/man3/BN_CTX_start.3
-#usr/share/man/man3/BN_MONT_CTX_copy.3
-#usr/share/man/man3/BN_MONT_CTX_free.3
-#usr/share/man/man3/BN_MONT_CTX_init.3
-#usr/share/man/man3/BN_MONT_CTX_new.3
-#usr/share/man/man3/BN_MONT_CTX_set.3
-#usr/share/man/man3/BN_RECP_CTX_free.3
-#usr/share/man/man3/BN_RECP_CTX_init.3
-#usr/share/man/man3/BN_RECP_CTX_new.3
-#usr/share/man/man3/BN_RECP_CTX_set.3
-#usr/share/man/man3/BN_add.3
-#usr/share/man/man3/BN_add_word.3
-#usr/share/man/man3/BN_bin2bn.3
-#usr/share/man/man3/BN_bn2bin.3
-#usr/share/man/man3/BN_bn2dec.3
-#usr/share/man/man3/BN_bn2hex.3
-#usr/share/man/man3/BN_bn2mpi.3
-#usr/share/man/man3/BN_clear.3
-#usr/share/man/man3/BN_clear_bit.3
-#usr/share/man/man3/BN_clear_free.3
-#usr/share/man/man3/BN_cmp.3
-#usr/share/man/man3/BN_copy.3
-#usr/share/man/man3/BN_dec2bn.3
-#usr/share/man/man3/BN_div.3
-#usr/share/man/man3/BN_div_recp.3
-#usr/share/man/man3/BN_div_word.3
-#usr/share/man/man3/BN_dup.3
-#usr/share/man/man3/BN_exp.3
-#usr/share/man/man3/BN_free.3
-#usr/share/man/man3/BN_from_montgomery.3
-#usr/share/man/man3/BN_gcd.3
-#usr/share/man/man3/BN_generate_prime.3
-#usr/share/man/man3/BN_get_word.3
-#usr/share/man/man3/BN_hex2bn.3
-#usr/share/man/man3/BN_init.3
-#usr/share/man/man3/BN_is_bit_set.3
-#usr/share/man/man3/BN_is_odd.3
-#usr/share/man/man3/BN_is_one.3
-#usr/share/man/man3/BN_is_prime.3
-#usr/share/man/man3/BN_is_prime_fasttest.3
-#usr/share/man/man3/BN_is_word.3
-#usr/share/man/man3/BN_is_zero.3
-#usr/share/man/man3/BN_lshift.3
-#usr/share/man/man3/BN_lshift1.3
-#usr/share/man/man3/BN_mask_bits.3
-#usr/share/man/man3/BN_mod.3
-#usr/share/man/man3/BN_mod_add.3
-#usr/share/man/man3/BN_mod_exp.3
-#usr/share/man/man3/BN_mod_inverse.3
-#usr/share/man/man3/BN_mod_mul.3
-#usr/share/man/man3/BN_mod_mul_montgomery.3
-#usr/share/man/man3/BN_mod_mul_reciprocal.3
-#usr/share/man/man3/BN_mod_sqr.3
-#usr/share/man/man3/BN_mod_sub.3
-#usr/share/man/man3/BN_mod_word.3
-#usr/share/man/man3/BN_mpi2bn.3
-#usr/share/man/man3/BN_mul.3
-#usr/share/man/man3/BN_mul_word.3
-#usr/share/man/man3/BN_new.3
-#usr/share/man/man3/BN_nnmod.3
-#usr/share/man/man3/BN_num_bits.3
-#usr/share/man/man3/BN_num_bits_word.3
-#usr/share/man/man3/BN_num_bytes.3
-#usr/share/man/man3/BN_one.3
-#usr/share/man/man3/BN_print.3
-#usr/share/man/man3/BN_print_fp.3
-#usr/share/man/man3/BN_pseudo_rand.3
-#usr/share/man/man3/BN_rand.3
-#usr/share/man/man3/BN_rshift.3
-#usr/share/man/man3/BN_rshift1.3
-#usr/share/man/man3/BN_set_bit.3
-#usr/share/man/man3/BN_set_word.3
-#usr/share/man/man3/BN_sqr.3
-#usr/share/man/man3/BN_sub.3
-#usr/share/man/man3/BN_sub_word.3
-#usr/share/man/man3/BN_swap.3
-#usr/share/man/man3/BN_to_montgomery.3
-#usr/share/man/man3/BN_ucmp.3
-#usr/share/man/man3/BN_value_one.3
-#usr/share/man/man3/BN_zero.3
-#usr/share/man/man3/BUF_MEM_free.3
-#usr/share/man/man3/BUF_MEM_grow.3
-#usr/share/man/man3/BUF_MEM_new.3
-#usr/share/man/man3/BUF_strdup.3
-#usr/share/man/man3/CONF_modules_finish.3
-#usr/share/man/man3/CONF_modules_free.3
-#usr/share/man/man3/CONF_modules_load.3
-#usr/share/man/man3/CONF_modules_load_file.3
-#usr/share/man/man3/CONF_modules_unload.3
-#usr/share/man/man3/CRYPTO_destroy_dynlockid.3
-#usr/share/man/man3/CRYPTO_get_ex_data.3
-#usr/share/man/man3/CRYPTO_get_new_dynlockid.3
-#usr/share/man/man3/CRYPTO_lock.3
-#usr/share/man/man3/CRYPTO_num_locks.3
-#usr/share/man/man3/CRYPTO_set_dynlock_create_callback.3
-#usr/share/man/man3/CRYPTO_set_dynlock_destroy_callback.3
-#usr/share/man/man3/CRYPTO_set_dynlock_lock_callback.3
-#usr/share/man/man3/CRYPTO_set_ex_data.3
-#usr/share/man/man3/CRYPTO_set_id_callback.3
-#usr/share/man/man3/CRYPTO_set_locking_callback.3
-#usr/share/man/man3/DES_cbc_cksum.3
-#usr/share/man/man3/DES_cfb64_encrypt.3
-#usr/share/man/man3/DES_cfb_encrypt.3
-#usr/share/man/man3/DES_crypt.3
-#usr/share/man/man3/DES_ecb2_encrypt.3
-#usr/share/man/man3/DES_ecb3_encrypt.3
-#usr/share/man/man3/DES_ecb_encrypt.3
-#usr/share/man/man3/DES_ede2_cbc_encrypt.3
-#usr/share/man/man3/DES_ede2_cfb64_encrypt.3
-#usr/share/man/man3/DES_ede2_ofb64_encrypt.3
-#usr/share/man/man3/DES_ede3_cbc_encrypt.3
-#usr/share/man/man3/DES_ede3_cbcm_encrypt.3
-#usr/share/man/man3/DES_ede3_cfb64_encrypt.3
-#usr/share/man/man3/DES_ede3_ofb64_encrypt.3
-#usr/share/man/man3/DES_enc_read.3
-#usr/share/man/man3/DES_enc_write.3
-#usr/share/man/man3/DES_fcrypt.3
-#usr/share/man/man3/DES_is_weak_key.3
-#usr/share/man/man3/DES_key_sched.3
-#usr/share/man/man3/DES_ncbc_encrypt.3
-#usr/share/man/man3/DES_ofb64_encrypt.3
-#usr/share/man/man3/DES_ofb_encrypt.3
-#usr/share/man/man3/DES_pcbc_encrypt.3
-#usr/share/man/man3/DES_quad_cksum.3
-#usr/share/man/man3/DES_random_key.3
-#usr/share/man/man3/DES_set_key.3
-#usr/share/man/man3/DES_set_key_checked.3
-#usr/share/man/man3/DES_set_key_unchecked.3
-#usr/share/man/man3/DES_set_odd_parity.3
-#usr/share/man/man3/DES_string_to_2keys.3
-#usr/share/man/man3/DES_string_to_key.3
-#usr/share/man/man3/DES_xcbc_encrypt.3
-#usr/share/man/man3/DH_OpenSSL.3
-#usr/share/man/man3/DH_check.3
-#usr/share/man/man3/DH_compute_key.3
-#usr/share/man/man3/DH_free.3
-#usr/share/man/man3/DH_generate_key.3
-#usr/share/man/man3/DH_generate_parameters.3
-#usr/share/man/man3/DH_get_default_method.3
-#usr/share/man/man3/DH_get_ex_data.3
-#usr/share/man/man3/DH_get_ex_new_index.3
-#usr/share/man/man3/DH_new.3
-#usr/share/man/man3/DH_new_method.3
-#usr/share/man/man3/DH_set_default_method.3
-#usr/share/man/man3/DH_set_ex_data.3
-#usr/share/man/man3/DH_set_method.3
-#usr/share/man/man3/DH_size.3
-#usr/share/man/man3/DHparams_print.3
-#usr/share/man/man3/DHparams_print_fp.3
-#usr/share/man/man3/DSA_OpenSSL.3
-#usr/share/man/man3/DSA_SIG_free.3
-#usr/share/man/man3/DSA_SIG_new.3
-#usr/share/man/man3/DSA_do_sign.3
-#usr/share/man/man3/DSA_do_verify.3
-#usr/share/man/man3/DSA_dup_DH.3
-#usr/share/man/man3/DSA_free.3
-#usr/share/man/man3/DSA_generate_key.3
-#usr/share/man/man3/DSA_generate_parameters.3
-#usr/share/man/man3/DSA_get_default_method.3
-#usr/share/man/man3/DSA_get_ex_data.3
-#usr/share/man/man3/DSA_get_ex_new_index.3
-#usr/share/man/man3/DSA_new.3
-#usr/share/man/man3/DSA_new_method.3
-#usr/share/man/man3/DSA_print.3
-#usr/share/man/man3/DSA_print_fp.3
-#usr/share/man/man3/DSA_set_default_method.3
-#usr/share/man/man3/DSA_set_ex_data.3
-#usr/share/man/man3/DSA_set_method.3
-#usr/share/man/man3/DSA_sign.3
-#usr/share/man/man3/DSA_sign_setup.3
-#usr/share/man/man3/DSA_size.3
-#usr/share/man/man3/DSA_verify.3
-#usr/share/man/man3/DSAparams_print.3
-#usr/share/man/man3/DSAparams_print_fp.3
-#usr/share/man/man3/ERR_GET_FUNC.3
-#usr/share/man/man3/ERR_GET_LIB.3
-#usr/share/man/man3/ERR_GET_REASON.3
-#usr/share/man/man3/ERR_PACK.3
-#usr/share/man/man3/ERR_add_error_data.3
-#usr/share/man/man3/ERR_clear_error.3
-#usr/share/man/man3/ERR_error_string.3
-#usr/share/man/man3/ERR_error_string_n.3
-#usr/share/man/man3/ERR_free_strings.3
-#usr/share/man/man3/ERR_func_error_string.3
-#usr/share/man/man3/ERR_get_error.3
-#usr/share/man/man3/ERR_get_error_line.3
-#usr/share/man/man3/ERR_get_error_line_data.3
-#usr/share/man/man3/ERR_get_next_error_library.3
-#usr/share/man/man3/ERR_lib_error_string.3
-#usr/share/man/man3/ERR_load_UI_strings.3
-#usr/share/man/man3/ERR_load_crypto_strings.3
-#usr/share/man/man3/ERR_load_strings.3
-#usr/share/man/man3/ERR_peek_error.3
-#usr/share/man/man3/ERR_peek_error_line.3
-#usr/share/man/man3/ERR_peek_error_line_data.3
-#usr/share/man/man3/ERR_peek_last_error.3
-#usr/share/man/man3/ERR_peek_last_error_line.3
-#usr/share/man/man3/ERR_peek_last_error_line_data.3
-#usr/share/man/man3/ERR_pop_to_mark.3
-#usr/share/man/man3/ERR_print_errors.3
-#usr/share/man/man3/ERR_print_errors_fp.3
-#usr/share/man/man3/ERR_put_error.3
-#usr/share/man/man3/ERR_reason_error_string.3
-#usr/share/man/man3/ERR_remove_state.3
-#usr/share/man/man3/ERR_set_mark.3
-#usr/share/man/man3/EVP_BytesToKey.3
-#usr/share/man/man3/EVP_CIPHER_CTX_block_size.3
-#usr/share/man/man3/EVP_CIPHER_CTX_cipher.3
-#usr/share/man/man3/EVP_CIPHER_CTX_cleanup.3
-#usr/share/man/man3/EVP_CIPHER_CTX_ctrl.3
-#usr/share/man/man3/EVP_CIPHER_CTX_flags.3
-#usr/share/man/man3/EVP_CIPHER_CTX_get_app_data.3
-#usr/share/man/man3/EVP_CIPHER_CTX_init.3
-#usr/share/man/man3/EVP_CIPHER_CTX_iv_length.3
-#usr/share/man/man3/EVP_CIPHER_CTX_key_length.3
-#usr/share/man/man3/EVP_CIPHER_CTX_mode.3
-#usr/share/man/man3/EVP_CIPHER_CTX_nid.3
-#usr/share/man/man3/EVP_CIPHER_CTX_set_app_data.3
-#usr/share/man/man3/EVP_CIPHER_CTX_set_key_length.3
-#usr/share/man/man3/EVP_CIPHER_CTX_set_padding.3
-#usr/share/man/man3/EVP_CIPHER_CTX_type.3
-#usr/share/man/man3/EVP_CIPHER_asn1_to_param.3
-#usr/share/man/man3/EVP_CIPHER_block_size.3
-#usr/share/man/man3/EVP_CIPHER_flags.3
-#usr/share/man/man3/EVP_CIPHER_iv_length.3
-#usr/share/man/man3/EVP_CIPHER_key_length.3
-#usr/share/man/man3/EVP_CIPHER_mode.3
-#usr/share/man/man3/EVP_CIPHER_nid.3
-#usr/share/man/man3/EVP_CIPHER_param_to_asn1.3
-#usr/share/man/man3/EVP_CIPHER_type.3
-#usr/share/man/man3/EVP_CipherFinal.3
-#usr/share/man/man3/EVP_CipherFinal_ex.3
-#usr/share/man/man3/EVP_CipherInit.3
-#usr/share/man/man3/EVP_CipherInit_ex.3
-#usr/share/man/man3/EVP_CipherUpdate.3
-#usr/share/man/man3/EVP_DecryptFinal.3
-#usr/share/man/man3/EVP_DecryptFinal_ex.3
-#usr/share/man/man3/EVP_DecryptInit.3
-#usr/share/man/man3/EVP_DecryptInit_ex.3
-#usr/share/man/man3/EVP_DecryptUpdate.3
-#usr/share/man/man3/EVP_DigestFinal_ex.3
-#usr/share/man/man3/EVP_DigestInit.3
-#usr/share/man/man3/EVP_DigestInit_ex.3
-#usr/share/man/man3/EVP_DigestUpdate.3
-#usr/share/man/man3/EVP_EncryptFinal.3
-#usr/share/man/man3/EVP_EncryptFinal_ex.3
-#usr/share/man/man3/EVP_EncryptInit.3
-#usr/share/man/man3/EVP_EncryptInit_ex.3
-#usr/share/man/man3/EVP_EncryptUpdate.3
-#usr/share/man/man3/EVP_MAX_MD_SIZE.3
-#usr/share/man/man3/EVP_MD_CTX_block_size.3
-#usr/share/man/man3/EVP_MD_CTX_cleanup.3
-#usr/share/man/man3/EVP_MD_CTX_copy.3
-#usr/share/man/man3/EVP_MD_CTX_copy_ex.3
-#usr/share/man/man3/EVP_MD_CTX_create.3
-#usr/share/man/man3/EVP_MD_CTX_destroy.3
-#usr/share/man/man3/EVP_MD_CTX_init.3
-#usr/share/man/man3/EVP_MD_CTX_md.3
-#usr/share/man/man3/EVP_MD_CTX_size.3
-#usr/share/man/man3/EVP_MD_CTX_type.3
-#usr/share/man/man3/EVP_MD_block_size.3
-#usr/share/man/man3/EVP_MD_pkey_type.3
-#usr/share/man/man3/EVP_MD_size.3
-#usr/share/man/man3/EVP_MD_type.3
-#usr/share/man/man3/EVP_OpenFinal.3
-#usr/share/man/man3/EVP_OpenInit.3
-#usr/share/man/man3/EVP_OpenUpdate.3
-#usr/share/man/man3/EVP_PKEY_assign_DH.3
-#usr/share/man/man3/EVP_PKEY_assign_DSA.3
-#usr/share/man/man3/EVP_PKEY_assign_EC_KEY.3
-#usr/share/man/man3/EVP_PKEY_assign_RSA.3
-#usr/share/man/man3/EVP_PKEY_free.3
-#usr/share/man/man3/EVP_PKEY_get1_DH.3
-#usr/share/man/man3/EVP_PKEY_get1_DSA.3
-#usr/share/man/man3/EVP_PKEY_get1_EC_KEY.3
-#usr/share/man/man3/EVP_PKEY_get1_RSA.3
-#usr/share/man/man3/EVP_PKEY_new.3
-#usr/share/man/man3/EVP_PKEY_set1_DH.3
-#usr/share/man/man3/EVP_PKEY_set1_DSA.3
-#usr/share/man/man3/EVP_PKEY_set1_EC_KEY.3
-#usr/share/man/man3/EVP_PKEY_set1_RSA.3
-#usr/share/man/man3/EVP_PKEY_type.3
-#usr/share/man/man3/EVP_SealFinal.3
-#usr/share/man/man3/EVP_SealInit.3
-#usr/share/man/man3/EVP_SealUpdate.3
-#usr/share/man/man3/EVP_SignFinal.3
-#usr/share/man/man3/EVP_SignInit.3
-#usr/share/man/man3/EVP_SignUpdate.3
-#usr/share/man/man3/EVP_VerifyFinal.3
-#usr/share/man/man3/EVP_VerifyInit.3
-#usr/share/man/man3/EVP_VerifyUpdate.3
-#usr/share/man/man3/EVP_dss.3
-#usr/share/man/man3/EVP_dss1.3
-#usr/share/man/man3/EVP_get_cipherbyname.3
-#usr/share/man/man3/EVP_get_cipherbynid.3
-#usr/share/man/man3/EVP_get_cipherbyobj.3
-#usr/share/man/man3/EVP_get_digestbyname.3
-#usr/share/man/man3/EVP_get_digestbynid.3
-#usr/share/man/man3/EVP_get_digestbyobj.3
-#usr/share/man/man3/EVP_md2.3
-#usr/share/man/man3/EVP_md5.3
-#usr/share/man/man3/EVP_md_null.3
-#usr/share/man/man3/EVP_mdc2.3
-#usr/share/man/man3/EVP_ripemd160.3
-#usr/share/man/man3/EVP_sha.3
-#usr/share/man/man3/EVP_sha1.3
-#usr/share/man/man3/HMAC.3
-#usr/share/man/man3/HMAC_Final.3
-#usr/share/man/man3/HMAC_Init.3
-#usr/share/man/man3/HMAC_Update.3
-#usr/share/man/man3/HMAC_cleanup.3
-#usr/share/man/man3/MD2.3
-#usr/share/man/man3/MD2_Final.3
-#usr/share/man/man3/MD2_Init.3
-#usr/share/man/man3/MD2_Update.3
-#usr/share/man/man3/MD4.3
-#usr/share/man/man3/MD4_Final.3
-#usr/share/man/man3/MD4_Init.3
-#usr/share/man/man3/MD4_Update.3
-#usr/share/man/man3/MD5.3
-#usr/share/man/man3/MD5_Final.3
-#usr/share/man/man3/MD5_Init.3
-#usr/share/man/man3/MD5_Update.3
-#usr/share/man/man3/MDC2.3
-#usr/share/man/man3/MDC2_Final.3
-#usr/share/man/man3/MDC2_Init.3
-#usr/share/man/man3/MDC2_Update.3
-#usr/share/man/man3/OBJ_cleanup.3
-#usr/share/man/man3/OBJ_cmp.3
-#usr/share/man/man3/OBJ_create.3
-#usr/share/man/man3/OBJ_dup.3
-#usr/share/man/man3/OBJ_ln2nid.3
-#usr/share/man/man3/OBJ_nid2ln.3
-#usr/share/man/man3/OBJ_nid2obj.3
-#usr/share/man/man3/OBJ_nid2sn.3
-#usr/share/man/man3/OBJ_obj2nid.3
-#usr/share/man/man3/OBJ_obj2txt.3
-#usr/share/man/man3/OBJ_sn2nid.3
-#usr/share/man/man3/OBJ_txt2nid.3
-#usr/share/man/man3/OBJ_txt2obj.3
-#usr/share/man/man3/OPENSSL_Applink.3
-#usr/share/man/man3/OPENSSL_VERSION_NUMBER.3
-#usr/share/man/man3/OPENSSL_config.3
-#usr/share/man/man3/OPENSSL_ia32cap.3
-#usr/share/man/man3/OPENSSL_load_builtin_modules.3
-#usr/share/man/man3/OPENSSL_no_config.3
-#usr/share/man/man3/OpenSSL_add_all_algorithms.3
-#usr/share/man/man3/OpenSSL_add_all_ciphers.3
-#usr/share/man/man3/OpenSSL_add_all_digests.3
-#usr/share/man/man3/OpenSSL_add_ssl_algorithms.3
-#usr/share/man/man3/PEM.3
-#usr/share/man/man3/PEM_read_DHparams.3
-#usr/share/man/man3/PEM_read_DSAPrivateKey.3
-#usr/share/man/man3/PEM_read_DSA_PUBKEY.3
-#usr/share/man/man3/PEM_read_DSAparams.3
-#usr/share/man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3
-#usr/share/man/man3/PEM_read_PKCS7.3
-#usr/share/man/man3/PEM_read_PUBKEY.3
-#usr/share/man/man3/PEM_read_PrivateKey.3
-#usr/share/man/man3/PEM_read_RSAPrivateKey.3
-#usr/share/man/man3/PEM_read_RSAPublicKey.3
-#usr/share/man/man3/PEM_read_RSA_PUBKEY.3
-#usr/share/man/man3/PEM_read_X509.3
-#usr/share/man/man3/PEM_read_X509_AUX.3
-#usr/share/man/man3/PEM_read_X509_CRL.3
-#usr/share/man/man3/PEM_read_X509_REQ.3
-#usr/share/man/man3/PEM_read_bio_DHparams.3
-#usr/share/man/man3/PEM_read_bio_DSAPrivateKey.3
-#usr/share/man/man3/PEM_read_bio_DSA_PUBKEY.3
-#usr/share/man/man3/PEM_read_bio_DSAparams.3
-#usr/share/man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3
-#usr/share/man/man3/PEM_read_bio_PKCS7.3
-#usr/share/man/man3/PEM_read_bio_PUBKEY.3
-#usr/share/man/man3/PEM_read_bio_PrivateKey.3
-#usr/share/man/man3/PEM_read_bio_RSAPrivateKey.3
-#usr/share/man/man3/PEM_read_bio_RSAPublicKey.3
-#usr/share/man/man3/PEM_read_bio_RSA_PUBKEY.3
-#usr/share/man/man3/PEM_read_bio_X509.3
-#usr/share/man/man3/PEM_read_bio_X509_AUX.3
-#usr/share/man/man3/PEM_read_bio_X509_CRL.3
-#usr/share/man/man3/PEM_read_bio_X509_REQ.3
-#usr/share/man/man3/PEM_write_DHparams.3
-#usr/share/man/man3/PEM_write_DSAPrivateKey.3
-#usr/share/man/man3/PEM_write_DSA_PUBKEY.3
-#usr/share/man/man3/PEM_write_DSAparams.3
-#usr/share/man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3
-#usr/share/man/man3/PEM_write_PKCS7.3
-#usr/share/man/man3/PEM_write_PKCS8PrivateKey.3
-#usr/share/man/man3/PEM_write_PKCS8PrivateKey_nid.3
-#usr/share/man/man3/PEM_write_PUBKEY.3
-#usr/share/man/man3/PEM_write_PrivateKey.3
-#usr/share/man/man3/PEM_write_RSAPrivateKey.3
-#usr/share/man/man3/PEM_write_RSAPublicKey.3
-#usr/share/man/man3/PEM_write_RSA_PUBKEY.3
-#usr/share/man/man3/PEM_write_X509.3
-#usr/share/man/man3/PEM_write_X509_AUX.3
-#usr/share/man/man3/PEM_write_X509_CRL.3
-#usr/share/man/man3/PEM_write_X509_REQ.3
-#usr/share/man/man3/PEM_write_X509_REQ_NEW.3
-#usr/share/man/man3/PEM_write_bio_DHparams.3
-#usr/share/man/man3/PEM_write_bio_DSAPrivateKey.3
-#usr/share/man/man3/PEM_write_bio_DSA_PUBKEY.3
-#usr/share/man/man3/PEM_write_bio_DSAparams.3
-#usr/share/man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3
-#usr/share/man/man3/PEM_write_bio_PKCS7.3
-#usr/share/man/man3/PEM_write_bio_PKCS8PrivateKey.3
-#usr/share/man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3
-#usr/share/man/man3/PEM_write_bio_PUBKEY.3
-#usr/share/man/man3/PEM_write_bio_PrivateKey.3
-#usr/share/man/man3/PEM_write_bio_RSAPrivateKey.3
-#usr/share/man/man3/PEM_write_bio_RSAPublicKey.3
-#usr/share/man/man3/PEM_write_bio_RSA_PUBKEY.3
-#usr/share/man/man3/PEM_write_bio_X509.3
-#usr/share/man/man3/PEM_write_bio_X509_AUX.3
-#usr/share/man/man3/PEM_write_bio_X509_CRL.3
-#usr/share/man/man3/PEM_write_bio_X509_REQ.3
-#usr/share/man/man3/PEM_write_bio_X509_REQ_NEW.3
-#usr/share/man/man3/PKCS12_create.3
-#usr/share/man/man3/PKCS12_parse.3
-#usr/share/man/man3/PKCS7_decrypt.3
-#usr/share/man/man3/PKCS7_encrypt.3
-#usr/share/man/man3/PKCS7_sign.3
-#usr/share/man/man3/PKCS7_verify.3
-#usr/share/man/man3/RAND_SSLeay.3
-#usr/share/man/man3/RAND_add.3
-#usr/share/man/man3/RAND_bytes.3
-#usr/share/man/man3/RAND_cleanup.3
-#usr/share/man/man3/RAND_egd.3
-#usr/share/man/man3/RAND_event.3
-#usr/share/man/man3/RAND_file_name.3
-#usr/share/man/man3/RAND_get_rand_method.3
-#usr/share/man/man3/RAND_load_file.3
-#usr/share/man/man3/RAND_pseudo_bytes.3
-#usr/share/man/man3/RAND_screen.3
-#usr/share/man/man3/RAND_seed.3
-#usr/share/man/man3/RAND_set_rand_method.3
-#usr/share/man/man3/RAND_status.3
-#usr/share/man/man3/RAND_write_file.3
-#usr/share/man/man3/RC4.3
-#usr/share/man/man3/RC4_set_key.3
-#usr/share/man/man3/RIPEMD160.3
-#usr/share/man/man3/RIPEMD160_Final.3
-#usr/share/man/man3/RIPEMD160_Init.3
-#usr/share/man/man3/RIPEMD160_Update.3
-#usr/share/man/man3/RSA_PKCS1_SSLeay.3
-#usr/share/man/man3/RSA_blinding_off.3
-#usr/share/man/man3/RSA_blinding_on.3
-#usr/share/man/man3/RSA_check_key.3
-#usr/share/man/man3/RSA_flags.3
-#usr/share/man/man3/RSA_free.3
-#usr/share/man/man3/RSA_generate_key.3
-#usr/share/man/man3/RSA_get_default_method.3
-#usr/share/man/man3/RSA_get_ex_data.3
-#usr/share/man/man3/RSA_get_ex_new_index.3
-#usr/share/man/man3/RSA_get_method.3
-#usr/share/man/man3/RSA_new.3
-#usr/share/man/man3/RSA_new_method.3
-#usr/share/man/man3/RSA_null_method.3
-#usr/share/man/man3/RSA_padding_add_PKCS1_OAEP.3
-#usr/share/man/man3/RSA_padding_add_PKCS1_type_1.3
-#usr/share/man/man3/RSA_padding_add_PKCS1_type_2.3
-#usr/share/man/man3/RSA_padding_add_SSLv23.3
-#usr/share/man/man3/RSA_padding_add_none.3
-#usr/share/man/man3/RSA_padding_check_PKCS1_OAEP.3
-#usr/share/man/man3/RSA_padding_check_PKCS1_type_1.3
-#usr/share/man/man3/RSA_padding_check_PKCS1_type_2.3
-#usr/share/man/man3/RSA_padding_check_SSLv23.3
-#usr/share/man/man3/RSA_padding_check_none.3
-#usr/share/man/man3/RSA_print.3
-#usr/share/man/man3/RSA_print_fp.3
-#usr/share/man/man3/RSA_private_decrypt.3
-#usr/share/man/man3/RSA_private_encrypt.3
-#usr/share/man/man3/RSA_public_decrypt.3
-#usr/share/man/man3/RSA_public_encrypt.3
-#usr/share/man/man3/RSA_set_default_method.3
-#usr/share/man/man3/RSA_set_ex_data.3
-#usr/share/man/man3/RSA_set_method.3
-#usr/share/man/man3/RSA_sign.3
-#usr/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3
-#usr/share/man/man3/RSA_size.3
-#usr/share/man/man3/RSA_verify.3
-#usr/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3
-#usr/share/man/man3/SHA1.3
-#usr/share/man/man3/SHA1_Final.3
-#usr/share/man/man3/SHA1_Init.3
-#usr/share/man/man3/SHA1_Update.3
-#usr/share/man/man3/SMIME_read_PKCS7.3
-#usr/share/man/man3/SMIME_write_PKCS7.3
-#usr/share/man/man3/SSL.3
-#usr/share/man/man3/SSL_CIPHER_description.3
-#usr/share/man/man3/SSL_CIPHER_get_bits.3
-#usr/share/man/man3/SSL_CIPHER_get_name.3
-#usr/share/man/man3/SSL_CIPHER_get_version.3
-#usr/share/man/man3/SSL_COMP_add_compression_method.3
-#usr/share/man/man3/SSL_CTX_add_client_CA.3
-#usr/share/man/man3/SSL_CTX_add_extra_chain_cert.3
-#usr/share/man/man3/SSL_CTX_add_session.3
-#usr/share/man/man3/SSL_CTX_callback_ctrl.3
-#usr/share/man/man3/SSL_CTX_check_private_key.3
-#usr/share/man/man3/SSL_CTX_clear_options.3
-#usr/share/man/man3/SSL_CTX_ctrl.3
-#usr/share/man/man3/SSL_CTX_flush_sessions.3
-#usr/share/man/man3/SSL_CTX_free.3
-#usr/share/man/man3/SSL_CTX_get_cert_store.3
-#usr/share/man/man3/SSL_CTX_get_client_CA_list.3
-#usr/share/man/man3/SSL_CTX_get_client_cert_cb.3
-#usr/share/man/man3/SSL_CTX_get_ex_data.3
-#usr/share/man/man3/SSL_CTX_get_ex_new_index.3
-#usr/share/man/man3/SSL_CTX_get_info_callback.3
-#usr/share/man/man3/SSL_CTX_get_max_cert_list.3
-#usr/share/man/man3/SSL_CTX_get_mode.3
-#usr/share/man/man3/SSL_CTX_get_options.3
-#usr/share/man/man3/SSL_CTX_get_quiet_shutdown.3
-#usr/share/man/man3/SSL_CTX_get_session_cache_mode.3
-#usr/share/man/man3/SSL_CTX_get_timeout.3
-#usr/share/man/man3/SSL_CTX_get_verify_callback.3
-#usr/share/man/man3/SSL_CTX_get_verify_depth.3
-#usr/share/man/man3/SSL_CTX_get_verify_mode.3
-#usr/share/man/man3/SSL_CTX_load_verify_locations.3
-#usr/share/man/man3/SSL_CTX_need_tmp_rsa.3
-#usr/share/man/man3/SSL_CTX_new.3
-#usr/share/man/man3/SSL_CTX_remove_session.3
-#usr/share/man/man3/SSL_CTX_sess_accept.3
-#usr/share/man/man3/SSL_CTX_sess_accept_good.3
-#usr/share/man/man3/SSL_CTX_sess_accept_renegotiate.3
-#usr/share/man/man3/SSL_CTX_sess_cache_full.3
-#usr/share/man/man3/SSL_CTX_sess_cb_hits.3
-#usr/share/man/man3/SSL_CTX_sess_connect.3
-#usr/share/man/man3/SSL_CTX_sess_connect_good.3
-#usr/share/man/man3/SSL_CTX_sess_connect_renegotiate.3
-#usr/share/man/man3/SSL_CTX_sess_get_cache_size.3
-#usr/share/man/man3/SSL_CTX_sess_get_get_cb.3
-#usr/share/man/man3/SSL_CTX_sess_get_new_cb.3
-#usr/share/man/man3/SSL_CTX_sess_get_remove_cb.3
-#usr/share/man/man3/SSL_CTX_sess_hits.3
-#usr/share/man/man3/SSL_CTX_sess_misses.3
-#usr/share/man/man3/SSL_CTX_sess_number.3
-#usr/share/man/man3/SSL_CTX_sess_set_cache_size.3
-#usr/share/man/man3/SSL_CTX_sess_set_get_cb.3
-#usr/share/man/man3/SSL_CTX_sess_set_new_cb.3
-#usr/share/man/man3/SSL_CTX_sess_set_remove_cb.3
-#usr/share/man/man3/SSL_CTX_sess_timeouts.3
-#usr/share/man/man3/SSL_CTX_sessions.3
-#usr/share/man/man3/SSL_CTX_set_cert_store.3
-#usr/share/man/man3/SSL_CTX_set_cert_verify_callback.3
-#usr/share/man/man3/SSL_CTX_set_cipher_list.3
-#usr/share/man/man3/SSL_CTX_set_client_CA_list.3
-#usr/share/man/man3/SSL_CTX_set_client_cert_cb.3
-#usr/share/man/man3/SSL_CTX_set_default_passwd_cb.3
-#usr/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3
-#usr/share/man/man3/SSL_CTX_set_ex_data.3
-#usr/share/man/man3/SSL_CTX_set_generate_session_id.3
-#usr/share/man/man3/SSL_CTX_set_info_callback.3
-#usr/share/man/man3/SSL_CTX_set_max_cert_list.3
-#usr/share/man/man3/SSL_CTX_set_mode.3
-#usr/share/man/man3/SSL_CTX_set_msg_callback.3
-#usr/share/man/man3/SSL_CTX_set_msg_callback_arg.3
-#usr/share/man/man3/SSL_CTX_set_options.3
-#usr/share/man/man3/SSL_CTX_set_quiet_shutdown.3
-#usr/share/man/man3/SSL_CTX_set_session_cache_mode.3
-#usr/share/man/man3/SSL_CTX_set_session_id_context.3
-#usr/share/man/man3/SSL_CTX_set_ssl_version.3
-#usr/share/man/man3/SSL_CTX_set_timeout.3
-#usr/share/man/man3/SSL_CTX_set_tmp_dh.3
-#usr/share/man/man3/SSL_CTX_set_tmp_dh_callback.3
-#usr/share/man/man3/SSL_CTX_set_tmp_rsa.3
-#usr/share/man/man3/SSL_CTX_set_tmp_rsa_callback.3
-#usr/share/man/man3/SSL_CTX_set_verify.3
-#usr/share/man/man3/SSL_CTX_set_verify_depth.3
-#usr/share/man/man3/SSL_CTX_use_PrivateKey.3
-#usr/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3
-#usr/share/man/man3/SSL_CTX_use_PrivateKey_file.3
-#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey.3
-#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3
-#usr/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3
-#usr/share/man/man3/SSL_CTX_use_certificate.3
-#usr/share/man/man3/SSL_CTX_use_certificate_ASN1.3
-#usr/share/man/man3/SSL_CTX_use_certificate_chain_file.3
-#usr/share/man/man3/SSL_CTX_use_certificate_file.3
-#usr/share/man/man3/SSL_SESSION_free.3
-#usr/share/man/man3/SSL_SESSION_get_ex_data.3
-#usr/share/man/man3/SSL_SESSION_get_ex_new_index.3
-#usr/share/man/man3/SSL_SESSION_get_time.3
-#usr/share/man/man3/SSL_SESSION_get_timeout.3
-#usr/share/man/man3/SSL_SESSION_set_ex_data.3
-#usr/share/man/man3/SSL_SESSION_set_time.3
-#usr/share/man/man3/SSL_SESSION_set_timeout.3
-#usr/share/man/man3/SSL_accept.3
-#usr/share/man/man3/SSL_add_client_CA.3
-#usr/share/man/man3/SSL_add_session.3
-#usr/share/man/man3/SSL_alert_desc_string.3
-#usr/share/man/man3/SSL_alert_desc_string_long.3
-#usr/share/man/man3/SSL_alert_type_string.3
-#usr/share/man/man3/SSL_alert_type_string_long.3
-#usr/share/man/man3/SSL_callback_ctrl.3
-#usr/share/man/man3/SSL_check_private_key.3
-#usr/share/man/man3/SSL_clear.3
-#usr/share/man/man3/SSL_clear_options.3
-#usr/share/man/man3/SSL_connect.3
-#usr/share/man/man3/SSL_ctrl.3
-#usr/share/man/man3/SSL_do_handshake.3
-#usr/share/man/man3/SSL_flush_sessions.3
-#usr/share/man/man3/SSL_free.3
-#usr/share/man/man3/SSL_get_SSL_CTX.3
-#usr/share/man/man3/SSL_get_accept_state.3
-#usr/share/man/man3/SSL_get_cipher.3
-#usr/share/man/man3/SSL_get_cipher_bits.3
-#usr/share/man/man3/SSL_get_cipher_list.3
-#usr/share/man/man3/SSL_get_cipher_name.3
-#usr/share/man/man3/SSL_get_cipher_version.3
-#usr/share/man/man3/SSL_get_ciphers.3
-#usr/share/man/man3/SSL_get_client_CA_list.3
-#usr/share/man/man3/SSL_get_current_cipher.3
-#usr/share/man/man3/SSL_get_default_timeout.3
-#usr/share/man/man3/SSL_get_error.3
-#usr/share/man/man3/SSL_get_ex_data.3
-#usr/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3
-#usr/share/man/man3/SSL_get_ex_new_index.3
-#usr/share/man/man3/SSL_get_fd.3
-#usr/share/man/man3/SSL_get_info_callback.3
-#usr/share/man/man3/SSL_get_max_cert_list.3
-#usr/share/man/man3/SSL_get_mode.3
-#usr/share/man/man3/SSL_get_msg_callback_arg.3
-#usr/share/man/man3/SSL_get_options.3
-#usr/share/man/man3/SSL_get_peer_cert_chain.3
-#usr/share/man/man3/SSL_get_peer_certificate.3
-#usr/share/man/man3/SSL_get_quiet_shutdown.3
-#usr/share/man/man3/SSL_get_rbio.3
-#usr/share/man/man3/SSL_get_secure_renegotiation_support.3
-#usr/share/man/man3/SSL_get_session.3
-#usr/share/man/man3/SSL_get_shutdown.3
-#usr/share/man/man3/SSL_get_ssl_method.3
-#usr/share/man/man3/SSL_get_verify_callback.3
-#usr/share/man/man3/SSL_get_verify_depth.3
-#usr/share/man/man3/SSL_get_verify_mode.3
-#usr/share/man/man3/SSL_get_verify_result.3
-#usr/share/man/man3/SSL_get_version.3
-#usr/share/man/man3/SSL_has_matching_session_id.3
-#usr/share/man/man3/SSL_library_init.3
-#usr/share/man/man3/SSL_load_client_CA_file.3
-#usr/share/man/man3/SSL_load_error_strings.3
-#usr/share/man/man3/SSL_need_tmp_rsa.3
-#usr/share/man/man3/SSL_new.3
-#usr/share/man/man3/SSL_pending.3
-#usr/share/man/man3/SSL_read.3
-#usr/share/man/man3/SSL_remove_session.3
-#usr/share/man/man3/SSL_rstate_string.3
-#usr/share/man/man3/SSL_rstate_string_long.3
-#usr/share/man/man3/SSL_session_reused.3
-#usr/share/man/man3/SSL_set_bio.3
-#usr/share/man/man3/SSL_set_cipher_list.3
-#usr/share/man/man3/SSL_set_client_CA_list.3
-#usr/share/man/man3/SSL_set_connect_state.3
-#usr/share/man/man3/SSL_set_ex_data.3
-#usr/share/man/man3/SSL_set_fd.3
-#usr/share/man/man3/SSL_set_generate_session_id.3
-#usr/share/man/man3/SSL_set_info_callback.3
-#usr/share/man/man3/SSL_set_max_cert_list.3
-#usr/share/man/man3/SSL_set_mode.3
-#usr/share/man/man3/SSL_set_msg_callback.3
-#usr/share/man/man3/SSL_set_options.3
-#usr/share/man/man3/SSL_set_quiet_shutdown.3
-#usr/share/man/man3/SSL_set_session.3
-#usr/share/man/man3/SSL_set_session_id_context.3
-#usr/share/man/man3/SSL_set_shutdown.3
-#usr/share/man/man3/SSL_set_ssl_method.3
-#usr/share/man/man3/SSL_set_tmp_dh.3
-#usr/share/man/man3/SSL_set_tmp_dh_callback.3
-#usr/share/man/man3/SSL_set_tmp_rsa.3
-#usr/share/man/man3/SSL_set_tmp_rsa_callback.3
-#usr/share/man/man3/SSL_set_verify.3
-#usr/share/man/man3/SSL_set_verify_depth.3
-#usr/share/man/man3/SSL_set_verify_result.3
-#usr/share/man/man3/SSL_shutdown.3
-#usr/share/man/man3/SSL_state_string.3
-#usr/share/man/man3/SSL_state_string_long.3
-#usr/share/man/man3/SSL_use_PrivateKey.3
-#usr/share/man/man3/SSL_use_PrivateKey_ASN1.3
-#usr/share/man/man3/SSL_use_PrivateKey_file.3
-#usr/share/man/man3/SSL_use_RSAPrivateKey.3
-#usr/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3
-#usr/share/man/man3/SSL_use_RSAPrivateKey_file.3
-#usr/share/man/man3/SSL_use_certificate.3
-#usr/share/man/man3/SSL_use_certificate_ASN1.3
-#usr/share/man/man3/SSL_use_certificate_file.3
-#usr/share/man/man3/SSL_want.3
-#usr/share/man/man3/SSL_want_nothing.3
-#usr/share/man/man3/SSL_want_read.3
-#usr/share/man/man3/SSL_want_write.3
-#usr/share/man/man3/SSL_want_x509_lookup.3
-#usr/share/man/man3/SSL_write.3
-#usr/share/man/man3/SSLeay.3
-#usr/share/man/man3/SSLeay_add_ssl_algorithms.3
-#usr/share/man/man3/SSLeay_version.3
-#usr/share/man/man3/UI_OpenSSL.3
-#usr/share/man/man3/UI_add_error_string.3
-#usr/share/man/man3/UI_add_info_string.3
-#usr/share/man/man3/UI_add_input_boolean.3
-#usr/share/man/man3/UI_add_input_string.3
-#usr/share/man/man3/UI_add_user_data.3
-#usr/share/man/man3/UI_add_verify_string.3
-#usr/share/man/man3/UI_construct_prompt.3
-#usr/share/man/man3/UI_ctrl.3
-#usr/share/man/man3/UI_dup_error_string.3
-#usr/share/man/man3/UI_dup_info_string.3
-#usr/share/man/man3/UI_dup_input_boolean.3
-#usr/share/man/man3/UI_dup_input_string.3
-#usr/share/man/man3/UI_dup_verify_string.3
-#usr/share/man/man3/UI_free.3
-#usr/share/man/man3/UI_get0_result.3
-#usr/share/man/man3/UI_get0_user_data.3
-#usr/share/man/man3/UI_get_default_method.3
-#usr/share/man/man3/UI_get_method.3
-#usr/share/man/man3/UI_new.3
-#usr/share/man/man3/UI_new_method.3
-#usr/share/man/man3/UI_process.3
-#usr/share/man/man3/UI_set_default_method.3
-#usr/share/man/man3/UI_set_method.3
-#usr/share/man/man3/X509_NAME_ENTRY_create_by_NID.3
-#usr/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3
-#usr/share/man/man3/X509_NAME_ENTRY_create_by_txt.3
-#usr/share/man/man3/X509_NAME_ENTRY_get_data.3
-#usr/share/man/man3/X509_NAME_ENTRY_get_object.3
-#usr/share/man/man3/X509_NAME_ENTRY_set_data.3
-#usr/share/man/man3/X509_NAME_ENTRY_set_object.3
-#usr/share/man/man3/X509_NAME_add_entry.3
-#usr/share/man/man3/X509_NAME_add_entry_by_NID.3
-#usr/share/man/man3/X509_NAME_add_entry_by_OBJ.3
-#usr/share/man/man3/X509_NAME_add_entry_by_txt.3
-#usr/share/man/man3/X509_NAME_delete_entry.3
-#usr/share/man/man3/X509_NAME_entry_count.3
-#usr/share/man/man3/X509_NAME_get_entry.3
-#usr/share/man/man3/X509_NAME_get_index_by_NID.3
-#usr/share/man/man3/X509_NAME_get_index_by_OBJ.3
-#usr/share/man/man3/X509_NAME_get_text_by_NID.3
-#usr/share/man/man3/X509_NAME_get_text_by_OBJ.3
-#usr/share/man/man3/X509_NAME_oneline.3
-#usr/share/man/man3/X509_NAME_print.3
-#usr/share/man/man3/X509_NAME_print_ex.3
-#usr/share/man/man3/X509_NAME_print_ex_fp.3
-#usr/share/man/man3/X509_free.3
-#usr/share/man/man3/X509_new.3
-#usr/share/man/man3/bio.3
-#usr/share/man/man3/blowfish.3
-#usr/share/man/man3/bn.3
-#usr/share/man/man3/bn_add_words.3
-#usr/share/man/man3/bn_check_top.3
-#usr/share/man/man3/bn_cmp_words.3
-#usr/share/man/man3/bn_div_words.3
-#usr/share/man/man3/bn_dump.3
-#usr/share/man/man3/bn_expand.3
-#usr/share/man/man3/bn_expand2.3
-#usr/share/man/man3/bn_fix_top.3
-#usr/share/man/man3/bn_internal.3
-#usr/share/man/man3/bn_mul_add_words.3
-#usr/share/man/man3/bn_mul_comba4.3
-#usr/share/man/man3/bn_mul_comba8.3
-#usr/share/man/man3/bn_mul_high.3
-#usr/share/man/man3/bn_mul_low_normal.3
-#usr/share/man/man3/bn_mul_low_recursive.3
-#usr/share/man/man3/bn_mul_normal.3
-#usr/share/man/man3/bn_mul_part_recursive.3
-#usr/share/man/man3/bn_mul_recursive.3
-#usr/share/man/man3/bn_mul_words.3
-#usr/share/man/man3/bn_print.3
-#usr/share/man/man3/bn_set_high.3
-#usr/share/man/man3/bn_set_low.3
-#usr/share/man/man3/bn_set_max.3
-#usr/share/man/man3/bn_sqr_comba4.3
-#usr/share/man/man3/bn_sqr_comba8.3
-#usr/share/man/man3/bn_sqr_normal.3
-#usr/share/man/man3/bn_sqr_recursive.3
-#usr/share/man/man3/bn_sqr_words.3
-#usr/share/man/man3/bn_sub_words.3
-#usr/share/man/man3/bn_wexpand.3
-#usr/share/man/man3/buffer.3
-#usr/share/man/man3/crypto.3
-#usr/share/man/man3/d2i_509_CRL_fp.3
-#usr/share/man/man3/d2i_ASN1_OBJECT.3
-#usr/share/man/man3/d2i_DHparams.3
-#usr/share/man/man3/d2i_DSAPrivateKey.3
-#usr/share/man/man3/d2i_DSAPublicKey.3
-#usr/share/man/man3/d2i_DSA_PUBKEY.3
-#usr/share/man/man3/d2i_DSA_SIG.3
-#usr/share/man/man3/d2i_Netscape_RSA.3
-#usr/share/man/man3/d2i_PKCS8PrivateKey.3
-#usr/share/man/man3/d2i_PKCS8PrivateKey_bio.3
-#usr/share/man/man3/d2i_PKCS8PrivateKey_fp.3
-#usr/share/man/man3/d2i_RSAPrivateKey.3
-#usr/share/man/man3/d2i_RSAPublicKey.3
-#usr/share/man/man3/d2i_RSA_PUBKEY.3
-#usr/share/man/man3/d2i_SSL_SESSION.3
-#usr/share/man/man3/d2i_X509.3
-#usr/share/man/man3/d2i_X509_ALGOR.3
-#usr/share/man/man3/d2i_X509_CRL.3
-#usr/share/man/man3/d2i_X509_CRL_bio.3
-#usr/share/man/man3/d2i_X509_NAME.3
-#usr/share/man/man3/d2i_X509_REQ.3
-#usr/share/man/man3/d2i_X509_REQ_bio.3
-#usr/share/man/man3/d2i_X509_REQ_fp.3
-#usr/share/man/man3/d2i_X509_SIG.3
-#usr/share/man/man3/d2i_X509_bio.3
-#usr/share/man/man3/d2i_X509_fp.3
-#usr/share/man/man3/des.3
-#usr/share/man/man3/des_read_2passwords.3
-#usr/share/man/man3/des_read_password.3
-#usr/share/man/man3/des_read_pw.3
-#usr/share/man/man3/des_read_pw_string.3
-#usr/share/man/man3/dh.3
-#usr/share/man/man3/dsa.3
-#usr/share/man/man3/ecdsa.3
-#usr/share/man/man3/engine.3
-#usr/share/man/man3/err.3
-#usr/share/man/man3/evp.3
-#usr/share/man/man3/hmac.3
-#usr/share/man/man3/i2d_ASN1_OBJECT.3
-#usr/share/man/man3/i2d_DHparams.3
-#usr/share/man/man3/i2d_DSAPrivateKey.3
-#usr/share/man/man3/i2d_DSAPublicKey.3
-#usr/share/man/man3/i2d_DSA_PUBKEY.3
-#usr/share/man/man3/i2d_DSA_SIG.3
-#usr/share/man/man3/i2d_Netscape_RSA.3
-#usr/share/man/man3/i2d_PKCS8PrivateKey_bio.3
-#usr/share/man/man3/i2d_PKCS8PrivateKey_fp.3
-#usr/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3
-#usr/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3
-#usr/share/man/man3/i2d_RSAPrivateKey.3
-#usr/share/man/man3/i2d_RSAPublicKey.3
-#usr/share/man/man3/i2d_RSA_PUBKEY.3
-#usr/share/man/man3/i2d_SSL_SESSION.3
-#usr/share/man/man3/i2d_X509.3
-#usr/share/man/man3/i2d_X509_ALGOR.3
-#usr/share/man/man3/i2d_X509_CRL.3
-#usr/share/man/man3/i2d_X509_CRL_bio.3
-#usr/share/man/man3/i2d_X509_CRL_fp.3
-#usr/share/man/man3/i2d_X509_NAME.3
-#usr/share/man/man3/i2d_X509_REQ.3
-#usr/share/man/man3/i2d_X509_REQ_bio.3
-#usr/share/man/man3/i2d_X509_REQ_fp.3
-#usr/share/man/man3/i2d_X509_SIG.3
-#usr/share/man/man3/i2d_X509_bio.3
-#usr/share/man/man3/i2d_X509_fp.3
-#usr/share/man/man3/lh_delete.3
-#usr/share/man/man3/lh_doall.3
-#usr/share/man/man3/lh_doall_arg.3
-#usr/share/man/man3/lh_error.3
-#usr/share/man/man3/lh_free.3
-#usr/share/man/man3/lh_insert.3
-#usr/share/man/man3/lh_new.3
-#usr/share/man/man3/lh_node_stats.3
-#usr/share/man/man3/lh_node_stats_bio.3
-#usr/share/man/man3/lh_node_usage_stats.3
-#usr/share/man/man3/lh_node_usage_stats_bio.3
-#usr/share/man/man3/lh_retrieve.3
-#usr/share/man/man3/lh_stats.3
-#usr/share/man/man3/lh_stats_bio.3
-#usr/share/man/man3/lhash.3
-#usr/share/man/man3/md5.3
-#usr/share/man/man3/mdc2.3
-#usr/share/man/man3/pem.3
-#usr/share/man/man3/rc4.3
-#usr/share/man/man3/ripemd.3
-#usr/share/man/man3/rsa.3
-#usr/share/man/man3/sha.3
-#usr/share/man/man3/ssl.3
-#usr/share/man/man3/ui.3
-#usr/share/man/man3/ui_compat.3
-#usr/share/man/man3/x509.3
-#usr/share/man/man5/config.5
-#usr/share/man/man5/x509v3_config.5
-#usr/share/man/man7/des_modes.7
diff --git a/config/rootfiles/common/openssl-compat b/config/rootfiles/common/openssl-compat
new file mode 100644 (file)
index 0000000..ccf89d0
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/libcrypto.so.0.9.8
+usr/lib/libssl.so.0.9.8
index b9d2617f6ed77d265d838af3e67d83f84f3f2738..3452b7198a80285865bb565b5c9157642bf58ca5 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2012  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.9.8y
+VER        = 1.0.1e
 
 THISAPP    = openssl-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,6 +32,17 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+ifeq "$(MACHINE)" "i586"
+       CONFIGURE_ARGS = linux-elf no-asm 386
+endif
+
+ifeq "$(MACHINE)" "armv5tel"
+       CONFIGURE_ARGS = linux-generic32
+endif
+
+CFLAGS += -DPURIFY
+export RPM_OPT_FLAGS = $(CFLAGS)
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -40,7 +51,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 47c7fb37f78c970f1d30aa2f9e9e26d8
+$(DL_FILE)_MD5 = 66bf6f10f060d561929de96f9dfe5b8c
 
 install : $(TARGET)
 
@@ -70,15 +81,49 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-0.9.8u-cryptodev.patch
-       @rm -rf /etc/ssl
-       cd $(DIR_APP) && sed -i -e 's/mcpu/march/' config
-       cd $(DIR_APP) && sed -i -e 's/-O3/-O2/' -e 's/-march=i486/-march=i586/' Configure
-       cd $(DIR_APP) && ./Configure --openssldir=/etc/ssl --prefix=/usr shared linux-elf \
-               zlib-dynamic no-asm 386 -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGEST
-       cd $(DIR_APP) && make MANDIR=/usr/share/man
-       cd $(DIR_APP) && make MANDIR=/usr/share/man install
-       rm -rf /etc/ssl/lib
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.0-beta5-enginesdir.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1-beta2-build.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1e-cryptodev.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1e-fix_parallel_build-1.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1e-fix_pod_syntax-1.patch
+
+       cd $(DIR_APP) && find crypto/ -name Makefile -exec \
+               sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
+
+       cd $(DIR_APP) && ./Configure \
+               --prefix=/usr \
+               --openssldir=/etc/ssl \
+               --enginesdir=/usr/lib/openssl/engines \
+               shared \
+               zlib-dynamic \
+               enable-camellia \
+               enable-md2 \
+               enable-seed \
+               enable-tlsext \
+               enable-rfc3779 \
+               no-idea \
+               no-mdc2 \
+               no-rc5 \
+               no-srp \
+               $(CONFIGURE_ARGS) \
+               -DSSL_FORBID_ENULL \
+               -DHAVE_CRYPTODEV \
+               -DUSE_CRYPTODEV_DIGEST
+
+       cd $(DIR_APP) && make depend
+       cd $(DIR_APP) && make
+
+       # Install everything.
+       cd $(DIR_APP) && make install
        install -m 0644 $(DIR_SRC)/config/ssl/openssl.cnf /etc/ssl
+
+       # Remove man pages.
+       -rm -vfr /etc/ssl/man
+
+       # Move engines to the right place.
+       -mkdir -pv /usr/lib/openssl
+       rm -vfr /usr/lib/openssl/engines
+       mv -v /usr/lib/engines /usr/lib/openssl
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/openssl-compat b/lfs/openssl-compat
new file mode 100644 (file)
index 0000000..75dd4a2
--- /dev/null
@@ -0,0 +1,95 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 0.9.8y
+
+THISAPP    = openssl-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 47c7fb37f78c970f1d30aa2f9e9e26d8
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && sed -i -e 's/mcpu/march/' config
+       cd $(DIR_APP) && sed -i -e 's/-O3/-O2/' -e 's/-march=i486/-march=i586/' Configure
+
+       # Support for engines is disabled, because the shared objects from the
+       # new version of openssl cannot be loaded by the old one.
+
+       cd $(DIR_APP) && ./Configure \
+               --prefix=/usr \
+               --openssldir=/etc/ssl \
+               shared linux-elf \
+               zlib-dynamic \
+               no-engines \
+               no-asm 386
+
+       cd $(DIR_APP) && make depend
+       cd $(DIR_APP) && make
+
+       cd $(DIR_APP) && install -v -m 755 libcrypto.so.0.9.8 /usr/lib
+       cd $(DIR_APP) && install -v -m 755 libssl.so.0.9.8 /usr/lib
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 8e7252fbc44471f25261a555a456becfc6a952af..bb47b52cbc09e9153b24db0aed68cd4906ffca74 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -460,6 +460,7 @@ buildipfire() {
   ipfiremake gdbm
   ipfiremake pam
   ipfiremake openssl
+  ipfiremake openssl-compat
   ipfiremake curl
   ipfiremake tcl
   ipfiremake sqlite
diff --git a/src/patches/openssl-1.0.0-beta5-enginesdir.patch b/src/patches/openssl-1.0.0-beta5-enginesdir.patch
new file mode 100644 (file)
index 0000000..d942d6e
--- /dev/null
@@ -0,0 +1,52 @@
+diff -up openssl-1.0.0-beta5/Configure.enginesdir openssl-1.0.0-beta5/Configure
+--- openssl-1.0.0-beta5/Configure.enginesdir   2010-01-20 18:07:05.000000000 +0100
++++ openssl-1.0.0-beta5/Configure      2010-01-20 18:10:48.000000000 +0100
+@@ -622,6 +622,7 @@ my $idx_multilib = $idx++;
+ my $prefix="";
+ my $libdir="";
+ my $openssldir="";
++my $enginesdir="";
+ my $exe_ext="";
+ my $install_prefix= "$ENV{'INSTALL_PREFIX'}";
+ my $cross_compile_prefix="";
+@@ -833,6 +834,10 @@ PROCESS_ARGS:
+                               {
+                               $openssldir=$1;
+                               }
++                      elsif (/^--enginesdir=(.*)$/)
++                              {
++                              $enginesdir=$1;
++                              }
+                       elsif (/^--install.prefix=(.*)$/)
+                               {
+                               $install_prefix=$1;
+@@ -1053,7 +1058,7 @@ chop $prefix if $prefix =~ /.\/$/;
+ $openssldir=$prefix . "/ssl" if $openssldir eq "";
+ $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/;
+-
++$enginesdir="$prefix/lib/engines" if $enginesdir eq "";
+ print "IsMK1MF=$IsMK1MF\n";
+@@ -1673,7 +1678,7 @@ while (<IN>)
+               }
+       elsif   (/^#define\s+ENGINESDIR/)
+               {
+-              my $foo = "$prefix/$libdir/engines";
++              my $foo = "$enginesdir";
+               $foo =~ s/\\/\\\\/g;
+               print OUT "#define ENGINESDIR \"$foo\"\n";
+               }
+diff -up openssl-1.0.0-beta5/engines/Makefile.enginesdir openssl-1.0.0-beta5/engines/Makefile
+--- openssl-1.0.0-beta5/engines/Makefile.enginesdir    2010-01-16 21:06:09.000000000 +0100
++++ openssl-1.0.0-beta5/engines/Makefile       2010-01-20 18:07:05.000000000 +0100
+@@ -124,7 +124,7 @@ install:
+                               sfx=".so"; \
+                               cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
+                         fi; \
+-                        chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
++                        chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
+                         mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+               done; \
+       fi
diff --git a/src/patches/openssl-1.0.1-beta2-build.patch b/src/patches/openssl-1.0.1-beta2-build.patch
new file mode 100644 (file)
index 0000000..0a5cef1
--- /dev/null
@@ -0,0 +1,109 @@
+diff -up openssl-1.0.1-beta2/Configure.rpmbuild openssl-1.0.1-beta2/Configure
+--- openssl-1.0.1-beta2/Configure.rpmbuild     2012-01-05 01:07:34.000000000 +0100
++++ openssl-1.0.1-beta2/Configure      2012-02-02 12:43:56.547409325 +0100
+@@ -343,23 +343,23 @@ my %table=(
+ ####
+ # *-generic* is endian-neutral target, but ./config is free to
+ # throw in -D[BL]_ENDIAN, whichever appropriate...
+-"linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ppc",  "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-generic32","gcc:-DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
++"linux-ppc",  "gcc:-DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ # It's believed that majority of ARM toolchains predefine appropriate -march.
+ # If you compiler does not, do complement config command line with one!
+-"linux-armv4",        "gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-armv4",        "gcc:-DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ #### IA-32 targets...
+ "linux-ia32-icc",     "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-elf",  "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf",  "gcc:-DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ "linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
+ ####
+-"linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ppc64",        "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-generic64","gcc:-DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
++"linux-ppc64",        "gcc:-m64 -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
++"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
++"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+ #### So called "highgprs" target for z/Architecture CPUs
+ # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+ # /proc/cpuinfo. The idea is to preserve most significant bits of
+@@ -373,16 +373,16 @@ my %table=(
+ # ldconfig and run-time linker to autodiscover. Unfortunately it
+ # doesn't work just yet, because of couple of bugs in glibc
+ # sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1...
+-"linux32-s390x",      "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/highgprs",
++"linux32-s390x",      "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::/highgprs",
+ #### SPARC Linux setups
+ # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
+ # assisted with debugging of following two configs.
+-"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparcv8","gcc:-DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS) -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ # it's a real mess with -mcpu=ultrasparc option under Linux, but
+ # -Wa,-Av8plus should do the trick no matter what.
+-"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparcv9","gcc:-DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS) -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ # GCC 3.1 is a requirement
+-"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux64-sparcv9","gcc:-DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+ #### Alpha Linux with GNU C and Compaq C setups
+ # Special notes:
+ # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
+@@ -396,8 +396,8 @@ my %table=(
+ #
+ #                                     <appro@fy.chalmers.se>
+ #
+-"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-alpha-gcc","gcc:-DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
++"linux-alpha+bwx-gcc","gcc:-DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+@@ -1678,7 +1678,7 @@ while (<IN>)
+       elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
+               {
+               my $sotmp = $1;
+-              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
++              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SONAMEVER) .s$sotmp/;
+               }
+       elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
+               {
+diff -up openssl-1.0.1-beta2/Makefile.org.rpmbuild openssl-1.0.1-beta2/Makefile.org
+--- openssl-1.0.1-beta2/Makefile.org.rpmbuild  2011-12-27 16:17:50.000000000 +0100
++++ openssl-1.0.1-beta2/Makefile.org   2012-02-02 12:30:23.652495435 +0100
+@@ -10,6 +10,7 @@ SHLIB_VERSION_HISTORY=
+ SHLIB_MAJOR=
+ SHLIB_MINOR=
+ SHLIB_EXT=
++SHLIB_SONAMEVER=10
+ PLATFORM=dist
+ OPTIONS=
+ CONFIGURE_ARGS=
+@@ -333,10 +334,9 @@ clean-shared:
+ link-shared:
+       @ set -e; for i in $(SHLIBDIRS); do \
+               $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
+-                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
++                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
+                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
+                       symlink.$(SHLIB_TARGET); \
+-              libs="$$libs -l$$i"; \
+       done
+ build-shared: do_$(SHLIB_TARGET) link-shared
+@@ -347,7 +347,7 @@ do_$(SHLIB_TARGET):
+                       libs="$(LIBKRB5) $$libs"; \
+               fi; \
+               $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
+-                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
++                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
+                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
+                       LIBDEPS="$$libs $(EX_LIBS)" \
+                       link_a.$(SHLIB_TARGET); \
diff --git a/src/patches/openssl-1.0.1e-cryptodev.patch b/src/patches/openssl-1.0.1e-cryptodev.patch
new file mode 100644 (file)
index 0000000..29b6f77
--- /dev/null
@@ -0,0 +1,712 @@
+Patch created by Michael Tremer <michael.tremer@ipfire.org> from
+  http://download.gna.org/cryptodev-linux/cryptodev-linux-1.6.tar.gz
+
+diff -Nur openssl-1.0.1e-vanilla/crypto/cryptodev.h openssl-1.0.1e/crypto/cryptodev.h
+--- openssl-1.0.1e-vanilla/crypto/cryptodev.h  1970-01-01 00:00:00.000000000 +0000
++++ openssl-1.0.1e/crypto/cryptodev.h  2013-12-25 14:27:20.907326820 +0000
+@@ -0,0 +1,292 @@
++/* This is a source compatible implementation with the original API of
++ * cryptodev by Angelos D. Keromytis, found at openbsd cryptodev.h.
++ * Placed under public domain */
++
++#ifndef L_CRYPTODEV_H
++#define L_CRYPTODEV_H
++
++#include <linux/types.h>
++#ifndef __KERNEL__
++#define __user
++#endif
++
++/* API extensions for linux */
++#define CRYPTO_HMAC_MAX_KEY_LEN               512
++#define CRYPTO_CIPHER_MAX_KEY_LEN     64
++
++/* All the supported algorithms
++ */
++enum cryptodev_crypto_op_t {
++      CRYPTO_DES_CBC = 1,
++      CRYPTO_3DES_CBC = 2,
++      CRYPTO_BLF_CBC = 3,
++      CRYPTO_CAST_CBC = 4,
++      CRYPTO_SKIPJACK_CBC = 5,
++      CRYPTO_MD5_HMAC = 6,
++      CRYPTO_SHA1_HMAC = 7,
++      CRYPTO_RIPEMD160_HMAC = 8,
++      CRYPTO_MD5_KPDK = 9,
++      CRYPTO_SHA1_KPDK = 10,
++      CRYPTO_RIJNDAEL128_CBC = 11,
++      CRYPTO_AES_CBC = CRYPTO_RIJNDAEL128_CBC,
++      CRYPTO_ARC4 = 12,
++      CRYPTO_MD5 = 13,
++      CRYPTO_SHA1 = 14,
++      CRYPTO_DEFLATE_COMP = 15,
++      CRYPTO_NULL = 16,
++      CRYPTO_LZS_COMP = 17,
++      CRYPTO_SHA2_256_HMAC = 18,
++      CRYPTO_SHA2_384_HMAC = 19,
++      CRYPTO_SHA2_512_HMAC = 20,
++      CRYPTO_AES_CTR = 21,
++      CRYPTO_AES_XTS = 22,
++      CRYPTO_AES_ECB = 23,
++      CRYPTO_AES_GCM = 50,
++
++      CRYPTO_CAMELLIA_CBC = 101,
++      CRYPTO_RIPEMD160,
++      CRYPTO_SHA2_224,
++      CRYPTO_SHA2_256,
++      CRYPTO_SHA2_384,
++      CRYPTO_SHA2_512,
++      CRYPTO_SHA2_224_HMAC,
++      CRYPTO_ALGORITHM_ALL, /* Keep updated - see below */
++};
++
++#define       CRYPTO_ALGORITHM_MAX    (CRYPTO_ALGORITHM_ALL - 1)
++
++/* Values for ciphers */
++#define DES_BLOCK_LEN         8
++#define DES3_BLOCK_LEN                8
++#define RIJNDAEL128_BLOCK_LEN 16
++#define AES_BLOCK_LEN         RIJNDAEL128_BLOCK_LEN
++#define CAMELLIA_BLOCK_LEN      16
++#define BLOWFISH_BLOCK_LEN    8
++#define SKIPJACK_BLOCK_LEN    8
++#define CAST128_BLOCK_LEN     8
++
++/* the maximum of the above */
++#define EALG_MAX_BLOCK_LEN    16
++
++/* Values for hashes/MAC */
++#define AALG_MAX_RESULT_LEN           64
++
++/* maximum length of verbose alg names (depends on CRYPTO_MAX_ALG_NAME) */
++#define CRYPTODEV_MAX_ALG_NAME                64
++
++#define HASH_MAX_LEN 64
++
++/* input of CIOCGSESSION */
++struct session_op {
++      /* Specify either cipher or mac
++       */
++      __u32   cipher;         /* cryptodev_crypto_op_t */
++      __u32   mac;            /* cryptodev_crypto_op_t */
++
++      __u32   keylen;
++      __u8    __user *key;
++      __u32   mackeylen;
++      __u8    __user *mackey;
++
++      __u32   ses;            /* session identifier */
++};
++
++struct session_info_op {
++      __u32 ses;              /* session identifier */
++
++      /* verbose names for the requested ciphers */
++      struct alg_info {
++              char cra_name[CRYPTODEV_MAX_ALG_NAME];
++              char cra_driver_name[CRYPTODEV_MAX_ALG_NAME];
++      } cipher_info, hash_info;
++
++      __u16   alignmask;      /* alignment constraints */
++      __u32   flags;          /* SIOP_FLAGS_* */
++};
++
++/* If this flag is set then this algorithm uses
++ * a driver only available in kernel (software drivers,
++ * or drivers based on instruction sets do not set this flag).
++ *
++ * If multiple algorithms are involved (as in AEAD case), then
++ * if one of them is kernel-driver-only this flag will be set.
++ */
++#define SIOP_FLAG_KERNEL_DRIVER_ONLY 1
++
++#define       COP_ENCRYPT     0
++#define COP_DECRYPT   1
++
++/* input of CIOCCRYPT */
++struct crypt_op {
++      __u32   ses;            /* session identifier */
++      __u16   op;             /* COP_ENCRYPT or COP_DECRYPT */
++      __u16   flags;          /* see COP_FLAG_* */
++      __u32   len;            /* length of source data */
++      __u8    __user *src;    /* source data */
++      __u8    __user *dst;    /* pointer to output data */
++      /* pointer to output data for hash/MAC operations */
++      __u8    __user *mac;
++      /* initialization vector for encryption operations */
++      __u8    __user *iv;
++};
++
++/* input of CIOCAUTHCRYPT */
++struct crypt_auth_op {
++      __u32   ses;            /* session identifier */
++      __u16   op;             /* COP_ENCRYPT or COP_DECRYPT */
++      __u16   flags;          /* see COP_FLAG_AEAD_* */
++      __u32   len;            /* length of source data */
++      __u32   auth_len;       /* length of auth data */
++      __u8    __user *auth_src;       /* authenticated-only data */
++
++      /* The current implementation is more efficient if data are
++       * encrypted in-place (src==dst). */
++      __u8    __user *src;    /* data to be encrypted and authenticated */
++      __u8    __user *dst;    /* pointer to output data. Must have
++                               * space for tag. For TLS this should be at least 
++                               * len + tag_size + block_size for padding */
++
++      __u8    __user *tag;    /* where the tag will be copied to. TLS mode
++                                 * doesn't use that as tag is copied to dst.
++                                 * SRTP mode copies tag there. */
++      __u32   tag_len;        /* the length of the tag. Use zero for digest size or max tag. */
++
++      /* initialization vector for encryption operations */
++      __u8    __user *iv;
++      __u32   iv_len;
++};
++
++/* In plain AEAD mode the following are required:
++ *  flags   : 0
++ *  iv      : the initialization vector (12 bytes)
++ *  auth_len: the length of the data to be authenticated
++ *  auth_src: the data to be authenticated
++ *  len     : length of data to be encrypted
++ *  src     : the data to be encrypted
++ *  dst     : space to hold encrypted data. It must have
++ *            at least a size of len + tag_size.
++ *  tag_size: the size of the desired authentication tag or zero to use
++ *            the maximum tag output.
++ *
++ * Note tag isn't being used because the Linux AEAD interface
++ * copies the tag just after data.
++ */
++
++/* In TLS mode (used for CBC ciphers that required padding) 
++ * the following are required:
++ *  flags   : COP_FLAG_AEAD_TLS_TYPE
++ *  iv      : the initialization vector
++ *  auth_len: the length of the data to be authenticated only
++ *  len     : length of data to be encrypted
++ *  auth_src: the data to be authenticated
++ *  src     : the data to be encrypted
++ *  dst     : space to hold encrypted data (preferably in-place). It must have
++ *            at least a size of len + tag_size + blocksize.
++ *  tag_size: the size of the desired authentication tag or zero to use
++ *            the default mac output.
++ *
++ * Note that the padding used is the minimum padding.
++ */
++
++/* In SRTP mode the following are required:
++ *  flags   : COP_FLAG_AEAD_SRTP_TYPE
++ *  iv      : the initialization vector
++ *  auth_len: the length of the data to be authenticated. This must
++ *            include the SRTP header + SRTP payload (data to be encrypted) + rest
++ *            
++ *  len     : length of data to be encrypted
++ *  auth_src: pointer the data to be authenticated. Should point at the same buffer as src.
++ *  src     : pointer to the data to be encrypted.
++ *  dst     : This is mandatory to be the same as src (in-place only).
++ *  tag_size: the size of the desired authentication tag or zero to use
++ *            the default mac output.
++ *  tag     : Pointer to an address where the authentication tag will be copied.
++ */
++
++
++/* struct crypt_op flags */
++
++#define COP_FLAG_NONE         (0 << 0) /* totally no flag */
++#define COP_FLAG_UPDATE               (1 << 0) /* multi-update hash mode */
++#define COP_FLAG_FINAL                (1 << 1) /* multi-update final hash mode */
++#define COP_FLAG_WRITE_IV     (1 << 2) /* update the IV during operation */
++#define COP_FLAG_NO_ZC                (1 << 3) /* do not zero-copy */
++#define COP_FLAG_AEAD_TLS_TYPE  (1 << 4) /* authenticate and encrypt using the 
++                                          * TLS protocol rules */
++#define COP_FLAG_AEAD_SRTP_TYPE  (1 << 5) /* authenticate and encrypt using the 
++                                           * SRTP protocol rules */
++#define COP_FLAG_RESET                (1 << 6) /* multi-update reset the state.
++                                          * should be used in combination
++                                          * with COP_FLAG_UPDATE */
++
++
++/* Stuff for bignum arithmetic and public key
++ * cryptography - not supported yet by linux
++ * cryptodev.
++ */
++
++#define       CRYPTO_ALG_FLAG_SUPPORTED       1
++#define       CRYPTO_ALG_FLAG_RNG_ENABLE      2
++#define       CRYPTO_ALG_FLAG_DSA_SHA         4
++
++struct crparam {
++      __u8    *crp_p;
++      __u32   crp_nbits;
++};
++
++#define CRK_MAXPARAM  8
++
++/* input of CIOCKEY */
++struct crypt_kop {
++      __u32   crk_op;         /* cryptodev_crk_ot_t */
++      __u32   crk_status;
++      __u16   crk_iparams;
++      __u16   crk_oparams;
++      __u32   crk_pad1;
++      struct crparam  crk_param[CRK_MAXPARAM];
++};
++
++enum cryptodev_crk_op_t {
++      CRK_MOD_EXP = 0,
++      CRK_MOD_EXP_CRT = 1,
++      CRK_DSA_SIGN = 2,
++      CRK_DSA_VERIFY = 3,
++      CRK_DH_COMPUTE_KEY = 4,
++      CRK_ALGORITHM_ALL
++};
++
++#define CRK_ALGORITHM_MAX     (CRK_ALGORITHM_ALL-1)
++
++/* features to be queried with CIOCASYMFEAT ioctl
++ */
++#define CRF_MOD_EXP           (1 << CRK_MOD_EXP)
++#define CRF_MOD_EXP_CRT               (1 << CRK_MOD_EXP_CRT)
++#define CRF_DSA_SIGN          (1 << CRK_DSA_SIGN)
++#define CRF_DSA_VERIFY                (1 << CRK_DSA_VERIFY)
++#define CRF_DH_COMPUTE_KEY    (1 << CRK_DH_COMPUTE_KEY)
++
++
++/* ioctl's. Compatible with old linux cryptodev.h
++ */
++#define CRIOGET         _IOWR('c', 101, __u32)
++#define CIOCGSESSION    _IOWR('c', 102, struct session_op)
++#define CIOCFSESSION    _IOW('c', 103, __u32)
++#define CIOCCRYPT       _IOWR('c', 104, struct crypt_op)
++#define CIOCKEY         _IOWR('c', 105, struct crypt_kop)
++#define CIOCASYMFEAT    _IOR('c', 106, __u32)
++#define CIOCGSESSINFO _IOWR('c', 107, struct session_info_op)
++
++/* to indicate that CRIOGET is not required in linux
++ */
++#define CRIOGET_NOT_NEEDED 1
++
++/* additional ioctls for AEAD */
++#define CIOCAUTHCRYPT   _IOWR('c', 109, struct crypt_auth_op)
++
++/* additional ioctls for asynchronous operation.
++ * These are conditionally enabled since version 1.6.
++ */
++#define CIOCASYNCCRYPT    _IOW('c', 110, struct crypt_op)
++#define CIOCASYNCFETCH    _IOR('c', 111, struct crypt_op)
++
++#endif /* L_CRYPTODEV_H */
+diff -Nur openssl-1.0.1e-vanilla/crypto/engine/eng_cryptodev.c openssl-1.0.1e/crypto/engine/eng_cryptodev.c
+--- openssl-1.0.1e-vanilla/crypto/engine/eng_cryptodev.c       2013-02-11 15:26:04.000000000 +0000
++++ openssl-1.0.1e/crypto/engine/eng_cryptodev.c       2013-12-25 14:27:06.968877039 +0000
+@@ -2,6 +2,7 @@
+  * Copyright (c) 2002 Bob Beck <beck@openbsd.org>
+  * Copyright (c) 2002 Theo de Raadt
+  * Copyright (c) 2002 Markus Friedl
++ * Copyright (c) 2012 Nikos Mavrogiannopoulos
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without
+@@ -74,8 +75,6 @@
+       int d_fd;
+ #ifdef USE_CRYPTODEV_DIGESTS
+-      char dummy_mac_key[HASH_MAX_LEN];
+-
+       unsigned char digest_res[HASH_MAX_LEN];
+       char *mac_data;
+       int mac_len;
+@@ -157,15 +156,21 @@
+ static struct {
+       int     id;
+       int     nid;
+-      int     keylen;
++      int     digestlen;
+ } digests[] = {
++#if 0
++        /* HMAC is not supported */
+       { CRYPTO_MD5_HMAC,              NID_hmacWithMD5,        16},
+       { CRYPTO_SHA1_HMAC,             NID_hmacWithSHA1,       20},
+-      { CRYPTO_RIPEMD160_HMAC,        NID_ripemd160,          16/*?*/},
+-      { CRYPTO_MD5_KPDK,              NID_undef,              0},
+-      { CRYPTO_SHA1_KPDK,             NID_undef,              0},
++      { CRYPTO_SHA2_256_HMAC,         NID_hmacWithSHA256,     32},
++      { CRYPTO_SHA2_384_HMAC,         NID_hmacWithSHA384,     48},
++      { CRYPTO_SHA2_512_HMAC,         NID_hmacWithSHA512,     64},
++#endif
+       { CRYPTO_MD5,                   NID_md5,                16},
+       { CRYPTO_SHA1,                  NID_sha1,               20},
++      { CRYPTO_SHA2_256,              NID_sha256,             32},
++      { CRYPTO_SHA2_384,              NID_sha384,             48},
++      { CRYPTO_SHA2_512,              NID_sha512,             64},
+       { 0,                            NID_undef,              0},
+ };
+ #endif
+@@ -243,13 +248,14 @@
+       static int nids[CRYPTO_ALGORITHM_MAX];
+       struct session_op sess;
+       int fd, i, count = 0;
++      unsigned char fake_key[CRYPTO_CIPHER_MAX_KEY_LEN];
+       if ((fd = get_dev_crypto()) < 0) {
+               *cnids = NULL;
+               return (0);
+       }
+       memset(&sess, 0, sizeof(sess));
+-      sess.key = (caddr_t)"123456789abcdefghijklmno";
++      sess.key = (void*)fake_key;
+       for (i = 0; ciphers[i].id && count < CRYPTO_ALGORITHM_MAX; i++) {
+               if (ciphers[i].nid == NID_undef)
+@@ -281,6 +287,7 @@
+ get_cryptodev_digests(const int **cnids)
+ {
+       static int nids[CRYPTO_ALGORITHM_MAX];
++      unsigned char fake_key[CRYPTO_CIPHER_MAX_KEY_LEN];
+       struct session_op sess;
+       int fd, i, count = 0;
+@@ -289,12 +296,12 @@
+               return (0);
+       }
+       memset(&sess, 0, sizeof(sess));
+-      sess.mackey = (caddr_t)"123456789abcdefghijklmno";
++      sess.mackey = fake_key;
+       for (i = 0; digests[i].id && count < CRYPTO_ALGORITHM_MAX; i++) {
+               if (digests[i].nid == NID_undef)
+                       continue;
+               sess.mac = digests[i].id;
+-              sess.mackeylen = digests[i].keylen;
++              sess.mackeylen = 8;
+               sess.cipher = 0;
+               if (ioctl(fd, CIOCGSESSION, &sess) != -1 &&
+                   ioctl(fd, CIOCFSESSION, &sess.ses) != -1)
+@@ -382,14 +389,14 @@
+       cryp.ses = sess->ses;
+       cryp.flags = 0;
+       cryp.len = inl;
+-      cryp.src = (caddr_t) in;
+-      cryp.dst = (caddr_t) out;
++      cryp.src = (void*) in;
++      cryp.dst = (void*) out;
+       cryp.mac = 0;
+       cryp.op = ctx->encrypt ? COP_ENCRYPT : COP_DECRYPT;
+       if (ctx->cipher->iv_len) {
+-              cryp.iv = (caddr_t) ctx->iv;
++              cryp.iv = (void*) ctx->iv;
+               if (!ctx->encrypt) {
+                       iiv = in + inl - ctx->cipher->iv_len;
+                       memcpy(save_iv, iiv, ctx->cipher->iv_len);
+@@ -440,7 +447,7 @@
+       if ((state->d_fd = get_dev_crypto()) < 0)
+               return (0);
+-      sess->key = (caddr_t)key;
++      sess->key = (void*)key;
+       sess->keylen = ctx->key_len;
+       sess->cipher = cipher;
+@@ -660,18 +667,6 @@
+ }
+-static int
+-digest_key_length(int nid)
+-{
+-      int i;
+-
+-      for (i = 0; digests[i].id; i++)
+-              if (digests[i].nid == nid)
+-                      return digests[i].keylen;
+-      return (0);
+-}
+-
+-
+ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+ {
+       struct dev_crypto_state *state = ctx->md_data;
+@@ -682,7 +677,6 @@
+               printf("cryptodev_digest_init: Can't get digest \n");
+               return (0);
+       }
+-
+       memset(state, 0, sizeof(struct dev_crypto_state));
+       if ((state->d_fd = get_dev_crypto()) < 0) {
+@@ -690,8 +684,8 @@
+               return (0);
+       }
+-      sess->mackey = state->dummy_mac_key;
+-      sess->mackeylen = digest_key_length(ctx->digest->type);
++      sess->mackey = NULL;
++      sess->mackeylen = 0;
+       sess->mac = digest;
+       if (ioctl(state->d_fd, CIOCGSESSION, sess) < 0) {
+@@ -707,8 +701,8 @@
+ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+               size_t count)
+ {
+-      struct crypt_op cryp;
+       struct dev_crypto_state *state = ctx->md_data;
++      struct crypt_op cryp;
+       struct session_op *sess = &state->d_sess;
+       if (!data || state->d_fd < 0) {
+@@ -717,7 +711,7 @@
+       }
+       if (!count) {
+-              return (0);
++              return (1);
+       }
+       if (!(ctx->flags & EVP_MD_CTX_FLAG_ONESHOT)) {
+@@ -740,9 +734,9 @@
+       cryp.ses = sess->ses;
+       cryp.flags = 0;
+       cryp.len = count;
+-      cryp.src = (caddr_t) data;
++      cryp.src = (void*) data;
+       cryp.dst = NULL;
+-      cryp.mac = (caddr_t) state->digest_res;
++      cryp.mac = (void*) state->digest_res;
+       if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) {
+               printf("cryptodev_digest_update: digest failed\n");
+               return (0);
+@@ -757,8 +751,6 @@
+       struct dev_crypto_state *state = ctx->md_data;
+       struct session_op *sess = &state->d_sess;
+-      int ret = 1;
+-
+       if (!md || state->d_fd < 0) {
+               printf("cryptodev_digest_final: illegal input\n");
+               return(0);
+@@ -772,7 +764,7 @@
+               cryp.len = state->mac_len;
+               cryp.src = state->mac_data;
+               cryp.dst = NULL;
+-              cryp.mac = (caddr_t)md;
++              cryp.mac = (void*)md;
+               if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) {
+                       printf("cryptodev_digest_final: digest failed\n");
+                       return (0);
+@@ -783,7 +775,7 @@
+       memcpy(md, state->digest_res, ctx->digest->md_size);
+-      return (ret);
++      return 1;
+ }
+@@ -835,8 +827,8 @@
+       digest = digest_nid_to_cryptodev(to->digest->type);
+-      sess->mackey = dstate->dummy_mac_key;
+-      sess->mackeylen = digest_key_length(to->digest->type);
++      sess->mackey = NULL;
++      sess->mackeylen = 0;
+       sess->mac = digest;
+       dstate->d_fd = get_dev_crypto();
+@@ -861,34 +853,117 @@
+ }
+-const EVP_MD cryptodev_sha1 = {
++static const EVP_MD cryptodev_sha1 = {
+       NID_sha1,
+-      NID_undef, 
++      NID_sha1WithRSAEncryption,
+       SHA_DIGEST_LENGTH, 
++#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT)
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|
++      EVP_MD_FLAG_DIGALGID_ABSENT|
++#endif
+       EVP_MD_FLAG_ONESHOT,
+       cryptodev_digest_init,
+       cryptodev_digest_update,
+       cryptodev_digest_final,
+       cryptodev_digest_copy,
+       cryptodev_digest_cleanup,
+-      EVP_PKEY_NULL_method,
++      EVP_PKEY_RSA_method,
+       SHA_CBLOCK,
+-      sizeof(struct dev_crypto_state),
++      sizeof(EVP_MD *)+sizeof(struct dev_crypto_state),
++};
++
++static const EVP_MD cryptodev_sha256 = {
++      NID_sha256,
++      NID_sha256WithRSAEncryption,
++      SHA256_DIGEST_LENGTH, 
++#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT)
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|
++      EVP_MD_FLAG_DIGALGID_ABSENT|
++#endif
++      EVP_MD_FLAG_ONESHOT,
++      cryptodev_digest_init,
++      cryptodev_digest_update,
++      cryptodev_digest_final,
++      cryptodev_digest_copy,
++      cryptodev_digest_cleanup,
++      EVP_PKEY_RSA_method,
++      SHA256_CBLOCK,
++      sizeof(EVP_MD *)+sizeof(struct dev_crypto_state),
++};
++static const EVP_MD cryptodev_sha224 = {
++      NID_sha224,
++      NID_sha224WithRSAEncryption, 
++      SHA224_DIGEST_LENGTH, 
++#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT)
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|
++      EVP_MD_FLAG_DIGALGID_ABSENT|
++#endif
++      EVP_MD_FLAG_ONESHOT,
++      cryptodev_digest_init,
++      cryptodev_digest_update,
++      cryptodev_digest_final,
++      cryptodev_digest_copy,
++      cryptodev_digest_cleanup,
++      EVP_PKEY_RSA_method,
++      SHA256_CBLOCK,
++      sizeof(EVP_MD *)+sizeof(struct dev_crypto_state),
++};
++
++static const EVP_MD cryptodev_sha384 = {
++      NID_sha384,
++      NID_sha384WithRSAEncryption, 
++      SHA384_DIGEST_LENGTH, 
++#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT)
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|
++      EVP_MD_FLAG_DIGALGID_ABSENT|
++#endif
++      EVP_MD_FLAG_ONESHOT,
++      cryptodev_digest_init,
++      cryptodev_digest_update,
++      cryptodev_digest_final,
++      cryptodev_digest_copy,
++      cryptodev_digest_cleanup,
++      EVP_PKEY_RSA_method,
++      SHA512_CBLOCK,
++      sizeof(EVP_MD *)+sizeof(struct dev_crypto_state),
++};
++
++static const EVP_MD cryptodev_sha512 = {
++      NID_sha512,
++      NID_sha512WithRSAEncryption, 
++      SHA512_DIGEST_LENGTH, 
++#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT)
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|
++      EVP_MD_FLAG_DIGALGID_ABSENT|
++#endif
++      EVP_MD_FLAG_ONESHOT,
++      cryptodev_digest_init,
++      cryptodev_digest_update,
++      cryptodev_digest_final,
++      cryptodev_digest_copy,
++      cryptodev_digest_cleanup,
++      EVP_PKEY_RSA_method,
++      SHA512_CBLOCK,
++      sizeof(EVP_MD *)+sizeof(struct dev_crypto_state),
+ };
+-const EVP_MD cryptodev_md5 = {
++static const EVP_MD cryptodev_md5 = {
+       NID_md5,
+-      NID_undef, 
++      NID_md5WithRSAEncryption, 
+       16 /* MD5_DIGEST_LENGTH */, 
++#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT)
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|
++      EVP_MD_FLAG_DIGALGID_ABSENT|
++#endif
+       EVP_MD_FLAG_ONESHOT,
+       cryptodev_digest_init,
+       cryptodev_digest_update,
+       cryptodev_digest_final,
+       cryptodev_digest_copy,
+       cryptodev_digest_cleanup,
+-      EVP_PKEY_NULL_method,
++      EVP_PKEY_RSA_method,
+       64 /* MD5_CBLOCK */,
+-      sizeof(struct dev_crypto_state),
++      sizeof(EVP_MD *)+sizeof(struct dev_crypto_state),
+ };
+ #endif /* USE_CRYPTODEV_DIGESTS */
+@@ -909,6 +984,18 @@
+       case NID_sha1:
+               *digest = &cryptodev_sha1;
+               break;
++      case NID_sha224:
++              *digest = &cryptodev_sha224;
++              break;
++      case NID_sha256:
++              *digest = &cryptodev_sha256;
++              break;
++      case NID_sha384:
++              *digest = &cryptodev_sha384;
++              break;
++      case NID_sha512:
++              *digest = &cryptodev_sha512;
++              break;
+       default:
+ #endif /* USE_CRYPTODEV_DIGESTS */
+               *digest = NULL;
+@@ -940,7 +1027,7 @@
+               return (1);
+       memset(b, 0, bytes);
+-      crp->crp_p = (caddr_t) b;
++      crp->crp_p = (void*) b;
+       crp->crp_nbits = bits;
+       for (i = 0, j = 0; i < a->top; i++) {
+@@ -1193,7 +1280,7 @@
+       kop.crk_op = CRK_DSA_SIGN;
+       /* inputs: dgst dsa->p dsa->q dsa->g dsa->priv_key */
+-      kop.crk_param[0].crp_p = (caddr_t)dgst;
++      kop.crk_param[0].crp_p = (void*)dgst;
+       kop.crk_param[0].crp_nbits = dlen * 8;
+       if (bn2crparam(dsa->p, &kop.crk_param[1]))
+               goto err;
+@@ -1233,7 +1320,7 @@
+       kop.crk_op = CRK_DSA_VERIFY;
+       /* inputs: dgst dsa->p dsa->q dsa->g dsa->pub_key sig->r sig->s */
+-      kop.crk_param[0].crp_p = (caddr_t)dgst;
++      kop.crk_param[0].crp_p = (void*)dgst;
+       kop.crk_param[0].crp_nbits = dlen * 8;
+       if (bn2crparam(dsa->p, &kop.crk_param[1]))
+               goto err;
+@@ -1311,9 +1398,10 @@
+               goto err;
+       kop.crk_iparams = 3;
+-      kop.crk_param[3].crp_p = (caddr_t) key;
+-      kop.crk_param[3].crp_nbits = keylen * 8;
++      kop.crk_param[3].crp_p = (void*) key;
++      kop.crk_param[3].crp_nbits = keylen;
+       kop.crk_oparams = 1;
++      dhret = keylen/8;
+       if (ioctl(fd, CIOCKEY, &kop) == -1) {
+               const DH_METHOD *meth = DH_OpenSSL();
+@@ -1385,7 +1473,7 @@
+       put_dev_crypto(fd);
+       if (!ENGINE_set_id(engine, "cryptodev") ||
+-          !ENGINE_set_name(engine, "BSD cryptodev engine") ||
++          !ENGINE_set_name(engine, "cryptodev engine") ||
+           !ENGINE_set_ciphers(engine, cryptodev_engine_ciphers) ||
+           !ENGINE_set_digests(engine, cryptodev_engine_digests) ||
+           !ENGINE_set_ctrl_function(engine, cryptodev_ctrl) ||
diff --git a/src/patches/openssl-1.0.1e-fix_parallel_build-1.patch b/src/patches/openssl-1.0.1e-fix_parallel_build-1.patch
new file mode 100644 (file)
index 0000000..855e4fe
--- /dev/null
@@ -0,0 +1,340 @@
+Submitted By:            Armin K. <krejzi at email dot com>
+Date:                    2013-05-05
+Initial Package Version: 1.0.1e
+Upstream Status:         Unknown
+Origin:                  https://github.com/Alexpux/Qt-builds/tree/master/patches/openssl
+Description:             Fixes build with make -jx, where x is greater than 1.
+
+--- a/crypto/Makefile  2013-02-11 16:26:04.000000000 +0100
++++ b/crypto/Makefile  2013-05-05 20:06:34.872208113 +0200
+@@ -86,11 +86,11 @@
+       @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
+ subdirs:
+-      @target=all; $(RECURSIVE_MAKE)
++      +@target=all; $(RECURSIVE_MAKE)
+ files:
+       $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+-      @target=files; $(RECURSIVE_MAKE)
++      +@target=files; $(RECURSIVE_MAKE)
+ links:
+       @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
+@@ -101,7 +101,7 @@
+ # lib: $(LIB): are splitted to avoid end-less loop
+ lib:  $(LIB)
+       @touch lib
+-$(LIB):       $(LIBOBJ)
++$(LIB):       $(LIBOBJ) | subdirs
+       $(AR) $(LIB) $(LIBOBJ)
+       [ -z "$(FIPSLIBDIR)" ] || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
+       $(RANLIB) $(LIB) || echo Never mind.
+@@ -112,7 +112,7 @@
+       fi
+ libs:
+-      @target=lib; $(RECURSIVE_MAKE)
++      +@target=lib; $(RECURSIVE_MAKE)
+ install:
+       @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+@@ -121,7 +121,7 @@
+       (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+       chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+       done;
+-      @target=install; $(RECURSIVE_MAKE)
++      +@target=install; $(RECURSIVE_MAKE)
+ lint:
+       @target=lint; $(RECURSIVE_MAKE)
+--- a/engines/Makefile 2013-02-11 16:26:04.000000000 +0100
++++ b/engines/Makefile 2013-05-05 20:06:34.872208113 +0200
+@@ -72,7 +72,7 @@
+ all:  lib subdirs
+-lib:  $(LIBOBJ)
++lib:  $(LIBOBJ) | subdirs
+       @if [ -n "$(SHARED_LIBS)" ]; then \
+               set -e; \
+               for l in $(LIBNAMES); do \
+@@ -89,7 +89,7 @@
+ subdirs:
+       echo $(EDIRS)
+-      @target=all; $(RECURSIVE_MAKE)
++      +@target=all; $(RECURSIVE_MAKE)
+ files:
+       $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+@@ -128,7 +128,7 @@
+                         mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
+               done; \
+       fi
+-      @target=install; $(RECURSIVE_MAKE)
++      +@target=install; $(RECURSIVE_MAKE)
+ tags:
+       ctags $(SRC)
+--- a/Makefile.org     2013-02-11 16:26:04.000000000 +0100
++++ b/Makefile.org     2013-05-05 20:06:34.862207917 +0200
+@@ -273,17 +273,17 @@
+ build_libs: build_crypto build_ssl build_engines
+ build_crypto:
+-      @dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
+-      @dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
+-      @dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
+-      @dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
+-      @dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
+-      @dir=tools; target=all; $(BUILD_ONE_CMD)
++      +@dir=crypto; target=all; $(BUILD_ONE_CMD)
++build_ssl: build_crypto
++      +@dir=ssl; target=all; $(BUILD_ONE_CMD)
++build_engines: build_crypto
++      +@dir=engines; target=all; $(BUILD_ONE_CMD)
++build_apps: build_libs
++      +@dir=apps; target=all; $(BUILD_ONE_CMD)
++build_tests: build_libs
++      +@dir=test; target=all; $(BUILD_ONE_CMD)
++build_tools: build_libs
++      +@dir=tools; target=all; $(BUILD_ONE_CMD)
+ all_testapps: build_libs build_testapps
+ build_testapps:
+@@ -537,9 +537,9 @@
+ dist_pem_h:
+       (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+-install: all install_docs install_sw
++install: install_docs install_sw
+-install_sw:
++install_dirs:
+       @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+               $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+               $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
+@@ -548,12 +548,19 @@
+               $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+               $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
+               $(INSTALL_PREFIX)$(OPENSSLDIR)/private
++      @$(PERL) $(TOP)/util/mkdir-p.pl \
++              $(INSTALL_PREFIX)$(MANDIR)/man1 \
++              $(INSTALL_PREFIX)$(MANDIR)/man3 \
++              $(INSTALL_PREFIX)$(MANDIR)/man5 \
++              $(INSTALL_PREFIX)$(MANDIR)/man7
++
++install_sw: install_dirs
+       @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
+       do \
+       (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+       chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+       done;
+-      @set -e; target=install; $(RECURSIVE_BUILD_CMD)
++      +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
+       @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
+       do \
+               if [ -f "$$i" ]; then \
+@@ -633,12 +640,7 @@
+               done; \
+       done
+-install_docs:
+-      @$(PERL) $(TOP)/util/mkdir-p.pl \
+-              $(INSTALL_PREFIX)$(MANDIR)/man1 \
+-              $(INSTALL_PREFIX)$(MANDIR)/man3 \
+-              $(INSTALL_PREFIX)$(MANDIR)/man5 \
+-              $(INSTALL_PREFIX)$(MANDIR)/man7
++install_docs: install_dirs
+       @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
+       here="`pwd`"; \
+       filecase=; \
+--- a/Makefile.shared  2013-02-11 16:26:04.000000000 +0100
++++ b/Makefile.shared  2013-05-05 20:06:34.872208113 +0200
+@@ -105,6 +105,7 @@
+     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
++    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
+     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+     $${SHAREDCMD} $${SHAREDFLAGS} \
+       -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+@@ -122,6 +123,7 @@
+                       done; \
+               fi; \
+               if [ -n "$$SHLIB_SOVER" ]; then \
++                      [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
+                       ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
+                         ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
+               fi; \
+--- a/test/Makefile    2013-02-11 16:26:04.000000000 +0100
++++ b/test/Makefile    2013-05-05 20:06:34.872208113 +0200
+@@ -124,7 +124,7 @@
+ tags:
+       ctags $(SRC)
+-tests:        exe apps $(TESTS)
++tests:        exe $(TESTS)
+ apps:
+       @(cd ..; $(MAKE) DIRS=apps all)
+@@ -365,109 +365,109 @@
+               link_app.$${shlib_target}
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
+-      @target=$(RSATEST); $(BUILD_CMD)
++      +@target=$(RSATEST); $(BUILD_CMD)
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
+-      @target=$(BNTEST); $(BUILD_CMD)
++      +@target=$(BNTEST); $(BUILD_CMD)
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
+-      @target=$(ECTEST); $(BUILD_CMD)
++      +@target=$(ECTEST); $(BUILD_CMD)
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
+-      @target=$(EXPTEST); $(BUILD_CMD)
++      +@target=$(EXPTEST); $(BUILD_CMD)
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
+-      @target=$(IDEATEST); $(BUILD_CMD)
++      +@target=$(IDEATEST); $(BUILD_CMD)
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
+-      @target=$(MD2TEST); $(BUILD_CMD)
++      +@target=$(MD2TEST); $(BUILD_CMD)
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
+-      @target=$(SHATEST); $(BUILD_CMD)
++      +@target=$(SHATEST); $(BUILD_CMD)
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
+-      @target=$(SHA1TEST); $(BUILD_CMD)
++      +@target=$(SHA1TEST); $(BUILD_CMD)
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
+-      @target=$(SHA256TEST); $(BUILD_CMD)
++      +@target=$(SHA256TEST); $(BUILD_CMD)
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
+-      @target=$(SHA512TEST); $(BUILD_CMD)
++      +@target=$(SHA512TEST); $(BUILD_CMD)
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
+-      @target=$(RMDTEST); $(BUILD_CMD)
++      +@target=$(RMDTEST); $(BUILD_CMD)
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
+-      @target=$(MDC2TEST); $(BUILD_CMD)
++      +@target=$(MDC2TEST); $(BUILD_CMD)
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
+-      @target=$(MD4TEST); $(BUILD_CMD)
++      +@target=$(MD4TEST); $(BUILD_CMD)
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
+-      @target=$(MD5TEST); $(BUILD_CMD)
++      +@target=$(MD5TEST); $(BUILD_CMD)
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
+-      @target=$(HMACTEST); $(BUILD_CMD)
++      +@target=$(HMACTEST); $(BUILD_CMD)
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
+-      @target=$(WPTEST); $(BUILD_CMD)
++      +@target=$(WPTEST); $(BUILD_CMD)
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
+-      @target=$(RC2TEST); $(BUILD_CMD)
++      +@target=$(RC2TEST); $(BUILD_CMD)
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
+-      @target=$(BFTEST); $(BUILD_CMD)
++      +@target=$(BFTEST); $(BUILD_CMD)
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
+-      @target=$(CASTTEST); $(BUILD_CMD)
++      +@target=$(CASTTEST); $(BUILD_CMD)
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
+-      @target=$(RC4TEST); $(BUILD_CMD)
++      +@target=$(RC4TEST); $(BUILD_CMD)
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
+-      @target=$(RC5TEST); $(BUILD_CMD)
++      +@target=$(RC5TEST); $(BUILD_CMD)
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
+-      @target=$(DESTEST); $(BUILD_CMD)
++      +@target=$(DESTEST); $(BUILD_CMD)
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
+-      @target=$(RANDTEST); $(BUILD_CMD)
++      +@target=$(RANDTEST); $(BUILD_CMD)
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
+-      @target=$(DHTEST); $(BUILD_CMD)
++      +@target=$(DHTEST); $(BUILD_CMD)
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
+-      @target=$(DSATEST); $(BUILD_CMD)
++      +@target=$(DSATEST); $(BUILD_CMD)
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
+-      @target=$(METHTEST); $(BUILD_CMD)
++      +@target=$(METHTEST); $(BUILD_CMD)
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
+-      @target=$(SSLTEST); $(FIPS_BUILD_CMD)
++      +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
+-      @target=$(ENGINETEST); $(BUILD_CMD)
++      +@target=$(ENGINETEST); $(BUILD_CMD)
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
+-      @target=$(EVPTEST); $(BUILD_CMD)
++      +@target=$(EVPTEST); $(BUILD_CMD)
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
+-      @target=$(ECDSATEST); $(BUILD_CMD)
++      +@target=$(ECDSATEST); $(BUILD_CMD)
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
+-      @target=$(ECDHTEST); $(BUILD_CMD)
++      +@target=$(ECDHTEST); $(BUILD_CMD)
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
+-      @target=$(IGETEST); $(BUILD_CMD)
++      +@target=$(IGETEST); $(BUILD_CMD)
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
+-      @target=$(JPAKETEST); $(BUILD_CMD)
++      +@target=$(JPAKETEST); $(BUILD_CMD)
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
+-      @target=$(ASN1TEST); $(BUILD_CMD)
++      +@target=$(ASN1TEST); $(BUILD_CMD)
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
+-      @target=$(SRPTEST); $(BUILD_CMD)
++      +@target=$(SRPTEST); $(BUILD_CMD)
+ #$(AESTEST).o: $(AESTEST).c
+ #     $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
+@@ -480,7 +480,7 @@
+ #     fi
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
+-      @target=dummytest; $(BUILD_CMD)
++      +@target=dummytest; $(BUILD_CMD)
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/src/patches/openssl-1.0.1e-fix_pod_syntax-1.patch b/src/patches/openssl-1.0.1e-fix_pod_syntax-1.patch
new file mode 100644 (file)
index 0000000..ba25afe
--- /dev/null
@@ -0,0 +1,393 @@
+Submitted By: Martin Ward <macros_the_black at ntlworld dot com>
+Date: 2013-06-18
+Initial Package Version: 1.0.1e
+Upstream Status: Unknown
+Origin: self, based on fedora
+Description: Fixes install with perl-5.18.
+
+diff -Naur openssl-1.0.1e.orig/doc/apps/cms.pod openssl-1.0.1e/doc/apps/cms.pod
+--- openssl-1.0.1e.orig/doc/apps/cms.pod       2013-06-06 14:35:15.867871879 +0100
++++ openssl-1.0.1e/doc/apps/cms.pod    2013-06-06 14:35:25.791747119 +0100
+@@ -450,28 +450,28 @@
+ =over 4
+-=item 0
++=item C<0>
+ the operation was completely successfully.
+-=item 1 
++=item C<1>
+ an error occurred parsing the command options.
+-=item 2
++=item C<2>
+ one of the input files could not be read.
+-=item 3
++=item C<3>
+ an error occurred creating the CMS file or when reading the MIME
+ message.
+-=item 4
++=item C<4>
+ an error occurred decrypting or verifying the message.
+-=item 5
++=item C<5>
+ the message was verified correctly but an error occurred writing out
+ the signers certificates.
+diff -Naur openssl-1.0.1e.orig/doc/apps/smime.pod openssl-1.0.1e/doc/apps/smime.pod
+--- openssl-1.0.1e.orig/doc/apps/smime.pod     2013-06-06 14:35:15.867871879 +0100
++++ openssl-1.0.1e/doc/apps/smime.pod  2013-06-06 14:35:25.794747082 +0100
+@@ -308,28 +308,28 @@
+ =over 4
+-=item 0
++=item C<0>
+ the operation was completely successfully.
+-=item 1 
++=item C<1>
+ an error occurred parsing the command options.
+-=item 2
++=item C<2>
+ one of the input files could not be read.
+-=item 3
++=item C<3>
+ an error occurred creating the PKCS#7 file or when reading the MIME
+ message.
+-=item 4
++=item C<4>
+ an error occurred decrypting or verifying the message.
+-=item 5
++=item C<5>
+ the message was verified correctly but an error occurred writing out
+ the signers certificates.
+diff -Naur openssl-1.0.1e.orig/doc/crypto/X509_STORE_CTX_get_error.pod openssl-1.0.1e/doc/crypto/X509_STORE_CTX_get_error.pod
+--- openssl-1.0.1e.orig/doc/crypto/X509_STORE_CTX_get_error.pod        2013-06-06 14:35:15.874871791 +0100
++++ openssl-1.0.1e/doc/crypto/X509_STORE_CTX_get_error.pod     2013-06-06 14:37:13.826388940 +0100
+@@ -278,6 +278,8 @@
+ an application specific error. This will never be returned unless explicitly
+ set by an application.
++=back
++
+ =head1 NOTES
+ The above functions should be used instead of directly referencing the fields
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_accept.pod openssl-1.0.1e/doc/ssl/SSL_accept.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_accept.pod 2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_accept.pod      2013-06-06 14:35:25.796747057 +0100
+@@ -44,12 +44,12 @@
+ =over 4
+-=item 1
++=item C<1>
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+-=item 0
++=item C<0>
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_clear.pod openssl-1.0.1e/doc/ssl/SSL_clear.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_clear.pod  2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_clear.pod       2013-06-06 14:35:25.803746969 +0100
+@@ -56,12 +56,12 @@
+ =over 4
+-=item 0
++=item C<0>
+ The SSL_clear() operation could not be performed. Check the error stack to
+ find out the reason.
+-=item 1
++=item C<1>
+ The SSL_clear() operation was successful.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_COMP_add_compression_method.pod openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_COMP_add_compression_method.pod    2013-06-06 14:35:15.870871842 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod 2013-06-06 14:35:25.806746931 +0100
+@@ -53,11 +53,11 @@
+ =over 4
+-=item 0
++=item C<0>
+ The operation succeeded.
+-=item 1
++=item C<1>
+ The operation failed. Check the error queue to find out the reason.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_connect.pod openssl-1.0.1e/doc/ssl/SSL_connect.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_connect.pod        2013-06-06 14:35:15.869871854 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_connect.pod     2013-06-06 14:35:25.808746906 +0100
+@@ -41,12 +41,12 @@
+ =over 4
+-=item 1
++=item C<1>
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+-=item 0
++=item C<0>
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_add_session.pod openssl-1.0.1e/doc/ssl/SSL_CTX_add_session.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_add_session.pod        2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_CTX_add_session.pod     2013-06-06 14:35:25.816746805 +0100
+@@ -52,13 +52,13 @@
+ =over 4
+-=item 0
++=item C<0>
+  The operation failed. In case of the add operation, it was tried to add
+  the same (identical) session twice. In case of the remove operation, the
+  session was not found in the cache.
+-=item 1
++=item C<1>
+  
+  The operation succeeded.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_load_verify_locations.pod openssl-1.0.1e/doc/ssl/SSL_CTX_load_verify_locations.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_load_verify_locations.pod      2013-06-06 14:35:15.870871842 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_CTX_load_verify_locations.pod   2013-06-06 14:35:25.818746780 +0100
+@@ -100,13 +100,13 @@
+ =over 4
+-=item 0
++=item C<0>
+ The operation failed because B<CAfile> and B<CApath> are NULL or the
+ processing at one of the locations specified failed. Check the error
+ stack to find out the reason.
+-=item 1
++=item C<1>
+ The operation succeeded.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_client_CA_list.pod openssl-1.0.1e/doc/ssl/SSL_CTX_set_client_CA_list.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_client_CA_list.pod 2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_CTX_set_client_CA_list.pod      2013-06-06 14:35:25.821746742 +0100
+@@ -66,11 +66,11 @@
+ =over 4
+-=item 1
++=item C<1>
+ The operation succeeded.
+-=item 0
++=item C<0>
+ A failure while manipulating the STACK_OF(X509_NAME) object occurred or
+ the X509_NAME could not be extracted from B<cacert>. Check the error stack
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_session_id_context.pod openssl-1.0.1e/doc/ssl/SSL_CTX_set_session_id_context.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_session_id_context.pod     2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_CTX_set_session_id_context.pod  2013-06-06 14:35:25.828746654 +0100
+@@ -64,13 +64,13 @@
+ =over 4
+-=item 0
++=item C<0>
+ The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded
+ the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error
+ is logged to the error stack.
+-=item 1
++=item C<1>
+ The operation succeeded.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_ssl_version.pod openssl-1.0.1e/doc/ssl/SSL_CTX_set_ssl_version.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_ssl_version.pod    2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_CTX_set_ssl_version.pod 2013-06-06 14:35:25.831746617 +0100
+@@ -42,11 +42,11 @@
+ =over 4
+-=item 0
++=item C<0>
+ The new choice failed, check the error stack to find out the reason.
+-=item 1
++=item C<1>
+ The operation succeeded.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_use_psk_identity_hint.pod openssl-1.0.1e/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_use_psk_identity_hint.pod      2013-06-06 14:35:15.870871842 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_CTX_use_psk_identity_hint.pod   2013-06-06 14:36:42.456783309 +0100
+@@ -81,6 +81,8 @@
+ Return values from the server callback are interpreted as follows:
++=over
++
+ =item > 0
+ PSK identity was found and the server callback has provided the PSK
+@@ -94,9 +96,11 @@
+ connection will fail with decryption_error before it will be finished
+ completely.
+-=item 0
++=item C<0>
+ PSK identity was not found. An "unknown_psk_identity" alert message
+ will be sent and the connection setup fails.
++=back
++
+ =cut
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_do_handshake.pod openssl-1.0.1e/doc/ssl/SSL_do_handshake.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_do_handshake.pod   2013-06-06 14:35:15.869871854 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_do_handshake.pod        2013-06-06 14:35:25.839746516 +0100
+@@ -45,12 +45,12 @@
+ =over 4
+-=item 1
++=item C<1>
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+-=item 0
++=item C<0>
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_read.pod openssl-1.0.1e/doc/ssl/SSL_read.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_read.pod   2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_read.pod        2013-06-06 14:35:25.847746415 +0100
+@@ -86,7 +86,7 @@
+ The read operation was successful; the return value is the number of
+ bytes actually read from the TLS/SSL connection.
+-=item 0
++=item C<0>
+ The read operation was not successful. The reason may either be a clean
+ shutdown due to a "close notify" alert sent by the peer (in which case
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_session_reused.pod openssl-1.0.1e/doc/ssl/SSL_session_reused.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_session_reused.pod 2013-06-06 14:35:15.871871829 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_session_reused.pod      2013-06-06 14:35:25.849746390 +0100
+@@ -27,11 +27,11 @@
+ =over 4
+-=item 0
++=item C<0>
+ A new session was negotiated.
+-=item 1
++=item C<1>
+ A session was reused.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_set_fd.pod openssl-1.0.1e/doc/ssl/SSL_set_fd.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_set_fd.pod 2013-06-06 14:35:15.869871854 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_set_fd.pod      2013-06-06 14:35:25.852746353 +0100
+@@ -35,11 +35,11 @@
+ =over 4
+-=item 0
++=item C<0>
+ The operation failed. Check the error stack to find out why.
+-=item 1
++=item C<1>
+ The operation succeeded.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_set_session.pod openssl-1.0.1e/doc/ssl/SSL_set_session.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_set_session.pod    2013-06-06 14:35:15.870871842 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_set_session.pod 2013-06-06 14:35:25.855746315 +0100
+@@ -37,11 +37,11 @@
+ =over 4
+-=item 0
++=item C<0>
+ The operation failed; check the error stack to find out the reason.
+-=item 1
++=item C<1>
+ The operation succeeded.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_shutdown.pod openssl-1.0.1e/doc/ssl/SSL_shutdown.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_shutdown.pod       2013-06-06 14:35:15.870871842 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_shutdown.pod    2013-06-06 14:35:25.857746290 +0100
+@@ -92,12 +92,12 @@
+ =over 4
+-=item 1
++=item C<1>
+ The shutdown was successfully completed. The "close notify" alert was sent
+ and the peer's "close notify" alert was received.
+-=item 0
++=item C<0>
+ The shutdown is not yet finished. Call SSL_shutdown() for a second time,
+ if a bidirectional shutdown shall be performed.
+diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_write.pod openssl-1.0.1e/doc/ssl/SSL_write.pod
+--- openssl-1.0.1e.orig/doc/ssl/SSL_write.pod  2013-06-06 14:35:15.870871842 +0100
++++ openssl-1.0.1e/doc/ssl/SSL_write.pod       2013-06-06 14:35:25.865746189 +0100
+@@ -79,7 +79,7 @@
+ The write operation was successful, the return value is the number of
+ bytes actually written to the TLS/SSL connection.
+-=item 0
++=item C<0>
+ The write operation was not successful. Probably the underlying connection
+ was closed. Call SSL_get_error() with the return value B<ret> to find out,