aboutsummaryrefslogtreecommitdiffstats
path: root/security/openssl/Makefile
blob: 0b04dcbd4afcbd768bc1d023cbad80eb3cdb79f3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
# New ports collection makefile for:    OpenSSL
# Date created:     Sun Jan  3 19:36:27 CET 1999
# Whom:         Dirk Froemberg <dirk@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=   openssl
PORTVERSION=    0.9.8j
CATEGORIES= security devel
MASTER_SITES=   http://www.openssl.org/%SUBDIR%/ \
        ftp://ftp.openssl.org/%SUBDIR%/ \
        ftp://ftp.sunet.se/pub/security/tools/net/openssl/%SUBDIR%/ \
        ftp://ftp.cert.dfn.de/pub/tools/net/openssl/%SUBDIR%/
MASTER_SITE_SUBDIR= source
PKGNAMESUFFIX?= ${BETA_SUFFIX}${BASE_SUFFIX}${PKGNAMESUFFIX2}
DISTNAME=   ${PORTNAME}-${PORTVERSION}

MAINTAINER= dinoex@FreeBSD.org
COMMENT=    SSL and crypto library

BUILD_DEPENDS=  makedepend:${PORTSDIR}/devel/makedepend

.ifdef USE_OPENSSL
.error You have `USE_OPENSSL' variable defined either in environment or in make(1) arguments. Please undefine and try again.
.endif

.if defined(WITH_OPENSSL_BETA)
BETA_SUFFIX=        -beta
CONFLICTS?=     openssl-0.* openssl-stable-0.*
NO_LATEST_LINK=     yes
.endif
PLIST_SUB+=     OPENSSL_BETA=""
PLIST_SUB+=     OPENSSL_STABLE="@comment "
CONFLICTS?=     openssl-beta-0.* openssl-stable-0.*
EXTRACONFIGURE+=    enable-camellia

MAKE_ARGS+=     WHOLE_ARCHIVE_FLAG=--whole-archive
NOPRECIOUSMAKEVARS= Too many _MLINKS for fetch
NOPRECIOUSSOFTMAKEVARS= Too many _MLINKS for fetch
USE_PERL5_BUILD=    yes
CFLAGS+=        -Wl,-rpath,${LOCALBASE}/lib

MAN1=   CA.pl.1 asn1parse.1 ca.1 ciphers.1 crl.1 crl2pkcs7.1 dgst.1 dhparam.1 \
    dsa.1 dsaparam.1 ec.1 ecparam.1 enc.1 errstr.1 gendsa.1 genrsa.1 \
    nseq.1 ocsp.1 openssl.1 passwd.1 pkcs12.1 pkcs7.1 pkcs8.1 rand.1 \
    req.1 rsa.1 rsautl.1 s_client.1 s_server.1 s_time.1 sess_id.1 smime.1 \
    speed.1 spkac.1 verify.1 version.1 x509.1

MAN3=   ASN1_generate_nconf.3 ASN1_OBJECT_new.3 ASN1_STRING_length.3 \
    ASN1_STRING_new.3 ASN1_STRING_print_ex.3 BIO_ctrl.3 BIO_f_base64.3 \
    BIO_f_buffer.3 BIO_f_cipher.3 BIO_f_md.3 BIO_f_null.3 BIO_f_ssl.3 \
    BIO_find_type.3 BIO_new.3 BIO_new_bio_pair.3 BIO_push.3 BIO_read.3 \
    BIO_s_accept.3 BIO_s_bio.3 BIO_s_connect.3 BIO_s_fd.3 BIO_s_file.3 \
    BIO_s_mem.3 BIO_s_null.3 BIO_s_socket.3 BIO_set_callback.3 \
    BIO_should_retry.3 BN_BLINDING_new.3 BN_CTX_new.3 BN_CTX_start.3 \
    BN_add.3 BN_add_word.3 BN_bn2bin.3 BN_cmp.3 BN_copy.3 \
    BN_generate_prime.3 BN_mod_inverse.3 BN_mod_mul_montgomery.3 \
    BN_mod_mul_reciprocal.3 BN_new.3 BN_num_bytes.3 BN_rand.3 \
    BN_set_bit.3 BN_swap.3 BN_zero.3 CONF_modules_free.3 \
    CONF_modules_load_file.3 CRYPTO_set_ex_data.3 DH_generate_key.3 \
    DH_generate_parameters.3 DH_get_ex_new_index.3 DH_new.3 \
    DH_set_method.3 DH_size.3 DSA_SIG_new.3 DSA_do_sign.3 DSA_dup_DH.3 \
    DSA_generate_key.3 DSA_generate_parameters.3 DSA_get_ex_new_index.3 \
    DSA_new.3 DSA_set_method.3 DSA_sign.3 DSA_size.3 ERR_GET_LIB.3 \
    ERR_clear_error.3 ERR_error_string.3 ERR_get_error.3 \
    ERR_load_crypto_strings.3 ERR_load_strings.3 ERR_print_errors.3 \
    ERR_put_error.3 ERR_remove_state.3 ERR_set_mark.3 EVP_BytesToKey.3 \
    EVP_DigestInit.3 EVP_EncryptInit.3 EVP_OpenInit.3 EVP_PKEY_new.3 \
    EVP_PKEY_set1_RSA.3 EVP_SealInit.3 EVP_SignInit.3 EVP_VerifyInit.3 \
    OBJ_nid2obj.3 OPENSSL_VERSION_NUMBER.3 OPENSSL_Applink.3 \
    OpenSSL_add_all_algorithms.3 OPENSSL_config.3 OPENSSL_ia32cap.3 \
    OPENSSL_load_builtin_modules.3 PKCS12_create.3 PKCS12_parse.3 \
    PKCS7_sign.3 PKCS7_verify.3 PKCS7_encrypt.3 PKCS7_decrypt.3 \
    RAND_add.3 RAND_bytes.3 RAND_cleanup.3 RAND_egd.3 RAND_load_file.3 \
    RAND_set_rand_method.3 RSA_blinding_on.3 RSA_check_key.3 \
    RSA_generate_key.3 RSA_get_ex_new_index.3 RSA_new.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_print.3 RSA_private_encrypt.3 \
    RSA_public_encrypt.3 RSA_set_method.3 RSA_sign.3 \
    RSA_sign_ASN1_OCTET_STRING.3 RSA_size.3 SSL_CIPHER_get_name.3 \
    SSL_COMP_add_compression_method.3 SSL_CTX_add_extra_chain_cert.3 \
    SSL_CTX_add_session.3 SSL_CTX_ctrl.3 SSL_CTX_flush_sessions.3 \
    SSL_CTX_free.3 SSL_CTX_get_ex_new_index.3 SSL_CTX_get_verify_mode.3 \
    SSL_CTX_load_verify_locations.3 SSL_CTX_new.3 SSL_CTX_sess_number.3 \
    SSL_CTX_sess_set_cache_size.3 SSL_CTX_sess_set_get_cb.3 \
    SSL_CTX_sessions.3 SSL_CTX_set_cert_store.3 \
    SSL_CTX_set_cert_verify_callback.3 SSL_CTX_set_cipher_list.3 \
    SSL_CTX_set_client_CA_list.3 SSL_CTX_set_client_cert_cb.3 \
    SSL_CTX_set_default_passwd_cb.3 SSL_CTX_set_generate_session_id.3 \
    SSL_CTX_set_info_callback.3 SSL_CTX_set_max_cert_list.3 \
    SSL_CTX_set_mode.3 SSL_CTX_set_msg_callback.3 SSL_CTX_set_options.3 \
    SSL_CTX_set_quiet_shutdown.3 SSL_CTX_set_session_cache_mode.3 \
    SSL_CTX_set_session_id_context.3 SSL_CTX_set_ssl_version.3 \
    SSL_CTX_set_tmp_dh_callback.3 SSL_CTX_set_tmp_rsa_callback.3 \
    SSL_CTX_set_timeout.3 SSL_CTX_set_verify.3 SSL_CTX_use_certificate.3 \
    SSL_SESSION_free.3 SSL_SESSION_get_ex_new_index.3 \
    SSL_SESSION_get_time.3 SSL_accept.3 SSL_alert_type_string.3 \
    SSL_clear.3 SSL_connect.3 SSL_do_handshake.3 SSL_free.3 \
    SSL_get_SSL_CTX.3 SSL_get_ciphers.3 SSL_get_client_CA_list.3 \
    SSL_get_current_cipher.3 SSL_get_default_timeout.3 SSL_get_error.3 \
    SSL_get_ex_data_X509_STORE_CTX_idx.3 SSL_get_ex_new_index.3 \
    SSL_get_fd.3 SSL_get_peer_cert_chain.3 SSL_get_peer_certificate.3 \
    SSL_get_rbio.3 SSL_get_session.3 SSL_get_verify_result.3 \
    SSL_get_version.3 SSL_library_init.3 SSL_load_client_CA_file.3 \
    SSL_new.3 SSL_pending.3 SSL_read.3 SSL_rstate_string.3 \
    SSL_session_reused.3 SSL_set_bio.3 SSL_set_connect_state.3 \
    SSL_set_fd.3 SSL_set_session.3 SSL_set_shutdown.3 \
    SSL_set_verify_result.3 SSL_shutdown.3 SSL_state_string.3 SSL_want.3 \
    SSL_write.3 SMIME_write_PKCS7.3 SMIME_read_PKCS7.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_add_entry_by_txt.3 \
    X509_NAME_get_index_by_NID.3 X509_new.3 X509_NAME_print_ex.3 \
    blowfish.3 bn.3 bn_internal.3 bio.3 buffer.3 crypto.3 \
    d2i_ASN1_OBJECT.3 d2i_DHparams.3 d2i_DSAPublicKey.3 \
    d2i_PKCS8PrivateKey.3 d2i_RSAPublicKey.3 d2i_X509_ALGOR.3 \
    d2i_X509_CRL.3 d2i_X509.3 d2i_X509_NAME.3 d2i_X509_REQ.3 \
    d2i_X509_SIG.3 d2i_SSL_SESSION.3 des.3 dh.3 dsa.3 ecdsa.3 engine.3 \
    err.3 evp.3 hmac.3 lh_stats.3 lhash.3 md5.3 mdc2.3 pem.3 rand.3 \
    rc4.3 ripemd.3 rsa.3 sha.3 ssl.3 threads.3 ui.3 ui_compat.3 x509.3

MAN5=   config.5 x509v3_config.5

MAN7=   des_modes.7

MLINKS= dgst.1 md4.1 \
    dgst.1 sha.1 \
    dgst.1 mdc2.1 \
    dgst.1 ripemd160.1 \
    dgst.1 md2.1 \
    dgst.1 sha1.1 \
    dgst.1 md5.1 \
    ASN1_OBJECT_new.3 ASN1_OBJECT_free.3 \
    ASN1_STRING_length.3 ASN1_STRING_cmp.3 \
    ASN1_STRING_length.3 ASN1_STRING_data.3 \
    ASN1_STRING_length.3 ASN1_STRING_dup.3 \
    ASN1_STRING_length.3 ASN1_STRING_set.3 \
    ASN1_STRING_length.3 ASN1_STRING_type.3 \
    ASN1_STRING_length.3 ASN1_STRING_length_set.3 \
    ASN1_STRING_new.3 ASN1_STRING_free.3 \
    ASN1_STRING_new.3 ASN1_STRING_type_new.3 \
    ASN1_STRING_print_ex.3 ASN1_STRING_print_ex_fp.3 \
    ASN1_generate_nconf.3 ASN1_generate_v3.3 \
    BIO_ctrl.3 BIO_callback_ctrl.3 \
    BIO_ctrl.3 BIO_ctrl_pending.3 \
    BIO_ctrl.3 BIO_ctrl_wpending.3 \
    BIO_ctrl.3 BIO_eof.3 \
    BIO_ctrl.3 BIO_flush.3 \
    BIO_ctrl.3 BIO_get_close.3 \
    BIO_ctrl.3 BIO_get_info_callback.3 \
    BIO_ctrl.3 BIO_int_ctrl.3 \
    BIO_ctrl.3 BIO_pending.3 \
    BIO_ctrl.3 BIO_ptr_ctrl.3 \
    BIO_ctrl.3 BIO_reset.3 \
    BIO_ctrl.3 BIO_seek.3 \
    BIO_ctrl.3 BIO_set_callback_arg.3 \
    BIO_ctrl.3 BIO_set_close.3 \
    BIO_ctrl.3 BIO_set_info_callback.3 \
    BIO_ctrl.3 BIO_tell.3 \
    BIO_ctrl.3 BIO_wpending.3 \
    BIO_f_cipher.3 BIO_get_cipher_ctx.3 \
    BIO_f_cipher.3 BIO_get_cipher_status.3 \
    BIO_f_cipher.3 BIO_set_cipher.3 \
    BIO_f_md.3 BIO_get_md.3 \
    BIO_f_md.3 BIO_get_md_ctx.3 \
    BIO_f_md.3 BIO_set_md.3 \
    BIO_f_ssl.3 BIO_get_num_renegotiates.3 \
    BIO_f_ssl.3 BIO_get_ssl.3 \
    BIO_f_ssl.3 BIO_new_buffer_ssl_connect.3 \
    BIO_f_ssl.3 BIO_new_ssl.3 \
    BIO_f_ssl.3 BIO_new_ssl_connect.3 \
    BIO_f_ssl.3 BIO_set_ssl.3 \
    BIO_f_ssl.3 BIO_set_ssl_mode.3 \
    BIO_f_ssl.3 BIO_set_ssl_renegotiate_bytes.3 \
    BIO_f_ssl.3 BIO_set_ssl_renegotiate_timeout.3 \
    BIO_f_ssl.3 BIO_ssl_copy_session_id.3 \
    BIO_f_ssl.3 BIO_ssl_shutdown.3 \
    BIO_find_type.3 BIO_next.3 \
    BIO_new.3 BIO_free.3 \
    BIO_new.3 BIO_free_all.3 \
    BIO_new.3 BIO_set.3 \
    BIO_new.3 BIO_vfree.3 \
    BIO_push.3 BIO_pop.3 \
    BIO_read.3 BIO_gets.3 \
    BIO_read.3 BIO_puts.3 \
    BIO_read.3 BIO_write.3 \
    BIO_s_accept.3 BIO_do_accept.3 \
    BIO_s_accept.3 BIO_get_accept_port.3 \
    BIO_s_accept.3 BIO_get_bind_mode.3 \
    BIO_s_accept.3 BIO_set_accept_bios.3 \
    BIO_s_accept.3 BIO_set_accept_port.3 \
    BIO_s_accept.3 BIO_set_bind_mode.3 \
    BIO_s_accept.3 BIO_set_nbio_accept.3 \
    BIO_s_bio.3 BIO_ctrl_get_read_request.3 \
    BIO_s_bio.3 BIO_ctrl_get_write_guarantee.3 \
    BIO_s_bio.3 BIO_ctrl_reset_read_request.3 \
    BIO_s_bio.3 BIO_destroy_bio_pair.3 \
    BIO_s_bio.3 BIO_get_read_request.3 \
    BIO_s_bio.3 BIO_get_write_buf_size.3 \
    BIO_s_bio.3 BIO_get_write_guarantee.3 \
    BIO_s_bio.3 BIO_make_bio_pair.3 \
    BIO_s_bio.3 BIO_set_write_buf_size.3 \
    BIO_s_bio.3 BIO_shutdown_wr.3 \
    BIO_s_connect.3 BIO_do_connect.3 \
    BIO_s_connect.3 BIO_get_conn_hostname.3 \
    BIO_s_connect.3 BIO_get_conn_int_port.3 \
    BIO_s_connect.3 BIO_get_conn_ip.3 \
    BIO_s_connect.3 BIO_get_conn_port.3 \
    BIO_s_connect.3 BIO_set_conn_hostname.3 \
    BIO_s_connect.3 BIO_set_conn_int_port.3 \
    BIO_s_connect.3 BIO_set_conn_ip.3 \
    BIO_s_connect.3 BIO_set_conn_port.3 \
    BIO_s_connect.3 BIO_set_nbio.3 \
    BIO_s_fd.3 BIO_get_fd.3 \
    BIO_s_fd.3 BIO_new_fd.3 \
    BIO_s_fd.3 BIO_set_fd.3 \
    BIO_s_file.3 BIO_append_filename.3 \
    BIO_s_file.3 BIO_get_fp.3 \
    BIO_s_file.3 BIO_new_file.3 \
    BIO_s_file.3 BIO_new_fp.3 \
    BIO_s_file.3 BIO_read_filename.3 \
    BIO_s_file.3 BIO_rw_filename.3 \
    BIO_s_file.3 BIO_set_fp.3 \
    BIO_s_file.3 BIO_write_filename.3 \
    BIO_s_mem.3 BIO_get_mem_data.3 \
    BIO_s_mem.3 BIO_get_mem_ptr.3 \
    BIO_s_mem.3 BIO_new_mem_buf.3 \
    BIO_s_mem.3 BIO_set_mem_buf.3 \
    BIO_s_mem.3 BIO_set_mem_eof_return.3 \
    BIO_s_socket.3 BIO_new_socket.3 \
    BIO_set_callback.3 BIO_debug_callback.3 \
    BIO_set_callback.3 BIO_get_callback.3 \
    BIO_set_callback.3 BIO_get_callback_arg.3 \
    BIO_should_retry.3 BIO_get_retry_BIO.3 \
    BIO_should_retry.3 BIO_get_retry_reason.3 \
    BIO_should_retry.3 BIO_retry_type.3 \
    BIO_should_retry.3 BIO_should_io_special.3 \
    BIO_should_retry.3 BIO_should_read.3 \
    BIO_should_retry.3 BIO_should_write.3 \
    BN_BLINDING_new.3 BN_BLINDING_convert.3 \
    BN_BLINDING_new.3 BN_BLINDING_free.3 \
    BN_BLINDING_new.3 BN_BLINDING_update.3 \
    BN_BLINDING_new.3 BN_BLINDING_invert.3 \
    BN_BLINDING_new.3 BN_BLINDING_convert_ex.3 \
    BN_BLINDING_new.3 BN_BLINDING_invert_ex.3 \
    BN_BLINDING_new.3 BN_BLINDING_get_thread_id.3 \
    BN_BLINDING_new.3 BN_BLINDING_set_thread_id.3 \
    BN_BLINDING_new.3 BN_BLINDING_get_flags.3 \
    BN_BLINDING_new.3 BN_BLINDING_set_flags.3 \
    BN_BLINDING_new.3 BN_BLINDING_create_param.3 \
    BN_CTX_new.3 BN_CTX_free.3 \
    BN_CTX_new.3 BN_CTX_init.3 \
    BN_CTX_start.3 BN_CTX_end.3 \
    BN_CTX_start.3 BN_CTX_get.3 \
    BN_add.3 BN_div.3 \
    BN_add.3 BN_exp.3 \
    BN_add.3 BN_gcd.3 \
    BN_add.3 BN_mod.3 \
    BN_add.3 BN_mod_add.3 \
    BN_add.3 BN_mod_exp.3 \
    BN_add.3 BN_mod_mul.3 \
    BN_add.3 BN_mod_sqr.3 \
    BN_add.3 BN_mod_sub.3 \
    BN_add.3 BN_mul.3 \
    BN_add.3 BN_nnmod.3 \
    BN_add.3 BN_sqr.3 \
    BN_add.3 BN_sub.3 \
    BN_add_word.3 BN_div_word.3 \
    BN_add_word.3 BN_mod_word.3 \
    BN_add_word.3 BN_mul_word.3 \
    BN_add_word.3 BN_sub_word.3 \
    BN_bn2bin.3 BN_bin2bn.3 \
    BN_bn2bin.3 BN_bn2dec.3 \
    BN_bn2bin.3 BN_bn2hex.3 \
    BN_bn2bin.3 BN_bn2mpi.3 \
    BN_bn2bin.3 BN_dec2bn.3 \
    BN_bn2bin.3 BN_hex2bn.3 \
    BN_bn2bin.3 BN_mpi2bn.3 \
    BN_bn2bin.3 BN_print.3 \
    BN_bn2bin.3 BN_print_fp.3 \
    BN_cmp.3 BN_is_odd.3 \
    BN_cmp.3 BN_is_one.3 \
    BN_cmp.3 BN_is_word.3 \
    BN_cmp.3 BN_is_zero.3 \
    BN_cmp.3 BN_ucmp.3 \
    BN_copy.3 BN_dup.3 \
    BN_generate_prime.3 BN_is_prime.3 \
    BN_generate_prime.3 BN_is_prime_fasttest.3 \
    BN_mod_mul_montgomery.3 BN_MONT_CTX_copy.3 \
    BN_mod_mul_montgomery.3 BN_MONT_CTX_free.3 \
    BN_mod_mul_montgomery.3 BN_MONT_CTX_init.3 \
    BN_mod_mul_montgomery.3 BN_MONT_CTX_new.3 \
    BN_mod_mul_montgomery.3 BN_MONT_CTX_set.3 \
    BN_mod_mul_montgomery.3 BN_from_montgomery.3 \
    BN_mod_mul_montgomery.3 BN_to_montgomery.3 \
    BN_mod_mul_reciprocal.3 BN_RECP_CTX_free.3 \
    BN_mod_mul_reciprocal.3 BN_RECP_CTX_init.3 \
    BN_mod_mul_reciprocal.3 BN_RECP_CTX_new.3 \
    BN_mod_mul_reciprocal.3 BN_RECP_CTX_set.3 \
    BN_mod_mul_reciprocal.3 BN_div_recp.3 \
    BN_new.3 BN_clear.3 \
    BN_new.3 BN_clear_free.3 \
    BN_new.3 BN_free.3 \
    BN_new.3 BN_init.3 \
    BN_num_bytes.3 BN_num_bits.3 \
    BN_num_bytes.3 BN_num_bits_word.3 \
    BN_rand.3 BN_pseudo_rand.3 \
    BN_set_bit.3 BN_clear_bit.3 \
    BN_set_bit.3 BN_is_bit_set.3 \
    BN_set_bit.3 BN_lshift.3 \
    BN_set_bit.3 BN_lshift1.3 \
    BN_set_bit.3 BN_mask_bits.3 \
    BN_set_bit.3 BN_rshift.3 \
    BN_set_bit.3 BN_rshift1.3 \
    BN_zero.3 BN_get_word.3 \
    BN_zero.3 BN_one.3 \
    BN_zero.3 BN_set_word.3 \
    BN_zero.3 BN_value_one.3 \
    CONF_modules_free.3 CONF_modules_finish.3 \
    CONF_modules_free.3 CONF_modules_unload.3 \
    CONF_modules_load_file.3 CONF_modules_load.3 \
    CRYPTO_set_ex_data.3 CRYPTO_get_ex_data.3 \
    DH_generate_key.3 DH_compute_key.3 \
    DH_generate_parameters.3 DH_check.3 \
    DH_get_ex_new_index.3 DH_get_ex_data.3 \
    DH_get_ex_new_index.3 DH_set_ex_data.3 \
    DH_new.3 DH_free.3 \
    DH_set_method.3 DH_OpenSSL.3 \
    DH_set_method.3 DH_get_default_method.3 \
    DH_set_method.3 DH_new_method.3 \
    DH_set_method.3 DH_set_default_method.3 \
    DSA_SIG_new.3 DSA_SIG_free.3 \
    DSA_do_sign.3 DSA_do_verify.3 \
    DSA_get_ex_new_index.3 DSA_get_ex_data.3 \
    DSA_get_ex_new_index.3 DSA_set_ex_data.3 \
    DSA_new.3 DSA_free.3 \
    DSA_set_method.3 DSA_OpenSSL.3 \
    DSA_set_method.3 DSA_get_default_method.3 \
    DSA_set_method.3 DSA_new_method.3 \
    DSA_set_method.3 DSA_set_default_method.3 \
    DSA_sign.3 DSA_sign_setup.3 \
    DSA_sign.3 DSA_verify.3 \
    ERR_GET_LIB.3 ERR_GET_FUNC.3 \
    ERR_GET_LIB.3 ERR_GET_REASON.3 \
    ERR_error_string.3 ERR_error_string_n.3 \
    ERR_error_string.3 ERR_func_error_string.3 \
    ERR_error_string.3 ERR_lib_error_string.3 \
    ERR_error_string.3 ERR_reason_error_string.3 \
    ERR_get_error.3 ERR_get_error_line.3 \
    ERR_get_error.3 ERR_get_error_line_data.3 \
    ERR_get_error.3 ERR_peek_error.3 \
    ERR_get_error.3 ERR_peek_error_line.3 \
    ERR_get_error.3 ERR_peek_error_line_data.3 \
    ERR_get_error.3 ERR_peek_last_error.3 \
    ERR_get_error.3 ERR_peek_last_error_line.3 \
    ERR_get_error.3 ERR_peek_last_error_line_data.3 \
    ERR_load_crypto_strings.3 ERR_free_strings.3 \
    ERR_load_crypto_strings.3 SSL_load_error_strings.3 \
    ERR_load_strings.3 ERR_PACK.3 \
    ERR_load_strings.3 ERR_get_next_error_library.3 \
    ERR_print_errors.3 ERR_print_errors_fp.3 \
    ERR_put_error.3 ERR_add_error_data.3 \
    ERR_set_mark.3 ERR_pop_to_mark.3 \
    EVP_DigestInit.3 EVP_DigestFinal_ex.3 \
    EVP_DigestInit.3 EVP_DigestInit_ex.3 \
    EVP_DigestInit.3 EVP_DigestUpdate.3 \
    EVP_DigestInit.3 EVP_MAX_MD_SIZE.3 \
    EVP_DigestInit.3 EVP_MD_CTX_block_size.3 \
    EVP_DigestInit.3 EVP_MD_CTX_cleanup.3 \
    EVP_DigestInit.3 EVP_MD_CTX_copy.3 \
    EVP_DigestInit.3 EVP_MD_CTX_copy_ex.3 \
    EVP_DigestInit.3 EVP_MD_CTX_create.3 \
    EVP_DigestInit.3 EVP_MD_CTX_destroy.3 \
    EVP_DigestInit.3 EVP_MD_CTX_init.3 \
    EVP_DigestInit.3 EVP_MD_CTX_md.3 \
    EVP_DigestInit.3 EVP_MD_CTX_size.3 \
    EVP_DigestInit.3 EVP_MD_CTX_type.3 \
    EVP_DigestInit.3 EVP_MD_block_size.3 \
    EVP_DigestInit.3 EVP_MD_pkey_type.3 \
    EVP_DigestInit.3 EVP_MD_size.3 \
    EVP_DigestInit.3 EVP_MD_type.3 \
    EVP_DigestInit.3 EVP_dss.3 \
    EVP_DigestInit.3 EVP_dss1.3 \
    EVP_DigestInit.3 EVP_get_digestbyname.3 \
    EVP_DigestInit.3 EVP_get_digestbynid.3 \
    EVP_DigestInit.3 EVP_get_digestbyobj.3 \
    EVP_DigestInit.3 EVP_md2.3 \
    EVP_DigestInit.3 EVP_md5.3 \
    EVP_DigestInit.3 EVP_md_null.3 \
    EVP_DigestInit.3 EVP_mdc2.3 \
    EVP_DigestInit.3 EVP_ripemd160.3 \
    EVP_DigestInit.3 EVP_sha.3 \
    EVP_DigestInit.3 EVP_sha1.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_block_size.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_cipher.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_cleanup.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_ctrl.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_flags.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_get_app_data.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_init.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_iv_length.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_key_length.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_mode.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_nid.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_set_app_data.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_set_key_length.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_set_padding.3 \
    EVP_EncryptInit.3 EVP_CIPHER_CTX_type.3 \
    EVP_EncryptInit.3 EVP_CIPHER_asn1_to_param.3 \
    EVP_EncryptInit.3 EVP_CIPHER_block_size.3 \
    EVP_EncryptInit.3 EVP_CIPHER_flags.3 \
    EVP_EncryptInit.3 EVP_CIPHER_iv_length.3 \
    EVP_EncryptInit.3 EVP_CIPHER_key_length.3 \
    EVP_EncryptInit.3 EVP_CIPHER_mode.3 \
    EVP_EncryptInit.3 EVP_CIPHER_nid.3 \
    EVP_EncryptInit.3 EVP_CIPHER_param_to_asn1.3 \
    EVP_EncryptInit.3 EVP_CIPHER_type.3 \
    EVP_EncryptInit.3 EVP_CipherFinal.3 \
    EVP_EncryptInit.3 EVP_CipherFinal_ex.3 \
    EVP_EncryptInit.3 EVP_CipherInit.3 \
    EVP_EncryptInit.3 EVP_CipherInit_ex.3 \
    EVP_EncryptInit.3 EVP_CipherUpdate.3 \
    EVP_EncryptInit.3 EVP_DecryptFinal.3 \
    EVP_EncryptInit.3 EVP_DecryptFinal_ex.3 \
    EVP_EncryptInit.3 EVP_DecryptInit.3 \
    EVP_EncryptInit.3 EVP_DecryptInit_ex.3 \
    EVP_EncryptInit.3 EVP_DecryptUpdate.3 \
    EVP_EncryptInit.3 EVP_EncryptFinal.3 \
    EVP_EncryptInit.3 EVP_EncryptInit_ex.3 \
    EVP_EncryptInit.3 EVP_EncryptFinal_ex.3 \
    EVP_EncryptInit.3 EVP_EncryptUpdate.3 \
    EVP_EncryptInit.3 EVP_get_cipherbyname.3 \
    EVP_EncryptInit.3 EVP_get_cipherbynid.3 \
    EVP_EncryptInit.3 EVP_get_cipherbyobj.3 \
    EVP_OpenInit.3 EVP_OpenFinal.3 \
    EVP_OpenInit.3 EVP_OpenUpdate.3 \
    EVP_PKEY_new.3 EVP_PKEY_free.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_DH.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_DSA.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_EC_KEY.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_RSA.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_get1_DH.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_get1_DSA.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_get1_EC_KEY.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_get1_RSA.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_set1_DH.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_set1_DSA.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_set1_EC_KEY.3 \
    EVP_PKEY_set1_RSA.3 EVP_PKEY_type.3 \
    EVP_SealInit.3 EVP_SealFinal.3 \
    EVP_SealInit.3 EVP_SealUpdate.3 \
    EVP_SignInit.3 EVP_SignFinal.3 \
    EVP_SignInit.3 EVP_SignUpdate.3 \
    EVP_VerifyInit.3 EVP_VerifyFinal.3 \
    EVP_VerifyInit.3 EVP_VerifyUpdate.3 \
    OBJ_nid2obj.3 OBJ_cleanup.3 \
    OBJ_nid2obj.3 OBJ_cmp.3 \
    OBJ_nid2obj.3 OBJ_create.3 \
    OBJ_nid2obj.3 OBJ_dup.3 \
    OBJ_nid2obj.3 OBJ_ln2nid.3 \
    OBJ_nid2obj.3 OBJ_nid2ln.3 \
    OBJ_nid2obj.3 OBJ_nid2sn.3 \
    OBJ_nid2obj.3 OBJ_obj2nid.3 \
    OBJ_nid2obj.3 OBJ_obj2txt.3 \
    OBJ_nid2obj.3 OBJ_sn2nid.3 \
    OBJ_nid2obj.3 OBJ_txt2nid.3 \
    OBJ_nid2obj.3 OBJ_txt2obj.3 \
    OPENSSL_VERSION_NUMBER.3 SSLeay.3 \
    OPENSSL_VERSION_NUMBER.3 SSLeay_version.3 \
    OpenSSL_add_all_algorithms.3 OpenSSL_add_all_ciphers.3 \
    OpenSSL_add_all_algorithms.3 OpenSSL_add_all_digests.3 \
    OPENSSL_config.3 OPENSSL_no_config.3 \
    RAND_add.3 RAND_event.3 \
    RAND_add.3 RAND_screen.3 \
    RAND_add.3 RAND_seed.3 \
    RAND_add.3 RAND_status.3 \
    RAND_bytes.3 RAND_pseudo_bytes.3 \
    RAND_load_file.3 RAND_file_name.3 \
    RAND_load_file.3 RAND_write_file.3 \
    RAND_set_rand_method.3 RAND_SSLeay.3 \
    RAND_set_rand_method.3 RAND_get_rand_method.3 \
    RSA_blinding_on.3 RSA_blinding_off.3 \
    RSA_get_ex_new_index.3 RSA_get_ex_data.3 \
    RSA_get_ex_new_index.3 RSA_set_ex_data.3 \
    RSA_new.3 RSA_free.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_add_PKCS1_OAEP.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_add_PKCS1_type_2.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_add_SSLv23.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_add_none.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_check_PKCS1_OAEP.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_check_PKCS1_type_1.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_check_PKCS1_type_2.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_check_SSLv23.3 \
    RSA_padding_add_PKCS1_type_1.3 RSA_padding_check_none.3 \
    RSA_print.3 DHparams_print.3 \
    RSA_print.3 DHparams_print_fp.3 \
    RSA_print.3 DSA_print.3 \
    RSA_print.3 DSA_print_fp.3 \
    RSA_print.3 DSAparams_print.3 \
    RSA_print.3 DSAparams_print_fp.3 \
    RSA_print.3 RSA_print_fp.3 \
    RSA_private_encrypt.3 RSA_public_decrypt.3 \
    RSA_public_encrypt.3 RSA_private_decrypt.3 \
    RSA_set_method.3 RSA_PKCS1_SSLeay.3 \
    RSA_set_method.3 RSA_flags.3 \
    RSA_set_method.3 RSA_get_default_method.3 \
    RSA_set_method.3 RSA_get_method.3 \
    RSA_set_method.3 RSA_new_method.3 \
    RSA_set_method.3 RSA_null_method.3 \
    RSA_set_method.3 RSA_set_default_method.3 \
    RSA_sign.3 RSA_verify.3 \
    RSA_sign_ASN1_OCTET_STRING.3 RSA_verify_ASN1_OCTET_STRING.3 \
    SSL_CIPHER_get_name.3 SSL_CIPHER_description.3 \
    SSL_CIPHER_get_name.3 SSL_CIPHER_get_bits.3 \
    SSL_CIPHER_get_name.3 SSL_CIPHER_get_version.3 \
    SSL_CTX_add_session.3 SSL_CTX_remove_session.3 \
    SSL_CTX_add_session.3 SSL_add_session.3 \
    SSL_CTX_add_session.3 SSL_remove_session.3 \
    SSL_CTX_ctrl.3 SSL_CTX_callback_ctrl.3 \
    SSL_CTX_ctrl.3 SSL_callback_ctrl.3 \
    SSL_CTX_ctrl.3 SSL_ctrl.3 \
    SSL_CTX_flush_sessions.3 SSL_flush_sessions.3 \
    SSL_CTX_get_ex_new_index.3 SSL_CTX_get_ex_data.3 \
    SSL_CTX_get_ex_new_index.3 SSL_CTX_set_ex_data.3 \
    SSL_CTX_get_verify_mode.3 SSL_CTX_get_verify_callback.3 \
    SSL_CTX_get_verify_mode.3 SSL_CTX_get_verify_depth.3 \
    SSL_CTX_get_verify_mode.3 SSL_get_verify_callback.3 \
    SSL_CTX_get_verify_mode.3 SSL_get_verify_depth.3 \
    SSL_CTX_get_verify_mode.3 SSL_get_verify_mode.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_accept.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_accept_good.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_accept_renegotiate.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_cache_full.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_cb_hits.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_connect.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_connect_good.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_connect_renegotiate.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_hits.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_misses.3 \
    SSL_CTX_sess_number.3 SSL_CTX_sess_timeouts.3 \
    SSL_CTX_sess_set_cache_size.3 SSL_CTX_sess_get_cache_size.3 \
    SSL_CTX_sess_set_get_cb.3 SSL_CTX_sess_get_get_cb.3 \
    SSL_CTX_sess_set_get_cb.3 SSL_CTX_sess_get_new_cb.3 \
    SSL_CTX_sess_set_get_cb.3 SSL_CTX_sess_get_remove_cb.3 \
    SSL_CTX_sess_set_get_cb.3 SSL_CTX_sess_set_new_cb.3 \
    SSL_CTX_sess_set_get_cb.3 SSL_CTX_sess_set_remove_cb.3 \
    SSL_CTX_set_cert_store.3 SSL_CTX_get_cert_store.3 \
    SSL_CTX_set_cipher_list.3 SSL_set_cipher_list.3 \
    SSL_CTX_set_client_CA_list.3 SSL_CTX_add_client_CA.3 \
    SSL_CTX_set_client_CA_list.3 SSL_add_client_CA.3 \
    SSL_CTX_set_client_CA_list.3 SSL_set_client_CA_list.3 \
    SSL_CTX_set_client_cert_cb.3 SSL_CTX_get_client_cert_cb.3 \
    SSL_CTX_set_default_passwd_cb.3 SSL_CTX_set_default_passwd_cb_userdata.3 \
    SSL_CTX_set_generate_session_id.3 SSL_has_matching_session_id.3 \
    SSL_CTX_set_generate_session_id.3 SSL_set_generate_session_id.3 \
    SSL_CTX_set_info_callback.3 SSL_CTX_get_info_callback.3 \
    SSL_CTX_set_info_callback.3 SSL_get_info_callback.3 \
    SSL_CTX_set_info_callback.3 SSL_set_info_callback.3 \
    SSL_CTX_set_max_cert_list.3 SSL_CTX_get_max_cert_list.3 \
    SSL_CTX_set_max_cert_list.3 SSL_get_max_cert_list.3 \
    SSL_CTX_set_max_cert_list.3 SSL_set_max_cert_list.3 \
    SSL_CTX_set_mode.3 SSL_CTX_get_mode.3 \
    SSL_CTX_set_mode.3 SSL_get_mode.3 \
    SSL_CTX_set_mode.3 SSL_set_mode.3 \
    SSL_CTX_set_msg_callback.3 SSL_CTX_set_msg_callback_arg.3 \
    SSL_CTX_set_msg_callback.3 SSL_get_msg_callback_arg.3 \
    SSL_CTX_set_msg_callback.3 SSL_set_msg_callback.3 \
    SSL_CTX_set_options.3 SSL_CTX_get_options.3 \
    SSL_CTX_set_options.3 SSL_get_options.3 \
    SSL_CTX_set_options.3 SSL_set_options.3 \
    SSL_CTX_set_quiet_shutdown.3 SSL_CTX_get_quiet_shutdown.3 \
    SSL_CTX_set_quiet_shutdown.3 SSL_get_quiet_shutdown.3 \
    SSL_CTX_set_quiet_shutdown.3 SSL_set_quiet_shutdown.3 \
    SSL_CTX_set_session_cache_mode.3 SSL_CTX_get_session_cache_mode.3 \
    SSL_CTX_set_session_id_context.3 SSL_set_session_id_context.3 \
    SSL_CTX_set_ssl_version.3 SSL_get_ssl_method.3 \
    SSL_CTX_set_ssl_version.3 SSL_set_ssl_method.3 \
    SSL_CTX_set_timeout.3 SSL_CTX_get_timeout.3 \
    SSL_CTX_set_tmp_dh_callback.3 SSL_CTX_set_tmp_dh.3 \
    SSL_CTX_set_tmp_dh_callback.3 SSL_set_tmp_dh.3 \
    SSL_CTX_set_tmp_dh_callback.3 SSL_set_tmp_dh_callback.3 \
    SSL_CTX_set_tmp_rsa_callback.3 SSL_CTX_need_tmp_rsa.3 \
    SSL_CTX_set_tmp_rsa_callback.3 SSL_CTX_set_tmp_rsa.3 \
    SSL_CTX_set_tmp_rsa_callback.3 SSL_need_tmp_rsa.3 \
    SSL_CTX_set_tmp_rsa_callback.3 SSL_set_tmp_rsa.3 \
    SSL_CTX_set_tmp_rsa_callback.3 SSL_set_tmp_rsa_callback.3 \
    SSL_CTX_set_verify.3 SSL_CTX_set_verify_depth.3 \
    SSL_CTX_set_verify.3 SSL_set_verify.3 \
    SSL_CTX_set_verify.3 SSL_set_verify_depth.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_check_private_key.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_PrivateKey.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_PrivateKey_ASN1.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_PrivateKey_file.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_RSAPrivateKey.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_RSAPrivateKey_ASN1.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_RSAPrivateKey_file.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_certificate_ASN1.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_certificate_file.3 \
    SSL_CTX_use_certificate.3 SSL_CTX_use_certificate_chain_file.3 \
    SSL_CTX_use_certificate.3 SSL_check_private_key.3 \
    SSL_CTX_use_certificate.3 SSL_use_PrivateKey.3 \
    SSL_CTX_use_certificate.3 SSL_use_PrivateKey_ASN1.3 \
    SSL_CTX_use_certificate.3 SSL_use_PrivateKey_file.3 \
    SSL_CTX_use_certificate.3 SSL_use_RSAPrivateKey.3 \
    SSL_CTX_use_certificate.3 SSL_use_RSAPrivateKey_ASN1.3 \
    SSL_CTX_use_certificate.3 SSL_use_RSAPrivateKey_file.3 \
    SSL_CTX_use_certificate.3 SSL_use_certificate.3 \
    SSL_CTX_use_certificate.3 SSL_use_certificate_ASN1.3 \
    SSL_CTX_use_certificate.3 SSL_use_certificate_file.3 \
    SSL_SESSION_get_ex_new_index.3 SSL_SESSION_get_ex_data.3 \
    SSL_SESSION_get_ex_new_index.3 SSL_SESSION_set_ex_data.3 \
    SSL_SESSION_get_time.3 SSL_SESSION_get_timeout.3 \
    SSL_SESSION_get_time.3 SSL_SESSION_set_time.3 \
    SSL_SESSION_get_time.3 SSL_SESSION_set_timeout.3 \
    SSL_alert_type_string.3 SSL_alert_desc_string.3 \
    SSL_alert_type_string.3 SSL_alert_desc_string_long.3 \
    SSL_alert_type_string.3 SSL_alert_type_string_long.3 \
    SSL_get_ciphers.3 SSL_get_cipher_list.3 \
    SSL_get_client_CA_list.3 SSL_CTX_get_client_CA_list.3 \
    SSL_get_current_cipher.3 SSL_get_cipher.3 \
    SSL_get_current_cipher.3 SSL_get_cipher_bits.3 \
    SSL_get_current_cipher.3 SSL_get_cipher_name.3 \
    SSL_get_current_cipher.3 SSL_get_cipher_version.3 \
    SSL_get_ex_new_index.3 SSL_get_ex_data.3 \
    SSL_get_ex_new_index.3 SSL_set_ex_data.3 \
    SSL_library_init.3 OpenSSL_add_ssl_algorithms.3 \
    SSL_library_init.3 SSLeay_add_ssl_algorithms.3 \
    SSL_rstate_string.3 SSL_rstate_string_long.3 \
    SSL_set_connect_state.3 SSL_get_accept_state.3 \
    SSL_set_shutdown.3 SSL_get_shutdown.3 \
    SSL_state_string.3 SSL_state_string_long.3 \
    SSL_want.3 SSL_want_nothing.3 \
    SSL_want.3 SSL_want_read.3 \
    SSL_want.3 SSL_want_write.3 \
    SSL_want.3 SSL_want_x509_lookup.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_create_by_NID.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_create_by_OBJ.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_create_by_txt.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_get_data.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_set_data.3 \
    X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_set_object.3 \
    X509_NAME_add_entry_by_txt.3 X509_NAME_add_entry.3 \
    X509_NAME_add_entry_by_txt.3 X509_NAME_add_entry_by_NID.3 \
    X509_NAME_add_entry_by_txt.3 X509_NAME_add_entry_by_OBJ.3 \
    X509_NAME_add_entry_by_txt.3 X509_NAME_delete_entry.3 \
    X509_NAME_get_index_by_NID.3 X509_NAME_entry_count.3 \
    X509_NAME_get_index_by_NID.3 X509_NAME_get_entry.3 \
    X509_NAME_get_index_by_NID.3 X509_NAME_get_index_by_OBJ.3 \
    X509_NAME_get_index_by_NID.3 X509_NAME_get_text_by_NID.3 \
    X509_NAME_get_index_by_NID.3 X509_NAME_get_text_by_OBJ.3 \
    X509_NAME_print_ex.3 X509_NAME_oneline.3 \
    X509_NAME_print_ex.3 X509_NAME_print.3 \
    X509_NAME_print_ex.3 X509_NAME_print_ex_fp.3 \
    X509_new.3 X509_free.3 \
    blowfish.3 BF_cbc_encrypt.3 \
    blowfish.3 BF_cfb64_encrypt.3 \
    blowfish.3 BF_decrypt.3 \
    blowfish.3 BF_ecb_encrypt.3 \
    blowfish.3 BF_encrypt.3 \
    blowfish.3 BF_ofb64_encrypt.3 \
    blowfish.3 BF_options.3 \
    blowfish.3 BF_set_key.3 \
    bn_internal.3 bn_add_words.3 \
    bn_internal.3 bn_check_top.3 \
    bn_internal.3 bn_cmp_words.3 \
    bn_internal.3 bn_div_words.3 \
    bn_internal.3 bn_dump.3 \
    bn_internal.3 bn_expand.3 \
    bn_internal.3 bn_expand2.3 \
    bn_internal.3 bn_fix_top.3 \
    bn_internal.3 bn_mul_add_words.3 \
    bn_internal.3 bn_mul_comba4.3 \
    bn_internal.3 bn_mul_comba8.3 \
    bn_internal.3 bn_mul_high.3 \
    bn_internal.3 bn_mul_low_normal.3 \
    bn_internal.3 bn_mul_low_recursive.3 \
    bn_internal.3 bn_mul_normal.3 \
    bn_internal.3 bn_mul_part_recursive.3 \
    bn_internal.3 bn_mul_recursive.3 \
    bn_internal.3 bn_mul_words.3 \
    bn_internal.3 bn_print.3 \
    bn_internal.3 bn_set_high.3 \
    bn_internal.3 bn_set_low.3 \
    bn_internal.3 bn_set_max.3 \
    bn_internal.3 bn_sqr_comba4.3 \
    bn_internal.3 bn_sqr_comba8.3 \
    bn_internal.3 bn_sqr_normal.3 \
    bn_internal.3 bn_sqr_recursive.3 \
    bn_internal.3 bn_sqr_words.3 \
    bn_internal.3 bn_sub_words.3 \
    bn_internal.3 bn_wexpand.3 \
    buffer.3 BUF_MEM_free.3 \
    buffer.3 BUF_MEM_grow.3 \
    buffer.3 BUF_MEM_new.3 \
    buffer.3 BUF_strdup.3 \
    d2i_ASN1_OBJECT.3 i2d_ASN1_OBJECT.3 \
    d2i_DHparams.3 i2d_DHparams.3 \
    d2i_DSAPublicKey.3 d2i_DSAPrivateKey.3 \
    d2i_DSAPublicKey.3 d2i_DSA_PUBKEY.3 \
    d2i_DSAPublicKey.3 d2i_DSA_SIG.3 \
    d2i_DSAPublicKey.3 i2d_DSAPrivateKey.3 \
    d2i_DSAPublicKey.3 i2d_DSAPublicKey.3 \
    d2i_DSAPublicKey.3 i2d_DSA_PUBKEY.3 \
    d2i_DSAPublicKey.3 i2d_DSA_SIG.3 \
    d2i_PKCS8PrivateKey.3 d2i_PKCS8PrivateKey_bio.3 \
    d2i_PKCS8PrivateKey.3 d2i_PKCS8PrivateKey_fp.3 \
    d2i_PKCS8PrivateKey.3 i2d_PKCS8PrivateKey_bio.3 \
    d2i_PKCS8PrivateKey.3 i2d_PKCS8PrivateKey_fp.3 \
    d2i_PKCS8PrivateKey.3 i2d_PKCS8PrivateKey_nid_bio.3 \
    d2i_PKCS8PrivateKey.3 i2d_PKCS8PrivateKey_nid_fp.3 \
    d2i_RSAPublicKey.3 d2i_Netscape_RSA.3 \
    d2i_RSAPublicKey.3 d2i_RSAPrivateKey.3 \
    d2i_RSAPublicKey.3 d2i_RSA_PUBKEY.3 \
    d2i_RSAPublicKey.3 i2d_Netscape_RSA.3 \
    d2i_RSAPublicKey.3 i2d_RSAPrivateKey.3 \
    d2i_RSAPublicKey.3 i2d_RSAPublicKey.3 \
    d2i_RSAPublicKey.3 i2d_RSA_PUBKEY.3 \
    d2i_SSL_SESSION.3 i2d_SSL_SESSION.3 \
    d2i_X509.3 i2d_X509.3 \
    d2i_X509.3 d2i_X509_REQ_bio.3 \
    d2i_X509.3 d2i_X509_REQ_fp.3 \
    d2i_X509.3 i2d_X509_bio.3 \
    d2i_X509.3 i2d_X509_fp.3 \
    d2i_X509_ALGOR.3 i2d_X509_ALGOR.3 \
    d2i_X509_CRL.3 d2i_509_CRL_fp.3 \
    d2i_X509_CRL.3 d2i_X509_bio.3 \
    d2i_X509_CRL.3 i2d_X509_CRL.3 \
    d2i_X509_CRL.3 i2d_X509_CRL_bio.3 \
    d2i_X509_CRL.3 i2d_X509_CRL_fp.3 \
    d2i_X509_NAME.3 i2d_X509_NAME.3 \
    d2i_X509_REQ.3 i2d_X509_REQ.3 \
    d2i_X509_REQ.3 i2d_X509_REQ_bio.3 \
    d2i_X509_REQ.3 i2d_X509_REQ_fp.3 \
    d2i_X509_SIG.3 i2d_X509_SIG.3 \
    d2i_X509_REQ.3 d2i_X509_fp.3 \
    d2i_X509_REQ.3 d2i_X509_CRL_bio.3 \
    des.3 DES_cbc_cksum.3 \
    des.3 DES_cfb64_encrypt.3 \
    des.3 DES_cfb_encrypt.3 \
    des.3 DES_crypt.3 \
    des.3 DES_ecb2_encrypt.3 \
    des.3 DES_ecb3_encrypt.3 \
    des.3 DES_ecb_encrypt.3 \
    des.3 DES_ede2_cbc_encrypt.3 \
    des.3 DES_ede2_cfb64_encrypt.3 \
    des.3 DES_ede2_ofb64_encrypt.3 \
    des.3 DES_ede3_cbc_encrypt.3 \
    des.3 DES_ede3_cbcm_encrypt.3 \
    des.3 DES_ede3_cfb64_encrypt.3 \
    des.3 DES_ede3_ofb64_encrypt.3 \
    des.3 DES_enc_read.3 \
    des.3 DES_enc_write.3 \
    des.3 DES_fcrypt.3 \
    des.3 DES_is_weak_key.3 \
    des.3 DES_key_sched.3 \
    des.3 DES_ncbc_encrypt.3 \
    des.3 DES_ofb64_encrypt.3 \
    des.3 DES_ofb_encrypt.3 \
    des.3 DES_pcbc_encrypt.3 \
    des.3 DES_quad_cksum.3 \
    des.3 DES_random_key.3 \
    des.3 DES_set_key.3 \
    des.3 DES_set_key_checked.3 \
    des.3 DES_set_key_unchecked.3 \
    des.3 DES_set_odd_parity.3 \
    des.3 DES_string_to_2keys.3 \
    des.3 DES_string_to_key.3 \
    des.3 DES_xcbc_encrypt.3 \
    hmac.3 HMAC.3 \
    hmac.3 HMAC_Final.3 \
    hmac.3 HMAC_Init.3 \
    hmac.3 HMAC_Update.3 \
    hmac.3 HMAC_cleanup.3 \
    lh_stats.3 lh_node_stats.3 \
    lh_stats.3 lh_node_stats_bio.3 \
    lh_stats.3 lh_node_usage_stats.3 \
    lh_stats.3 lh_node_usage_stats_bio.3 \
    lh_stats.3 lh_stats_bio.3 \
    lhash.3 lh_delete.3 \
    lhash.3 lh_doall.3 \
    lhash.3 lh_doall_arg.3 \
    lhash.3 lh_error.3 \
    lhash.3 lh_free.3 \
    lhash.3 lh_insert.3 \
    lhash.3 lh_new.3 \
    lhash.3 lh_retrieve.3 \
    md5.3 MD2.3 \
    md5.3 MD2_Final.3 \
    md5.3 MD2_Init.3 \
    md5.3 MD2_Update.3 \
    md5.3 MD4.3 \
    md5.3 MD4_Final.3 \
    md5.3 MD4_Init.3 \
    md5.3 MD4_Update.3 \
    md5.3 MD5.3 \
    md5.3 MD5_Final.3 \
    md5.3 MD5_Init.3 \
    md5.3 MD5_Update.3 \
    mdc2.3 MDC2.3 \
    mdc2.3 MDC2_Final.3 \
    mdc2.3 MDC2_Init.3 \
    mdc2.3 MDC2_Update.3 \
    pem.3 PEM.3 \
    rc4.3 RC4.3 \
    rc4.3 RC4_set_key.3 \
    ripemd.3 RIPEMD160.3 \
    ripemd.3 RIPEMD160_Final.3 \
    ripemd.3 RIPEMD160_Init.3 \
    ripemd.3 RIPEMD160_Update.3 \
    sha.3 SHA1.3 \
    sha.3 SHA1_Final.3 \
    sha.3 SHA1_Init.3 \
    sha.3 SHA1_Update.3 \
    ssl.3 SSL.3 \
    threads.3 CRYPTO_destroy_dynlockid.3 \
    threads.3 CRYPTO_get_new_dynlockid.3 \
    threads.3 CRYPTO_lock.3 \
    threads.3 CRYPTO_num_locks.3 \
    threads.3 CRYPTO_set_dynlock_create_callback.3 \
    threads.3 CRYPTO_set_dynlock_destroy_callback.3 \
    threads.3 CRYPTO_set_dynlock_lock_callback.3 \
    threads.3 CRYPTO_set_id_callback.3 \
    threads.3 CRYPTO_set_locking_callback.3 \
    ui.3 ERR_load_UI_strings.3 \
    ui.3 UI_OpenSSL.3 \
    ui.3 UI_add_error_string.3 \
    ui.3 UI_add_info_string.3 \
    ui.3 UI_add_input_boolean.3 \
    ui.3 UI_add_input_string.3 \
    ui.3 UI_add_user_data.3 \
    ui.3 UI_add_verify_string.3 \
    ui.3 UI_construct_prompt.3 \
    ui.3 UI_ctrl.3 \
    ui.3 UI_dup_error_string.3 \
    ui.3 UI_dup_info_string.3 \
    ui.3 UI_dup_input_boolean.3 \
    ui.3 UI_dup_input_string.3 \
    ui.3 UI_dup_verify_string.3 \
    ui.3 UI_free.3 \
    ui.3 UI_get0_result.3 \
    ui.3 UI_get0_user_data.3 \
    ui.3 UI_get_default_method.3 \
    ui.3 UI_get_method.3 \
    ui.3 UI_new.3 \
    ui.3 UI_new_method.3 \
    ui.3 UI_process.3 \
    ui.3 UI_set_default_method.3 \
    ui.3 UI_set_method.3 \
    ui_compat.3 des_read_2passwords.3 \
    ui_compat.3 des_read_password.3 \
    ui_compat.3 des_read_pw.3 \
    ui_compat.3 des_read_pw_string.3 \
    des_modes.7 Modes_of_DES.7

.include <bsd.port.pre.mk>

OPENSSL_BASE_SONAME!=   readlink ${DESTDIR}/usr/lib/libcrypto.so || true
OPENSSL_SHLIBVER_BASE=  ${OPENSSL_BASE_SONAME:E}
OPENSSL_BASE_SOPATH=    ${OPENSSL_BASE_SONAME:H}
OPENSSL_SHLIBVER?=  5

# disable runtime SSE2 detection
.if defined(WITHOUT_OPENSSL_SSE2)
EXTRACONFIGURE+=    no-sse2
.endif
EXTRACONFIGURE+=    no-fips
.if defined(NOSHARED)
PLIST_SUB+= SHARED="@comment "
.else
PLIST_SUB+= SHARED=""
EXTRACONFIGURE+=    shared
MAKE_ENV+=  SHLIBVER=${OPENSSL_SHLIBVER}
PLIST_SUB+= SHLIBVER=${OPENSSL_SHLIBVER}
USE_LDCONFIG=   yes
.endif

.if defined(WITH_OPENSSL_COMPRESSION)
EXTRACONFIGURE+=    zlib
.endif

.if ${OPENSSL_SHLIBVER_BASE} > ${OPENSSL_SHLIBVER}
pre-everything::
    @${ECHO_CMD} "#"
    @${ECHO_CMD} "# this ports conflicts with your base system"
    @${ECHO_CMD} "# please undefine OPENSSL_OVERWRITE_PORT"
    @${ECHO_CMD} "# and use WITH_OPENSSL_BASE=yes instead."
    @${ECHO_CMD} "#"
    @${FALSE}

.endif
OPENSSLDIR= ${PREFIX}/openssl
MANPREFIX=  ${PREFIX}

.if defined(BATCH) || defined(OPENSSL_WITH_386)
.if ${ARCH} == "i386"
EXTRACONFIGURE+=    386
.endif
.endif

do-configure:
    ${RM} -rf ${WRKSRC}/fips
    ${RM} -f ${WRKSRC}/include/openssl/fips.h
    ${RM} -f ${WRKSRC}/include/openssl/fips_rand.h
    cd ${WRKSRC} \
    && ${SETENV} CC="${CC}" FREEBSDCC="${CC}" CFLAGS="${CFLAGS}" PERL="${PERL}" \
    PTHREAD_CFLAGS=${PTHREAD_CFLAGS} PTHREAD_LIBS=${PTHREAD_LIBS} \
    ./config --prefix=${PREFIX} --openssldir=${OPENSSLDIR} \
    -L${PREFIX}/lib ${EXTRACONFIGURE}
    @${REINPLACE_CMD} \
        -e 's|^MANDIR=.*$$|MANDIR=$$(MANPREFIX)/man|' \
        -e 's|lib/pkgconfig|libdata/pkgconfig|g' \
        -e 's|LIBVERSION=[^ ]* |LIBVERSION=$(OPENSSL_SHLIBVER) |' \
        -e 's| build_fips | |' \
        ${WRKSRC}/Makefile
    @${REINPLACE_CMD} \
        -e 's| fips_err.c||' \
        -e 's| fips_err.o | |' \
        ${WRKSRC}/crypto/Makefile
     @${REINPLACE_CMD} \
        -e 's|$$(FIPS_SHATEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_DESTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_RANDTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_AESTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_HMACTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_RSAVTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_RSASTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_RSAGTEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_DSSVS)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_DSATEST)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_RNGVS)$$(EXE_EXT)||' \
        -e 's|$$(FIPS_TEST_SUITE)$$(EXE_EXT)||' \
        ${WRKSRC}/test/Makefile
    @(cd ${BUILD_WRKSRC}/${i} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} depend)

post-install:
.if !defined(NOSHARED)
.for i in libcrypto libssl
    @${INSTALL_DATA} ${WRKSRC}/$i.so.${OPENSSL_SHLIBVER} ${PREFIX}/lib
    @${LN} -sf $i.so.${OPENSSL_SHLIBVER} ${PREFIX}/lib/$i.so
.endfor
.endif
.if !defined(NOPORTDOCS)
    @${MKDIR} ${DOCSDIR}
    @${INSTALL_DATA} ${WRKSRC}/doc/openssl.txt ${DOCSDIR}/
.endif
    @${SED} -e 's#/usr/local#${PREFIX}#g' ${PKGMESSAGE}

test:
    cd ${WRKSRC} && ${MAKE} test

regression-test:    test

.include <bsd.port.post.mk>