Alien-Build

 view release on metacpan or  search on metacpan

Changes.Alien-Base  view on Meta::CPAN


0.023  Mon Sep 14, 2015
  - Fixed typo in FAQ
  - Updated FAQ Alien::gmake example to require Alien::gmake 0.11
  - Otherwise a production release identical to the 0.22_01 release

0.022_01  Fri Jul 31, 2015
  - Add support for ALIEN_INSTALL_TYPE environment variable

0.022  Mon Jul 20, 2015
  - Correction for the section "How do I specify a minumum or exact version
    requirement for packages that use pkg-config?" in the FAQ.

0.021_01  Wed Jul 15, 2015
  - Added a default %{pkg_config} helper
  - Fixed bug introduced in 0.016_01 where using --destdir or $ENV{DESTDIR}
    would break the "./Build install" command.

0.021  Wed Jul 15, 2015
  - Fixed bug where upgrading to 0.020 could break Alien modules installed
    before the upgrade.  You do not need to re-install your Alien modules,

README  view on Meta::CPAN

    destdir_ffi_filter

      Same as destdir_filter except applies to build_ffi instead of build.

    digest

      This properties contains the cryptographic digests (if any) that
      should be used when verifying any fetched and downloaded files. It is
      a hash reference where the key is the filename and the value is an
      array reference containing a pair of values, the first being the
      algorithm ('SHA256' is recommended) and the second is the actual
      digest. The special filename * may be specified to indicate that any
      downloaded file should match that digest. If there are both real
      filenames and the * placeholder, the real filenames will be used for
      filenames that match and any other files will use the placeholder.
      Example:

       $build->meta_prop->{digest} = {
         'foo-1.00.tar.gz' => [ SHA256 => '9feac593aa49a44eb837de52513a57736457f1ea70078346c60f0bfc5f24f2c1' ],
         'foo-1.01.tar.gz' => [ SHA256 => '6bbde6a7f10ae5924cf74afc26ff5b7bc4b4f9dfd85c6b534c51bd254697b9e7' ],
         '*'               => [ SHA256 => '33a20aae3df6ecfbe812b48082926d55391be4a57d858d35753ab1334b9fddb3' ],

README  view on Meta::CPAN


 download_rule

     my $rule = $build->download_rule;

    This returns install rule as a string. This is determined by the
    environment and should be one of:

    warn

      Warn only if fetching via non secure source (secure sources include
      https, and bundled files, may include other encrypted protocols in
      the future).

    digest

      Require that any downloaded source package have a cryptographic
      signature in the alienfile and that signature matches what was
      downloaded.

    encrypt

      Require that any downloaded source package is fetched via secure
      source.

    digest_or_encrypt

      Require that any downloaded source package is either fetched via a
      secure source or has a cryptographic signature in the alienfile and
      that signature matches what was downloaded.

    digest_and_encrypt

      Require that any downloaded source package is both fetched via a
      secure source and has a cryptographic signature in the alienfile and
      that signature matches what was downloaded.

    The current default is warn, but in the near future this will be
    upgraded to digest_or_encrypt.

 set_prefix

     $build->set_prefix($prefix);

    Set the final (unstaged) prefix. This is normally only called by

corpus/alien_build_plugin_fetch_wget/record/old.json  view on Meta::CPAN

{"-k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar":{"stderr":"--2021-05-12 00:10:35--  http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar\nResolving localhost (localhost)... ::1, ...

corpus/alien_build_plugin_fetch_wget/record/old.yml  view on Meta::CPAN

           --no-use-server-timestamps  don't set the local file's timestamp by
                                         the one on the server
      -S,  --server-response           print server response
           --spider                    don't download anything
      -T,  --timeout=SECONDS           set all timeout values to SECONDS
           --dns-timeout=SECS          set the DNS lookup timeout to SECS
           --connect-timeout=SECS      set the connect timeout to SECS
           --read-timeout=SECS         set the read timeout to SECS
      -w,  --wait=SECONDS              wait SECONDS between retrievals
           --waitretry=SECONDS         wait 1..SECONDS between retries of a retrieval
           --random-wait               wait from 0.5*WAIT...1.5*WAIT secs between retrievals
           --no-proxy                  explicitly turn off proxy
      -Q,  --quota=NUMBER              set retrieval quota to NUMBER
           --bind-address=ADDRESS      bind to ADDRESS (hostname or IP) on local host
           --limit-rate=RATE           limit download rate to RATE
           --no-dns-cache              disable caching DNS lookups
           --restrict-file-names=OS    restrict chars in file names to ones OS allows
           --ignore-case               ignore case when matching files/directories
      -4,  --inet4-only                connect only to IPv4 addresses
      -6,  --inet6-only                connect only to IPv6 addresses
           --prefer-family=FAMILY      connect first to addresses of specified family,

corpus/alien_build_plugin_fetch_wget/record/old.yml  view on Meta::CPAN

           --body-data=STRING          send STRING as data. --method MUST be set
           --body-file=FILE            send contents of FILE. --method MUST be set
           --content-disposition       honor the Content-Disposition header when
                                         choosing local file names (EXPERIMENTAL)
           --content-on-error          output the received content on server errors
           --auth-no-challenge         send Basic HTTP authentication information
                                         without first waiting for the server's
                                         challenge
    
    HTTPS (SSL/TLS) options:
           --secure-protocol=PR        choose secure protocol, one of auto, SSLv2,
                                         SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS
           --https-only                only follow secure HTTPS links
           --no-check-certificate      don't validate the server's certificate
           --certificate=FILE          client certificate file
           --certificate-type=TYPE     client certificate type, PEM or DER
           --private-key=FILE          private key file
           --private-key-type=TYPE     private key type, PEM or DER
           --ca-certificate=FILE       file with the bundle of CAs
           --ca-directory=DIR          directory where hash list of CAs is stored
           --crl-file=FILE             file with bundle of CRLs
           --pinnedpubkey=FILE/HASHES  Public key (PEM/DER) file, or any number
                                       of base64 encoded sha256 hashes preceded by
                                       'sha256//' and separated by ';', to verify
                                       peer against
    
           --ciphers=STR           Set the priority string (GnuTLS) or cipher list string (OpenSSL) directly.
                                       Use with care. This option overrides --secure-protocol.
                                       The format and syntax of this string depend on the specific SSL/TLS engine.
    HSTS options:
           --no-hsts                   disable HSTS
           --hsts-file                 path of HSTS database (will override default)
    
    FTP options:
           --ftp-user=USER             set ftp user to USER
           --ftp-password=PASS         set ftp password to PASS
           --no-remove-listing         don't remove '.listing' files
           --no-glob                   turn off FTP file name globbing

corpus/alien_build_plugin_fetch_wget/record/old.yml  view on Meta::CPAN

    Connecting to localhost (localhost)|::1|:42643... failed: Connection refused.
    Connecting to localhost (localhost)|127.0.0.1|:42643... connected.
    HTTP request sent, awaiting response... 
      HTTP/1.0 404 Not Found
      Date: Wed, 12 May 2021 06:10:35 GMT
      Server: HTTP::Server::PSGI
      Content-Type: text/plain
      Content-Length: 9
    2021-05-12 00:10:35 ERROR 404: Not Found.
    
    Converted links in 0 files in 0 seconds.
  stdout: ''
-k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar:
  exit: 0
  files:
    foo-1.01.tar: "content:foo-1.01\n"
  stderr: |
    --2021-05-12 00:10:35--  http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar
    Resolving localhost (localhost)... ::1, 127.0.0.1
    Connecting to localhost (localhost)|::1|:42643... failed: Connection refused.
    Connecting to localhost (localhost)|127.0.0.1|:42643... connected.

corpus/alien_build_plugin_fetch_wget/record/old.yml  view on Meta::CPAN

      Content-Type: application/x-tar
      Content-Length: 17
      Last-Modified: Sun, 02 May 2021 15:41:03 GMT
    Length: 17 [application/x-tar]
    Saving to: ‘foo-1.01.tar’
    
         0K                                                       100% 1.65M=0s
    
    2021-05-12 00:10:35 (1.65 MB/s) - ‘foo-1.01.tar’ saved [17/17]
    
    Converted links in 0 files in 0 seconds.
  stdout: ''
-k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/html_test.html:
  exit: 0
  files:
    html_test.html: "<html><head><title>Hello World</title></head><body><p>Hello World</p></body></html>\n"
  stderr: |
    --2021-05-12 00:10:35--  http://localhost/corpus/alien_build_plugin_fetch_wget/dir/html_test.html
    Resolving localhost (localhost)... ::1, 127.0.0.1
    Connecting to localhost (localhost)|::1|:42643... failed: Connection refused.
    Connecting to localhost (localhost)|127.0.0.1|:42643... connected.

corpus/alien_build_plugin_fetch_wget/record/old.yml  view on Meta::CPAN

      Content-Length: 84
      Last-Modified: Wed, 12 May 2021 04:39:27 GMT
    Length: 84 [text/html]
    Saving to: ‘html_test.html’
    
         0K                                                       100% 9.79M=0s
    
    2021-05-12 00:10:35 (9.79 MB/s) - ‘html_test.html’ saved [84/84]
    
    Converting links in html_test.html... nothing to do.
    Converted links in 1 files in 0 seconds.
  stdout: ''

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/BIO_reset.html
x64-windows/debug/html/man3/BIO_retry_type.html
x64-windows/debug/html/man3/BIO_rw_filename.html
x64-windows/debug/html/man3/BIO_s_accept.html
x64-windows/debug/html/man3/BIO_s_bio.html
x64-windows/debug/html/man3/BIO_s_connect.html
x64-windows/debug/html/man3/BIO_s_fd.html
x64-windows/debug/html/man3/BIO_s_file.html
x64-windows/debug/html/man3/BIO_s_mem.html
x64-windows/debug/html/man3/BIO_s_null.html
x64-windows/debug/html/man3/BIO_s_secmem.html
x64-windows/debug/html/man3/BIO_s_socket.html
x64-windows/debug/html/man3/BIO_seek.html
x64-windows/debug/html/man3/BIO_set_accept_bios.html
x64-windows/debug/html/man3/BIO_set_accept_ip_family.html
x64-windows/debug/html/man3/BIO_set_accept_name.html
x64-windows/debug/html/man3/BIO_set_accept_port.html
x64-windows/debug/html/man3/BIO_set_bind_mode.html
x64-windows/debug/html/man3/BIO_set_buffer_read_data.html
x64-windows/debug/html/man3/BIO_set_buffer_size.html
x64-windows/debug/html/man3/BIO_set_callback.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/BN_BLINDING_lock.html
x64-windows/debug/html/man3/BN_BLINDING_new.html
x64-windows/debug/html/man3/BN_BLINDING_set_current_thread.html
x64-windows/debug/html/man3/BN_BLINDING_set_flags.html
x64-windows/debug/html/man3/BN_BLINDING_unlock.html
x64-windows/debug/html/man3/BN_BLINDING_update.html
x64-windows/debug/html/man3/BN_CTX_end.html
x64-windows/debug/html/man3/BN_CTX_free.html
x64-windows/debug/html/man3/BN_CTX_get.html
x64-windows/debug/html/man3/BN_CTX_new.html
x64-windows/debug/html/man3/BN_CTX_secure_new.html
x64-windows/debug/html/man3/BN_CTX_start.html
x64-windows/debug/html/man3/BN_GENCB_call.html
x64-windows/debug/html/man3/BN_GENCB_free.html
x64-windows/debug/html/man3/BN_GENCB_get_arg.html
x64-windows/debug/html/man3/BN_GENCB_new.html
x64-windows/debug/html/man3/BN_GENCB_set.html
x64-windows/debug/html/man3/BN_GENCB_set_old.html
x64-windows/debug/html/man3/BN_MONT_CTX_copy.html
x64-windows/debug/html/man3/BN_MONT_CTX_free.html
x64-windows/debug/html/man3/BN_MONT_CTX_new.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/BN_print.html
x64-windows/debug/html/man3/BN_print_fp.html
x64-windows/debug/html/man3/BN_priv_rand.html
x64-windows/debug/html/man3/BN_priv_rand_range.html
x64-windows/debug/html/man3/BN_pseudo_rand.html
x64-windows/debug/html/man3/BN_pseudo_rand_range.html
x64-windows/debug/html/man3/BN_rand.html
x64-windows/debug/html/man3/BN_rand_range.html
x64-windows/debug/html/man3/BN_rshift.html
x64-windows/debug/html/man3/BN_rshift1.html
x64-windows/debug/html/man3/BN_secure_new.html
x64-windows/debug/html/man3/BN_security_bits.html
x64-windows/debug/html/man3/BN_set_bit.html
x64-windows/debug/html/man3/BN_set_word.html
x64-windows/debug/html/man3/BN_sqr.html
x64-windows/debug/html/man3/BN_sub.html
x64-windows/debug/html/man3/BN_sub_word.html
x64-windows/debug/html/man3/BN_swap.html
x64-windows/debug/html/man3/BN_to_ASN1_ENUMERATED.html
x64-windows/debug/html/man3/BN_to_ASN1_INTEGER.html
x64-windows/debug/html/man3/BN_to_montgomery.html
x64-windows/debug/html/man3/BN_ucmp.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/CRYPTO_malloc.html
x64-windows/debug/html/man3/CRYPTO_mem_ctrl.html
x64-windows/debug/html/man3/CRYPTO_mem_debug_pop.html
x64-windows/debug/html/man3/CRYPTO_mem_debug_push.html
x64-windows/debug/html/man3/CRYPTO_mem_leaks.html
x64-windows/debug/html/man3/CRYPTO_mem_leaks_cb.html
x64-windows/debug/html/man3/CRYPTO_mem_leaks_fp.html
x64-windows/debug/html/man3/CRYPTO_memcmp.html
x64-windows/debug/html/man3/CRYPTO_new_ex_data.html
x64-windows/debug/html/man3/CRYPTO_realloc.html
x64-windows/debug/html/man3/CRYPTO_secure_clear_free.html
x64-windows/debug/html/man3/CRYPTO_secure_free.html
x64-windows/debug/html/man3/CRYPTO_secure_malloc.html
x64-windows/debug/html/man3/CRYPTO_secure_malloc_done.html
x64-windows/debug/html/man3/CRYPTO_secure_malloc_init.html
x64-windows/debug/html/man3/CRYPTO_secure_malloc_initialized.html
x64-windows/debug/html/man3/CRYPTO_secure_used.html
x64-windows/debug/html/man3/CRYPTO_secure_zalloc.html
x64-windows/debug/html/man3/CRYPTO_set_ex_data.html
x64-windows/debug/html/man3/CRYPTO_set_mem_debug.html
x64-windows/debug/html/man3/CRYPTO_set_mem_functions.html
x64-windows/debug/html/man3/CRYPTO_strdup.html
x64-windows/debug/html/man3/CRYPTO_strndup.html
x64-windows/debug/html/man3/CRYPTO_zalloc.html
x64-windows/debug/html/man3/CTLOG_STORE_free.html
x64-windows/debug/html/man3/CTLOG_STORE_get0_log_by_id.html
x64-windows/debug/html/man3/CTLOG_STORE_load_default_file.html
x64-windows/debug/html/man3/CTLOG_STORE_load_file.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/DH_meth_set_bn_mod_exp.html
x64-windows/debug/html/man3/DH_meth_set_compute_key.html
x64-windows/debug/html/man3/DH_meth_set_finish.html
x64-windows/debug/html/man3/DH_meth_set_flags.html
x64-windows/debug/html/man3/DH_meth_set_generate_key.html
x64-windows/debug/html/man3/DH_meth_set_generate_params.html
x64-windows/debug/html/man3/DH_meth_set_init.html
x64-windows/debug/html/man3/DH_new.html
x64-windows/debug/html/man3/DH_new_by_nid.html
x64-windows/debug/html/man3/DH_new_method.html
x64-windows/debug/html/man3/DH_security_bits.html
x64-windows/debug/html/man3/DH_set0_key.html
x64-windows/debug/html/man3/DH_set0_pqg.html
x64-windows/debug/html/man3/DH_set_default_method.html
x64-windows/debug/html/man3/DH_set_ex_data.html
x64-windows/debug/html/man3/DH_set_flags.html
x64-windows/debug/html/man3/DH_set_length.html
x64-windows/debug/html/man3/DH_set_method.html
x64-windows/debug/html/man3/DH_size.html
x64-windows/debug/html/man3/DH_test_flags.html
x64-windows/debug/html/man3/DHparams_print.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/DSA_meth_set_keygen.html
x64-windows/debug/html/man3/DSA_meth_set_mod_exp.html
x64-windows/debug/html/man3/DSA_meth_set_paramgen.html
x64-windows/debug/html/man3/DSA_meth_set_sign.html
x64-windows/debug/html/man3/DSA_meth_set_sign_setup.html
x64-windows/debug/html/man3/DSA_meth_set_verify.html
x64-windows/debug/html/man3/DSA_new.html
x64-windows/debug/html/man3/DSA_new_method.html
x64-windows/debug/html/man3/DSA_print.html
x64-windows/debug/html/man3/DSA_print_fp.html
x64-windows/debug/html/man3/DSA_security_bits.html
x64-windows/debug/html/man3/DSA_set0_key.html
x64-windows/debug/html/man3/DSA_set0_pqg.html
x64-windows/debug/html/man3/DSA_set_default_method.html
x64-windows/debug/html/man3/DSA_set_ex_data.html
x64-windows/debug/html/man3/DSA_set_flags.html
x64-windows/debug/html/man3/DSA_set_method.html
x64-windows/debug/html/man3/DSA_sign.html
x64-windows/debug/html/man3/DSA_sign_setup.html
x64-windows/debug/html/man3/DSA_size.html
x64-windows/debug/html/man3/DSA_test_flags.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/EVP_PKEY_CTX_new_id.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set1_hkdf_key.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set1_hkdf_salt.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set1_id.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set1_scrypt_salt.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_app_data.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_cb.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_kdf_type.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_nid.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_pad.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.html
x64-windows/debug/html/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/EVP_PKEY_asn1_set_ctrl.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_free.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_get_priv_key.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_get_pub_key.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_item.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_param.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_param_check.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_private.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_public.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_public_check.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_security_bits.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_set_priv_key.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_set_pub_key.html
x64-windows/debug/html/man3/EVP_PKEY_asn1_set_siginf.html
x64-windows/debug/html/man3/EVP_PKEY_assign_DH.html
x64-windows/debug/html/man3/EVP_PKEY_assign_DSA.html
x64-windows/debug/html/man3/EVP_PKEY_assign_EC_KEY.html
x64-windows/debug/html/man3/EVP_PKEY_assign_POLY1305.html
x64-windows/debug/html/man3/EVP_PKEY_assign_RSA.html
x64-windows/debug/html/man3/EVP_PKEY_assign_SIPHASH.html
x64-windows/debug/html/man3/EVP_PKEY_base_id.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/EVP_PKEY_new_mac_key.html
x64-windows/debug/html/man3/EVP_PKEY_new_raw_private_key.html
x64-windows/debug/html/man3/EVP_PKEY_new_raw_public_key.html
x64-windows/debug/html/man3/EVP_PKEY_param_check.html
x64-windows/debug/html/man3/EVP_PKEY_paramgen.html
x64-windows/debug/html/man3/EVP_PKEY_paramgen_init.html
x64-windows/debug/html/man3/EVP_PKEY_print_params.html
x64-windows/debug/html/man3/EVP_PKEY_print_private.html
x64-windows/debug/html/man3/EVP_PKEY_print_public.html
x64-windows/debug/html/man3/EVP_PKEY_public_check.html
x64-windows/debug/html/man3/EVP_PKEY_security_bits.html
x64-windows/debug/html/man3/EVP_PKEY_set1_DH.html
x64-windows/debug/html/man3/EVP_PKEY_set1_DSA.html
x64-windows/debug/html/man3/EVP_PKEY_set1_EC_KEY.html
x64-windows/debug/html/man3/EVP_PKEY_set1_RSA.html
x64-windows/debug/html/man3/EVP_PKEY_set1_engine.html
x64-windows/debug/html/man3/EVP_PKEY_set_alias_type.html
x64-windows/debug/html/man3/EVP_PKEY_sign.html
x64-windows/debug/html/man3/EVP_PKEY_sign_init.html
x64-windows/debug/html/man3/EVP_PKEY_size.html
x64-windows/debug/html/man3/EVP_PKEY_type.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/OPENSSL_instrument_bus.html
x64-windows/debug/html/man3/OPENSSL_instrument_bus2.html
x64-windows/debug/html/man3/OPENSSL_load_builtin_modules.html
x64-windows/debug/html/man3/OPENSSL_malloc.html
x64-windows/debug/html/man3/OPENSSL_malloc_init.html
x64-windows/debug/html/man3/OPENSSL_mem_debug_pop.html
x64-windows/debug/html/man3/OPENSSL_mem_debug_push.html
x64-windows/debug/html/man3/OPENSSL_memdup.html
x64-windows/debug/html/man3/OPENSSL_no_config.html
x64-windows/debug/html/man3/OPENSSL_realloc.html
x64-windows/debug/html/man3/OPENSSL_secure_actual_size.html
x64-windows/debug/html/man3/OPENSSL_secure_clear_free.html
x64-windows/debug/html/man3/OPENSSL_secure_free.html
x64-windows/debug/html/man3/OPENSSL_secure_malloc.html
x64-windows/debug/html/man3/OPENSSL_secure_zalloc.html
x64-windows/debug/html/man3/OPENSSL_strdup.html
x64-windows/debug/html/man3/OPENSSL_strlcat.html
x64-windows/debug/html/man3/OPENSSL_strlcpy.html
x64-windows/debug/html/man3/OPENSSL_strndup.html
x64-windows/debug/html/man3/OPENSSL_thread_stop.html
x64-windows/debug/html/man3/OPENSSL_zalloc.html
x64-windows/debug/html/man3/OSSL_STORE_CTX.html
x64-windows/debug/html/man3/OSSL_STORE_INFO.html
x64-windows/debug/html/man3/OSSL_STORE_INFO_free.html
x64-windows/debug/html/man3/OSSL_STORE_INFO_get0_CERT.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/PBE2PARAM_free.html
x64-windows/debug/html/man3/PBE2PARAM_new.html
x64-windows/debug/html/man3/PBEPARAM_free.html
x64-windows/debug/html/man3/PBEPARAM_new.html
x64-windows/debug/html/man3/PBKDF2PARAM_free.html
x64-windows/debug/html/man3/PBKDF2PARAM_new.html
x64-windows/debug/html/man3/PEM_FLAG_EAY_COMPATIBLE.html
x64-windows/debug/html/man3/PEM_FLAG_ONLY_B64.html
x64-windows/debug/html/man3/PEM_FLAG_SECURE.html
x64-windows/debug/html/man3/PEM_bytes_read_bio.html
x64-windows/debug/html/man3/PEM_bytes_read_bio_secmem.html
x64-windows/debug/html/man3/PEM_do_header.html
x64-windows/debug/html/man3/PEM_get_EVP_CIPHER_INFO.html
x64-windows/debug/html/man3/PEM_read.html
x64-windows/debug/html/man3/PEM_read_CMS.html
x64-windows/debug/html/man3/PEM_read_DHparams.html
x64-windows/debug/html/man3/PEM_read_DSAPrivateKey.html
x64-windows/debug/html/man3/PEM_read_DSA_PUBKEY.html
x64-windows/debug/html/man3/PEM_read_DSAparams.html
x64-windows/debug/html/man3/PEM_read_ECPKParameters.html
x64-windows/debug/html/man3/PEM_read_ECPrivateKey.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/RAND_DRBG_get0_master.html
x64-windows/debug/html/man3/RAND_DRBG_get0_private.html
x64-windows/debug/html/man3/RAND_DRBG_get0_public.html
x64-windows/debug/html/man3/RAND_DRBG_get_entropy_fn.html
x64-windows/debug/html/man3/RAND_DRBG_get_ex_data.html
x64-windows/debug/html/man3/RAND_DRBG_get_ex_new_index.html
x64-windows/debug/html/man3/RAND_DRBG_get_nonce_fn.html
x64-windows/debug/html/man3/RAND_DRBG_instantiate.html
x64-windows/debug/html/man3/RAND_DRBG_new.html
x64-windows/debug/html/man3/RAND_DRBG_reseed.html
x64-windows/debug/html/man3/RAND_DRBG_secure_new.html
x64-windows/debug/html/man3/RAND_DRBG_set.html
x64-windows/debug/html/man3/RAND_DRBG_set_callbacks.html
x64-windows/debug/html/man3/RAND_DRBG_set_defaults.html
x64-windows/debug/html/man3/RAND_DRBG_set_ex_data.html
x64-windows/debug/html/man3/RAND_DRBG_set_reseed_defaults.html
x64-windows/debug/html/man3/RAND_DRBG_set_reseed_interval.html
x64-windows/debug/html/man3/RAND_DRBG_set_reseed_time_interval.html
x64-windows/debug/html/man3/RAND_DRBG_uninstantiate.html
x64-windows/debug/html/man3/RAND_OpenSSL.html
x64-windows/debug/html/man3/RAND_add.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/RSA_padding_check_PKCS1_type_1.html
x64-windows/debug/html/man3/RSA_padding_check_PKCS1_type_2.html
x64-windows/debug/html/man3/RSA_padding_check_SSLv23.html
x64-windows/debug/html/man3/RSA_padding_check_none.html
x64-windows/debug/html/man3/RSA_print.html
x64-windows/debug/html/man3/RSA_print_fp.html
x64-windows/debug/html/man3/RSA_private_decrypt.html
x64-windows/debug/html/man3/RSA_private_encrypt.html
x64-windows/debug/html/man3/RSA_public_decrypt.html
x64-windows/debug/html/man3/RSA_public_encrypt.html
x64-windows/debug/html/man3/RSA_security_bits.html
x64-windows/debug/html/man3/RSA_set0_crt_params.html
x64-windows/debug/html/man3/RSA_set0_factors.html
x64-windows/debug/html/man3/RSA_set0_key.html
x64-windows/debug/html/man3/RSA_set0_multi_prime_params.html
x64-windows/debug/html/man3/RSA_set_default_method.html
x64-windows/debug/html/man3/RSA_set_ex_data.html
x64-windows/debug/html/man3/RSA_set_flags.html
x64-windows/debug/html/man3/RSA_set_method.html
x64-windows/debug/html/man3/RSA_sign.html
x64-windows/debug/html/man3/RSA_sign_ASN1_OCTET_STRING.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_CTX_dane_set_flags.html
x64-windows/debug/html/man3/SSL_CTX_decrypt_session_ticket_fn.html
x64-windows/debug/html/man3/SSL_CTX_disable_ct.html
x64-windows/debug/html/man3/SSL_CTX_enable_ct.html
x64-windows/debug/html/man3/SSL_CTX_flush_sessions.html
x64-windows/debug/html/man3/SSL_CTX_free.html
x64-windows/debug/html/man3/SSL_CTX_generate_session_ticket_fn.html
x64-windows/debug/html/man3/SSL_CTX_get0_CA_list.html
x64-windows/debug/html/man3/SSL_CTX_get0_chain_certs.html
x64-windows/debug/html/man3/SSL_CTX_get0_param.html
x64-windows/debug/html/man3/SSL_CTX_get0_security_ex_data.html
x64-windows/debug/html/man3/SSL_CTX_get_cert_store.html
x64-windows/debug/html/man3/SSL_CTX_get_ciphers.html
x64-windows/debug/html/man3/SSL_CTX_get_client_CA_list.html
x64-windows/debug/html/man3/SSL_CTX_get_client_cert_cb.html
x64-windows/debug/html/man3/SSL_CTX_get_default_passwd_cb.html
x64-windows/debug/html/man3/SSL_CTX_get_default_passwd_cb_userdata.html
x64-windows/debug/html/man3/SSL_CTX_get_default_read_ahead.html
x64-windows/debug/html/man3/SSL_CTX_get_ex_data.html
x64-windows/debug/html/man3/SSL_CTX_get_info_callback.html
x64-windows/debug/html/man3/SSL_CTX_get_keylog_callback.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_CTX_get_max_early_data.html
x64-windows/debug/html/man3/SSL_CTX_get_max_proto_version.html
x64-windows/debug/html/man3/SSL_CTX_get_min_proto_version.html
x64-windows/debug/html/man3/SSL_CTX_get_mode.html
x64-windows/debug/html/man3/SSL_CTX_get_num_tickets.html
x64-windows/debug/html/man3/SSL_CTX_get_options.html
x64-windows/debug/html/man3/SSL_CTX_get_quiet_shutdown.html
x64-windows/debug/html/man3/SSL_CTX_get_read_ahead.html
x64-windows/debug/html/man3/SSL_CTX_get_record_padding_callback_arg.html
x64-windows/debug/html/man3/SSL_CTX_get_recv_max_early_data.html
x64-windows/debug/html/man3/SSL_CTX_get_security_callback.html
x64-windows/debug/html/man3/SSL_CTX_get_security_level.html
x64-windows/debug/html/man3/SSL_CTX_get_session_cache_mode.html
x64-windows/debug/html/man3/SSL_CTX_get_timeout.html
x64-windows/debug/html/man3/SSL_CTX_get_tlsext_status_arg.html
x64-windows/debug/html/man3/SSL_CTX_get_tlsext_status_cb.html
x64-windows/debug/html/man3/SSL_CTX_get_tlsext_status_type.html
x64-windows/debug/html/man3/SSL_CTX_get_verify_callback.html
x64-windows/debug/html/man3/SSL_CTX_get_verify_depth.html
x64-windows/debug/html/man3/SSL_CTX_get_verify_mode.html
x64-windows/debug/html/man3/SSL_CTX_has_client_custom_ext.html
x64-windows/debug/html/man3/SSL_CTX_keylog_cb_func.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_CTX_sess_number.html
x64-windows/debug/html/man3/SSL_CTX_sess_set_cache_size.html
x64-windows/debug/html/man3/SSL_CTX_sess_set_get_cb.html
x64-windows/debug/html/man3/SSL_CTX_sess_set_new_cb.html
x64-windows/debug/html/man3/SSL_CTX_sess_set_remove_cb.html
x64-windows/debug/html/man3/SSL_CTX_sess_timeouts.html
x64-windows/debug/html/man3/SSL_CTX_sessions.html
x64-windows/debug/html/man3/SSL_CTX_set0_CA_list.html
x64-windows/debug/html/man3/SSL_CTX_set0_chain.html
x64-windows/debug/html/man3/SSL_CTX_set0_chain_cert_store.html
x64-windows/debug/html/man3/SSL_CTX_set0_security_ex_data.html
x64-windows/debug/html/man3/SSL_CTX_set0_verify_cert_store.html
x64-windows/debug/html/man3/SSL_CTX_set1_cert_store.html
x64-windows/debug/html/man3/SSL_CTX_set1_chain.html
x64-windows/debug/html/man3/SSL_CTX_set1_chain_cert_store.html
x64-windows/debug/html/man3/SSL_CTX_set1_client_sigalgs.html
x64-windows/debug/html/man3/SSL_CTX_set1_client_sigalgs_list.html
x64-windows/debug/html/man3/SSL_CTX_set1_curves.html
x64-windows/debug/html/man3/SSL_CTX_set1_curves_list.html
x64-windows/debug/html/man3/SSL_CTX_set1_groups.html
x64-windows/debug/html/man3/SSL_CTX_set1_groups_list.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_CTX_set_post_handshake_auth.html
x64-windows/debug/html/man3/SSL_CTX_set_psk_client_callback.html
x64-windows/debug/html/man3/SSL_CTX_set_psk_find_session_callback.html
x64-windows/debug/html/man3/SSL_CTX_set_psk_server_callback.html
x64-windows/debug/html/man3/SSL_CTX_set_psk_use_session_callback.html
x64-windows/debug/html/man3/SSL_CTX_set_quiet_shutdown.html
x64-windows/debug/html/man3/SSL_CTX_set_read_ahead.html
x64-windows/debug/html/man3/SSL_CTX_set_record_padding_callback.html
x64-windows/debug/html/man3/SSL_CTX_set_record_padding_callback_arg.html
x64-windows/debug/html/man3/SSL_CTX_set_recv_max_early_data.html
x64-windows/debug/html/man3/SSL_CTX_set_security_callback.html
x64-windows/debug/html/man3/SSL_CTX_set_security_level.html
x64-windows/debug/html/man3/SSL_CTX_set_session_cache_mode.html
x64-windows/debug/html/man3/SSL_CTX_set_session_id_context.html
x64-windows/debug/html/man3/SSL_CTX_set_session_ticket_cb.html
x64-windows/debug/html/man3/SSL_CTX_set_split_send_fragment.html
x64-windows/debug/html/man3/SSL_CTX_set_ssl_version.html
x64-windows/debug/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html
x64-windows/debug/html/man3/SSL_CTX_set_stateless_cookie_verify_cb.html
x64-windows/debug/html/man3/SSL_CTX_set_timeout.html
x64-windows/debug/html/man3/SSL_CTX_set_tlsext_max_fragment_length.html
x64-windows/debug/html/man3/SSL_CTX_set_tlsext_servername_arg.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_get0_CA_list.html
x64-windows/debug/html/man3/SSL_get0_alpn_selected.html
x64-windows/debug/html/man3/SSL_get0_chain_certs.html
x64-windows/debug/html/man3/SSL_get0_dane_authority.html
x64-windows/debug/html/man3/SSL_get0_dane_tlsa.html
x64-windows/debug/html/man3/SSL_get0_next_proto_negotiated.html
x64-windows/debug/html/man3/SSL_get0_param.html
x64-windows/debug/html/man3/SSL_get0_peer_CA_list.html
x64-windows/debug/html/man3/SSL_get0_peer_scts.html
x64-windows/debug/html/man3/SSL_get0_peername.html
x64-windows/debug/html/man3/SSL_get0_security_ex_data.html
x64-windows/debug/html/man3/SSL_get0_session.html
x64-windows/debug/html/man3/SSL_get0_verified_chain.html
x64-windows/debug/html/man3/SSL_get1_curves.html
x64-windows/debug/html/man3/SSL_get1_groups.html
x64-windows/debug/html/man3/SSL_get1_session.html
x64-windows/debug/html/man3/SSL_get1_supported_ciphers.html
x64-windows/debug/html/man3/SSL_get_SSL_CTX.html
x64-windows/debug/html/man3/SSL_get_all_async_fds.html
x64-windows/debug/html/man3/SSL_get_changed_async_fds.html
x64-windows/debug/html/man3/SSL_get_cipher.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_get_peer_tmp_key.html
x64-windows/debug/html/man3/SSL_get_pending_cipher.html
x64-windows/debug/html/man3/SSL_get_psk_identity.html
x64-windows/debug/html/man3/SSL_get_psk_identity_hint.html
x64-windows/debug/html/man3/SSL_get_quiet_shutdown.html
x64-windows/debug/html/man3/SSL_get_rbio.html
x64-windows/debug/html/man3/SSL_get_read_ahead.html
x64-windows/debug/html/man3/SSL_get_record_padding_callback_arg.html
x64-windows/debug/html/man3/SSL_get_recv_max_early_data.html
x64-windows/debug/html/man3/SSL_get_rfd.html
x64-windows/debug/html/man3/SSL_get_secure_renegotiation_support.html
x64-windows/debug/html/man3/SSL_get_security_callback.html
x64-windows/debug/html/man3/SSL_get_security_level.html
x64-windows/debug/html/man3/SSL_get_selected_srtp_profile.html
x64-windows/debug/html/man3/SSL_get_server_random.html
x64-windows/debug/html/man3/SSL_get_server_tmp_key.html
x64-windows/debug/html/man3/SSL_get_servername.html
x64-windows/debug/html/man3/SSL_get_servername_type.html
x64-windows/debug/html/man3/SSL_get_session.html
x64-windows/debug/html/man3/SSL_get_shared_ciphers.html
x64-windows/debug/html/man3/SSL_get_shared_curve.html
x64-windows/debug/html/man3/SSL_get_shared_group.html
x64-windows/debug/html/man3/SSL_get_shared_sigalgs.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_renegotiate_pending.html
x64-windows/debug/html/man3/SSL_rstate_string.html
x64-windows/debug/html/man3/SSL_rstate_string_long.html
x64-windows/debug/html/man3/SSL_select_current_cert.html
x64-windows/debug/html/man3/SSL_select_next_proto.html
x64-windows/debug/html/man3/SSL_session_reused.html
x64-windows/debug/html/man3/SSL_set0_CA_list.html
x64-windows/debug/html/man3/SSL_set0_chain.html
x64-windows/debug/html/man3/SSL_set0_chain_cert_store.html
x64-windows/debug/html/man3/SSL_set0_rbio.html
x64-windows/debug/html/man3/SSL_set0_security_ex_data.html
x64-windows/debug/html/man3/SSL_set0_verify_cert_store.html
x64-windows/debug/html/man3/SSL_set0_wbio.html
x64-windows/debug/html/man3/SSL_set1_chain.html
x64-windows/debug/html/man3/SSL_set1_chain_cert_store.html
x64-windows/debug/html/man3/SSL_set1_client_sigalgs.html
x64-windows/debug/html/man3/SSL_set1_client_sigalgs_list.html
x64-windows/debug/html/man3/SSL_set1_curves.html
x64-windows/debug/html/man3/SSL_set1_curves_list.html
x64-windows/debug/html/man3/SSL_set1_groups.html
x64-windows/debug/html/man3/SSL_set1_groups_list.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/SSL_set_psk_client_callback.html
x64-windows/debug/html/man3/SSL_set_psk_find_session_callback.html
x64-windows/debug/html/man3/SSL_set_psk_server_callback.html
x64-windows/debug/html/man3/SSL_set_psk_use_session_callback.html
x64-windows/debug/html/man3/SSL_set_quiet_shutdown.html
x64-windows/debug/html/man3/SSL_set_read_ahead.html
x64-windows/debug/html/man3/SSL_set_record_padding_callback.html
x64-windows/debug/html/man3/SSL_set_record_padding_callback_arg.html
x64-windows/debug/html/man3/SSL_set_recv_max_early_data.html
x64-windows/debug/html/man3/SSL_set_rfd.html
x64-windows/debug/html/man3/SSL_set_security_callback.html
x64-windows/debug/html/man3/SSL_set_security_level.html
x64-windows/debug/html/man3/SSL_set_session.html
x64-windows/debug/html/man3/SSL_set_session_id_context.html
x64-windows/debug/html/man3/SSL_set_shutdown.html
x64-windows/debug/html/man3/SSL_set_split_send_fragment.html
x64-windows/debug/html/man3/SSL_set_ssl_method.html
x64-windows/debug/html/man3/SSL_set_time.html
x64-windows/debug/html/man3/SSL_set_timeout.html
x64-windows/debug/html/man3/SSL_set_tlsext_host_name.html
x64-windows/debug/html/man3/SSL_set_tlsext_max_fragment_length.html
x64-windows/debug/html/man3/SSL_set_tlsext_status_ocsp_resp.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/BIO_reset.html
x64-windows/html/man3/BIO_retry_type.html
x64-windows/html/man3/BIO_rw_filename.html
x64-windows/html/man3/BIO_s_accept.html
x64-windows/html/man3/BIO_s_bio.html
x64-windows/html/man3/BIO_s_connect.html
x64-windows/html/man3/BIO_s_fd.html
x64-windows/html/man3/BIO_s_file.html
x64-windows/html/man3/BIO_s_mem.html
x64-windows/html/man3/BIO_s_null.html
x64-windows/html/man3/BIO_s_secmem.html
x64-windows/html/man3/BIO_s_socket.html
x64-windows/html/man3/BIO_seek.html
x64-windows/html/man3/BIO_set_accept_bios.html
x64-windows/html/man3/BIO_set_accept_ip_family.html
x64-windows/html/man3/BIO_set_accept_name.html
x64-windows/html/man3/BIO_set_accept_port.html
x64-windows/html/man3/BIO_set_bind_mode.html
x64-windows/html/man3/BIO_set_buffer_read_data.html
x64-windows/html/man3/BIO_set_buffer_size.html
x64-windows/html/man3/BIO_set_callback.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/BN_BLINDING_lock.html
x64-windows/html/man3/BN_BLINDING_new.html
x64-windows/html/man3/BN_BLINDING_set_current_thread.html
x64-windows/html/man3/BN_BLINDING_set_flags.html
x64-windows/html/man3/BN_BLINDING_unlock.html
x64-windows/html/man3/BN_BLINDING_update.html
x64-windows/html/man3/BN_CTX_end.html
x64-windows/html/man3/BN_CTX_free.html
x64-windows/html/man3/BN_CTX_get.html
x64-windows/html/man3/BN_CTX_new.html
x64-windows/html/man3/BN_CTX_secure_new.html
x64-windows/html/man3/BN_CTX_start.html
x64-windows/html/man3/BN_GENCB_call.html
x64-windows/html/man3/BN_GENCB_free.html
x64-windows/html/man3/BN_GENCB_get_arg.html
x64-windows/html/man3/BN_GENCB_new.html
x64-windows/html/man3/BN_GENCB_set.html
x64-windows/html/man3/BN_GENCB_set_old.html
x64-windows/html/man3/BN_MONT_CTX_copy.html
x64-windows/html/man3/BN_MONT_CTX_free.html
x64-windows/html/man3/BN_MONT_CTX_new.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/BN_print.html
x64-windows/html/man3/BN_print_fp.html
x64-windows/html/man3/BN_priv_rand.html
x64-windows/html/man3/BN_priv_rand_range.html
x64-windows/html/man3/BN_pseudo_rand.html
x64-windows/html/man3/BN_pseudo_rand_range.html
x64-windows/html/man3/BN_rand.html
x64-windows/html/man3/BN_rand_range.html
x64-windows/html/man3/BN_rshift.html
x64-windows/html/man3/BN_rshift1.html
x64-windows/html/man3/BN_secure_new.html
x64-windows/html/man3/BN_security_bits.html
x64-windows/html/man3/BN_set_bit.html
x64-windows/html/man3/BN_set_word.html
x64-windows/html/man3/BN_sqr.html
x64-windows/html/man3/BN_sub.html
x64-windows/html/man3/BN_sub_word.html
x64-windows/html/man3/BN_swap.html
x64-windows/html/man3/BN_to_ASN1_ENUMERATED.html
x64-windows/html/man3/BN_to_ASN1_INTEGER.html
x64-windows/html/man3/BN_to_montgomery.html
x64-windows/html/man3/BN_ucmp.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/CRYPTO_malloc.html
x64-windows/html/man3/CRYPTO_mem_ctrl.html
x64-windows/html/man3/CRYPTO_mem_debug_pop.html
x64-windows/html/man3/CRYPTO_mem_debug_push.html
x64-windows/html/man3/CRYPTO_mem_leaks.html
x64-windows/html/man3/CRYPTO_mem_leaks_cb.html
x64-windows/html/man3/CRYPTO_mem_leaks_fp.html
x64-windows/html/man3/CRYPTO_memcmp.html
x64-windows/html/man3/CRYPTO_new_ex_data.html
x64-windows/html/man3/CRYPTO_realloc.html
x64-windows/html/man3/CRYPTO_secure_clear_free.html
x64-windows/html/man3/CRYPTO_secure_free.html
x64-windows/html/man3/CRYPTO_secure_malloc.html
x64-windows/html/man3/CRYPTO_secure_malloc_done.html
x64-windows/html/man3/CRYPTO_secure_malloc_init.html
x64-windows/html/man3/CRYPTO_secure_malloc_initialized.html
x64-windows/html/man3/CRYPTO_secure_used.html
x64-windows/html/man3/CRYPTO_secure_zalloc.html
x64-windows/html/man3/CRYPTO_set_ex_data.html
x64-windows/html/man3/CRYPTO_set_mem_debug.html
x64-windows/html/man3/CRYPTO_set_mem_functions.html
x64-windows/html/man3/CRYPTO_strdup.html
x64-windows/html/man3/CRYPTO_strndup.html
x64-windows/html/man3/CRYPTO_zalloc.html
x64-windows/html/man3/CTLOG_STORE_free.html
x64-windows/html/man3/CTLOG_STORE_get0_log_by_id.html
x64-windows/html/man3/CTLOG_STORE_load_default_file.html
x64-windows/html/man3/CTLOG_STORE_load_file.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/DH_meth_set_bn_mod_exp.html
x64-windows/html/man3/DH_meth_set_compute_key.html
x64-windows/html/man3/DH_meth_set_finish.html
x64-windows/html/man3/DH_meth_set_flags.html
x64-windows/html/man3/DH_meth_set_generate_key.html
x64-windows/html/man3/DH_meth_set_generate_params.html
x64-windows/html/man3/DH_meth_set_init.html
x64-windows/html/man3/DH_new.html
x64-windows/html/man3/DH_new_by_nid.html
x64-windows/html/man3/DH_new_method.html
x64-windows/html/man3/DH_security_bits.html
x64-windows/html/man3/DH_set0_key.html
x64-windows/html/man3/DH_set0_pqg.html
x64-windows/html/man3/DH_set_default_method.html
x64-windows/html/man3/DH_set_ex_data.html
x64-windows/html/man3/DH_set_flags.html
x64-windows/html/man3/DH_set_length.html
x64-windows/html/man3/DH_set_method.html
x64-windows/html/man3/DH_size.html
x64-windows/html/man3/DH_test_flags.html
x64-windows/html/man3/DHparams_print.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/DSA_meth_set_keygen.html
x64-windows/html/man3/DSA_meth_set_mod_exp.html
x64-windows/html/man3/DSA_meth_set_paramgen.html
x64-windows/html/man3/DSA_meth_set_sign.html
x64-windows/html/man3/DSA_meth_set_sign_setup.html
x64-windows/html/man3/DSA_meth_set_verify.html
x64-windows/html/man3/DSA_new.html
x64-windows/html/man3/DSA_new_method.html
x64-windows/html/man3/DSA_print.html
x64-windows/html/man3/DSA_print_fp.html
x64-windows/html/man3/DSA_security_bits.html
x64-windows/html/man3/DSA_set0_key.html
x64-windows/html/man3/DSA_set0_pqg.html
x64-windows/html/man3/DSA_set_default_method.html
x64-windows/html/man3/DSA_set_ex_data.html
x64-windows/html/man3/DSA_set_flags.html
x64-windows/html/man3/DSA_set_method.html
x64-windows/html/man3/DSA_sign.html
x64-windows/html/man3/DSA_sign_setup.html
x64-windows/html/man3/DSA_size.html
x64-windows/html/man3/DSA_test_flags.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/EVP_PKEY_CTX_new_id.html
x64-windows/html/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html
x64-windows/html/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html
x64-windows/html/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html
x64-windows/html/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.html
x64-windows/html/man3/EVP_PKEY_CTX_set1_hkdf_key.html
x64-windows/html/man3/EVP_PKEY_CTX_set1_hkdf_salt.html
x64-windows/html/man3/EVP_PKEY_CTX_set1_id.html
x64-windows/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html
x64-windows/html/man3/EVP_PKEY_CTX_set1_scrypt_salt.html
x64-windows/html/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.html
x64-windows/html/man3/EVP_PKEY_CTX_set_app_data.html
x64-windows/html/man3/EVP_PKEY_CTX_set_cb.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_kdf_type.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_nid.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_pad.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.html
x64-windows/html/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/EVP_PKEY_asn1_set_ctrl.html
x64-windows/html/man3/EVP_PKEY_asn1_set_free.html
x64-windows/html/man3/EVP_PKEY_asn1_set_get_priv_key.html
x64-windows/html/man3/EVP_PKEY_asn1_set_get_pub_key.html
x64-windows/html/man3/EVP_PKEY_asn1_set_item.html
x64-windows/html/man3/EVP_PKEY_asn1_set_param.html
x64-windows/html/man3/EVP_PKEY_asn1_set_param_check.html
x64-windows/html/man3/EVP_PKEY_asn1_set_private.html
x64-windows/html/man3/EVP_PKEY_asn1_set_public.html
x64-windows/html/man3/EVP_PKEY_asn1_set_public_check.html
x64-windows/html/man3/EVP_PKEY_asn1_set_security_bits.html
x64-windows/html/man3/EVP_PKEY_asn1_set_set_priv_key.html
x64-windows/html/man3/EVP_PKEY_asn1_set_set_pub_key.html
x64-windows/html/man3/EVP_PKEY_asn1_set_siginf.html
x64-windows/html/man3/EVP_PKEY_assign_DH.html
x64-windows/html/man3/EVP_PKEY_assign_DSA.html
x64-windows/html/man3/EVP_PKEY_assign_EC_KEY.html
x64-windows/html/man3/EVP_PKEY_assign_POLY1305.html
x64-windows/html/man3/EVP_PKEY_assign_RSA.html
x64-windows/html/man3/EVP_PKEY_assign_SIPHASH.html
x64-windows/html/man3/EVP_PKEY_base_id.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/EVP_PKEY_new_mac_key.html
x64-windows/html/man3/EVP_PKEY_new_raw_private_key.html
x64-windows/html/man3/EVP_PKEY_new_raw_public_key.html
x64-windows/html/man3/EVP_PKEY_param_check.html
x64-windows/html/man3/EVP_PKEY_paramgen.html
x64-windows/html/man3/EVP_PKEY_paramgen_init.html
x64-windows/html/man3/EVP_PKEY_print_params.html
x64-windows/html/man3/EVP_PKEY_print_private.html
x64-windows/html/man3/EVP_PKEY_print_public.html
x64-windows/html/man3/EVP_PKEY_public_check.html
x64-windows/html/man3/EVP_PKEY_security_bits.html
x64-windows/html/man3/EVP_PKEY_set1_DH.html
x64-windows/html/man3/EVP_PKEY_set1_DSA.html
x64-windows/html/man3/EVP_PKEY_set1_EC_KEY.html
x64-windows/html/man3/EVP_PKEY_set1_RSA.html
x64-windows/html/man3/EVP_PKEY_set1_engine.html
x64-windows/html/man3/EVP_PKEY_set_alias_type.html
x64-windows/html/man3/EVP_PKEY_sign.html
x64-windows/html/man3/EVP_PKEY_sign_init.html
x64-windows/html/man3/EVP_PKEY_size.html
x64-windows/html/man3/EVP_PKEY_type.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/OPENSSL_instrument_bus.html
x64-windows/html/man3/OPENSSL_instrument_bus2.html
x64-windows/html/man3/OPENSSL_load_builtin_modules.html
x64-windows/html/man3/OPENSSL_malloc.html
x64-windows/html/man3/OPENSSL_malloc_init.html
x64-windows/html/man3/OPENSSL_mem_debug_pop.html
x64-windows/html/man3/OPENSSL_mem_debug_push.html
x64-windows/html/man3/OPENSSL_memdup.html
x64-windows/html/man3/OPENSSL_no_config.html
x64-windows/html/man3/OPENSSL_realloc.html
x64-windows/html/man3/OPENSSL_secure_actual_size.html
x64-windows/html/man3/OPENSSL_secure_clear_free.html
x64-windows/html/man3/OPENSSL_secure_free.html
x64-windows/html/man3/OPENSSL_secure_malloc.html
x64-windows/html/man3/OPENSSL_secure_zalloc.html
x64-windows/html/man3/OPENSSL_strdup.html
x64-windows/html/man3/OPENSSL_strlcat.html
x64-windows/html/man3/OPENSSL_strlcpy.html
x64-windows/html/man3/OPENSSL_strndup.html
x64-windows/html/man3/OPENSSL_thread_stop.html
x64-windows/html/man3/OPENSSL_zalloc.html
x64-windows/html/man3/OSSL_STORE_CTX.html
x64-windows/html/man3/OSSL_STORE_INFO.html
x64-windows/html/man3/OSSL_STORE_INFO_free.html
x64-windows/html/man3/OSSL_STORE_INFO_get0_CERT.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/PBE2PARAM_free.html
x64-windows/html/man3/PBE2PARAM_new.html
x64-windows/html/man3/PBEPARAM_free.html
x64-windows/html/man3/PBEPARAM_new.html
x64-windows/html/man3/PBKDF2PARAM_free.html
x64-windows/html/man3/PBKDF2PARAM_new.html
x64-windows/html/man3/PEM_FLAG_EAY_COMPATIBLE.html
x64-windows/html/man3/PEM_FLAG_ONLY_B64.html
x64-windows/html/man3/PEM_FLAG_SECURE.html
x64-windows/html/man3/PEM_bytes_read_bio.html
x64-windows/html/man3/PEM_bytes_read_bio_secmem.html
x64-windows/html/man3/PEM_do_header.html
x64-windows/html/man3/PEM_get_EVP_CIPHER_INFO.html
x64-windows/html/man3/PEM_read.html
x64-windows/html/man3/PEM_read_CMS.html
x64-windows/html/man3/PEM_read_DHparams.html
x64-windows/html/man3/PEM_read_DSAPrivateKey.html
x64-windows/html/man3/PEM_read_DSA_PUBKEY.html
x64-windows/html/man3/PEM_read_DSAparams.html
x64-windows/html/man3/PEM_read_ECPKParameters.html
x64-windows/html/man3/PEM_read_ECPrivateKey.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/RAND_DRBG_get0_master.html
x64-windows/html/man3/RAND_DRBG_get0_private.html
x64-windows/html/man3/RAND_DRBG_get0_public.html
x64-windows/html/man3/RAND_DRBG_get_entropy_fn.html
x64-windows/html/man3/RAND_DRBG_get_ex_data.html
x64-windows/html/man3/RAND_DRBG_get_ex_new_index.html
x64-windows/html/man3/RAND_DRBG_get_nonce_fn.html
x64-windows/html/man3/RAND_DRBG_instantiate.html
x64-windows/html/man3/RAND_DRBG_new.html
x64-windows/html/man3/RAND_DRBG_reseed.html
x64-windows/html/man3/RAND_DRBG_secure_new.html
x64-windows/html/man3/RAND_DRBG_set.html
x64-windows/html/man3/RAND_DRBG_set_callbacks.html
x64-windows/html/man3/RAND_DRBG_set_defaults.html
x64-windows/html/man3/RAND_DRBG_set_ex_data.html
x64-windows/html/man3/RAND_DRBG_set_reseed_defaults.html
x64-windows/html/man3/RAND_DRBG_set_reseed_interval.html
x64-windows/html/man3/RAND_DRBG_set_reseed_time_interval.html
x64-windows/html/man3/RAND_DRBG_uninstantiate.html
x64-windows/html/man3/RAND_OpenSSL.html
x64-windows/html/man3/RAND_add.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/RSA_padding_check_PKCS1_type_1.html
x64-windows/html/man3/RSA_padding_check_PKCS1_type_2.html
x64-windows/html/man3/RSA_padding_check_SSLv23.html
x64-windows/html/man3/RSA_padding_check_none.html
x64-windows/html/man3/RSA_print.html
x64-windows/html/man3/RSA_print_fp.html
x64-windows/html/man3/RSA_private_decrypt.html
x64-windows/html/man3/RSA_private_encrypt.html
x64-windows/html/man3/RSA_public_decrypt.html
x64-windows/html/man3/RSA_public_encrypt.html
x64-windows/html/man3/RSA_security_bits.html
x64-windows/html/man3/RSA_set0_crt_params.html
x64-windows/html/man3/RSA_set0_factors.html
x64-windows/html/man3/RSA_set0_key.html
x64-windows/html/man3/RSA_set0_multi_prime_params.html
x64-windows/html/man3/RSA_set_default_method.html
x64-windows/html/man3/RSA_set_ex_data.html
x64-windows/html/man3/RSA_set_flags.html
x64-windows/html/man3/RSA_set_method.html
x64-windows/html/man3/RSA_sign.html
x64-windows/html/man3/RSA_sign_ASN1_OCTET_STRING.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_CTX_dane_set_flags.html
x64-windows/html/man3/SSL_CTX_decrypt_session_ticket_fn.html
x64-windows/html/man3/SSL_CTX_disable_ct.html
x64-windows/html/man3/SSL_CTX_enable_ct.html
x64-windows/html/man3/SSL_CTX_flush_sessions.html
x64-windows/html/man3/SSL_CTX_free.html
x64-windows/html/man3/SSL_CTX_generate_session_ticket_fn.html
x64-windows/html/man3/SSL_CTX_get0_CA_list.html
x64-windows/html/man3/SSL_CTX_get0_chain_certs.html
x64-windows/html/man3/SSL_CTX_get0_param.html
x64-windows/html/man3/SSL_CTX_get0_security_ex_data.html
x64-windows/html/man3/SSL_CTX_get_cert_store.html
x64-windows/html/man3/SSL_CTX_get_ciphers.html
x64-windows/html/man3/SSL_CTX_get_client_CA_list.html
x64-windows/html/man3/SSL_CTX_get_client_cert_cb.html
x64-windows/html/man3/SSL_CTX_get_default_passwd_cb.html
x64-windows/html/man3/SSL_CTX_get_default_passwd_cb_userdata.html
x64-windows/html/man3/SSL_CTX_get_default_read_ahead.html
x64-windows/html/man3/SSL_CTX_get_ex_data.html
x64-windows/html/man3/SSL_CTX_get_info_callback.html
x64-windows/html/man3/SSL_CTX_get_keylog_callback.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_CTX_get_max_early_data.html
x64-windows/html/man3/SSL_CTX_get_max_proto_version.html
x64-windows/html/man3/SSL_CTX_get_min_proto_version.html
x64-windows/html/man3/SSL_CTX_get_mode.html
x64-windows/html/man3/SSL_CTX_get_num_tickets.html
x64-windows/html/man3/SSL_CTX_get_options.html
x64-windows/html/man3/SSL_CTX_get_quiet_shutdown.html
x64-windows/html/man3/SSL_CTX_get_read_ahead.html
x64-windows/html/man3/SSL_CTX_get_record_padding_callback_arg.html
x64-windows/html/man3/SSL_CTX_get_recv_max_early_data.html
x64-windows/html/man3/SSL_CTX_get_security_callback.html
x64-windows/html/man3/SSL_CTX_get_security_level.html
x64-windows/html/man3/SSL_CTX_get_session_cache_mode.html
x64-windows/html/man3/SSL_CTX_get_timeout.html
x64-windows/html/man3/SSL_CTX_get_tlsext_status_arg.html
x64-windows/html/man3/SSL_CTX_get_tlsext_status_cb.html
x64-windows/html/man3/SSL_CTX_get_tlsext_status_type.html
x64-windows/html/man3/SSL_CTX_get_verify_callback.html
x64-windows/html/man3/SSL_CTX_get_verify_depth.html
x64-windows/html/man3/SSL_CTX_get_verify_mode.html
x64-windows/html/man3/SSL_CTX_has_client_custom_ext.html
x64-windows/html/man3/SSL_CTX_keylog_cb_func.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_CTX_sess_number.html
x64-windows/html/man3/SSL_CTX_sess_set_cache_size.html
x64-windows/html/man3/SSL_CTX_sess_set_get_cb.html
x64-windows/html/man3/SSL_CTX_sess_set_new_cb.html
x64-windows/html/man3/SSL_CTX_sess_set_remove_cb.html
x64-windows/html/man3/SSL_CTX_sess_timeouts.html
x64-windows/html/man3/SSL_CTX_sessions.html
x64-windows/html/man3/SSL_CTX_set0_CA_list.html
x64-windows/html/man3/SSL_CTX_set0_chain.html
x64-windows/html/man3/SSL_CTX_set0_chain_cert_store.html
x64-windows/html/man3/SSL_CTX_set0_security_ex_data.html
x64-windows/html/man3/SSL_CTX_set0_verify_cert_store.html
x64-windows/html/man3/SSL_CTX_set1_cert_store.html
x64-windows/html/man3/SSL_CTX_set1_chain.html
x64-windows/html/man3/SSL_CTX_set1_chain_cert_store.html
x64-windows/html/man3/SSL_CTX_set1_client_sigalgs.html
x64-windows/html/man3/SSL_CTX_set1_client_sigalgs_list.html
x64-windows/html/man3/SSL_CTX_set1_curves.html
x64-windows/html/man3/SSL_CTX_set1_curves_list.html
x64-windows/html/man3/SSL_CTX_set1_groups.html
x64-windows/html/man3/SSL_CTX_set1_groups_list.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_CTX_set_post_handshake_auth.html
x64-windows/html/man3/SSL_CTX_set_psk_client_callback.html
x64-windows/html/man3/SSL_CTX_set_psk_find_session_callback.html
x64-windows/html/man3/SSL_CTX_set_psk_server_callback.html
x64-windows/html/man3/SSL_CTX_set_psk_use_session_callback.html
x64-windows/html/man3/SSL_CTX_set_quiet_shutdown.html
x64-windows/html/man3/SSL_CTX_set_read_ahead.html
x64-windows/html/man3/SSL_CTX_set_record_padding_callback.html
x64-windows/html/man3/SSL_CTX_set_record_padding_callback_arg.html
x64-windows/html/man3/SSL_CTX_set_recv_max_early_data.html
x64-windows/html/man3/SSL_CTX_set_security_callback.html
x64-windows/html/man3/SSL_CTX_set_security_level.html
x64-windows/html/man3/SSL_CTX_set_session_cache_mode.html
x64-windows/html/man3/SSL_CTX_set_session_id_context.html
x64-windows/html/man3/SSL_CTX_set_session_ticket_cb.html
x64-windows/html/man3/SSL_CTX_set_split_send_fragment.html
x64-windows/html/man3/SSL_CTX_set_ssl_version.html
x64-windows/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html
x64-windows/html/man3/SSL_CTX_set_stateless_cookie_verify_cb.html
x64-windows/html/man3/SSL_CTX_set_timeout.html
x64-windows/html/man3/SSL_CTX_set_tlsext_max_fragment_length.html
x64-windows/html/man3/SSL_CTX_set_tlsext_servername_arg.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_get0_CA_list.html
x64-windows/html/man3/SSL_get0_alpn_selected.html
x64-windows/html/man3/SSL_get0_chain_certs.html
x64-windows/html/man3/SSL_get0_dane_authority.html
x64-windows/html/man3/SSL_get0_dane_tlsa.html
x64-windows/html/man3/SSL_get0_next_proto_negotiated.html
x64-windows/html/man3/SSL_get0_param.html
x64-windows/html/man3/SSL_get0_peer_CA_list.html
x64-windows/html/man3/SSL_get0_peer_scts.html
x64-windows/html/man3/SSL_get0_peername.html
x64-windows/html/man3/SSL_get0_security_ex_data.html
x64-windows/html/man3/SSL_get0_session.html
x64-windows/html/man3/SSL_get0_verified_chain.html
x64-windows/html/man3/SSL_get1_curves.html
x64-windows/html/man3/SSL_get1_groups.html
x64-windows/html/man3/SSL_get1_session.html
x64-windows/html/man3/SSL_get1_supported_ciphers.html
x64-windows/html/man3/SSL_get_SSL_CTX.html
x64-windows/html/man3/SSL_get_all_async_fds.html
x64-windows/html/man3/SSL_get_changed_async_fds.html
x64-windows/html/man3/SSL_get_cipher.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_get_peer_tmp_key.html
x64-windows/html/man3/SSL_get_pending_cipher.html
x64-windows/html/man3/SSL_get_psk_identity.html
x64-windows/html/man3/SSL_get_psk_identity_hint.html
x64-windows/html/man3/SSL_get_quiet_shutdown.html
x64-windows/html/man3/SSL_get_rbio.html
x64-windows/html/man3/SSL_get_read_ahead.html
x64-windows/html/man3/SSL_get_record_padding_callback_arg.html
x64-windows/html/man3/SSL_get_recv_max_early_data.html
x64-windows/html/man3/SSL_get_rfd.html
x64-windows/html/man3/SSL_get_secure_renegotiation_support.html
x64-windows/html/man3/SSL_get_security_callback.html
x64-windows/html/man3/SSL_get_security_level.html
x64-windows/html/man3/SSL_get_selected_srtp_profile.html
x64-windows/html/man3/SSL_get_server_random.html
x64-windows/html/man3/SSL_get_server_tmp_key.html
x64-windows/html/man3/SSL_get_servername.html
x64-windows/html/man3/SSL_get_servername_type.html
x64-windows/html/man3/SSL_get_session.html
x64-windows/html/man3/SSL_get_shared_ciphers.html
x64-windows/html/man3/SSL_get_shared_curve.html
x64-windows/html/man3/SSL_get_shared_group.html
x64-windows/html/man3/SSL_get_shared_sigalgs.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_renegotiate_pending.html
x64-windows/html/man3/SSL_rstate_string.html
x64-windows/html/man3/SSL_rstate_string_long.html
x64-windows/html/man3/SSL_select_current_cert.html
x64-windows/html/man3/SSL_select_next_proto.html
x64-windows/html/man3/SSL_session_reused.html
x64-windows/html/man3/SSL_set0_CA_list.html
x64-windows/html/man3/SSL_set0_chain.html
x64-windows/html/man3/SSL_set0_chain_cert_store.html
x64-windows/html/man3/SSL_set0_rbio.html
x64-windows/html/man3/SSL_set0_security_ex_data.html
x64-windows/html/man3/SSL_set0_verify_cert_store.html
x64-windows/html/man3/SSL_set0_wbio.html
x64-windows/html/man3/SSL_set1_chain.html
x64-windows/html/man3/SSL_set1_chain_cert_store.html
x64-windows/html/man3/SSL_set1_client_sigalgs.html
x64-windows/html/man3/SSL_set1_client_sigalgs_list.html
x64-windows/html/man3/SSL_set1_curves.html
x64-windows/html/man3/SSL_set1_curves_list.html
x64-windows/html/man3/SSL_set1_groups.html
x64-windows/html/man3/SSL_set1_groups_list.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/SSL_set_psk_client_callback.html
x64-windows/html/man3/SSL_set_psk_find_session_callback.html
x64-windows/html/man3/SSL_set_psk_server_callback.html
x64-windows/html/man3/SSL_set_psk_use_session_callback.html
x64-windows/html/man3/SSL_set_quiet_shutdown.html
x64-windows/html/man3/SSL_set_read_ahead.html
x64-windows/html/man3/SSL_set_record_padding_callback.html
x64-windows/html/man3/SSL_set_record_padding_callback_arg.html
x64-windows/html/man3/SSL_set_recv_max_early_data.html
x64-windows/html/man3/SSL_set_rfd.html
x64-windows/html/man3/SSL_set_security_callback.html
x64-windows/html/man3/SSL_set_security_level.html
x64-windows/html/man3/SSL_set_session.html
x64-windows/html/man3/SSL_set_session_id_context.html
x64-windows/html/man3/SSL_set_shutdown.html
x64-windows/html/man3/SSL_set_split_send_fragment.html
x64-windows/html/man3/SSL_set_ssl_method.html
x64-windows/html/man3/SSL_set_time.html
x64-windows/html/man3/SSL_set_timeout.html
x64-windows/html/man3/SSL_set_tlsext_host_name.html
x64-windows/html/man3/SSL_set_tlsext_max_fragment_length.html
x64-windows/html/man3/SSL_set_tlsext_status_ocsp_resp.html

corpus/vcpkg/r2/installed/vcpkg/status  view on Meta::CPAN

Multi-Arch: same
Description: OpenSSL support
Type: Port
Status: install ok installed

Package: libressl
Version: 2.9.1-2
Architecture: x64-windows
Multi-Arch: same
Abi: faa3fe00496397545d489c14b1a14c25143d91bd
Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.
Type: Port
Status: install ok installed

Package: libffi
Version: 3.3
Architecture: x86-windows
Multi-Arch: same
Abi: 26fac73eca7ab28cad695055b44f461dace1fc39
Description: Portable, high level programming interface to various calling conventions
Type: Port

example/bzip2.alienfile  view on Meta::CPAN

  printf("version = '%s'\n", BZ2_bzlibVersion());
  return 0;
}
},
);

# in addition to the library, we require that the bzip2 command
# is also available.
plugin 'Probe::CommandLine' => (
  command   => 'bzip2',
  secondary => 1,
);

share {

  # items in the share block relate to building the package
  # from source.  It is called share because it will be
  # installed into a dist level share directory in your
  # perl lib.

  # The Build::MSYS plugin just makes sure that Alien::MSYS

example/curl.alienfile  view on Meta::CPAN

# libpkgconf, pkg-config, PkgConfig,pm), to determine
# if the system already provides the library.  In addition,
# it gets the version, cflags and libs during either a
# "system" or "share" install.
plugin 'PkgConfig' => 'libcurl';

# in addition to the library, we require that the xz command
# is also available.
plugin 'Probe::CommandLine' => (
  command   => 'curl',
  secondary => 1,
);

share {

  # items in the share block relate to building the package
  # from source.  It is called share because it will be
  # installed into a dist level share directory in your
  # perl lib.

  # The Download negotiator picks the best method for

example/openssl.alienfile  view on Meta::CPAN

plugin 'PkgConfig' => (
  pkg_name => 'openssl',
);

share {

  # when building OpenSSL from source we have a few challenges.
  # - AB uses Net::SSLeay (via HTTP::Tiny) by default when downloading https URLs
  # - Net::SSLeay requires OpenSSL
  # - We can download OpenSSL from FTP, but that is susceptible to man-in-the-middle attacks
  #   (and that is a bad look for a security product)

  # Solution:
  # - try downloading with curl or wget via the 'bootstrap_ssl' option.
  # - if that doesn't work, fallback on FTP
  # - don't attempt FTP transfer if ALIEN_OPENSSL_FTP is set to 0

  start_url 'https://www.openssl.org/source/';
  plugin Download => (
    version       => qr/^openssl-([0-9\.]+[a-z]*)\.tar\.gz$/,
    bootstrap_ssl => 1,

example/xz.alienfile  view on Meta::CPAN

# libpkgconf, pkg-config, PkgConfig,pm), to determine
# if the system already provides the library.  In addition,
# it gets the version, cflags and libs during either a
# "system" or "share" install.
plugin 'PkgConfig' => 'liblzma';

# in addition to the library, we require that the xz command
# is also available.
plugin 'Probe::CommandLine' => (
  command   => 'xz',
  secondary => 1,
);

share {

  # items in the share block relate to building the package
  # from source.  It is called share because it will be
  # installed into a dist level share directory in your
  # perl lib.

  # The Download negotiator picks the best method for

lib/Alien/Base.pm  view on Meta::CPAN

behaviour to the C<< <=> >> and C<cmp> operators.

=head2 install_type

 my $install_type = Alien::MyLibrary->install_type;
 my $bool = Alien::MyLibrary->install_type($install_type);

Returns the install type that was used when C<Alien::MyLibrary> was
installed.  

If a type is provided (the second form in the synopsis)
returns true if the actual install type matches.  
For this use case it is recommended to use C<is_system_install> 
or C<is_share_install> instead as these are less prone to 
typographical errors.

Types include:

=over 4

=item system

lib/Alien/Base/Wrapper.pm  view on Meta::CPAN

This module acts as a wrapper around one or more L<Alien> modules.  It is designed to work
with L<Alien::Base> based aliens, but it should work with any L<Alien> which uses the same
essential API.

In the first example (from the command line), this class acts as a wrapper around the
compiler and linker that Perl is configured to use.  It takes the normal compiler and
linker flags and adds the flags provided by the Aliens specified, and then executes the
command.  It will print the command to the console so that you can see exactly what is
happening.

In the second example (from Makefile.PL non-dynamic), this class is used to generate the
appropriate L<ExtUtils::MakeMaker> (EUMM) arguments needed to C<WriteMakefile>.

In the third example (from Makefile.PL dynamic), we do a quick check to see if the simple
linker flag C<-lfoo> will work, if so we use that.  If not, we use a wrapper around the
compiler and linker that will use the alien flags that are known at build time.  The
problem that this form attempts to solve is that compiler and linker flags typically
need to be determined at I<configure> time, when a distribution is installed, meaning
if you are going to use an L<Alien> module then it needs to be a configure prerequisite,
even if the library is already installed and easily detected on the operating system.

lib/Alien/Build.pm  view on Meta::CPAN


  die "download failed";
}


sub fetch
{
  my $self = shift;
  my $url = $_[0] || $self->meta_prop->{start_url};

  my $secure = 0;

  if(defined $url && ($url =~ /^(https|file):/ || $url !~ /:/))
  {
    # considered secure when either https or a local file
    $secure = 1;
  }
  elsif(!defined $url)
  {
    $self->log("warning: undefined url in fetch");
  }
  else
  {
    $self->log("warning: attempting to fetch a non-TLS or bundled URL: @{[ $url ]}");
  }

  die "insecure fetch is not allowed" if $self->download_rule =~ /^(encrypt|digest_and_encrypt)$/ && !$secure;

  my $file = $self->_call_hook( 'fetch' => @_ );

  $secure = 0;

  if(ref($file) ne 'HASH')
  {
    $self->log("warning: fetch returned non-hash reference");
  }
  elsif(!defined $file->{protocol})
  {
    $self->log("warning: fetch did not return a protocol");
  }
  elsif($file->{protocol} !~ /^(https|file)$/)
  {
    $self->log("warning: fetch did not use a secure protocol: @{[ $file->{protocol} ]}");
  }
  else
  {
    $secure = 1;
  }

  die "insecure fetch is not allowed" if $self->download_rule =~ /^(encrypt|digest_and_encrypt)$/ && !$secure;

  $file;
}


sub check_digest
{
  my($self, $file) = @_;

  return '' unless $self->meta_prop->{check_digest};

lib/Alien/Build.pm  view on Meta::CPAN

          tmp      => 0,
        };
        $checked_digest = $self->meta->call_hook( check_digest => $self, $file, $algo, $expected )
      }
      if(!defined $detail->{protocol})
      {
        $self->log("warning: extract did not receive protocol details for $archive") unless $checked_digest;
      }
      elsif($detail->{protocol} !~ /^(https|file)$/)
      {
        $self->log("warning: extracting from a file that was fetched via insecure protocol @{[ $detail->{protocol} ]}") unless $checked_digest ;
      }
      else
      {
        $encrypted_fetch = 1;
      }
    }
    else
    {
      $self->log("warning: extract received no download details for $archive");
    }

    if($self->download_rule eq 'digest')
    {
      die "required digest missing for $archive" unless $checked_digest;
    }
    elsif($self->download_rule eq 'encrypt')
    {
      die "file was fetched insecurely for $archive" unless $encrypted_fetch;
    }
    elsif($self->download_rule eq 'digest_or_encrypt')
    {
      die "file was fetched insecurely and required digest missing for $archive" unless $checked_digest || $encrypted_fetch;
    }
    elsif($self->download_rule eq 'digest_and_encrypt')
    {
      die "file was fetched insecurely and required digest missing for $archive" unless $checked_digest || $encrypted_fetch;
      die "required digest missing for $archive" unless $checked_digest;
      die "file was fetched insecurely for $archive" unless $encrypted_fetch;
    }
    elsif($self->download_rule eq 'warn')
    {
      unless($checked_digest || $encrypted_fetch)
      {
        $self->log("!!! NOTICE OF FUTURE CHANGE IN BEHAVIOR !!!");
        $self->log("a future version of Alien::Build will die here by default with this exception: file was fetched insecurely and required digest missing for $archive");
        $self->log("!!! NOTICE OF FUTURE CHANGE IN BEHAVIOR !!!");
      }
    }
    else
    {
      die "internal error, unknown download rule: @{[ $self->download_rule ]}";
    }

  }

lib/Alien/Build.pm  view on Meta::CPAN

=item destdir_ffi_filter

Same as C<destdir_filter> except applies to C<build_ffi> instead of C<build>.

=item digest

This properties contains the cryptographic digests (if any) that should
be used when verifying any fetched and downloaded files.  It is a hash
reference where the key is the filename and the value is an array
reference containing a pair of values, the first being the algorithm
('SHA256' is recommended) and the second is the actual digest.  The
special filename C<*> may be specified to indicate that any downloaded
file should match that digest.  If there are both real filenames and
the C<*> placeholder, the real filenames will be used for filenames
that match and any other files will use the placeholder.  Example:

 $build->meta_prop->{digest} = {
   'foo-1.00.tar.gz' => [ SHA256 => '9feac593aa49a44eb837de52513a57736457f1ea70078346c60f0bfc5f24f2c1' ],
   'foo-1.01.tar.gz' => [ SHA256 => '6bbde6a7f10ae5924cf74afc26ff5b7bc4b4f9dfd85c6b534c51bd254697b9e7' ],
   '*'               => [ SHA256 => '33a20aae3df6ecfbe812b48082926d55391be4a57d858d35753ab1334b9fddb3' ],
 };

lib/Alien/Build.pm  view on Meta::CPAN


 my $rule = $build->download_rule;

This returns install rule as a string.  This is determined by the environment
and should be one of:

=over 4

=item C<warn>

Warn only if fetching via non secure source (secure sources include C<https>,
and bundled files, may include other encrypted protocols in the future).

=item C<digest>

Require that any downloaded source package have a cryptographic signature in
the L<alienfile> and that signature matches what was downloaded.

=item C<encrypt>

Require that any downloaded source package is fetched via secure source.

=item C<digest_or_encrypt>

Require that any downloaded source package is B<either> fetched via a secure source
B<or> has a cryptographic signature in the L<alienfile> and that signature matches
what was downloaded.

=item C<digest_and_encrypt>

Require that any downloaded source package is B<both> fetched via a secure source
B<and> has a cryptographic signature in the L<alienfile> and that signature matches
what was downloaded.

=back

The current default is C<warn>, but in the near future this will be upgraded to
C<digest_or_encrypt>.

=head2 set_prefix

lib/Alien/Build/Interpolate.pm  view on Meta::CPAN

=head2 interpolate

 my $string = $intr->interpolate($template, $build);
 my $string = $intr->interpolate($template);

This takes a template and fills in the appropriate values of any helpers used
in the template.

[version 2.58]

If you pass in an L<Alien::Build> instance as the second argument, you can use
properties as well as helpers in the template.  Example:

 my $patch = $intr->template("%{.install.patch}/foo-%{.runtime.version}.patch", $build);

=head2 requires

 my %requires = $intr->requires($template);

This returns a hash of modules required in order to execute the given template.
The keys are the module names and the values are the versions.  Version will be

lib/Alien/Build/MM.pm  view on Meta::CPAN



sub mm_install
{
  # NOTE: older versions of the Alien::Build::MM documentation
  # didn't include this method, so anything that this method
  # does has to be optional

  my($self, $mm, @rest) = @_;

  my $section = do {
    package
      MY;
    $mm->SUPER::install(@rest);
  };

  return
      ".NOTPARALLEL : \n\n"
    . ".NO_PARALLEL : \n\n"
    . "install :: alien_clean_install\n\n"
    . $section;
}

sub import
{
  my(undef, @args) = @_;
  foreach my $arg (@args)
  {
    if($arg eq 'cmd')
    {
      package main;

lib/Alien/Build/Manual.pod  view on Meta::CPAN

=item L<Alien::Build::Manual::FAQ>

Frequently Asked Questions about L<Alien::Build>.

=item L<Alien::Build::Manual::PluginAuthor>

L<Alien::Build> plugin author documentation — or how to extend L<Alien::Build> with the plugin system.

=item L<Alien::Build::Manual::Security>

Documents some of the challenges and configuration tools related to security of L<Alien>s.

=back

=head1 SEE ALSO

=over 4

=item L<Alien::Base>

=item L<Alien::Build>

lib/Alien/Build/Manual/AlienAuthor.pod  view on Meta::CPAN


version 2.84

=head1 SYNOPSIS

 perldoc Alien::Build::Manual::AlienAuthor

=head1 DESCRIPTION

B<Note>: Please read the entire document before you get started in
writing your own L<alienfile>.  The section on dynamic vs. static
libraries will likely save you a lot of grief if you read it now!

This document is intended to teach L<Alien> authors how to build their
own L<Alien> distribution using L<Alien::Build> and L<Alien::Base>.
Such an L<Alien> distribution consists of three essential parts:

=over 4

=item An L<alienfile>

lib/Alien/Build/Manual/AlienAuthor.pod  view on Meta::CPAN

There is a lot going on here, so lets decode it a little bit.  An
L<alienfile> is just some Perl with some alien specific sugar.  The
first line

 use alienfile;

imports the sugar into the L<alienfile>.  It also is a flag for the
reader to see that this is an L<alienfile> and not some other kind of
Perl script.

The second line is the probe directive:

 probe [ 'pkg-config --exists libfoo' ];

is used to see if the library is already installed on the target system.
If C<pkg-config> is in the path, and if libfoo is installed, this should
exit with a success (0) and tell L<Alien::Build> to use the system
library.  If either C<pkg-config> in the PATH, or if libfoo is not
installed, then it will exist with non-success (!= 0) and tells
L<Alien::Build> to download and build from source.

lib/Alien/Build/Manual/AlienAuthor.pod  view on Meta::CPAN

=head2 A note about dynamic vs. static libraries

If you are using your L<Alien> to build an XS module, it is important
that you use static libraries if possible.  If you have a package that
refuses to build a static library, then you can use L<Alien::Role::Dino>.

Actually let me back up a minute.  For a C<share> install it is best
to use static libraries to build your XS extension.  This is because
if your L<Alien> is ever upgraded to a new version it can break your
existing XS modules.  For a C<system> install shared libraries are
usually best because you can often get security patches without having
to re-build anything in perl land.

If you looked closely at the "Using commands" and "Using plugins"
sections above, you may notice that we went out of our way where
possible to tell Autotools to build only static libraries using the
C<--disable-shared> command.  The Autoconf plugin also does this by
default.

Sometimes though you will have a package that builds both, or maybe
you I<want> both static and dynamic libraries to work with XS and FFI.
For that case, there is the L<Alien::Build::Plugin::Gather::IsolateDynamic>
plugin.

 use alienfile;

lib/Alien/Build/Manual/FAQ.pod  view on Meta::CPAN

 # Compilation failed in require at /home/cip/perl5/lib/perl5/Test/Alien.pm line 414.
 # BEGIN failed--compilation aborted at /home/cip/perl5/lib/perl5/Test/Alien.pm line 414.
 t/acme_alien_dontpanic2.t ....... Dubious, test returned 1 (wstat 256, 0x100)
 Failed 1/6 subtests
 t/acme_alien_dontpanic2__ffi.t .. ok

This error happened at test time for the Alien, but depending on your environment and Alien it might
happen later and the actual diagnostic wording might vary.

This is usually because your XS or Alien tries to use dynamic libraries instead of static ones.
Please consult the section about dynamic vs. static libraries in L<Alien::Build::Manual::AlienAuthor>.
The TL;DR is that L<Alien::Build::Plugin::Gather::IsolateDynamic> might help.
If you are the Alien author and the package you are alienizing doesn't have a static option you can
use L<Alien::Role::Dino>, but please note the extended set of caveats!

=head2 599 Internal Exception errors downloading packages from the internet

 Alien::Build::Plugin::Fetch::HTTPTiny> 599 Internal Exception fetching http://dist.libuv.org/dist/v1.15.0
 Alien::Build::Plugin::Fetch::HTTPTiny> exception: IO::Socket::SSL 1.42 must be installed for https support
 Alien::Build::Plugin::Fetch::HTTPTiny> exception: Net::SSLeay 1.49 must be installed for https support
 Alien::Build::Plugin::Fetch::HTTPTiny> An attempt at a SSL URL https was made, but your HTTP::Tiny does not appear to be able to use https.

lib/Alien/Build/Manual/FAQ.pod  view on Meta::CPAN

   start_url => 'http://example.org/dist';
   ...
 };

do this:

 share {
   start_url => 'https://example.org/dist';
 };

If the website is going to redirect to a secure URL anyway.

The "599 Internal Exception" indicates an "internal" exception from L<HTTP::Tiny> and is not a real
HTTP status code or error.  This could mean a number of different problems, but most frequently
indicates that a SSL request was made without the required modules (L<Net::SSLeay> and
L<IO::Socket::SSL>).  Normally the L<Alien::Build::Plugin::Download::Negotiate>
and L<Alien::Build::Plugin::Fetch::HTTPTiny> will make sure that the appropriate modules are added
to your prerequisites for you if you specify a C<https> URL.  Some websites allow an initial request
from C<http> but then redirect to C<https>.  If you can it is better to specify C<https>, if you
cannot, then you can instead use the C<ssl> property on either of those two plugins.

lib/Alien/Build/Manual/FAQ.pod  view on Meta::CPAN

 Alien::Build> see see https://metacpan.org/pod/Alien::Build::Manual::FAQ#Network-fetch-is-turned-off

This is because your environment is setup not to install aliens that require the network.  You
can turn network fetch back on by setting C<ALIEN_INSTALL_NETWORK> to true, or by unsetting it.
This environment variable is designed for environments that don't ever want to install aliens that
require downloading source packages over the internet.

=head2 I would really prefer you not download stuff off the internet

The idea of L<Alien> is to download missing packages and build them automatically to make installing
easier.  Some people may not like this, or may even have security requirements that they not download
random package over the internet (caveat, downloading random stuff off of CPAN may not be any safer,
so make sure you audit all of the open source software that you use appropriately).  Another reason
you may not want to download from the internet is if you are packaging up an alien for an operating
system vendor, which will always want to use the system version of a library.  In that situation you
don't want L<Alien::Build> to go off and download something from the internet because the probe failed
for some reason.

This is easy to take care of, simply set C<ALIEN_INSTALL_TYPE> to C<system> and a build from source
code will never be attempted.  On systems that do not provide system versions of the library or tool
you will get an error, allowing you to install the library, and retry the alien install.  You can

lib/Alien/Build/Manual/PluginAuthor.pod  view on Meta::CPAN

 }

=head2 Hooks

The remainder of this document is a reference for the hooks that you
can register.  Generally speaking you can register any hook that you
like, but some care must be taken as some hooks have default behavior
that will be overridden when you register a hook.  The hooks are
presented in alphabetical order.  The execution order is shown
in the flowchart above (if you are browsing the HTML version of this
document), or the Perlish pseudo code in the synopsis section.

=head1 HOOKS

=head2 build hook

 $meta->register_hook( build => sub {
   my($build) = @_;
   ...
 });

lib/Alien/Build/Manual/PluginAuthor.pod  view on Meta::CPAN

   base     => $base,
   content  => $content,
   protocol => $protocol, # AB 2.60 optional, but recommended
 };

[version 2.60]

For all of these responses C<$protocol> is optional, since it was not part
of the original spec, however it is strongly recommended that you include
this field, because future versions of L<Alien::Build> will use this to
determine if a file was downloaded securely (that is via a secure protocol
such as SSL).

Some plugins (like L<decode plugins |Alien::Build::Plugin::Decode>) trans
late a file hash from one type to another, they should maintain the
C<$protocol> from the old to the new representation of the file.

=head2 gather_ffi hook

 $meta->register_hook( gather_ffi => sub {
   my($build) = @_;

lib/Alien/Build/Manual/Security.pod  view on Meta::CPAN

You are rightly concerned that an L<Alien> might be downloading something random
off the internet.  This manual will describe some of the real risks and go over
how you can mitigate them.

=head2 no warranty

L<Alien::Build> provides L<Alien> authors with tools to add external non-Perl
dependencies to CPAN modules.  It is open source software that is entirely
volunteer driven, meaning the people writing this software are not getting
compensated monetarily for the work.  As such, we do our best not to
intentionally introduce security vulnerabilities into our modules, or their
dependencies.  But it is also not our responsibility either.  If you are
operating in an environment where you need absolute security, you need to
carefully audit I<all> of the software that you use.

=head2 L<Alien::Build> vs. L<CPAN>

I suppose you could argue that L<Alien::Build> based L<Alien>s and L<Alien>s
in general are inherently less secure than the the Perl modules on L<CPAN>
that don't download random stuff off the internet.  Worse yet, L<Alien>s
might be downloading from insecure sources like C<http> or C<ftp>.

This argument falls apart pretty quickly when you realize that

=over 4

=item 1

Perl modules from L<CPAN> are in fact random stuff off the internet.
Most modules, when installed execute a C<Makefile.PL> which can execute
completely arbitrary Perl code.  Without a proper audit or firewalls
that L<CPAN> code could be making connections to insecure sources
like C<http> if they are not themselves doing something nefarious.

=item 2

By default, the most frequently used L<CPAN> client L<App::cpanminus|cpanm>
uses C<http> to fetch L<CPAN> modules.  So unless you have specifically
configured it to connect to a secure source you are downloading
even more random stuff than usual off the internet.

=back

The TL;DR is that if you are using a Perl module, whether it be
C<Foo::PP>, C<Foo::XS> or C<Alien::libfoo> and you are concerned about
security you need to audit all of your Perl modules, not just the L<Alien>
ones.

=head2 Restricting L<Alien::Build> by environment

Okay, granted you need to audit software for security regardless of
if it is L<Alien>, you still don't like the idea of downloading external
dependencies and you can't firewall just the L<CPAN> module installs.

L<Alien::Build> based L<Alien>s respect a number of environment variables
that at least give you some control over how aggresive L<Alien::Build>
will be at fetching random stuff off the internet.

=over 4

=item C<ALIEN_DOWNLOAD_RULE>

This environment variable configures how L<Alien::Build> will deal
with insecure protocols and files that do not include a cryptographic
signature.

Part of the design of the L<Alien::Build> system is that it typically
tries to download the latest version of a package instead of a fixed
version, so that the L<Alien> doesn't need to be updated when a new
alienized package is released.  This means that we frequently have
to rely on TLS or bundled alienized packages to ensure that the
alienized package is fetched securely.

Recently (as of L<Alien::Build> 2.59) we started supporting cryptographic
signatures defined in L<alienfile>s, but they are not yet very common,
and they only really work when a single alienized package URL is hard
coded into the L<alienfile> instead of the more typical mode of operation
where the latest version is downloaded.

=over 4

=item warn

This mode will warn you if an L<Alien::Build> based L<Alien> attempts
to fetch a alienized package insecurely.  It will also warn you if
a package doesn't have a cryptographic signature.  Neither of these
things wild stop the L<Alien> from being installed.

This is unfortunately currently the default mode of L<Alien::Build>,
for historical reasons.  Once plugins and L<Alien>s are updated to
either use secure fetch (TLS or bundled alienized packages), or
cryptographic signatures, the default will be changed to
C<digest_or_encrypt>.

=item digest_or_encrypt

This mode will require that before an alienized package is extracted
that it is either fetched via a secure protocol (C<http> or C<file>),
or the package matches a cryptographic signature.

This will likely be the default for L<Alien::Build> in the near future,
but it doesn't hurt to set it now, if you don't mind submitting
tickets to L<Alien>s or L<plugins|Alien::Build::Plugin> that don't
support this mode yet.

=back

=item C<ALIEN_INSTALL_NETWORK>

lib/Alien/Build/Manual/Security.pod  view on Meta::CPAN


Note that this is definitely best effort.  If the L<Alien> author makes
a mistake or is malicious they could override these environment variables
inside the C<Makefile.PL>, so you still need to audit any software to
ensure that it doesn't fetch source off the internet.

=head2 Security Related Plugins

There are a number of plugins that give the user or installer control
over how L<Alien::Build> behaves, and may be useful for rudimentary
security.

=over 4

=item L<Alien::Build::Plugin::Fetch::Prompt>

This plugin will prompt before fetching any remote files.  This only
really works when you are installing L<Alien>s interactively.

=item L<Alien::Build::Plugin::Fetch::HostAllowList>

lib/Alien/Build/Manual/Security.pod  view on Meta::CPAN


=head2 local configuration

You can configure the way L<Alien::Build> based L<Alien>s are installed with the
local configuration file C<~/.alienbuild/rc.pl>.  See L<Alien::Build::rc> for
details.

=head1 CAVEATS

This whole document is caveats, but if you haven't gotten it by now then,
fundamentally if you need to use Perl modules securely then you need to
audit the code for security vulnerabilities.  If you think that the security
of L<Alien::Build> and the L<Alien>s that depend on it, then I<patches welcome>.

=head1 SEE ALSO

=over 4

=item L<Alien::Build::Manual>

Other L<Alien::Build> manuals.

lib/Alien/Build/Plugin/Core/Download.pm  view on Meta::CPAN

    $build->log("candidate *$pick");
    $build->log("candidate  $_") for @other;

    if(@exclude)
    {
      if(@exclude > 8)
      {
        splice @exclude, 7;
        push @exclude, '...';
      }
      $build->log("excluded insecure URLs:");
      $build->log($_) for @exclude;
    }

    $res = $build->fetch($pick);

    if($version)
    {
      $version =~ s/\.+$//;
      $build->log("setting version based on archive to $version");
      $build->runtime_prop->{version} = $version;

lib/Alien/Build/Plugin/PkgConfig/PP.pm  view on Meta::CPAN

        require PkgConfig;
        my $pkg = PkgConfig->find($name, search_path => [@PKG_CONFIG_PATH]);
        if($pkg->errmsg)
        {
          $build->log("Trying to load the pkg-config information from the source code build");
          $build->log("of your package failed");
          $build->log("You are currently using the pure-perl implementation of pkg-config");
          $build->log("(AB Plugin is named PkgConfig::PP, which uses PkgConfig.pm");
          $build->log("It may work better with the real pkg-config.");
          $build->log("Try installing your OS' version of pkg-config or unset ALIEN_BUILD_PKG_CONFIG");
          die "second load of PkgConfig.pm @{[ $name ]} failed: @{[ $pkg->errmsg ]}"
        }
        my %prop;
        $prop{cflags}  = _cleanup scalar $pkg->get_cflags;
        $prop{libs}    = _cleanup scalar $pkg->get_ldflags;
        $prop{version} = $pkg->pkg_version;
        $pkg = PkgConfig->find($name, static => 1, search_path => [@PKG_CONFIG_PATH]);
        $prop{cflags_static} = _cleanup scalar $pkg->get_cflags;
        $prop{libs_static}   = _cleanup scalar $pkg->get_ldflags;
        $build->runtime_prop->{alt}->{$name} = \%prop;
      }

lib/Alien/Build/Plugin/Probe/CommandLine.pm  view on Meta::CPAN

# ABSTRACT: Probe for tools or commands already available
our $VERSION = '2.84'; # VERSION


has '+command' => sub { Carp::croak "@{[ __PACKAGE__ ]} requires command property" };


has 'args'       => [];


has 'secondary' => 0;


has 'match'     => undef;


has 'match_stderr' => undef;


has 'version'   => undef;

lib/Alien/Build/Plugin/Probe/CommandLine.pm  view on Meta::CPAN

            die "CommandLine probe found version $found_version, but at least $atleast_version is required.";
          }
        }
      }
    }

    $build->runtime_prop->{command} = $self->command;
    'system';
  };

  if($self->secondary)
  {
    $meta->around_hook(
      probe => sub {
        my $orig = shift;
        my $build = shift;
        my $type = $orig->($build, @_);
        return $type unless $type eq 'system';
        $check->($build);
      },
    );

lib/Alien/Build/Plugin/Probe/CommandLine.pm  view on Meta::CPAN

=head1 PROPERTIES

=head2 command

The name of the command.

=head2 args

The arguments to pass to the command.

=head2 secondary

If you are using another probe plugin (such as L<Alien::Build::Plugin::Probe::CBuilder> or
L<Alien::Build::Plugin::PkgConfig::Negotiate>) to detect the existence of a library, but
also need a program to exist, then you should set secondary to a true value.  For example
when you need both:

 use alienfile;
 # requires both liblzma library and xz program
 plugin 'PkgConfig' => 'liblzma';
 plugin 'Probe::CommandLine' => (
   command   => 'xz',
   secondary => 1,
 );

When you don't:

 use alienfile;
 plugin 'Probe::CommandLine' => (
   command   => 'gzip',
   secondary => 0, # default
 );

=head2 match

Regular expression for which the program output should match.

=head2 match_stderr

Regular expression for which the program standard error should match.

lib/Test/Alien/Build.pm  view on Meta::CPAN

 my $build = alienfile;
 # is the same as
 my $build = alienfile filename => 'alienfile';

and

 my $build = alienfile q{ use alienfile ... };
 # is the same as
 my $build = alienfile source => q{ use alienfile ... };

Except for the second abbreviated form sets the line number before feeding the source into L<Alien::Build>
so that you will get diagnostics with the correct line numbers.

=over 4

=item source

The source for the alienfile as a string.  You must specify one of C<source> or C<filename>.

=item filename

lib/alienfile.pm  view on Meta::CPAN

     '%{make}',
     '%{make} install',
   ];
 };

=head1 DESCRIPTION

An alienfile is a recipe used by L<Alien::Build> to, probe for system libraries or download from the internet, and build source
for those libraries.  This document acts as reference for the alienfile system, but if you are starting out writing your own Alien
you should read L<Alien::Build::Manual::AlienAuthor>, which will teach you how to write your own complete Alien using alienfile +
L<Alien::Build> + L<ExtUtils::MakeMaker>.  Special attention should be taken to the section "a note about dynamic vs. static
libraries".

=head1 DIRECTIVES

=head2 requires

"any" requirement (either share or system):

 requires $module;
 requires $module => $version;

spellcheck.ini  view on Meta::CPAN

[Perl]
skip_sections = contributors
skip_sections = author
skip_sections = copyright and license
skip_sections = thanks
[StopWords]
word = unixy
word = umake
word = tar.exe

t/alien_build__download_rule.t  view on Meta::CPAN


    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';
    alien_download_ok;
    alien_extract_ok;

    is
      \@warnings,
      bag {
        item match qr/warning: attempting to fetch a non-TLS or bundled URL/;
        item match qr/warning: fetch did not use a secure protocol/;
        item match qr/warning: extracting from a file that was fetched via insecure protocol/;
        etc;
      },
      'expected warnings';

  };

  subtest 'just tls' => sub {

    @warnings = ();

t/alien_build__download_rule.t  view on Meta::CPAN

    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';
    alien_download_ok;
    alien_extract_ok;

    is
      \@warnings,
      array {
        all_items mismatch qr/warning: (attempting to fetch a non-TLS or bundled URL|fetch did not use a secure protocol|extracting from a file that was fetched via insecure protocol)/;
        etc;
      },
      'no unexpected warnings';

  };

  subtest 'tls and digest' => sub {

    @warnings = ();

t/alien_build__download_rule.t  view on Meta::CPAN

    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';
    alien_download_ok;
    alien_extract_ok;

    is
      \@warnings,
      array {
        all_items mismatch qr/warning: (attempting to fetch a non-TLS or bundled URL|fetch did not use a secure protocol|extracting from a file that was fetched via insecure protocol)/;
        etc;
      },
      'no unexpected warnings';

  };

  subtest 'just digest' => sub {

    @warnings = ();

t/alien_build__download_rule.t  view on Meta::CPAN


    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';
    alien_download_ok;
    alien_extract_ok;

    is
      \@warnings,
      bag {
        item match qr/warning: attempting to fetch a non-TLS or bundled URL/;
        item match qr/warning: fetch did not use a secure protocol/;
        all_items mismatch qr/warning: extracting from a file that was fetched via insecure protocol/;
        etc;
      },
      'expected warnings';

  };

};

alien_subtest 'digest' => sub {

t/alien_build__download_rule.t  view on Meta::CPAN

      };
    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';

    my($out, $exception) = capture_merged {
      dies { $build->download }
    };

    like $exception, qr/^insecure fetch is not allowed/;

  };

  subtest 'no tls response' => sub {

    my $build = alienfile_ok q{
      use alienfile;
      probe sub { 'share' };
      share {
        start_url 'https://foo.bar.baz';

t/alien_build__download_rule.t  view on Meta::CPAN

      };
    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';

    my($out, $exception) = capture_merged {
      dies { $build->download }
    };

    like $exception, qr/^insecure fetch is not allowed/;

  };


};

alien_subtest 'digest_or_encrypt' => sub {

  local $Alien::Build::VERSION = $Alien::Build::VERSION || '2.60';
  local $ENV{ALIEN_DOWNLOAD_RULE} = 'digest_or_encrypt';

t/alien_build__download_rule.t  view on Meta::CPAN

    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';
    alien_download_ok;

    my($out, $exception) = capture_merged {
      dies { $build->extract }
    };

    like $exception, qr/^file was fetched insecurely and required digest missing for/;

  };

};

alien_subtest 'digest_and_encrypt' => sub {

  local $Alien::Build::VERSION = $Alien::Build::VERSION || '2.60';
  local $ENV{ALIEN_DOWNLOAD_RULE} = 'digest_and_encrypt';

t/alien_build__download_rule.t  view on Meta::CPAN

      };
    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';

    my($out, $exception) = capture_merged {
      dies { $build->download }
    };

    like $exception, qr/^insecure fetch is not allowed/;

  };

  subtest 'just tls' => sub {

    my $build = alienfile_ok q{
      use alienfile;
      probe sub { 'share' };
      share {
        start_url 'https://foo.bar.baz';

t/alien_build__download_rule.t  view on Meta::CPAN

      };
    };

    alienfile_skip_if_missing_prereqs;
    alien_install_type_is 'share';

    my($out, $exception) = capture_merged {
      dies { $build->download }
    };

    like $exception, qr/^insecure fetch is not allowed/;

  };

};

done_testing;

t/alien_build_plugin_fetch_netftp.t  view on Meta::CPAN

    my $log = path('t/bin/ftpd.log');
    if(-r $log)
    {
      note($log->slurp);
    }
    skip_all ftp_error;
  }

  note "url = $url";

  # FTP is inherently insecure.  This test usually only runs in CI
  # against a ftp server running on localhost
  local $ENV{ALIEN_DOWNLOAD_RULE} = 'warn';

  my $plugin = Alien::Build::Plugin::Fetch::NetFTP->new( url => $url );

  my $build = alienfile filename => 'corpus/blank/alienfile';
  my $meta = $build->meta;

  $plugin->init($meta);

t/alien_build_plugin_probe_commandline.t  view on Meta::CPAN

  my($build) = build(command => 'foo', args => [1,2,3], match => qr// );

  is cap { $build->probe }, 'system', 'is system';

  is $called, 1, 'was called';

  is \@args, [1,2,3], 'args are passed in';

};

subtest 'secondary' => sub {

  my $lib = 0;
  my $run = 0;

  my $guard = system_fake
    'foo' => sub { $run = 1; return 0 },
  ;

  subtest 'libs + command okay' => sub {

    $lib = 0;
    $run = 0;

    my($build) = build(command => 'foo', secondary => 1, match => qr//, sub {
      my($build, $meta) = @_;
      $meta->register_hook(probe => sub {
        $lib = 1;
        'system';
      });
    });

    is(cap { $build->probe }, 'system');
    is $run, 1, 'run';
    is $lib, 1, 'lib';

  };

  subtest 'libs ok + command bad' => sub {

    $lib = 0;
    $run = 0;

    my($build) = build(command => 'bar', secondary => 1, match => qr//, sub {
      my($build, $meta) = @_;
      $meta->register_hook(probe => sub {
        $lib = 1;
        'system';
      });
    });

    is(cap { $build->probe }, 'share');
    is $lib, 1, 'lib';

  };

  subtest 'libs bad + command okay' => sub {

    $lib = 0;
    $run = 0;

    my($build) = build(command => 'foo', secondary => 1, match => qr//, sub {
      my($build, $meta) = @_;
      $meta->register_hook(probe => sub {
        $lib = 1;
        'share';
      });
    });

    is(cap { $build->probe }, 'share');
    is $run, 0, 'run';
    is $lib, 1, 'lib';

  };

  subtest 'libs bad + command bad' => sub {

    $lib = 0;
    $run = 0;

    my($build) = build(command => 'bar', secondary => 1, match => qr//, sub {
      my($build, $meta) = @_;
      $meta->register_hook(probe => sub {
        $lib = 1;
        'share';
      });
    });

    is(cap { $build->probe }, 'share');
    is $run, 0, 'run';
    is $lib, 1, 'lib';

t/alienfile.t  view on Meta::CPAN

            return 42;
          };
          build [];
        };
      };
    };
    like $@, qr/before build is not allowed in sys block/, 'not allowed in sys block';

  };

  subtest 'before second argument must be a code ref' => sub {


    eval {
      alienfile q{
        use alienfile;

        share {
          before 'build' => 1;
          build [];
        };

t/alienfile.t  view on Meta::CPAN

            return 42;
          };
          build [];
        };
      };
    };
    like $@, qr/after build is not allowed in sys block/, 'not allowed in sys block';

  };

  subtest 'after second argument must be a code ref' => sub {


    eval {
      alienfile q{
        use alienfile;

        share {
          after 'build' => 1;
          build [];
        };



( run in 1.432 second using v1.01-cache-2.11-cpan-39bf76dae61 )