aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2020-11-05 03:47:06 -0500
committerJack Lloyd <[email protected]>2020-11-06 11:31:22 -0500
commita55e4b22b6cbeeb30ca787d4ea4e3933ccccbdf1 (patch)
tree3d066440f30d30a46179caded3f1273d06a4dd95 /src/lib
parent7c27982e27b953682554de3c4b22843e0e7461e7 (diff)
Remove deprecated headers, make more headers internal
Now modules default to internal headers instead of defaulting to public; making a new public API should be a visible and intentional choice. Brings the public header count from over 300 to around 150. Also removes the deprecated tls_blocking interface
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/asn1/alg_id.h14
-rw-r--r--src/lib/asn1/asn1_oid.cpp2
-rw-r--r--src/lib/asn1/asn1_oid.h14
-rw-r--r--src/lib/asn1/asn1_str.cpp2
-rw-r--r--src/lib/asn1/asn1_str.h14
-rw-r--r--src/lib/asn1/asn1_time.cpp4
-rw-r--r--src/lib/asn1/asn1_time.h14
-rw-r--r--src/lib/asn1/ber_dec.cpp2
-rw-r--r--src/lib/asn1/der_enc.cpp2
-rw-r--r--src/lib/asn1/info.txt8
-rw-r--r--src/lib/base/botan.h41
-rw-r--r--src/lib/base/buf_comp.cpp2
-rw-r--r--src/lib/base/info.txt4
-rw-r--r--src/lib/base/init.h35
-rw-r--r--src/lib/base/key_spec.h14
-rw-r--r--src/lib/base/lookup.h179
-rw-r--r--src/lib/base/scan_name.cpp2
-rw-r--r--src/lib/block/aes/aes.cpp6
-rw-r--r--src/lib/block/aes/aes.h8
-rw-r--r--src/lib/block/aes/aes_armv8/aes_armv8.cpp4
-rw-r--r--src/lib/block/aes/aes_ni/aes_ni.cpp4
-rw-r--r--src/lib/block/aes/aes_power8/aes_power8.cpp2
-rw-r--r--src/lib/block/aes/aes_vperm/aes_vperm.cpp2
-rw-r--r--src/lib/block/aria/aria.cpp6
-rw-r--r--src/lib/block/aria/aria.h8
-rw-r--r--src/lib/block/aria/info.txt4
-rw-r--r--src/lib/block/block_cipher.cpp34
-rw-r--r--src/lib/block/blowfish/blowfish.cpp4
-rw-r--r--src/lib/block/blowfish/blowfish.h11
-rw-r--r--src/lib/block/camellia/camellia.cpp6
-rw-r--r--src/lib/block/camellia/camellia.h8
-rw-r--r--src/lib/block/camellia/info.txt4
-rw-r--r--src/lib/block/cascade/cascade.cpp2
-rw-r--r--src/lib/block/cascade/cascade.h4
-rw-r--r--src/lib/block/cascade/info.txt4
-rw-r--r--src/lib/block/cast128/cast128.cpp6
-rw-r--r--src/lib/block/cast128/cast128.h4
-rw-r--r--src/lib/block/cast128/info.txt8
-rw-r--r--src/lib/block/des/des.cpp6
-rw-r--r--src/lib/block/des/des.h6
-rw-r--r--src/lib/block/des/des_tab.cpp2
-rw-r--r--src/lib/block/gost_28147/gost_28147.cpp6
-rw-r--r--src/lib/block/gost_28147/gost_28147.h6
-rw-r--r--src/lib/block/idea/idea.cpp4
-rw-r--r--src/lib/block/idea/idea.h4
-rw-r--r--src/lib/block/idea/idea_sse2/idea_sse2.cpp2
-rw-r--r--src/lib/block/lion/lion.cpp2
-rw-r--r--src/lib/block/lion/lion.h4
-rw-r--r--src/lib/block/noekeon/noekeon.cpp6
-rw-r--r--src/lib/block/noekeon/noekeon.h4
-rw-r--r--src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp2
-rw-r--r--src/lib/block/seed/seed.cpp4
-rw-r--r--src/lib/block/seed/seed.h4
-rw-r--r--src/lib/block/serpent/info.txt8
-rw-r--r--src/lib/block/serpent/serpent.cpp6
-rw-r--r--src/lib/block/serpent/serpent.h4
-rw-r--r--src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp2
-rw-r--r--src/lib/block/serpent/serpent_simd/serpent_simd.cpp2
-rw-r--r--src/lib/block/shacal2/shacal2.cpp6
-rw-r--r--src/lib/block/shacal2/shacal2.h4
-rw-r--r--src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp2
-rw-r--r--src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp2
-rw-r--r--src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp2
-rw-r--r--src/lib/block/sm4/sm4.cpp6
-rw-r--r--src/lib/block/sm4/sm4.h4
-rw-r--r--src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp2
-rw-r--r--src/lib/block/threefish_512/threefish_512.cpp6
-rw-r--r--src/lib/block/threefish_512/threefish_512.h4
-rw-r--r--src/lib/block/threefish_512/threefish_512_avx2/threefish_512_avx2.cpp2
-rw-r--r--src/lib/block/twofish/twofish.cpp6
-rw-r--r--src/lib/block/twofish/twofish.h4
-rw-r--r--src/lib/block/twofish/twofish_tab.cpp2
-rw-r--r--src/lib/codec/base32/info.txt4
-rw-r--r--src/lib/codec/base58/base58.cpp4
-rw-r--r--src/lib/codec/base58/info.txt4
-rw-r--r--src/lib/codec/base64/info.txt4
-rw-r--r--src/lib/codec/hex/info.txt4
-rw-r--r--src/lib/compat/sodium/info.txt4
-rw-r--r--src/lib/compat/sodium/sodium_salsa.cpp4
-rw-r--r--src/lib/compat/sodium/sodium_utils.cpp4
-rw-r--r--src/lib/compression/bzip2/info.txt4
-rw-r--r--src/lib/compression/lzma/info.txt4
-rw-r--r--src/lib/compression/zlib/info.txt4
-rw-r--r--src/lib/entropy/info.txt4
-rw-r--r--src/lib/ffi/ffi_mp.cpp2
-rw-r--r--src/lib/ffi/ffi_pkey.cpp2
-rw-r--r--src/lib/filters/b64_filt.h14
-rw-r--r--src/lib/filters/basefilt.h18
-rw-r--r--src/lib/filters/buf_filt.h14
-rw-r--r--src/lib/filters/cipher_filter.h14
-rw-r--r--src/lib/filters/comp_filter.h15
-rw-r--r--src/lib/filters/fd_unix/info.txt4
-rw-r--r--src/lib/filters/hex_filt.h14
-rw-r--r--src/lib/filters/info.txt12
-rw-r--r--src/lib/filters/key_filt.h14
-rw-r--r--src/lib/filters/out_buf.cpp2
-rw-r--r--src/lib/filters/pipe.cpp2
-rw-r--r--src/lib/filters/secqueue.cpp2
-rw-r--r--src/lib/filters/secqueue.h4
-rw-r--r--src/lib/hash/blake2/blake2b.cpp6
-rw-r--r--src/lib/hash/blake2/blake2b.h4
-rw-r--r--src/lib/hash/checksum/adler32/adler32.cpp4
-rw-r--r--src/lib/hash/checksum/adler32/adler32.h4
-rw-r--r--src/lib/hash/checksum/crc24/crc24.cpp6
-rw-r--r--src/lib/hash/checksum/crc24/crc24.h4
-rw-r--r--src/lib/hash/checksum/crc32/crc32.cpp4
-rw-r--r--src/lib/hash/checksum/crc32/crc32.h4
-rw-r--r--src/lib/hash/comb4p/comb4p.cpp2
-rw-r--r--src/lib/hash/comb4p/comb4p.h4
-rw-r--r--src/lib/hash/gost_3411/gost_3411.cpp4
-rw-r--r--src/lib/hash/gost_3411/gost_3411.h6
-rw-r--r--src/lib/hash/hash.cpp40
-rw-r--r--src/lib/hash/keccak/keccak.cpp6
-rw-r--r--src/lib/hash/keccak/keccak.h4
-rw-r--r--src/lib/hash/md4/md4.cpp6
-rw-r--r--src/lib/hash/md4/md4.h6
-rw-r--r--src/lib/hash/md5/md5.cpp6
-rw-r--r--src/lib/hash/md5/md5.h6
-rw-r--r--src/lib/hash/mdx_hash/mdx_hash.cpp4
-rw-r--r--src/lib/hash/mdx_hash/mdx_hash.h4
-rw-r--r--src/lib/hash/par_hash/par_hash.cpp4
-rw-r--r--src/lib/hash/par_hash/par_hash.h4
-rw-r--r--src/lib/hash/rmd160/rmd160.cpp6
-rw-r--r--src/lib/hash/rmd160/rmd160.h6
-rw-r--r--src/lib/hash/sha1/sha160.cpp6
-rw-r--r--src/lib/hash/sha1/sha160.h6
-rw-r--r--src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp2
-rw-r--r--src/lib/hash/sha1/sha1_sse2/sha1_sse2.cpp4
-rw-r--r--src/lib/hash/sha1/sha1_x86/sha1_x86.cpp2
-rw-r--r--src/lib/hash/sha2_32/sha2_32.cpp6
-rw-r--r--src/lib/hash/sha2_32/sha2_32.h8
-rw-r--r--src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp2
-rw-r--r--src/lib/hash/sha2_32/sha2_32_bmi2/sha2_32_bmi2.cpp6
-rw-r--r--src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp2
-rw-r--r--src/lib/hash/sha2_64/sha2_64.cpp6
-rw-r--r--src/lib/hash/sha2_64/sha2_64.h10
-rw-r--r--src/lib/hash/sha2_64/sha2_64_bmi2/sha2_64_bmi2.cpp6
-rw-r--r--src/lib/hash/sha3/sha3.cpp6
-rw-r--r--src/lib/hash/sha3/sha3.h12
-rw-r--r--src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp4
-rw-r--r--src/lib/hash/shake/shake.cpp4
-rw-r--r--src/lib/hash/shake/shake.h6
-rw-r--r--src/lib/hash/skein/skein_512.cpp4
-rw-r--r--src/lib/hash/skein/skein_512.h6
-rw-r--r--src/lib/hash/sm3/sm3.cpp6
-rw-r--r--src/lib/hash/sm3/sm3.h6
-rw-r--r--src/lib/hash/streebog/streebog.cpp4
-rw-r--r--src/lib/hash/streebog/streebog.h8
-rw-r--r--src/lib/hash/streebog/streebog_precalc.cpp2
-rw-r--r--src/lib/hash/whirlpool/whirlpool.cpp4
-rw-r--r--src/lib/hash/whirlpool/whrl_tab.cpp2
-rw-r--r--src/lib/hash/whirlpool/whrlpool.h6
-rw-r--r--src/lib/kdf/hkdf/hkdf.cpp4
-rw-r--r--src/lib/kdf/hkdf/hkdf.h14
-rw-r--r--src/lib/kdf/kdf.cpp18
-rw-r--r--src/lib/kdf/kdf1/kdf1.cpp2
-rw-r--r--src/lib/kdf/kdf1/kdf1.h4
-rw-r--r--src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp2
-rw-r--r--src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h4
-rw-r--r--src/lib/kdf/kdf2/kdf2.cpp2
-rw-r--r--src/lib/kdf/kdf2/kdf2.h4
-rw-r--r--src/lib/kdf/prf_tls/prf_tls.cpp2
-rw-r--r--src/lib/kdf/prf_tls/prf_tls.h6
-rw-r--r--src/lib/kdf/prf_x942/prf_x942.cpp4
-rw-r--r--src/lib/kdf/prf_x942/prf_x942.h4
-rw-r--r--src/lib/kdf/sp800_108/sp800_108.cpp4
-rw-r--r--src/lib/kdf/sp800_108/sp800_108.h8
-rw-r--r--src/lib/kdf/sp800_56a/sp800_56a.cpp2
-rw-r--r--src/lib/kdf/sp800_56a/sp800_56a.h6
-rw-r--r--src/lib/kdf/sp800_56c/sp800_56c.cpp2
-rw-r--r--src/lib/kdf/sp800_56c/sp800_56c.h4
-rw-r--r--src/lib/mac/cmac/cmac.cpp12
-rw-r--r--src/lib/mac/cmac/cmac.h16
-rw-r--r--src/lib/mac/gmac/gmac.cpp4
-rw-r--r--src/lib/mac/gmac/gmac.h4
-rw-r--r--src/lib/mac/hmac/hmac.cpp2
-rw-r--r--src/lib/mac/hmac/hmac.h4
-rw-r--r--src/lib/mac/mac.cpp12
-rw-r--r--src/lib/mac/poly1305/info.txt4
-rw-r--r--src/lib/mac/poly1305/poly1305.cpp6
-rw-r--r--src/lib/mac/poly1305/poly1305.h4
-rw-r--r--src/lib/mac/siphash/siphash.cpp6
-rw-r--r--src/lib/mac/siphash/siphash.h4
-rw-r--r--src/lib/mac/x919_mac/x919_mac.cpp2
-rw-r--r--src/lib/mac/x919_mac/x919_mac.h4
-rw-r--r--src/lib/math/bigint/big_code.cpp4
-rw-r--r--src/lib/math/bigint/big_ops3.cpp2
-rw-r--r--src/lib/math/bigint/bigint.cpp2
-rw-r--r--src/lib/math/bigint/divide.cpp2
-rw-r--r--src/lib/math/bigint/divide.h34
-rw-r--r--src/lib/math/bigint/info.txt5
-rw-r--r--src/lib/math/mp/mp_madd.h2
-rw-r--r--src/lib/math/numbertheory/curve_nistp.h29
-rw-r--r--src/lib/math/numbertheory/info.txt8
-rw-r--r--src/lib/math/numbertheory/make_prm.cpp2
-rw-r--r--src/lib/math/numbertheory/mod_inv.cpp2
-rw-r--r--src/lib/math/numbertheory/monty.cpp2
-rw-r--r--src/lib/math/numbertheory/monty_exp.cpp2
-rw-r--r--src/lib/math/numbertheory/nistp_redc.cpp2
-rw-r--r--src/lib/math/numbertheory/numthry.cpp4
-rw-r--r--src/lib/math/numbertheory/pow_mod.cpp4
-rw-r--r--src/lib/math/numbertheory/pow_mod.h8
-rw-r--r--src/lib/math/numbertheory/primality.cpp2
-rw-r--r--src/lib/math/numbertheory/reducer.cpp2
-rw-r--r--src/lib/misc/cryptobox/cryptobox.cpp2
-rw-r--r--src/lib/misc/cryptobox/info.txt4
-rw-r--r--src/lib/misc/fpe_fe1/fpe_fe1.cpp4
-rw-r--r--src/lib/misc/fpe_fe1/info.txt4
-rw-r--r--src/lib/misc/hotp/hotp.cpp2
-rw-r--r--src/lib/misc/hotp/hotp.h14
-rw-r--r--src/lib/misc/hotp/info.txt4
-rw-r--r--src/lib/misc/hotp/totp.cpp2
-rw-r--r--src/lib/misc/hotp/totp.h13
-rw-r--r--src/lib/misc/nist_keywrap/info.txt4
-rw-r--r--src/lib/misc/nist_keywrap/nist_keywrap.cpp2
-rw-r--r--src/lib/misc/rfc3394/info.txt4
-rw-r--r--src/lib/misc/roughtime/info.txt4
-rw-r--r--src/lib/misc/srp6/info.txt4
-rw-r--r--src/lib/misc/tss/info.txt4
-rw-r--r--src/lib/misc/tss/tss.cpp2
-rw-r--r--src/lib/modes/aead/aead.cpp16
-rw-r--r--src/lib/modes/aead/ccm/ccm.cpp4
-rw-r--r--src/lib/modes/aead/ccm/ccm.h8
-rw-r--r--src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp4
-rw-r--r--src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h8
-rw-r--r--src/lib/modes/aead/eax/eax.cpp6
-rw-r--r--src/lib/modes/aead/eax/eax.h8
-rw-r--r--src/lib/modes/aead/gcm/gcm.cpp6
-rw-r--r--src/lib/modes/aead/gcm/gcm.h8
-rw-r--r--src/lib/modes/aead/info.txt4
-rw-r--r--src/lib/modes/aead/ocb/ocb.cpp2
-rw-r--r--src/lib/modes/aead/ocb/ocb.h8
-rw-r--r--src/lib/modes/aead/siv/siv.cpp6
-rw-r--r--src/lib/modes/aead/siv/siv.h8
-rw-r--r--src/lib/modes/cbc/cbc.cpp4
-rw-r--r--src/lib/modes/cbc/cbc.h14
-rw-r--r--src/lib/modes/cfb/cfb.cpp2
-rw-r--r--src/lib/modes/cfb/cfb.h8
-rw-r--r--src/lib/modes/cipher_mode.cpp10
-rw-r--r--src/lib/modes/info.txt5
-rw-r--r--src/lib/modes/mode_pad/mode_pad.cpp2
-rw-r--r--src/lib/modes/mode_pad/mode_pad.h16
-rw-r--r--src/lib/modes/stream_mode.h4
-rw-r--r--src/lib/modes/xts/xts.cpp2
-rw-r--r--src/lib/modes/xts/xts.h8
-rw-r--r--src/lib/passhash/bcrypt/bcrypt.cpp4
-rw-r--r--src/lib/passhash/bcrypt/info.txt4
-rw-r--r--src/lib/passhash/passhash9/info.txt4
-rw-r--r--src/lib/passhash/passhash9/passhash9.cpp2
-rw-r--r--src/lib/pbkdf/argon2/argon2.cpp4
-rw-r--r--src/lib/pbkdf/argon2/argon2fmt.cpp2
-rw-r--r--src/lib/pbkdf/argon2/info.txt4
-rw-r--r--src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp4
-rw-r--r--src/lib/pbkdf/bcrypt_pbkdf/info.txt4
-rw-r--r--src/lib/pbkdf/pbkdf2/info.txt4
-rw-r--r--src/lib/pbkdf/pgp_s2k/info.txt4
-rw-r--r--src/lib/pbkdf/scrypt/info.txt4
-rw-r--r--src/lib/pbkdf/scrypt/scrypt.cpp4
-rw-r--r--src/lib/pk_pad/eme.cpp10
-rw-r--r--src/lib/pk_pad/eme.h6
-rw-r--r--src/lib/pk_pad/eme_oaep/oaep.cpp4
-rw-r--r--src/lib/pk_pad/eme_oaep/oaep.h6
-rw-r--r--src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp2
-rw-r--r--src/lib/pk_pad/eme_pkcs1/eme_pkcs.h6
-rw-r--r--src/lib/pk_pad/eme_raw/eme_raw.cpp2
-rw-r--r--src/lib/pk_pad/eme_raw/eme_raw.h6
-rw-r--r--src/lib/pk_pad/emsa.cpp14
-rw-r--r--src/lib/pk_pad/emsa.h8
-rw-r--r--src/lib/pk_pad/emsa1/emsa1.cpp2
-rw-r--r--src/lib/pk_pad/emsa1/emsa1.h6
-rw-r--r--src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp4
-rw-r--r--src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h8
-rw-r--r--src/lib/pk_pad/emsa_pssr/pssr.cpp4
-rw-r--r--src/lib/pk_pad/emsa_pssr/pssr.h8
-rw-r--r--src/lib/pk_pad/emsa_raw/emsa_raw.cpp2
-rw-r--r--src/lib/pk_pad/emsa_raw/emsa_raw.h6
-rw-r--r--src/lib/pk_pad/emsa_x931/emsa_x931.cpp4
-rw-r--r--src/lib/pk_pad/emsa_x931/emsa_x931.h6
-rw-r--r--src/lib/pk_pad/hash_id/hash_id.cpp2
-rw-r--r--src/lib/pk_pad/hash_id/hash_id.h4
-rw-r--r--src/lib/pk_pad/info.txt9
-rw-r--r--src/lib/pk_pad/iso9796/iso9796.cpp6
-rw-r--r--src/lib/pk_pad/iso9796/iso9796.h8
-rw-r--r--src/lib/pk_pad/mgf1/mgf1.cpp2
-rw-r--r--src/lib/pk_pad/mgf1/mgf1.h2
-rw-r--r--src/lib/prov/commoncrypto/commoncrypto_utils.cpp2
-rw-r--r--src/lib/prov/openssl/openssl_rc4.cpp2
-rw-r--r--src/lib/prov/pkcs11/info.txt4
-rw-r--r--src/lib/prov/pkcs11/p11.cpp2
-rw-r--r--src/lib/prov/pkcs11/p11_ecc_key.cpp2
-rw-r--r--src/lib/prov/pkcs11/p11_ecdh.cpp2
-rw-r--r--src/lib/prov/pkcs11/p11_ecdsa.cpp4
-rw-r--r--src/lib/prov/pkcs11/p11_mechanism.cpp4
-rw-r--r--src/lib/prov/pkcs11/p11_module.cpp2
-rw-r--r--src/lib/prov/pkcs11/p11_module.h15
-rw-r--r--src/lib/prov/pkcs11/p11_rsa.cpp4
-rw-r--r--src/lib/prov/pkcs11/p11_session.h15
-rw-r--r--src/lib/prov/pkcs11/p11_slot.h15
-rw-r--r--src/lib/prov/tpm/info.txt4
-rw-r--r--src/lib/prov/tpm/tpm.cpp6
-rw-r--r--src/lib/psk_db/info.txt4
-rw-r--r--src/lib/psk_db/psk_db_sql.h13
-rw-r--r--src/lib/pubkey/blinding.cpp2
-rw-r--r--src/lib/pubkey/blinding.h4
-rw-r--r--src/lib/pubkey/cecpq1/info.txt4
-rw-r--r--src/lib/pubkey/curve25519/donna.cpp4
-rw-r--r--src/lib/pubkey/dh/dh.cpp2
-rw-r--r--src/lib/pubkey/dl_algo/info.txt4
-rw-r--r--src/lib/pubkey/dl_group/dl_group.cpp6
-rw-r--r--src/lib/pubkey/dl_group/info.txt4
-rw-r--r--src/lib/pubkey/dlies/info.txt4
-rw-r--r--src/lib/pubkey/dsa/dsa.cpp8
-rw-r--r--src/lib/pubkey/dsa/info.txt4
-rw-r--r--src/lib/pubkey/ec_group/curve_gfp.cpp2
-rw-r--r--src/lib/pubkey/ecc_key/ecc_key.cpp2
-rw-r--r--src/lib/pubkey/ecc_key/info.txt4
-rw-r--r--src/lib/pubkey/ecdh/info.txt4
-rw-r--r--src/lib/pubkey/ecdsa/ecdsa.cpp6
-rw-r--r--src/lib/pubkey/ecdsa/info.txt4
-rw-r--r--src/lib/pubkey/ecgdsa/ecgdsa.cpp2
-rw-r--r--src/lib/pubkey/ecgdsa/info.txt4
-rw-r--r--src/lib/pubkey/ecies/info.txt4
-rw-r--r--src/lib/pubkey/eckcdsa/eckcdsa.cpp4
-rw-r--r--src/lib/pubkey/eckcdsa/info.txt4
-rw-r--r--src/lib/pubkey/ed25519/ed25519.cpp2
-rw-r--r--src/lib/pubkey/ed25519/ed25519_internal.h2
-rw-r--r--src/lib/pubkey/elgamal/elgamal.cpp4
-rw-r--r--src/lib/pubkey/elgamal/info.txt4
-rw-r--r--src/lib/pubkey/gost_3410/info.txt4
-rw-r--r--src/lib/pubkey/info.txt6
-rw-r--r--src/lib/pubkey/keypair/info.txt9
-rw-r--r--src/lib/pubkey/keypair/keypair.cpp2
-rw-r--r--src/lib/pubkey/keypair/keypair.h6
-rw-r--r--src/lib/pubkey/mce/code_based_key_gen.cpp2
-rw-r--r--src/lib/pubkey/mce/code_based_util.h2
-rw-r--r--src/lib/pubkey/mce/gf2m_small_m.cpp2
-rw-r--r--src/lib/pubkey/mce/info.txt2
-rw-r--r--src/lib/pubkey/mce/mce_internal.h2
-rw-r--r--src/lib/pubkey/mce/mceliece_key.cpp2
-rw-r--r--src/lib/pubkey/mce/polyn_gf2m.cpp2
-rw-r--r--src/lib/pubkey/newhope/info.txt4
-rw-r--r--src/lib/pubkey/newhope/newhope.cpp2
-rw-r--r--src/lib/pubkey/pbes2/info.txt4
-rw-r--r--src/lib/pubkey/pbes2/pbes2.cpp4
-rw-r--r--src/lib/pubkey/pbes2/pbes2.h50
-rw-r--r--src/lib/pubkey/pem/info.txt4
-rw-r--r--src/lib/pubkey/pk_algs.cpp2
-rw-r--r--src/lib/pubkey/pk_keys.cpp2
-rw-r--r--src/lib/pubkey/pk_ops.h14
-rw-r--r--src/lib/pubkey/pk_ops_impl.h6
-rw-r--r--src/lib/pubkey/pkcs8.cpp2
-rw-r--r--src/lib/pubkey/pubkey.cpp2
-rw-r--r--src/lib/pubkey/rfc6979/info.txt4
-rw-r--r--src/lib/pubkey/rfc6979/rfc6979.cpp2
-rw-r--r--src/lib/pubkey/rfc6979/rfc6979.h13
-rw-r--r--src/lib/pubkey/rsa/info.txt4
-rw-r--r--src/lib/pubkey/rsa/rsa.cpp10
-rw-r--r--src/lib/pubkey/sm2/info.txt4
-rw-r--r--src/lib/pubkey/sm2/sm2.cpp6
-rw-r--r--src/lib/pubkey/sm2/sm2_enc.cpp2
-rw-r--r--src/lib/pubkey/sm2/sm2_enc.h15
-rw-r--r--src/lib/pubkey/workfactor.cpp2
-rw-r--r--src/lib/pubkey/xmss/atomic.h2
-rw-r--r--src/lib/pubkey/xmss/info.txt7
-rw-r--r--src/lib/pubkey/xmss/xmss_common_ops.cpp1
-rw-r--r--src/lib/pubkey/xmss/xmss_common_ops.h5
-rw-r--r--src/lib/pubkey/xmss/xmss_index_registry.h2
-rw-r--r--src/lib/pubkey/xmss/xmss_key_pair.h49
-rw-r--r--src/lib/pubkey/xmss/xmss_privatekey.h13
-rw-r--r--src/lib/pubkey/xmss/xmss_publickey.h14
-rw-r--r--src/lib/pubkey/xmss/xmss_signature_operation.h2
-rw-r--r--src/lib/pubkey/xmss/xmss_tools.h2
-rw-r--r--src/lib/pubkey/xmss/xmss_verification_operation.h4
-rw-r--r--src/lib/pubkey/xmss/xmss_wots_parameters.h14
-rw-r--r--src/lib/pubkey/xmss/xmss_wots_privatekey.h15
-rw-r--r--src/lib/pubkey/xmss/xmss_wots_publickey.h14
-rw-r--r--src/lib/rng/auto_rng/info.txt4
-rw-r--r--src/lib/rng/chacha_rng/info.txt4
-rw-r--r--src/lib/rng/hmac_drbg/info.txt4
-rw-r--r--src/lib/rng/info.txt4
-rw-r--r--src/lib/rng/processor_rng/info.txt4
-rw-r--r--src/lib/rng/processor_rng/processor_rng.cpp2
-rw-r--r--src/lib/rng/rdrand_rng/info.txt13
-rw-r--r--src/lib/rng/rdrand_rng/rdrand_rng.cpp67
-rw-r--r--src/lib/rng/rdrand_rng/rdrand_rng.h68
-rw-r--r--src/lib/rng/rng.cpp2
-rw-r--r--src/lib/rng/stateful_rng/info.txt4
-rw-r--r--src/lib/rng/stateful_rng/stateful_rng.cpp2
-rw-r--r--src/lib/rng/system_rng/info.txt4
-rw-r--r--src/lib/rng/system_rng/system_rng.cpp2
-rw-r--r--src/lib/stream/chacha/chacha.cpp6
-rw-r--r--src/lib/stream/chacha/chacha.h4
-rw-r--r--src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp2
-rw-r--r--src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp2
-rw-r--r--src/lib/stream/ctr/ctr.cpp4
-rw-r--r--src/lib/stream/ctr/ctr.h4
-rw-r--r--src/lib/stream/ofb/ofb.cpp2
-rw-r--r--src/lib/stream/ofb/ofb.h4
-rw-r--r--src/lib/stream/rc4/rc4.cpp2
-rw-r--r--src/lib/stream/rc4/rc4.h4
-rw-r--r--src/lib/stream/salsa20/salsa20.cpp6
-rw-r--r--src/lib/stream/salsa20/salsa20.h4
-rw-r--r--src/lib/stream/shake_cipher/shake_cipher.cpp6
-rw-r--r--src/lib/stream/shake_cipher/shake_cipher.h4
-rw-r--r--src/lib/stream/stream_cipher.cpp12
-rw-r--r--src/lib/tls/info.txt1
-rw-r--r--src/lib/tls/msg_certificate.cpp2
-rw-r--r--src/lib/tls/msg_server_kex.cpp2
-rw-r--r--src/lib/tls/msg_session_ticket.cpp2
-rw-r--r--src/lib/tls/sessions_sql/info.txt4
-rw-r--r--src/lib/tls/sessions_sql/tls_session_manager_sql.cpp2
-rw-r--r--src/lib/tls/sessions_sqlite3/info.txt4
-rw-r--r--src/lib/tls/tls_blocking.cpp97
-rw-r--r--src/lib/tls/tls_blocking.h103
-rw-r--r--src/lib/tls/tls_cbc/tls_cbc.cpp4
-rw-r--r--src/lib/tls/tls_channel.cpp2
-rw-r--r--src/lib/tls/tls_ciphersuite.cpp2
-rw-r--r--src/lib/tls/tls_handshake_io.cpp2
-rw-r--r--src/lib/tls/tls_reader.h2
-rw-r--r--src/lib/tls/tls_record.cpp2
-rw-r--r--src/lib/tls/tls_session.cpp2
-rw-r--r--src/lib/tls/tls_text_policy.cpp2
-rw-r--r--src/lib/utils/bswap.h2
-rw-r--r--src/lib/utils/calendar.cpp8
-rw-r--r--src/lib/utils/calendar.h23
-rw-r--r--src/lib/utils/charset.cpp35
-rw-r--r--src/lib/utils/charset.h44
-rw-r--r--src/lib/utils/cpuid/cpuid.cpp2
-rw-r--r--src/lib/utils/cpuid/cpuid_x86.cpp2
-rw-r--r--src/lib/utils/donna128.h2
-rw-r--r--src/lib/utils/dyn_load/dyn_load.cpp2
-rw-r--r--src/lib/utils/dyn_load/dyn_load.h2
-rw-r--r--src/lib/utils/filesystem.h2
-rw-r--r--src/lib/utils/ghash/ghash.cpp4
-rw-r--r--src/lib/utils/ghash/ghash.h19
-rw-r--r--src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp2
-rw-r--r--src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp2
-rw-r--r--src/lib/utils/http_util/http_util.cpp2
-rw-r--r--src/lib/utils/info.txt15
-rw-r--r--src/lib/utils/loadstor.h4
-rw-r--r--src/lib/utils/locking_allocator/locking_allocator.cpp2
-rw-r--r--src/lib/utils/locking_allocator/locking_allocator.h4
-rw-r--r--src/lib/utils/mem_ops.cpp2
-rw-r--r--src/lib/utils/mul128.h2
-rw-r--r--src/lib/utils/parsing.cpp85
-rw-r--r--src/lib/utils/parsing.h79
-rw-r--r--src/lib/utils/poly_dbl/poly_dbl.cpp2
-rw-r--r--src/lib/utils/read_cfg.cpp2
-rw-r--r--src/lib/utils/read_kv.cpp2
-rw-r--r--src/lib/utils/rotate.h19
-rw-r--r--src/lib/utils/safeint.h2
-rw-r--r--src/lib/utils/simd/simd_32.h4
-rw-r--r--src/lib/utils/stl_compatibility.h80
-rw-r--r--src/lib/utils/uuid/info.txt4
-rw-r--r--src/lib/x509/asn1_alt_name.cpp4
-rw-r--r--src/lib/x509/asn1_alt_name.h11
-rw-r--r--src/lib/x509/asn1_attribute.h11
-rw-r--r--src/lib/x509/cert_status.h11
-rw-r--r--src/lib/x509/certstor_sql/info.txt4
-rw-r--r--src/lib/x509/certstor_sqlite3/info.txt4
-rw-r--r--src/lib/x509/certstor_system/info.txt4
-rw-r--r--src/lib/x509/crl_ent.h11
-rw-r--r--src/lib/x509/datastor.cpp4
-rw-r--r--src/lib/x509/datastor.h6
-rw-r--r--src/lib/x509/info.txt19
-rw-r--r--src/lib/x509/key_constraint.h11
-rw-r--r--src/lib/x509/name_constraint.cpp4
-rw-r--r--src/lib/x509/name_constraint.h11
-rw-r--r--src/lib/x509/ocsp.cpp2
-rw-r--r--src/lib/x509/ocsp_types.h11
-rw-r--r--src/lib/x509/x509_ca.cpp4
-rw-r--r--src/lib/x509/x509_dn.cpp2
-rw-r--r--src/lib/x509/x509_dn.h11
-rw-r--r--src/lib/x509/x509_ext.cpp4
-rw-r--r--src/lib/x509/x509_obj.cpp4
-rw-r--r--src/lib/x509/x509cert.cpp4
-rw-r--r--src/lib/x509/x509opt.cpp2
477 files changed, 1045 insertions, 2447 deletions
diff --git a/src/lib/asn1/alg_id.h b/src/lib/asn1/alg_id.h
deleted file mode 100644
index 88e54466d..000000000
--- a/src/lib/asn1/alg_id.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Algorithm Identifier
-* (C) 1999-2007 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_ALGORITHM_IDENTIFIER_H_
-#define BOTAN_ALGORITHM_IDENTIFIER_H_
-
-#include <botan/asn1_obj.h>
-BOTAN_DEPRECATED_HEADER(alg_id.h)
-
-#endif
diff --git a/src/lib/asn1/asn1_oid.cpp b/src/lib/asn1/asn1_oid.cpp
index 7338886f6..f9a5e3b8c 100644
--- a/src/lib/asn1/asn1_oid.cpp
+++ b/src/lib/asn1/asn1_oid.cpp
@@ -9,7 +9,7 @@
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/internal/bit_ops.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/oids.h>
#include <algorithm>
#include <sstream>
diff --git a/src/lib/asn1/asn1_oid.h b/src/lib/asn1/asn1_oid.h
deleted file mode 100644
index 91c5da9d8..000000000
--- a/src/lib/asn1/asn1_oid.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* ASN.1 OID
-* (C) 1999-2007,2019 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_ASN1_OID_H_
-#define BOTAN_ASN1_OID_H_
-
-#include <botan/asn1_obj.h>
-BOTAN_DEPRECATED_HEADER(asn1_oid.h)
-
-#endif
diff --git a/src/lib/asn1/asn1_str.cpp b/src/lib/asn1/asn1_str.cpp
index 6a31c5bb2..227a73fce 100644
--- a/src/lib/asn1/asn1_str.cpp
+++ b/src/lib/asn1/asn1_str.cpp
@@ -8,7 +8,7 @@
#include <botan/asn1_obj.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
-#include <botan/charset.h>
+#include <botan/internal/charset.h>
namespace Botan {
diff --git a/src/lib/asn1/asn1_str.h b/src/lib/asn1/asn1_str.h
deleted file mode 100644
index fed4950cc..000000000
--- a/src/lib/asn1/asn1_str.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* ASN.1 string type
-* (C) 1999-2010 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_ASN1_STRING_H_
-#define BOTAN_ASN1_STRING_H_
-
-#include <botan/asn1_obj.h>
-BOTAN_DEPRECATED_HEADER(asn1_str.h)
-
-#endif
diff --git a/src/lib/asn1/asn1_time.cpp b/src/lib/asn1/asn1_time.cpp
index 004be27b9..719e79277 100644
--- a/src/lib/asn1/asn1_time.cpp
+++ b/src/lib/asn1/asn1_time.cpp
@@ -9,8 +9,8 @@
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/exceptn.h>
-#include <botan/parsing.h>
-#include <botan/calendar.h>
+#include <botan/internal/parsing.h>
+#include <botan/internal/calendar.h>
#include <sstream>
#include <iomanip>
diff --git a/src/lib/asn1/asn1_time.h b/src/lib/asn1/asn1_time.h
deleted file mode 100644
index 55ef82e05..000000000
--- a/src/lib/asn1/asn1_time.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* ASN.1 Time Representation
-* (C) 1999-2007,2012 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_ASN1_TIME_H_
-#define BOTAN_ASN1_TIME_H_
-
-#include <botan/asn1_obj.h>
-BOTAN_DEPRECATED_HEADER(asn1_time.h)
-
-#endif
diff --git a/src/lib/asn1/ber_dec.cpp b/src/lib/asn1/ber_dec.cpp
index c5af2f933..8ccd80c2a 100644
--- a/src/lib/asn1/ber_dec.cpp
+++ b/src/lib/asn1/ber_dec.cpp
@@ -7,7 +7,7 @@
#include <botan/ber_dec.h>
#include <botan/bigint.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/safeint.h>
namespace Botan {
diff --git a/src/lib/asn1/der_enc.cpp b/src/lib/asn1/der_enc.cpp
index 056766f43..88534efef 100644
--- a/src/lib/asn1/der_enc.cpp
+++ b/src/lib/asn1/der_enc.cpp
@@ -8,7 +8,7 @@
#include <botan/der_enc.h>
#include <botan/asn1_obj.h>
#include <botan/bigint.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/bit_ops.h>
#include <algorithm>
diff --git a/src/lib/asn1/info.txt b/src/lib/asn1/info.txt
index 4772e1ca7..b7ba9c70b 100644
--- a/src/lib/asn1/info.txt
+++ b/src/lib/asn1/info.txt
@@ -5,3 +5,11 @@ ASN1 -> 20171109
<requires>
bigint
</requires>
+
+<header:public>
+asn1_print.h
+asn1_obj.h
+der_enc.h
+oids.h
+ber_dec.h
+</header:public>
diff --git a/src/lib/base/botan.h b/src/lib/base/botan.h
deleted file mode 100644
index a473e8fbf..000000000
--- a/src/lib/base/botan.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-* A vague catch all include file for Botan
-* (C) 1999-2007 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_BOTAN_H_
-#define BOTAN_BOTAN_H_
-
-/*
-* There is no real reason for this header to exist beyond historical
-* reasons. The application should instead include the specific header
-* files that define the interfaces it intends to use.
-*
-* This header file will be removed in Botan 3.x
-*/
-
-#include <botan/lookup.h>
-#include <botan/version.h>
-#include <botan/parsing.h>
-#include <botan/init.h>
-#include <botan/rng.h>
-#include <botan/secmem.h>
-
-#if defined(BOTAN_HAS_AUTO_SEEDING_RNG)
- #include <botan/auto_rng.h>
-#endif
-
-#if defined(BOTAN_HAS_FILTERS)
- #include <botan/filters.h>
-#endif
-
-#if defined(BOTAN_HAS_PUBLIC_KEY_CRYPTO)
- #include <botan/x509_key.h>
- #include <botan/pkcs8.h>
-#endif
-
-BOTAN_DEPRECATED_HEADER(botan.h)
-
-#endif
diff --git a/src/lib/base/buf_comp.cpp b/src/lib/base/buf_comp.cpp
index e9a33c9d7..30eaaaa12 100644
--- a/src/lib/base/buf_comp.cpp
+++ b/src/lib/base/buf_comp.cpp
@@ -5,7 +5,7 @@
*/
#include <botan/buf_comp.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/base/info.txt b/src/lib/base/info.txt
index fd3f7b890..3bb3d9501 100644
--- a/src/lib/base/info.txt
+++ b/src/lib/base/info.txt
@@ -1,9 +1,5 @@
<header:public>
-botan.h
buf_comp.h
-init.h
-key_spec.h
-lookup.h
secmem.h
scan_name.h
sym_algo.h
diff --git a/src/lib/base/init.h b/src/lib/base/init.h
deleted file mode 100644
index 668650846..000000000
--- a/src/lib/base/init.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-* Library Initialization
-* (C) 1999-2008,2015 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_LIBRARY_INITIALIZER_H_
-#define BOTAN_LIBRARY_INITIALIZER_H_
-
-#include <botan/types.h>
-#include <string>
-
-namespace Botan {
-
-BOTAN_DEPRECATED_HEADER(init.h)
-
-/*
-* Previously botan had state whose lifetime had to be explicitly
-* managed by the application. As of 1.11.14 this is no longer the
-* case, and this class is no longer needed and kept only for backwards
-* compatibility.
-*/
-class BOTAN_PUBLIC_API(2,0) BOTAN_DEPRECATED("LibraryInitializer is no longer required") LibraryInitializer final
- {
- public:
- explicit LibraryInitializer(const std::string& /*ignored*/ = "") { }
-
- static void initialize(const std::string& /*ignored*/ = "") {}
- static void deinitialize() {}
- };
-
-}
-
-#endif
diff --git a/src/lib/base/key_spec.h b/src/lib/base/key_spec.h
deleted file mode 100644
index 85dcebe37..000000000
--- a/src/lib/base/key_spec.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Symmetric Key Length Specification
-* (C) 2010 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_KEY_LEN_SPECIFICATION_H_
-#define BOTAN_KEY_LEN_SPECIFICATION_H_
-
-#include <botan/sym_algo.h>
-BOTAN_DEPRECATED_HEADER(key_spec.h)
-
-#endif
diff --git a/src/lib/base/lookup.h b/src/lib/base/lookup.h
deleted file mode 100644
index 4a14230db..000000000
--- a/src/lib/base/lookup.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-* Algorithm Lookup
-* (C) 1999-2007,2015 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_LOOKUP_H_
-#define BOTAN_LOOKUP_H_
-
-#include <botan/build.h>
-#include <botan/exceptn.h>
-#include <string>
-#include <vector>
-#include <memory>
-
-#if defined(BOTAN_HAS_BLOCK_CIPHER)
- #include <botan/block_cipher.h>
-#endif
-
-#if defined(BOTAN_HAS_STREAM_CIPHER)
- #include <botan/stream_cipher.h>
-#endif
-
-#if defined(BOTAN_HAS_HASH)
- #include <botan/hash.h>
-#endif
-
-#if defined(BOTAN_HAS_MAC)
- #include <botan/mac.h>
-#endif
-
-namespace Botan {
-
-BOTAN_DEPRECATED_HEADER(lookup.h)
-
-/*
-* As of 1.11.26 this header is deprecated. Instead use the calls T::create and
-* T::providers (as demonstrated in the implementation below).
-*/
-
-/*
-* Get an algorithm object
-* NOTE: these functions create and return new objects, letting the
-* caller assume ownership of them
-*/
-
-#if defined(BOTAN_HAS_BLOCK_CIPHER)
-
-/**
-* Block cipher factory method.
-*
-* @param algo_spec the name of the desired block cipher
-* @param provider the provider to use
-* @return pointer to the block cipher object
-*/
-BOTAN_DEPRECATED("Use BlockCipher::create")
-inline BlockCipher* get_block_cipher(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return BlockCipher::create(algo_spec, provider).release();
- }
-
-BOTAN_DEPRECATED("Use BlockCipher::create_or_throw")
-inline std::unique_ptr<BlockCipher> make_block_cipher(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return BlockCipher::create_or_throw(algo_spec, provider);
- }
-
-BOTAN_DEPRECATED("Use BlockCipher::providers")
-inline std::vector<std::string> get_block_cipher_providers(const std::string& algo_spec)
- {
- return BlockCipher::providers(algo_spec);
- }
-
-#endif
-
-#if defined(BOTAN_HAS_STREAM_CIPHER)
-
-/**
-* Stream cipher factory method.
-*
-* @param algo_spec the name of the desired stream cipher
-* @param provider the provider to use
-* @return pointer to the stream cipher object
-*/
-BOTAN_DEPRECATED("Use StreamCipher::create")
-inline StreamCipher* get_stream_cipher(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return StreamCipher::create(algo_spec, provider).release();
- }
-
-BOTAN_DEPRECATED("Use StreamCipher::create_or_throw")
-inline std::unique_ptr<StreamCipher> make_stream_cipher(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return StreamCipher::create_or_throw(algo_spec, provider);
- }
-
-BOTAN_DEPRECATED("Use StreamCipher::providers")
-inline std::vector<std::string> get_stream_cipher_providers(const std::string& algo_spec)
- {
- return StreamCipher::providers(algo_spec);
- }
-
-#endif
-
-#if defined(BOTAN_HAS_HASH)
-
-/**
-* Hash function factory method.
-*
-* @param algo_spec the name of the desired hash function
-* @param provider the provider to use
-* @return pointer to the hash function object
-*/
-BOTAN_DEPRECATED("Use HashFunction::create")
-inline HashFunction* get_hash_function(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return HashFunction::create(algo_spec, provider).release();
- }
-
-BOTAN_DEPRECATED("Use HashFunction::create_or_throw")
-inline std::unique_ptr<HashFunction> make_hash_function(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return HashFunction::create_or_throw(algo_spec, provider);
- }
-
-BOTAN_DEPRECATED("Use HashFunction::create")
-inline HashFunction* get_hash(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return HashFunction::create(algo_spec, provider).release();
- }
-
-BOTAN_DEPRECATED("Use HashFunction::providers")
-inline std::vector<std::string> get_hash_function_providers(const std::string& algo_spec)
- {
- return HashFunction::providers(algo_spec);
- }
-
-#endif
-
-#if defined(BOTAN_HAS_MAC)
-/**
-* MAC factory method.
-*
-* @param algo_spec the name of the desired MAC
-* @param provider the provider to use
-* @return pointer to the MAC object
-*/
-BOTAN_DEPRECATED("MessageAuthenticationCode::create")
-inline MessageAuthenticationCode* get_mac(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return MessageAuthenticationCode::create(algo_spec, provider).release();
- }
-
-BOTAN_DEPRECATED("MessageAuthenticationCode::create_or_throw")
-inline std::unique_ptr<MessageAuthenticationCode> make_message_auth(const std::string& algo_spec,
- const std::string& provider = "")
- {
- return MessageAuthenticationCode::create(algo_spec, provider);
- }
-
-BOTAN_DEPRECATED("MessageAuthenticationCode::providers")
-inline std::vector<std::string> get_mac_providers(const std::string& algo_spec)
- {
- return MessageAuthenticationCode::providers(algo_spec);
- }
-#endif
-
-}
-
-#endif
diff --git a/src/lib/base/scan_name.cpp b/src/lib/base/scan_name.cpp
index 0d6917491..4ea2f3dcd 100644
--- a/src/lib/base/scan_name.cpp
+++ b/src/lib/base/scan_name.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/scan_name.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/block/aes/aes.cpp b/src/lib/block/aes/aes.cpp
index 88d6e9027..72acfa0c9 100644
--- a/src/lib/block/aes/aes.cpp
+++ b/src/lib/block/aes/aes.cpp
@@ -4,10 +4,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/aes.h>
-#include <botan/loadstor.h>
+#include <botan/internal/aes.h>
+#include <botan/internal/loadstor.h>
#include <botan/cpuid.h>
-#include <botan/rotate.h>
+#include <botan/internal/rotate.h>
#include <botan/internal/bit_ops.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/block/aes/aes.h b/src/lib/block/aes/aes.h
index 76248200d..f454fd857 100644
--- a/src/lib/block/aes/aes.h
+++ b/src/lib/block/aes/aes.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(aes.h)
-
namespace Botan {
/**
* AES-128
*/
-class BOTAN_PUBLIC_API(2,0) AES_128 final : public Block_Cipher_Fixed_Params<16, 16>
+class AES_128 final : public Block_Cipher_Fixed_Params<16, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -54,7 +52,7 @@ class BOTAN_PUBLIC_API(2,0) AES_128 final : public Block_Cipher_Fixed_Params<16,
/**
* AES-192
*/
-class BOTAN_PUBLIC_API(2,0) AES_192 final : public Block_Cipher_Fixed_Params<16, 24>
+class AES_192 final : public Block_Cipher_Fixed_Params<16, 24>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -91,7 +89,7 @@ class BOTAN_PUBLIC_API(2,0) AES_192 final : public Block_Cipher_Fixed_Params<16,
/**
* AES-256
*/
-class BOTAN_PUBLIC_API(2,0) AES_256 final : public Block_Cipher_Fixed_Params<16, 32>
+class AES_256 final : public Block_Cipher_Fixed_Params<16, 32>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/aes/aes_armv8/aes_armv8.cpp b/src/lib/block/aes/aes_armv8/aes_armv8.cpp
index 9766bf88c..7aeea2bdd 100644
--- a/src/lib/block/aes/aes_armv8/aes_armv8.cpp
+++ b/src/lib/block/aes/aes_armv8/aes_armv8.cpp
@@ -8,8 +8,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/aes.h>
-#include <botan/loadstor.h>
+#include <botan/internal/aes.h>
+#include <botan/internal/loadstor.h>
#include <arm_neon.h>
namespace Botan {
diff --git a/src/lib/block/aes/aes_ni/aes_ni.cpp b/src/lib/block/aes/aes_ni/aes_ni.cpp
index 76c695f32..0baf41aef 100644
--- a/src/lib/block/aes/aes_ni/aes_ni.cpp
+++ b/src/lib/block/aes/aes_ni/aes_ni.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/aes.h>
-#include <botan/loadstor.h>
+#include <botan/internal/aes.h>
+#include <botan/internal/loadstor.h>
#include <wmmintrin.h>
namespace Botan {
diff --git a/src/lib/block/aes/aes_power8/aes_power8.cpp b/src/lib/block/aes/aes_power8/aes_power8.cpp
index 8ab784a50..710b627f8 100644
--- a/src/lib/block/aes/aes_power8/aes_power8.cpp
+++ b/src/lib/block/aes/aes_power8/aes_power8.cpp
@@ -9,7 +9,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/aes.h>
+#include <botan/internal/aes.h>
#include <botan/cpuid.h>
#include <altivec.h>
diff --git a/src/lib/block/aes/aes_vperm/aes_vperm.cpp b/src/lib/block/aes/aes_vperm/aes_vperm.cpp
index 3c71421b6..9ced89d72 100644
--- a/src/lib/block/aes/aes_vperm/aes_vperm.cpp
+++ b/src/lib/block/aes/aes_vperm/aes_vperm.cpp
@@ -10,7 +10,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/aes.h>
+#include <botan/internal/aes.h>
#include <botan/internal/ct_utils.h>
#include <botan/internal/simd_32.h>
diff --git a/src/lib/block/aria/aria.cpp b/src/lib/block/aria/aria.cpp
index 23a8657a1..565f25462 100644
--- a/src/lib/block/aria/aria.cpp
+++ b/src/lib/block/aria/aria.cpp
@@ -16,9 +16,9 @@
* Internet & Security Agency homepage</A>
*/
-#include <botan/aria.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/aria.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/block/aria/aria.h b/src/lib/block/aria/aria.h
index 507226b7d..fc0522275 100644
--- a/src/lib/block/aria/aria.h
+++ b/src/lib/block/aria/aria.h
@@ -18,14 +18,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(aria.h)
-
namespace Botan {
/**
* ARIA-128
*/
-class BOTAN_PUBLIC_API(2,3) ARIA_128 final : public Block_Cipher_Fixed_Params<16, 16>
+class ARIA_128 final : public Block_Cipher_Fixed_Params<16, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -44,7 +42,7 @@ class BOTAN_PUBLIC_API(2,3) ARIA_128 final : public Block_Cipher_Fixed_Params<16
/**
* ARIA-192
*/
-class BOTAN_PUBLIC_API(2,3) ARIA_192 final : public Block_Cipher_Fixed_Params<16, 24>
+class ARIA_192 final : public Block_Cipher_Fixed_Params<16, 24>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -63,7 +61,7 @@ class BOTAN_PUBLIC_API(2,3) ARIA_192 final : public Block_Cipher_Fixed_Params<16
/**
* ARIA-256
*/
-class BOTAN_PUBLIC_API(2,3) ARIA_256 final : public Block_Cipher_Fixed_Params<16, 32>
+class ARIA_256 final : public Block_Cipher_Fixed_Params<16, 32>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/aria/info.txt b/src/lib/block/aria/info.txt
index 78c16726c..c94c4a464 100644
--- a/src/lib/block/aria/info.txt
+++ b/src/lib/block/aria/info.txt
@@ -1,7 +1,3 @@
<defines>
ARIA -> 20170415
</defines>
-
-<header:public>
-aria.h
-</header:public>
diff --git a/src/lib/block/block_cipher.cpp b/src/lib/block/block_cipher.cpp
index 1883d477c..2450ead96 100644
--- a/src/lib/block/block_cipher.cpp
+++ b/src/lib/block/block_cipher.cpp
@@ -10,71 +10,71 @@
#include <botan/exceptn.h>
#if defined(BOTAN_HAS_AES)
- #include <botan/aes.h>
+ #include <botan/internal/aes.h>
#endif
#if defined(BOTAN_HAS_ARIA)
- #include <botan/aria.h>
+ #include <botan/internal/aria.h>
#endif
#if defined(BOTAN_HAS_BLOWFISH)
- #include <botan/blowfish.h>
+ #include <botan/internal/blowfish.h>
#endif
#if defined(BOTAN_HAS_CAMELLIA)
- #include <botan/camellia.h>
+ #include <botan/internal/camellia.h>
#endif
#if defined(BOTAN_HAS_CAST_128)
- #include <botan/cast128.h>
+ #include <botan/internal/cast128.h>
#endif
#if defined(BOTAN_HAS_CASCADE)
- #include <botan/cascade.h>
+ #include <botan/internal/cascade.h>
#endif
#if defined(BOTAN_HAS_DES)
- #include <botan/des.h>
+ #include <botan/internal/des.h>
#endif
#if defined(BOTAN_HAS_GOST_28147_89)
- #include <botan/gost_28147.h>
+ #include <botan/internal/gost_28147.h>
#endif
#if defined(BOTAN_HAS_IDEA)
- #include <botan/idea.h>
+ #include <botan/internal/idea.h>
#endif
#if defined(BOTAN_HAS_LION)
- #include <botan/lion.h>
+ #include <botan/internal/lion.h>
#endif
#if defined(BOTAN_HAS_NOEKEON)
- #include <botan/noekeon.h>
+ #include <botan/internal/noekeon.h>
#endif
#if defined(BOTAN_HAS_SEED)
- #include <botan/seed.h>
+ #include <botan/internal/seed.h>
#endif
#if defined(BOTAN_HAS_SERPENT)
- #include <botan/serpent.h>
+ #include <botan/internal/serpent.h>
#endif
#if defined(BOTAN_HAS_SHACAL2)
- #include <botan/shacal2.h>
+ #include <botan/internal/shacal2.h>
#endif
#if defined(BOTAN_HAS_SM4)
- #include <botan/sm4.h>
+ #include <botan/internal/sm4.h>
#endif
#if defined(BOTAN_HAS_TWOFISH)
- #include <botan/twofish.h>
+ #include <botan/internal/twofish.h>
#endif
#if defined(BOTAN_HAS_THREEFISH_512)
- #include <botan/threefish_512.h>
+ #include <botan/internal/threefish_512.h>
#endif
#if defined(BOTAN_HAS_OPENSSL)
diff --git a/src/lib/block/blowfish/blowfish.cpp b/src/lib/block/blowfish/blowfish.cpp
index ecb9f82e3..34e49c424 100644
--- a/src/lib/block/blowfish/blowfish.cpp
+++ b/src/lib/block/blowfish/blowfish.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/blowfish.h>
-#include <botan/loadstor.h>
+#include <botan/internal/blowfish.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/block/blowfish/blowfish.h b/src/lib/block/blowfish/blowfish.h
index 3ba39cbdb..8ead03e51 100644
--- a/src/lib/block/blowfish/blowfish.h
+++ b/src/lib/block/blowfish/blowfish.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(blowfish.h)
-
namespace Botan {
/**
* Blowfish
*/
-class BOTAN_PUBLIC_API(2,0) Blowfish final : public Block_Cipher_Fixed_Params<8, 1, 56>
+class BOTAN_TEST_API Blowfish final : public Block_Cipher_Fixed_Params<8, 1, 56>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -30,13 +28,6 @@ class BOTAN_PUBLIC_API(2,0) Blowfish final : public Block_Cipher_Fixed_Params<8,
const uint8_t salt[], size_t salt_length,
const size_t workfactor, bool salt_first = false);
- BOTAN_DEPRECATED("Use Blowfish::salted_set_key taking salt length")
- void eks_key_schedule(const uint8_t key[], size_t key_length,
- const uint8_t salt[16], size_t workfactor)
- {
- salted_set_key(key, key_length, salt, 16, workfactor);
- }
-
void clear() override;
std::string name() const override { return "Blowfish"; }
BlockCipher* clone() const override { return new Blowfish; }
diff --git a/src/lib/block/camellia/camellia.cpp b/src/lib/block/camellia/camellia.cpp
index 31aafd838..c9d82944f 100644
--- a/src/lib/block/camellia/camellia.cpp
+++ b/src/lib/block/camellia/camellia.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/camellia.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/camellia.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/block/camellia/camellia.h b/src/lib/block/camellia/camellia.h
index 4995eb0c9..421b1ed7c 100644
--- a/src/lib/block/camellia/camellia.h
+++ b/src/lib/block/camellia/camellia.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(camellia.h)
-
namespace Botan {
/**
* Camellia-128
*/
-class BOTAN_PUBLIC_API(2,0) Camellia_128 final : public Block_Cipher_Fixed_Params<16, 16>
+class Camellia_128 final : public Block_Cipher_Fixed_Params<16, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -35,7 +33,7 @@ class BOTAN_PUBLIC_API(2,0) Camellia_128 final : public Block_Cipher_Fixed_Param
/**
* Camellia-192
*/
-class BOTAN_PUBLIC_API(2,0) Camellia_192 final : public Block_Cipher_Fixed_Params<16, 24>
+class Camellia_192 final : public Block_Cipher_Fixed_Params<16, 24>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -53,7 +51,7 @@ class BOTAN_PUBLIC_API(2,0) Camellia_192 final : public Block_Cipher_Fixed_Param
/**
* Camellia-256
*/
-class BOTAN_PUBLIC_API(2,0) Camellia_256 final : public Block_Cipher_Fixed_Params<16, 32>
+class Camellia_256 final : public Block_Cipher_Fixed_Params<16, 32>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/camellia/info.txt b/src/lib/block/camellia/info.txt
index c70a7f345..c3a07531c 100644
--- a/src/lib/block/camellia/info.txt
+++ b/src/lib/block/camellia/info.txt
@@ -1,7 +1,3 @@
<defines>
CAMELLIA -> 20150922
</defines>
-
-<header:public>
-camellia.h
-</header:public>
diff --git a/src/lib/block/cascade/cascade.cpp b/src/lib/block/cascade/cascade.cpp
index 6607fd5b2..8dbc850fe 100644
--- a/src/lib/block/cascade/cascade.cpp
+++ b/src/lib/block/cascade/cascade.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/cascade.h>
+#include <botan/internal/cascade.h>
namespace Botan {
diff --git a/src/lib/block/cascade/cascade.h b/src/lib/block/cascade/cascade.h
index 26f513381..b5f9b5653 100644
--- a/src/lib/block/cascade/cascade.h
+++ b/src/lib/block/cascade/cascade.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(cascade.h)
-
namespace Botan {
/**
* Block Cipher Cascade
*/
-class BOTAN_PUBLIC_API(2,0) Cascade_Cipher final : public BlockCipher
+class Cascade_Cipher final : public BlockCipher
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/cascade/info.txt b/src/lib/block/cascade/info.txt
index 15f5b2262..f0ef89fb9 100644
--- a/src/lib/block/cascade/info.txt
+++ b/src/lib/block/cascade/info.txt
@@ -1,7 +1,3 @@
<defines>
CASCADE -> 20131128
</defines>
-
-<header:public>
-cascade.h
-</header:public>
diff --git a/src/lib/block/cast128/cast128.cpp b/src/lib/block/cast128/cast128.cpp
index c5b66992b..1c9dcaf9e 100644
--- a/src/lib/block/cast128/cast128.cpp
+++ b/src/lib/block/cast128/cast128.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/cast128.h>
+#include <botan/internal/cast128.h>
#include <botan/internal/cast_sboxes.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/block/cast128/cast128.h b/src/lib/block/cast128/cast128.h
index a5f2a6401..301b1dc5e 100644
--- a/src/lib/block/cast128/cast128.h
+++ b/src/lib/block/cast128/cast128.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(cast128.h)
-
namespace Botan {
/**
* CAST-128
*/
-class BOTAN_PUBLIC_API(2,0) CAST_128 final : public Block_Cipher_Fixed_Params<8, 11, 16>
+class CAST_128 final : public Block_Cipher_Fixed_Params<8, 11, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/cast128/info.txt b/src/lib/block/cast128/info.txt
index 6e6cf30ab..953f847cf 100644
--- a/src/lib/block/cast128/info.txt
+++ b/src/lib/block/cast128/info.txt
@@ -2,11 +2,3 @@
CAST -> 20131128
CAST_128 -> 20171203
</defines>
-
-<header:internal>
-cast_sboxes.h
-</header:internal>
-
-<header:public>
-cast128.h
-</header:public>
diff --git a/src/lib/block/des/des.cpp b/src/lib/block/des/des.cpp
index 0aa9e6a79..77e9379ba 100644
--- a/src/lib/block/des/des.cpp
+++ b/src/lib/block/des/des.cpp
@@ -8,9 +8,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/des.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/des.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/block/des/des.h b/src/lib/block/des/des.h
index d8bbcfdd1..209a0cdac 100644
--- a/src/lib/block/des/des.h
+++ b/src/lib/block/des/des.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(des.h)
-
namespace Botan {
/**
* DES
*/
-class BOTAN_PUBLIC_API(2,0) DES final : public Block_Cipher_Fixed_Params<8, 8>
+class DES final : public Block_Cipher_Fixed_Params<8, 8>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
@@ -35,7 +33,7 @@ class BOTAN_PUBLIC_API(2,0) DES final : public Block_Cipher_Fixed_Params<8, 8>
/**
* Triple DES
*/
-class BOTAN_PUBLIC_API(2,0) TripleDES final : public Block_Cipher_Fixed_Params<8, 16, 24, 8>
+class TripleDES final : public Block_Cipher_Fixed_Params<8, 16, 24, 8>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/des/des_tab.cpp b/src/lib/block/des/des_tab.cpp
index dea04dbf3..8400ee374 100644
--- a/src/lib/block/des/des_tab.cpp
+++ b/src/lib/block/des/des_tab.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/des.h>
+#include <botan/internal/des.h>
namespace Botan {
diff --git a/src/lib/block/gost_28147/gost_28147.cpp b/src/lib/block/gost_28147/gost_28147.cpp
index 2b8aa031e..12ff7cdf5 100644
--- a/src/lib/block/gost_28147/gost_28147.cpp
+++ b/src/lib/block/gost_28147/gost_28147.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/gost_28147.h>
+#include <botan/internal/gost_28147.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/block/gost_28147/gost_28147.h b/src/lib/block/gost_28147/gost_28147.h
index f71bb28bd..e9d11e091 100644
--- a/src/lib/block/gost_28147/gost_28147.h
+++ b/src/lib/block/gost_28147/gost_28147.h
@@ -10,8 +10,6 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(gost_28147.h)
-
namespace Botan {
/**
@@ -20,7 +18,7 @@ namespace Botan {
* considered a local configuration issue. Several different sets are
* used.
*/
-class BOTAN_PUBLIC_API(2,0) GOST_28147_89_Params final
+class GOST_28147_89_Params final
{
public:
/**
@@ -57,7 +55,7 @@ class BOTAN_PUBLIC_API(2,0) GOST_28147_89_Params final
/**
* GOST 28147-89
*/
-class BOTAN_PUBLIC_API(2,0) GOST_28147_89 final : public Block_Cipher_Fixed_Params<8, 32>
+class GOST_28147_89 final : public Block_Cipher_Fixed_Params<8, 32>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/idea/idea.cpp b/src/lib/block/idea/idea.cpp
index f8f5ceb34..ac11c9a64 100644
--- a/src/lib/block/idea/idea.cpp
+++ b/src/lib/block/idea/idea.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/idea.h>
-#include <botan/loadstor.h>
+#include <botan/internal/idea.h>
+#include <botan/internal/loadstor.h>
#include <botan/cpuid.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/block/idea/idea.h b/src/lib/block/idea/idea.h
index e5e51606b..c15d34dd8 100644
--- a/src/lib/block/idea/idea.h
+++ b/src/lib/block/idea/idea.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(idea.h)
-
namespace Botan {
/**
* IDEA
*/
-class BOTAN_PUBLIC_API(2,0) IDEA final : public Block_Cipher_Fixed_Params<8, 16>
+class IDEA final : public Block_Cipher_Fixed_Params<8, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/idea/idea_sse2/idea_sse2.cpp b/src/lib/block/idea/idea_sse2/idea_sse2.cpp
index 93648cfc7..608a04106 100644
--- a/src/lib/block/idea/idea_sse2/idea_sse2.cpp
+++ b/src/lib/block/idea/idea_sse2/idea_sse2.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/idea.h>
+#include <botan/internal/idea.h>
#include <botan/internal/ct_utils.h>
#include <emmintrin.h>
diff --git a/src/lib/block/lion/lion.cpp b/src/lib/block/lion/lion.cpp
index c9589a46a..43270f3a7 100644
--- a/src/lib/block/lion/lion.cpp
+++ b/src/lib/block/lion/lion.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/lion.h>
+#include <botan/internal/lion.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/block/lion/lion.h b/src/lib/block/lion/lion.h
index fa8e9f414..6ffaa9260 100644
--- a/src/lib/block/lion/lion.h
+++ b/src/lib/block/lion/lion.h
@@ -12,8 +12,6 @@
#include <botan/stream_cipher.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(lion.h)
-
namespace Botan {
/**
@@ -24,7 +22,7 @@ namespace Botan {
* https://www.cl.cam.ac.uk/~rja14/Papers/bear-lion.pdf
*/
-class BOTAN_PUBLIC_API(2,0) Lion final : public BlockCipher
+class Lion final : public BlockCipher
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/noekeon/noekeon.cpp b/src/lib/block/noekeon/noekeon.cpp
index 0a820c701..7586176c4 100644
--- a/src/lib/block/noekeon/noekeon.cpp
+++ b/src/lib/block/noekeon/noekeon.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/noekeon.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/noekeon.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/block/noekeon/noekeon.h b/src/lib/block/noekeon/noekeon.h
index 9e7e4a5ff..b2a39638b 100644
--- a/src/lib/block/noekeon/noekeon.h
+++ b/src/lib/block/noekeon/noekeon.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(noekeon.h)
-
namespace Botan {
/**
* Noekeon
*/
-class BOTAN_PUBLIC_API(2,0) Noekeon final : public Block_Cipher_Fixed_Params<16, 16>
+class Noekeon final : public Block_Cipher_Fixed_Params<16, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp b/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
index 83467a054..d5410acdd 100644
--- a/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
+++ b/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/noekeon.h>
+#include <botan/internal/noekeon.h>
#include <botan/internal/simd_32.h>
namespace Botan {
diff --git a/src/lib/block/seed/seed.cpp b/src/lib/block/seed/seed.cpp
index 81194e44a..2f4768700 100644
--- a/src/lib/block/seed/seed.cpp
+++ b/src/lib/block/seed/seed.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/seed.h>
-#include <botan/loadstor.h>
+#include <botan/internal/seed.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/block/seed/seed.h b/src/lib/block/seed/seed.h
index a61624313..1105d5075 100644
--- a/src/lib/block/seed/seed.h
+++ b/src/lib/block/seed/seed.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(seed.h)
-
namespace Botan {
/**
* SEED, a Korean block cipher
*/
-class BOTAN_PUBLIC_API(2,0) SEED final : public Block_Cipher_Fixed_Params<16, 16>
+class SEED final : public Block_Cipher_Fixed_Params<16, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/serpent/info.txt b/src/lib/block/serpent/info.txt
index 89b860ce4..1316ef0e2 100644
--- a/src/lib/block/serpent/info.txt
+++ b/src/lib/block/serpent/info.txt
@@ -1,11 +1,3 @@
<defines>
SERPENT -> 20131128
</defines>
-
-<header:public>
-serpent.h
-</header:public>
-
-<header:internal>
-serpent_sbox.h
-</header:internal>
diff --git a/src/lib/block/serpent/serpent.cpp b/src/lib/block/serpent/serpent.cpp
index ff37a177c..412b173a5 100644
--- a/src/lib/block/serpent/serpent.cpp
+++ b/src/lib/block/serpent/serpent.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/serpent.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/serpent.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/internal/serpent_sbox.h>
#if defined(BOTAN_HAS_SERPENT_SIMD) || defined(BOTAN_HAS_SERPENT_AVX2)
diff --git a/src/lib/block/serpent/serpent.h b/src/lib/block/serpent/serpent.h
index 64eb8a8b0..81c841190 100644
--- a/src/lib/block/serpent/serpent.h
+++ b/src/lib/block/serpent/serpent.h
@@ -10,15 +10,13 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(serpent.h)
-
namespace Botan {
/**
* Serpent is the most conservative of the AES finalists
* https://www.cl.cam.ac.uk/~rja14/serpent.html
*/
-class BOTAN_PUBLIC_API(2,0) Serpent final : public Block_Cipher_Fixed_Params<16, 16, 32, 8>
+class Serpent final : public Block_Cipher_Fixed_Params<16, 16, 32, 8>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp b/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
index 0db332035..028ee77e5 100644
--- a/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
+++ b/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/serpent.h>
+#include <botan/internal/serpent.h>
#include <botan/internal/serpent_sbox.h>
#include <botan/internal/simd_avx2.h>
diff --git a/src/lib/block/serpent/serpent_simd/serpent_simd.cpp b/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
index 8ac783ba5..5d1bc28f2 100644
--- a/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
+++ b/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/serpent.h>
+#include <botan/internal/serpent.h>
#include <botan/internal/serpent_sbox.h>
#include <botan/internal/simd_32.h>
diff --git a/src/lib/block/shacal2/shacal2.cpp b/src/lib/block/shacal2/shacal2.cpp
index b0c57f235..3617708e6 100644
--- a/src/lib/block/shacal2/shacal2.cpp
+++ b/src/lib/block/shacal2/shacal2.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/shacal2.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/shacal2.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/block/shacal2/shacal2.h b/src/lib/block/shacal2/shacal2.h
index b752a0339..7396f4135 100644
--- a/src/lib/block/shacal2/shacal2.h
+++ b/src/lib/block/shacal2/shacal2.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(shacal2.h)
-
namespace Botan {
/**
* SHACAL2
*/
-class BOTAN_PUBLIC_API(2,3) SHACAL2 final : public Block_Cipher_Fixed_Params<32, 16, 64, 4>
+class SHACAL2 final : public Block_Cipher_Fixed_Params<32, 16, 64, 4>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp b/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
index a465a3828..cb83fece8 100644
--- a/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
+++ b/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/shacal2.h>
+#include <botan/internal/shacal2.h>
#include <botan/internal/simd_avx2.h>
namespace Botan {
diff --git a/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp b/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
index 6d15faf1a..c7b6182f2 100644
--- a/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
+++ b/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/shacal2.h>
+#include <botan/internal/shacal2.h>
#include <botan/internal/simd_32.h>
namespace Botan {
diff --git a/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp b/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp
index 1611d6c9b..377f2c925 100644
--- a/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp
+++ b/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/shacal2.h>
+#include <botan/internal/shacal2.h>
#include <immintrin.h>
namespace Botan {
diff --git a/src/lib/block/sm4/sm4.cpp b/src/lib/block/sm4/sm4.cpp
index 8198330e6..515543ed0 100644
--- a/src/lib/block/sm4/sm4.cpp
+++ b/src/lib/block/sm4/sm4.cpp
@@ -6,9 +6,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sm4.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sm4.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/block/sm4/sm4.h b/src/lib/block/sm4/sm4.h
index 637ffd4be..ed6c6742f 100644
--- a/src/lib/block/sm4/sm4.h
+++ b/src/lib/block/sm4/sm4.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(sm4.h)
-
namespace Botan {
/**
* SM4
*/
-class BOTAN_PUBLIC_API(2,2) SM4 final : public Block_Cipher_Fixed_Params<16, 16>
+class SM4 final : public Block_Cipher_Fixed_Params<16, 16>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp b/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
index 9e7a71a10..be9f832c4 100644
--- a/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
+++ b/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sm4.h>
+#include <botan/internal/sm4.h>
#include <arm_neon.h>
namespace Botan {
diff --git a/src/lib/block/threefish_512/threefish_512.cpp b/src/lib/block/threefish_512/threefish_512.cpp
index e34a9e0dc..9c202caae 100644
--- a/src/lib/block/threefish_512/threefish_512.cpp
+++ b/src/lib/block/threefish_512/threefish_512.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/threefish_512.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/threefish_512.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/block/threefish_512/threefish_512.h b/src/lib/block/threefish_512/threefish_512.h
index f3adf71a9..10876fd84 100644
--- a/src/lib/block/threefish_512/threefish_512.h
+++ b/src/lib/block/threefish_512/threefish_512.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(threefish_512.h)
-
namespace Botan {
/**
* Threefish-512
*/
-class BOTAN_PUBLIC_API(2,0) Threefish_512 final :
+class Threefish_512 final :
public Block_Cipher_Fixed_Params<64, 64, 0, 1, Tweakable_Block_Cipher>
{
public:
diff --git a/src/lib/block/threefish_512/threefish_512_avx2/threefish_512_avx2.cpp b/src/lib/block/threefish_512/threefish_512_avx2/threefish_512_avx2.cpp
index 0ceea2d7f..f9d0699f5 100644
--- a/src/lib/block/threefish_512/threefish_512_avx2/threefish_512_avx2.cpp
+++ b/src/lib/block/threefish_512/threefish_512_avx2/threefish_512_avx2.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/threefish_512.h>
+#include <botan/internal/threefish_512.h>
#include <immintrin.h>
namespace Botan {
diff --git a/src/lib/block/twofish/twofish.cpp b/src/lib/block/twofish/twofish.cpp
index 3a508dc9d..7115aa689 100644
--- a/src/lib/block/twofish/twofish.cpp
+++ b/src/lib/block/twofish/twofish.cpp
@@ -8,9 +8,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/twofish.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/twofish.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/block/twofish/twofish.h b/src/lib/block/twofish/twofish.h
index 027e2c701..5d95c198c 100644
--- a/src/lib/block/twofish/twofish.h
+++ b/src/lib/block/twofish/twofish.h
@@ -10,14 +10,12 @@
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(twofish.h)
-
namespace Botan {
/**
* Twofish, an AES finalist
*/
-class BOTAN_PUBLIC_API(2,0) Twofish final : public Block_Cipher_Fixed_Params<16, 16, 32, 8>
+class Twofish final : public Block_Cipher_Fixed_Params<16, 16, 32, 8>
{
public:
void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const override;
diff --git a/src/lib/block/twofish/twofish_tab.cpp b/src/lib/block/twofish/twofish_tab.cpp
index d6ac8f41b..669449c80 100644
--- a/src/lib/block/twofish/twofish_tab.cpp
+++ b/src/lib/block/twofish/twofish_tab.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/twofish.h>
+#include <botan/internal/twofish.h>
namespace Botan {
diff --git a/src/lib/codec/base32/info.txt b/src/lib/codec/base32/info.txt
index 8e414c5a3..b23340c82 100644
--- a/src/lib/codec/base32/info.txt
+++ b/src/lib/codec/base32/info.txt
@@ -1,3 +1,7 @@
<defines>
BASE32_CODEC -> 20180418
</defines>
+
+<header:public>
+base32.h
+</header:public>
diff --git a/src/lib/codec/base58/base58.cpp b/src/lib/codec/base58/base58.cpp
index 5aa9441d3..e97ffafad 100644
--- a/src/lib/codec/base58/base58.cpp
+++ b/src/lib/codec/base58/base58.cpp
@@ -7,8 +7,8 @@
#include <botan/base58.h>
#include <botan/exceptn.h>
#include <botan/bigint.h>
-#include <botan/divide.h>
-#include <botan/loadstor.h>
+#include <botan/internal/divide.h>
+#include <botan/internal/loadstor.h>
#include <botan/hash.h>
namespace Botan {
diff --git a/src/lib/codec/base58/info.txt b/src/lib/codec/base58/info.txt
index 0b09c016d..412643716 100644
--- a/src/lib/codec/base58/info.txt
+++ b/src/lib/codec/base58/info.txt
@@ -6,3 +6,7 @@ BASE58_CODEC -> 20181209
sha2_32
bigint
</requires>
+
+<header:public>
+base58.h
+</header:public>
diff --git a/src/lib/codec/base64/info.txt b/src/lib/codec/base64/info.txt
index ceed63605..e75e220c0 100644
--- a/src/lib/codec/base64/info.txt
+++ b/src/lib/codec/base64/info.txt
@@ -1,3 +1,7 @@
<defines>
BASE64_CODEC -> 20131128
</defines>
+
+<header:public>
+base64.h
+</header:public>
diff --git a/src/lib/codec/hex/info.txt b/src/lib/codec/hex/info.txt
index 6ee27e57c..f7760ddc7 100644
--- a/src/lib/codec/hex/info.txt
+++ b/src/lib/codec/hex/info.txt
@@ -1,3 +1,7 @@
<defines>
HEX_CODEC -> 20131128
</defines>
+
+<header:public>
+hex.h
+</header:public>
diff --git a/src/lib/compat/sodium/info.txt b/src/lib/compat/sodium/info.txt
index 4adc853d9..0171ca376 100644
--- a/src/lib/compat/sodium/info.txt
+++ b/src/lib/compat/sodium/info.txt
@@ -15,3 +15,7 @@ hmac
siphash
system_rng
</requires>
+
+<header:public>
+sodium.h
+</header:public>
diff --git a/src/lib/compat/sodium/sodium_salsa.cpp b/src/lib/compat/sodium/sodium_salsa.cpp
index c1465a9bb..1f26f55ff 100644
--- a/src/lib/compat/sodium/sodium_salsa.cpp
+++ b/src/lib/compat/sodium/sodium_salsa.cpp
@@ -5,8 +5,8 @@
*/
#include <botan/sodium.h>
-#include <botan/salsa20.h>
-#include <botan/loadstor.h>
+#include <botan/internal/salsa20.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/compat/sodium/sodium_utils.cpp b/src/lib/compat/sodium/sodium_utils.cpp
index 3f0a6c84e..56fe98696 100644
--- a/src/lib/compat/sodium/sodium_utils.cpp
+++ b/src/lib/compat/sodium/sodium_utils.cpp
@@ -5,12 +5,12 @@
*/
#include <botan/sodium.h>
-#include <botan/chacha.h>
+#include <botan/internal/chacha.h>
#include <botan/mem_ops.h>
#include <botan/system_rng.h>
#include <botan/internal/os_utils.h>
#include <botan/internal/ct_utils.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/compression/bzip2/info.txt b/src/lib/compression/bzip2/info.txt
index 8826df2f9..49bb418be 100644
--- a/src/lib/compression/bzip2/info.txt
+++ b/src/lib/compression/bzip2/info.txt
@@ -7,3 +7,7 @@ load_on vendor
<libs>
all -> bz2
</libs>
+
+<header:public>
+bzip2.h
+</header:public>
diff --git a/src/lib/compression/lzma/info.txt b/src/lib/compression/lzma/info.txt
index 477a7b795..93dc8cf0a 100644
--- a/src/lib/compression/lzma/info.txt
+++ b/src/lib/compression/lzma/info.txt
@@ -7,3 +7,7 @@ load_on vendor
<libs>
all -> lzma
</libs>
+
+<header:public>
+lzma.h
+</header:public>
diff --git a/src/lib/compression/zlib/info.txt b/src/lib/compression/zlib/info.txt
index 1102bc5e1..48b37d895 100644
--- a/src/lib/compression/zlib/info.txt
+++ b/src/lib/compression/zlib/info.txt
@@ -8,3 +8,7 @@ load_on vendor
all!windows -> z
windows -> zlib
</libs>
+
+<header:public>
+zlib.h
+</header:public>
diff --git a/src/lib/entropy/info.txt b/src/lib/entropy/info.txt
index 57f1930b9..fabcb5212 100644
--- a/src/lib/entropy/info.txt
+++ b/src/lib/entropy/info.txt
@@ -5,3 +5,7 @@ ENTROPY_SOURCE -> 20151120
<requires>
rng
</requires>
+
+<header:public>
+entropy_src.h
+</header:public>
diff --git a/src/lib/ffi/ffi_mp.cpp b/src/lib/ffi/ffi_mp.cpp
index 68869e6ec..b6645c2cc 100644
--- a/src/lib/ffi/ffi_mp.cpp
+++ b/src/lib/ffi/ffi_mp.cpp
@@ -11,7 +11,7 @@
#include <botan/internal/ffi_mp.h>
#include <botan/reducer.h>
#include <botan/numthry.h>
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
extern "C" {
diff --git a/src/lib/ffi/ffi_pkey.cpp b/src/lib/ffi/ffi_pkey.cpp
index 2fb3d338e..19190efa1 100644
--- a/src/lib/ffi/ffi_pkey.cpp
+++ b/src/lib/ffi/ffi_pkey.cpp
@@ -16,7 +16,7 @@
#include <botan/pk_algs.h>
#if defined(BOTAN_HAS_HASH_ID)
- #include <botan/hash_id.h>
+ #include <botan/internal/hash_id.h>
#endif
extern "C" {
diff --git a/src/lib/filters/b64_filt.h b/src/lib/filters/b64_filt.h
deleted file mode 100644
index af7bb7cf2..000000000
--- a/src/lib/filters/b64_filt.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Base64 Encoder/Decoder
-* (C) 1999-2010 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_BASE64_FILTER_H_
-#define BOTAN_BASE64_FILTER_H_
-
-#include <botan/filters.h>
-BOTAN_DEPRECATED_HEADER(b64_filt.h)
-
-#endif
diff --git a/src/lib/filters/basefilt.h b/src/lib/filters/basefilt.h
deleted file mode 100644
index 422989b75..000000000
--- a/src/lib/filters/basefilt.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-* Basic Filters
-* (C) 1999-2007 Jack Lloyd
-* (C) 2013 Joel Low
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_BASEFILT_H_
-#define BOTAN_BASEFILT_H_
-
-// This header is deprecated and will be removed in a future major release
-
-#include <botan/filters.h>
-
-BOTAN_DEPRECATED_HEADER(basefilt.h)
-
-#endif
diff --git a/src/lib/filters/buf_filt.h b/src/lib/filters/buf_filt.h
deleted file mode 100644
index 1f9ed3eff..000000000
--- a/src/lib/filters/buf_filt.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Buffered Filter
-* (C) 1999-2007 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_BUFFERED_FILTER_H_
-#define BOTAN_BUFFERED_FILTER_H_
-
-#include <botan/filters.h>
-BOTAN_DEPRECATED_HEADER(buf_filt.h)
-
-#endif
diff --git a/src/lib/filters/cipher_filter.h b/src/lib/filters/cipher_filter.h
deleted file mode 100644
index 84fc58b6e..000000000
--- a/src/lib/filters/cipher_filter.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Filter interface for ciphers
-* (C) 2013,2016 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_CIPHER_FILTER_H_
-#define BOTAN_CIPHER_FILTER_H_
-
-#include <botan/filters.h>
-BOTAN_DEPRECATED_HEADER(cipher_filter.h)
-
-#endif
diff --git a/src/lib/filters/comp_filter.h b/src/lib/filters/comp_filter.h
deleted file mode 100644
index 86b587ac3..000000000
--- a/src/lib/filters/comp_filter.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* Filter interface for compression
-* (C) 2014,2015,2016 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_COMPRESSION_FILTER_H_
-#define BOTAN_COMPRESSION_FILTER_H_
-
-BOTAN_DEPRECATED_HEADER(comp_filter.h)
-
-#include <botan/filters.h>
-
-#endif
diff --git a/src/lib/filters/fd_unix/info.txt b/src/lib/filters/fd_unix/info.txt
index 109c9c9ab..d0eb0036c 100644
--- a/src/lib/filters/fd_unix/info.txt
+++ b/src/lib/filters/fd_unix/info.txt
@@ -5,3 +5,7 @@ PIPE_UNIXFD_IO -> 20131128
<os_features>
posix1
</os_features>
+
+<header:public>
+fd_unix.h
+</header:public>
diff --git a/src/lib/filters/hex_filt.h b/src/lib/filters/hex_filt.h
deleted file mode 100644
index b529b5299..000000000
--- a/src/lib/filters/hex_filt.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Hex Encoder/Decoder
-* (C) 1999-2010 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_HEX_FILTER_H_
-#define BOTAN_HEX_FILTER_H_
-
-#include <botan/filters.h>
-BOTAN_DEPRECATED_HEADER(hex_filt.h)
-
-#endif
diff --git a/src/lib/filters/info.txt b/src/lib/filters/info.txt
index 2fe933579..608723b83 100644
--- a/src/lib/filters/info.txt
+++ b/src/lib/filters/info.txt
@@ -4,17 +4,6 @@ CODEC_FILTERS -> 20131128
</defines>
<header:public>
-basefilt.h
-comp_filter.h
-cipher_filter.h
-buf_filt.h
-key_filt.h
-
-b64_filt.h
-hex_filt.h
-
-secqueue.h
-
data_snk.h
filter.h
filters.h
@@ -22,6 +11,7 @@ pipe.h
</header:public>
<header:internal>
+secqueue.h
out_buf.h
</header:internal>
diff --git a/src/lib/filters/key_filt.h b/src/lib/filters/key_filt.h
deleted file mode 100644
index 3d85d886a..000000000
--- a/src/lib/filters/key_filt.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Keyed_Filter
-* (C) 1999-2007 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_KEYED_FILTER_H_
-#define BOTAN_KEYED_FILTER_H_
-
-#include <botan/filter.h>
-BOTAN_DEPRECATED_HEADER(key_filt.h)
-
-#endif
diff --git a/src/lib/filters/out_buf.cpp b/src/lib/filters/out_buf.cpp
index 645cc0823..0473477ac 100644
--- a/src/lib/filters/out_buf.cpp
+++ b/src/lib/filters/out_buf.cpp
@@ -7,7 +7,7 @@
*/
#include <botan/internal/out_buf.h>
-#include <botan/secqueue.h>
+#include <botan/internal/secqueue.h>
namespace Botan {
diff --git a/src/lib/filters/pipe.cpp b/src/lib/filters/pipe.cpp
index 0bba81bf2..9b56be63d 100644
--- a/src/lib/filters/pipe.cpp
+++ b/src/lib/filters/pipe.cpp
@@ -7,7 +7,7 @@
#include <botan/pipe.h>
#include <botan/internal/out_buf.h>
-#include <botan/secqueue.h>
+#include <botan/internal/secqueue.h>
namespace Botan {
diff --git a/src/lib/filters/secqueue.cpp b/src/lib/filters/secqueue.cpp
index 1c8d28149..10fbff20f 100644
--- a/src/lib/filters/secqueue.cpp
+++ b/src/lib/filters/secqueue.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/secqueue.h>
+#include <botan/internal/secqueue.h>
#include <algorithm>
namespace Botan {
diff --git a/src/lib/filters/secqueue.h b/src/lib/filters/secqueue.h
index 42d2f09e2..2046ec1e7 100644
--- a/src/lib/filters/secqueue.h
+++ b/src/lib/filters/secqueue.h
@@ -12,14 +12,12 @@
#include <botan/data_src.h>
#include <botan/filter.h>
-BOTAN_FUTURE_INTERNAL_HEADER(secqueue.h)
-
namespace Botan {
/**
* A queue that knows how to zeroize itself
*/
-class BOTAN_PUBLIC_API(2,0) SecureQueue final : public Fanout_Filter, public DataSource
+class BOTAN_TEST_API SecureQueue final : public Fanout_Filter, public DataSource
{
public:
std::string name() const override { return "Queue"; }
diff --git a/src/lib/hash/blake2/blake2b.cpp b/src/lib/hash/blake2/blake2b.cpp
index 0280d0c8b..bdaeb73d8 100644
--- a/src/lib/hash/blake2/blake2b.cpp
+++ b/src/lib/hash/blake2/blake2b.cpp
@@ -6,11 +6,11 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/blake2b.h>
+#include <botan/internal/blake2b.h>
#include <botan/exceptn.h>
#include <botan/mem_ops.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <algorithm>
namespace Botan {
diff --git a/src/lib/hash/blake2/blake2b.h b/src/lib/hash/blake2/blake2b.h
index 9b0b655f2..6284015af 100644
--- a/src/lib/hash/blake2/blake2b.h
+++ b/src/lib/hash/blake2/blake2b.h
@@ -12,14 +12,12 @@
#include <string>
#include <memory>
-BOTAN_FUTURE_INTERNAL_HEADER(blake2b.h)
-
namespace Botan {
/**
* BLAKE2B
*/
-class BOTAN_PUBLIC_API(2,0) BLAKE2b final : public HashFunction
+class BLAKE2b final : public HashFunction
{
public:
/**
diff --git a/src/lib/hash/checksum/adler32/adler32.cpp b/src/lib/hash/checksum/adler32/adler32.cpp
index 329ba99a8..241844ab2 100644
--- a/src/lib/hash/checksum/adler32/adler32.cpp
+++ b/src/lib/hash/checksum/adler32/adler32.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/adler32.h>
-#include <botan/loadstor.h>
+#include <botan/internal/adler32.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/hash/checksum/adler32/adler32.h b/src/lib/hash/checksum/adler32/adler32.h
index cd84a7597..84b8c0f8e 100644
--- a/src/lib/hash/checksum/adler32/adler32.h
+++ b/src/lib/hash/checksum/adler32/adler32.h
@@ -10,14 +10,12 @@
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(adler32.h)
-
namespace Botan {
/**
* The Adler32 checksum, used in zlib
*/
-class BOTAN_PUBLIC_API(2,0) Adler32 final : public HashFunction
+class Adler32 final : public HashFunction
{
public:
std::string name() const override { return "Adler32"; }
diff --git a/src/lib/hash/checksum/crc24/crc24.cpp b/src/lib/hash/checksum/crc24/crc24.cpp
index a89bbb2e8..597dac33b 100644
--- a/src/lib/hash/checksum/crc24/crc24.cpp
+++ b/src/lib/hash/checksum/crc24/crc24.cpp
@@ -6,9 +6,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/crc24.h>
-#include <botan/loadstor.h>
-#include <botan/bswap.h>
+#include <botan/internal/crc24.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/bswap.h>
namespace Botan {
diff --git a/src/lib/hash/checksum/crc24/crc24.h b/src/lib/hash/checksum/crc24/crc24.h
index 1809740a4..49bc43d69 100644
--- a/src/lib/hash/checksum/crc24/crc24.h
+++ b/src/lib/hash/checksum/crc24/crc24.h
@@ -11,14 +11,12 @@
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(crc24.h)
-
namespace Botan {
/**
* 24-bit cyclic redundancy check
*/
-class BOTAN_PUBLIC_API(2,0) CRC24 final : public HashFunction
+class CRC24 final : public HashFunction
{
public:
std::string name() const override { return "CRC24"; }
diff --git a/src/lib/hash/checksum/crc32/crc32.cpp b/src/lib/hash/checksum/crc32/crc32.cpp
index c69c8f80b..75b8456b3 100644
--- a/src/lib/hash/checksum/crc32/crc32.cpp
+++ b/src/lib/hash/checksum/crc32/crc32.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/crc32.h>
-#include <botan/loadstor.h>
+#include <botan/internal/crc32.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/hash/checksum/crc32/crc32.h b/src/lib/hash/checksum/crc32/crc32.h
index f712b42ca..689fd7375 100644
--- a/src/lib/hash/checksum/crc32/crc32.h
+++ b/src/lib/hash/checksum/crc32/crc32.h
@@ -10,14 +10,12 @@
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(crc32.h)
-
namespace Botan {
/**
* 32-bit cyclic redundancy check
*/
-class BOTAN_PUBLIC_API(2,0) CRC32 final : public HashFunction
+class CRC32 final : public HashFunction
{
public:
std::string name() const override { return "CRC32"; }
diff --git a/src/lib/hash/comb4p/comb4p.cpp b/src/lib/hash/comb4p/comb4p.cpp
index 419e00df5..24b606e48 100644
--- a/src/lib/hash/comb4p/comb4p.cpp
+++ b/src/lib/hash/comb4p/comb4p.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/comb4p.h>
+#include <botan/internal/comb4p.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/hash/comb4p/comb4p.h b/src/lib/hash/comb4p/comb4p.h
index 518314c17..f4cf73ba5 100644
--- a/src/lib/hash/comb4p/comb4p.h
+++ b/src/lib/hash/comb4p/comb4p.h
@@ -10,15 +10,13 @@
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(comb4p.h)
-
namespace Botan {
/**
* Combines two hash functions using a Feistel scheme. Described in
* "On the Security of Hash Function Combiners", Anja Lehmann
*/
-class BOTAN_PUBLIC_API(2,0) Comb4P final : public HashFunction
+class Comb4P final : public HashFunction
{
public:
/**
diff --git a/src/lib/hash/gost_3411/gost_3411.cpp b/src/lib/hash/gost_3411/gost_3411.cpp
index e3bcd2110..4f91a731d 100644
--- a/src/lib/hash/gost_3411/gost_3411.cpp
+++ b/src/lib/hash/gost_3411/gost_3411.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/gost_3411.h>
-#include <botan/loadstor.h>
+#include <botan/internal/gost_3411.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/hash/gost_3411/gost_3411.h b/src/lib/hash/gost_3411/gost_3411.h
index 51d7aa477..9628bad0e 100644
--- a/src/lib/hash/gost_3411/gost_3411.h
+++ b/src/lib/hash/gost_3411/gost_3411.h
@@ -9,16 +9,14 @@
#define BOTAN_GOST_3411_H_
#include <botan/hash.h>
-#include <botan/gost_28147.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(gost_3411.h)
+#include <botan/internal/gost_28147.h>
namespace Botan {
/**
* GOST 34.11
*/
-class BOTAN_PUBLIC_API(2,0) GOST_34_11 final : public HashFunction
+class GOST_34_11 final : public HashFunction
{
public:
std::string name() const override { return "GOST-R-34.11-94" ; }
diff --git a/src/lib/hash/hash.cpp b/src/lib/hash/hash.cpp
index 2293059ca..24792e8e1 100644
--- a/src/lib/hash/hash.cpp
+++ b/src/lib/hash/hash.cpp
@@ -10,83 +10,83 @@
#include <botan/exceptn.h>
#if defined(BOTAN_HAS_ADLER32)
- #include <botan/adler32.h>
+ #include <botan/internal/adler32.h>
#endif
#if defined(BOTAN_HAS_CRC24)
- #include <botan/crc24.h>
+ #include <botan/internal/crc24.h>
#endif
#if defined(BOTAN_HAS_CRC32)
- #include <botan/crc32.h>
+ #include <botan/internal/crc32.h>
#endif
#if defined(BOTAN_HAS_GOST_34_11)
- #include <botan/gost_3411.h>
+ #include <botan/internal/gost_3411.h>
#endif
#if defined(BOTAN_HAS_KECCAK)
- #include <botan/keccak.h>
+ #include <botan/internal/keccak.h>
#endif
#if defined(BOTAN_HAS_MD4)
- #include <botan/md4.h>
+ #include <botan/internal/md4.h>
#endif
#if defined(BOTAN_HAS_MD5)
- #include <botan/md5.h>
+ #include <botan/internal/md5.h>
#endif
#if defined(BOTAN_HAS_RIPEMD_160)
- #include <botan/rmd160.h>
+ #include <botan/internal/rmd160.h>
#endif
#if defined(BOTAN_HAS_SHA1)
- #include <botan/sha160.h>
+ #include <botan/internal/sha160.h>
#endif
#if defined(BOTAN_HAS_SHA2_32)
- #include <botan/sha2_32.h>
+ #include <botan/internal/sha2_32.h>
#endif
#if defined(BOTAN_HAS_SHA2_64)
- #include <botan/sha2_64.h>
+ #include <botan/internal/sha2_64.h>
#endif
#if defined(BOTAN_HAS_SHA3)
- #include <botan/sha3.h>
+ #include <botan/internal/sha3.h>
#endif
#if defined(BOTAN_HAS_SHAKE)
- #include <botan/shake.h>
+ #include <botan/internal/shake.h>
#endif
#if defined(BOTAN_HAS_SKEIN_512)
- #include <botan/skein_512.h>
+ #include <botan/internal/skein_512.h>
#endif
#if defined(BOTAN_HAS_STREEBOG)
- #include <botan/streebog.h>
+ #include <botan/internal/streebog.h>
#endif
#if defined(BOTAN_HAS_SM3)
- #include <botan/sm3.h>
+ #include <botan/internal/sm3.h>
#endif
#if defined(BOTAN_HAS_WHIRLPOOL)
- #include <botan/whrlpool.h>
+ #include <botan/internal/whrlpool.h>
#endif
#if defined(BOTAN_HAS_PARALLEL_HASH)
- #include <botan/par_hash.h>
+ #include <botan/internal/par_hash.h>
#endif
#if defined(BOTAN_HAS_COMB4P)
- #include <botan/comb4p.h>
+ #include <botan/internal/comb4p.h>
#endif
#if defined(BOTAN_HAS_BLAKE2B)
- #include <botan/blake2b.h>
+ #include <botan/internal/blake2b.h>
#endif
#if defined(BOTAN_HAS_OPENSSL)
diff --git a/src/lib/hash/keccak/keccak.cpp b/src/lib/hash/keccak/keccak.cpp
index b8196495c..aab8386fc 100644
--- a/src/lib/hash/keccak/keccak.cpp
+++ b/src/lib/hash/keccak/keccak.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/keccak.h>
-#include <botan/sha3.h>
+#include <botan/internal/keccak.h>
+#include <botan/internal/sha3.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/hash/keccak/keccak.h b/src/lib/hash/keccak/keccak.h
index 083d7fc5a..235c88a91 100644
--- a/src/lib/hash/keccak/keccak.h
+++ b/src/lib/hash/keccak/keccak.h
@@ -14,12 +14,10 @@
namespace Botan {
-BOTAN_FUTURE_INTERNAL_HEADER(keccak.h)
-
/**
* Keccak[1600], a SHA-3 candidate
*/
-class BOTAN_PUBLIC_API(2,0) Keccak_1600 final : public HashFunction
+class Keccak_1600 final : public HashFunction
{
public:
diff --git a/src/lib/hash/md4/md4.cpp b/src/lib/hash/md4/md4.cpp
index 9cc92e1e3..575536389 100644
--- a/src/lib/hash/md4/md4.cpp
+++ b/src/lib/hash/md4/md4.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/md4.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/md4.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/md4/md4.h b/src/lib/hash/md4/md4.h
index 0e6f5dc08..5bd3c88a9 100644
--- a/src/lib/hash/md4/md4.h
+++ b/src/lib/hash/md4/md4.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_MD4_H_
#define BOTAN_MD4_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(md4.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* MD4
*/
-class BOTAN_PUBLIC_API(2,0) MD4 final : public MDx_HashFunction
+class MD4 final : public MDx_HashFunction
{
public:
std::string name() const override { return "MD4"; }
diff --git a/src/lib/hash/md5/md5.cpp b/src/lib/hash/md5/md5.cpp
index 590af4641..facac0e20 100644
--- a/src/lib/hash/md5/md5.cpp
+++ b/src/lib/hash/md5/md5.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/md5.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/md5.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/md5/md5.h b/src/lib/hash/md5/md5.h
index 182145523..26706121e 100644
--- a/src/lib/hash/md5/md5.h
+++ b/src/lib/hash/md5/md5.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_MD5_H_
#define BOTAN_MD5_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(md5.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* MD5
*/
-class BOTAN_PUBLIC_API(2,0) MD5 final : public MDx_HashFunction
+class MD5 final : public MDx_HashFunction
{
public:
std::string name() const override { return "MD5"; }
diff --git a/src/lib/hash/mdx_hash/mdx_hash.cpp b/src/lib/hash/mdx_hash/mdx_hash.cpp
index 64ae516a8..092cfffe1 100644
--- a/src/lib/hash/mdx_hash/mdx_hash.cpp
+++ b/src/lib/hash/mdx_hash/mdx_hash.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/mdx_hash.h>
+#include <botan/internal/mdx_hash.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/bit_ops.h>
namespace Botan {
diff --git a/src/lib/hash/mdx_hash/mdx_hash.h b/src/lib/hash/mdx_hash/mdx_hash.h
index a061e9c8a..fa1f89e75 100644
--- a/src/lib/hash/mdx_hash/mdx_hash.h
+++ b/src/lib/hash/mdx_hash/mdx_hash.h
@@ -10,14 +10,12 @@
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(mdx_hash.h)
-
namespace Botan {
/**
* MDx Hash Function Base Class
*/
-class BOTAN_PUBLIC_API(2,0) MDx_HashFunction : public HashFunction
+class MDx_HashFunction : public HashFunction
{
public:
/**
diff --git a/src/lib/hash/par_hash/par_hash.cpp b/src/lib/hash/par_hash/par_hash.cpp
index a0297dfe8..d615e63ce 100644
--- a/src/lib/hash/par_hash/par_hash.cpp
+++ b/src/lib/hash/par_hash/par_hash.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/par_hash.h>
-#include <botan/parsing.h>
+#include <botan/internal/par_hash.h>
+#include <botan/internal/parsing.h>
namespace Botan {
diff --git a/src/lib/hash/par_hash/par_hash.h b/src/lib/hash/par_hash/par_hash.h
index 8942cfe4d..3c77a7fbd 100644
--- a/src/lib/hash/par_hash/par_hash.h
+++ b/src/lib/hash/par_hash/par_hash.h
@@ -11,14 +11,12 @@
#include <botan/hash.h>
#include <vector>
-BOTAN_FUTURE_INTERNAL_HEADER(par_hash.h)
-
namespace Botan {
/**
* Parallel Hashes
*/
-class BOTAN_PUBLIC_API(2,0) Parallel final : public HashFunction
+class Parallel final : public HashFunction
{
public:
void clear() override;
diff --git a/src/lib/hash/rmd160/rmd160.cpp b/src/lib/hash/rmd160/rmd160.cpp
index 2fa8f84d0..6bce844b3 100644
--- a/src/lib/hash/rmd160/rmd160.cpp
+++ b/src/lib/hash/rmd160/rmd160.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/rmd160.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/rmd160.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/rmd160/rmd160.h b/src/lib/hash/rmd160/rmd160.h
index 2ee311680..2e635a0d2 100644
--- a/src/lib/hash/rmd160/rmd160.h
+++ b/src/lib/hash/rmd160/rmd160.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_RIPEMD_160_H_
#define BOTAN_RIPEMD_160_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(rmd160.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* RIPEMD-160
*/
-class BOTAN_PUBLIC_API(2,0) RIPEMD_160 final : public MDx_HashFunction
+class RIPEMD_160 final : public MDx_HashFunction
{
public:
std::string name() const override { return "RIPEMD-160"; }
diff --git a/src/lib/hash/sha1/sha160.cpp b/src/lib/hash/sha1/sha160.cpp
index 5893c5dc7..c1033eaa9 100644
--- a/src/lib/hash/sha1/sha160.cpp
+++ b/src/lib/hash/sha1/sha160.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha160.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha160.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/hash/sha1/sha160.h b/src/lib/hash/sha1/sha160.h
index bbab2e853..dd834d4ba 100644
--- a/src/lib/hash/sha1/sha160.h
+++ b/src/lib/hash/sha1/sha160.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_SHA_160_H_
#define BOTAN_SHA_160_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(sha160.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* NIST's SHA-160
*/
-class BOTAN_PUBLIC_API(2,0) SHA_160 final : public MDx_HashFunction
+class SHA_160 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SHA-160"; }
diff --git a/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp b/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp
index 3dc9f43d8..5ddcf5805 100644
--- a/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp
+++ b/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp
@@ -7,7 +7,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha160.h>
+#include <botan/internal/sha160.h>
#include <arm_neon.h>
namespace Botan {
diff --git a/src/lib/hash/sha1/sha1_sse2/sha1_sse2.cpp b/src/lib/hash/sha1/sha1_sse2/sha1_sse2.cpp
index 7371ca08f..7e60bd21c 100644
--- a/src/lib/hash/sha1/sha1_sse2/sha1_sse2.cpp
+++ b/src/lib/hash/sha1/sha1_sse2/sha1_sse2.cpp
@@ -7,8 +7,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha160.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha160.h>
+#include <botan/internal/rotate.h>
#include <emmintrin.h>
namespace Botan {
diff --git a/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp b/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
index 76feebcea..fdcc9e809 100644
--- a/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
+++ b/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
@@ -12,7 +12,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha160.h>
+#include <botan/internal/sha160.h>
#include <immintrin.h>
namespace Botan {
diff --git a/src/lib/hash/sha2_32/sha2_32.cpp b/src/lib/hash/sha2_32/sha2_32.cpp
index 61e98d22f..8efb8cd07 100644
--- a/src/lib/hash/sha2_32/sha2_32.cpp
+++ b/src/lib/hash/sha2_32/sha2_32.cpp
@@ -6,9 +6,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha2_32.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha2_32.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/hash/sha2_32/sha2_32.h b/src/lib/hash/sha2_32/sha2_32.h
index 90a059721..396b1d557 100644
--- a/src/lib/hash/sha2_32/sha2_32.h
+++ b/src/lib/hash/sha2_32/sha2_32.h
@@ -9,16 +9,14 @@
#ifndef BOTAN_SHA_224_256_H_
#define BOTAN_SHA_224_256_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(sha2_32.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* SHA-224
*/
-class BOTAN_PUBLIC_API(2,0) SHA_224 final : public MDx_HashFunction
+class SHA_224 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SHA-224"; }
@@ -42,7 +40,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_224 final : public MDx_HashFunction
/**
* SHA-256
*/
-class BOTAN_PUBLIC_API(2,0) SHA_256 final : public MDx_HashFunction
+class SHA_256 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SHA-256"; }
diff --git a/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp b/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp
index 1574a3273..541e6abc8 100644
--- a/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp
+++ b/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp
@@ -7,7 +7,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha2_32.h>
+#include <botan/internal/sha2_32.h>
#include <arm_neon.h>
namespace Botan {
diff --git a/src/lib/hash/sha2_32/sha2_32_bmi2/sha2_32_bmi2.cpp b/src/lib/hash/sha2_32/sha2_32_bmi2/sha2_32_bmi2.cpp
index e3194e4af..557585818 100644
--- a/src/lib/hash/sha2_32/sha2_32_bmi2/sha2_32_bmi2.cpp
+++ b/src/lib/hash/sha2_32/sha2_32_bmi2/sha2_32_bmi2.cpp
@@ -4,9 +4,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha2_32.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha2_32.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp b/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
index a4bd9b72d..ea1ce9713 100644
--- a/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
+++ b/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha2_32.h>
+#include <botan/internal/sha2_32.h>
#include <immintrin.h>
namespace Botan {
diff --git a/src/lib/hash/sha2_64/sha2_64.cpp b/src/lib/hash/sha2_64/sha2_64.cpp
index 01abb4f00..bc0900264 100644
--- a/src/lib/hash/sha2_64/sha2_64.cpp
+++ b/src/lib/hash/sha2_64/sha2_64.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha2_64.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha2_64.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/hash/sha2_64/sha2_64.h b/src/lib/hash/sha2_64/sha2_64.h
index dc5f0dd18..a3253e0e8 100644
--- a/src/lib/hash/sha2_64/sha2_64.h
+++ b/src/lib/hash/sha2_64/sha2_64.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_SHA_64BIT_H_
#define BOTAN_SHA_64BIT_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(sha2_64.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* SHA-384
*/
-class BOTAN_PUBLIC_API(2,0) SHA_384 final : public MDx_HashFunction
+class SHA_384 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SHA-384"; }
@@ -40,7 +38,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_384 final : public MDx_HashFunction
/**
* SHA-512
*/
-class BOTAN_PUBLIC_API(2,0) SHA_512 final : public MDx_HashFunction
+class SHA_512 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SHA-512"; }
@@ -78,7 +76,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_512 final : public MDx_HashFunction
/**
* SHA-512/256
*/
-class BOTAN_PUBLIC_API(2,0) SHA_512_256 final : public MDx_HashFunction
+class SHA_512_256 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SHA-512-256"; }
diff --git a/src/lib/hash/sha2_64/sha2_64_bmi2/sha2_64_bmi2.cpp b/src/lib/hash/sha2_64/sha2_64_bmi2/sha2_64_bmi2.cpp
index 1ef0ecc56..b53da8cb4 100644
--- a/src/lib/hash/sha2_64/sha2_64_bmi2/sha2_64_bmi2.cpp
+++ b/src/lib/hash/sha2_64/sha2_64_bmi2/sha2_64_bmi2.cpp
@@ -4,9 +4,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha2_64.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha2_64.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/sha3/sha3.cpp b/src/lib/hash/sha3/sha3.cpp
index 690c2b264..314b92ded 100644
--- a/src/lib/hash/sha3/sha3.cpp
+++ b/src/lib/hash/sha3/sha3.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha3.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha3.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/exceptn.h>
#include <botan/cpuid.h>
diff --git a/src/lib/hash/sha3/sha3.h b/src/lib/hash/sha3/sha3.h
index e290e60a2..402dd5e23 100644
--- a/src/lib/hash/sha3/sha3.h
+++ b/src/lib/hash/sha3/sha3.h
@@ -12,14 +12,12 @@
#include <botan/secmem.h>
#include <string>
-BOTAN_FUTURE_INTERNAL_HEADER(sha3.h)
-
namespace Botan {
/**
* SHA-3
*/
-class BOTAN_PUBLIC_API(2,0) SHA_3 : public HashFunction
+class SHA_3 : public HashFunction
{
public:
@@ -98,7 +96,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_3 : public HashFunction
/**
* SHA-3-224
*/
-class BOTAN_PUBLIC_API(2,0) SHA_3_224 final : public SHA_3
+class SHA_3_224 final : public SHA_3
{
public:
SHA_3_224() : SHA_3(224) {}
@@ -107,7 +105,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_3_224 final : public SHA_3
/**
* SHA-3-256
*/
-class BOTAN_PUBLIC_API(2,0) SHA_3_256 final : public SHA_3
+class SHA_3_256 final : public SHA_3
{
public:
SHA_3_256() : SHA_3(256) {}
@@ -116,7 +114,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_3_256 final : public SHA_3
/**
* SHA-3-384
*/
-class BOTAN_PUBLIC_API(2,0) SHA_3_384 final : public SHA_3
+class SHA_3_384 final : public SHA_3
{
public:
SHA_3_384() : SHA_3(384) {}
@@ -125,7 +123,7 @@ class BOTAN_PUBLIC_API(2,0) SHA_3_384 final : public SHA_3
/**
* SHA-3-512
*/
-class BOTAN_PUBLIC_API(2,0) SHA_3_512 final : public SHA_3
+class SHA_3_512 final : public SHA_3
{
public:
SHA_3_512() : SHA_3(512) {}
diff --git a/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp b/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp
index a9650ad9d..9eac416ab 100644
--- a/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp
+++ b/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sha3.h>
-#include <botan/rotate.h>
+#include <botan/internal/sha3.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/shake/shake.cpp b/src/lib/hash/shake/shake.cpp
index 76ed79a27..6740581c6 100644
--- a/src/lib/hash/shake/shake.cpp
+++ b/src/lib/hash/shake/shake.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/shake.h>
-#include <botan/sha3.h>
+#include <botan/internal/shake.h>
+#include <botan/internal/sha3.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/hash/shake/shake.h b/src/lib/hash/shake/shake.h
index c52df136b..f58ca3273 100644
--- a/src/lib/hash/shake/shake.h
+++ b/src/lib/hash/shake/shake.h
@@ -12,14 +12,12 @@
#include <botan/secmem.h>
#include <string>
-BOTAN_FUTURE_INTERNAL_HEADER(shake.h)
-
namespace Botan {
/**
* SHAKE-128
*/
-class BOTAN_PUBLIC_API(2,0) SHAKE_128 final : public HashFunction
+class SHAKE_128 final : public HashFunction
{
public:
@@ -51,7 +49,7 @@ class BOTAN_PUBLIC_API(2,0) SHAKE_128 final : public HashFunction
/**
* SHAKE-256
*/
-class BOTAN_PUBLIC_API(2,0) SHAKE_256 final : public HashFunction
+class SHAKE_256 final : public HashFunction
{
public:
diff --git a/src/lib/hash/skein/skein_512.cpp b/src/lib/hash/skein/skein_512.cpp
index edf95d596..caa16f26e 100644
--- a/src/lib/hash/skein/skein_512.cpp
+++ b/src/lib/hash/skein/skein_512.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/skein_512.h>
-#include <botan/loadstor.h>
+#include <botan/internal/skein_512.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
#include <algorithm>
diff --git a/src/lib/hash/skein/skein_512.h b/src/lib/hash/skein/skein_512.h
index 0bf173ceb..d6d5ca44f 100644
--- a/src/lib/hash/skein/skein_512.h
+++ b/src/lib/hash/skein/skein_512.h
@@ -9,18 +9,16 @@
#define BOTAN_SKEIN_512_H_
#include <botan/hash.h>
-#include <botan/threefish_512.h>
+#include <botan/internal/threefish_512.h>
#include <string>
#include <memory>
-BOTAN_FUTURE_INTERNAL_HEADER(skin_512.h)
-
namespace Botan {
/**
* Skein-512, a SHA-3 candidate
*/
-class BOTAN_PUBLIC_API(2,0) Skein_512 final : public HashFunction
+class Skein_512 final : public HashFunction
{
public:
/**
diff --git a/src/lib/hash/sm3/sm3.cpp b/src/lib/hash/sm3/sm3.cpp
index cfd1409cd..608752363 100644
--- a/src/lib/hash/sm3/sm3.cpp
+++ b/src/lib/hash/sm3/sm3.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sm3.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/sm3.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/hash/sm3/sm3.h b/src/lib/hash/sm3/sm3.h
index 268bd87fb..e156d2b22 100644
--- a/src/lib/hash/sm3/sm3.h
+++ b/src/lib/hash/sm3/sm3.h
@@ -8,9 +8,7 @@
#ifndef BOTAN_SM3_H_
#define BOTAN_SM3_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(sm3.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
@@ -22,7 +20,7 @@ enum {
/**
* SM3
*/
-class BOTAN_PUBLIC_API(2,2) SM3 final : public MDx_HashFunction
+class SM3 final : public MDx_HashFunction
{
public:
std::string name() const override { return "SM3"; }
diff --git a/src/lib/hash/streebog/streebog.cpp b/src/lib/hash/streebog/streebog.cpp
index 0134daded..6e4320bdc 100644
--- a/src/lib/hash/streebog/streebog.cpp
+++ b/src/lib/hash/streebog/streebog.cpp
@@ -6,8 +6,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/streebog.h>
-#include <botan/loadstor.h>
+#include <botan/internal/streebog.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/hash/streebog/streebog.h b/src/lib/hash/streebog/streebog.h
index a573964d8..87b9608ac 100644
--- a/src/lib/hash/streebog/streebog.h
+++ b/src/lib/hash/streebog/streebog.h
@@ -10,15 +10,13 @@
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(streebog.h)
-
namespace Botan {
/**
* Streebog (GOST R 34.11-2012)
* RFC 6986
*/
-class BOTAN_PUBLIC_API(2,2) Streebog : public HashFunction
+class Streebog : public HashFunction
{
public:
size_t output_length() const override { return m_output_bits / 8; }
@@ -52,7 +50,7 @@ class BOTAN_PUBLIC_API(2,2) Streebog : public HashFunction
/**
* Streebog-256
*/
-class BOTAN_PUBLIC_API(2,2) Streebog_256 final : public Streebog
+class Streebog_256 final : public Streebog
{
public:
Streebog_256() : Streebog(256) {}
@@ -61,7 +59,7 @@ class BOTAN_PUBLIC_API(2,2) Streebog_256 final : public Streebog
/**
* Streebog-512
*/
-class BOTAN_PUBLIC_API(2,2) Streebog_512 final : public Streebog
+class Streebog_512 final : public Streebog
{
public:
Streebog_512() : Streebog(512) {}
diff --git a/src/lib/hash/streebog/streebog_precalc.cpp b/src/lib/hash/streebog/streebog_precalc.cpp
index cf2837932..e0af4a9dc 100644
--- a/src/lib/hash/streebog/streebog_precalc.cpp
+++ b/src/lib/hash/streebog/streebog_precalc.cpp
@@ -27,7 +27,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <botan/streebog.h>
+#include <botan/internal/streebog.h>
namespace Botan {
diff --git a/src/lib/hash/whirlpool/whirlpool.cpp b/src/lib/hash/whirlpool/whirlpool.cpp
index e1ffa4f20..b1cc38b71 100644
--- a/src/lib/hash/whirlpool/whirlpool.cpp
+++ b/src/lib/hash/whirlpool/whirlpool.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/whrlpool.h>
-#include <botan/loadstor.h>
+#include <botan/internal/whrlpool.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/hash/whirlpool/whrl_tab.cpp b/src/lib/hash/whirlpool/whrl_tab.cpp
index 460425cee..3cf913197 100644
--- a/src/lib/hash/whirlpool/whrl_tab.cpp
+++ b/src/lib/hash/whirlpool/whrl_tab.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/whrlpool.h>
+#include <botan/internal/whrlpool.h>
namespace Botan {
diff --git a/src/lib/hash/whirlpool/whrlpool.h b/src/lib/hash/whirlpool/whrlpool.h
index 26ee7f775..2e7e5594a 100644
--- a/src/lib/hash/whirlpool/whrlpool.h
+++ b/src/lib/hash/whirlpool/whrlpool.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_WHIRLPOOL_H_
#define BOTAN_WHIRLPOOL_H_
-#include <botan/mdx_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(whrlpool.h)
+#include <botan/internal/mdx_hash.h>
namespace Botan {
/**
* Whirlpool
*/
-class BOTAN_PUBLIC_API(2,0) Whirlpool final : public MDx_HashFunction
+class Whirlpool final : public MDx_HashFunction
{
public:
std::string name() const override { return "Whirlpool"; }
diff --git a/src/lib/kdf/hkdf/hkdf.cpp b/src/lib/kdf/hkdf/hkdf.cpp
index 0a62648fc..2c9196c3b 100644
--- a/src/lib/kdf/hkdf/hkdf.cpp
+++ b/src/lib/kdf/hkdf/hkdf.cpp
@@ -6,8 +6,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/hkdf.h>
-#include <botan/loadstor.h>
+#include <botan/internal/hkdf.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/kdf/hkdf/hkdf.h b/src/lib/kdf/hkdf/hkdf.h
index 4b1ed2922..cf4efb443 100644
--- a/src/lib/kdf/hkdf/hkdf.h
+++ b/src/lib/kdf/hkdf/hkdf.h
@@ -12,18 +12,12 @@
#include <botan/mac.h>
#include <botan/kdf.h>
-/*
-* The definitions of HKDF, HKDF_Extract, HKDF_Expand will be made internal
-* in the future. However the function hkdf_expand_label will still be defined.
-*/
-//BOTAN_FUTURE_INTERNAL_HEADER(hkdf.h)
-
namespace Botan {
/**
* HKDF from RFC 5869.
*/
-class BOTAN_PUBLIC_API(2,0) HKDF final : public KDF
+class HKDF final : public KDF
{
public:
/**
@@ -47,7 +41,7 @@ class BOTAN_PUBLIC_API(2,0) HKDF final : public KDF
/**
* HKDF Extraction Step from RFC 5869.
*/
-class BOTAN_PUBLIC_API(2,0) HKDF_Extract final : public KDF
+class HKDF_Extract final : public KDF
{
public:
/**
@@ -71,7 +65,7 @@ class BOTAN_PUBLIC_API(2,0) HKDF_Extract final : public KDF
/**
* HKDF Expansion Step from RFC 5869.
*/
-class BOTAN_PUBLIC_API(2,0) HKDF_Expand final : public KDF
+class HKDF_Expand final : public KDF
{
public:
/**
@@ -104,7 +98,7 @@ class BOTAN_PUBLIC_API(2,0) HKDF_Expand final : public KDF
* @param length the desired output length
*/
secure_vector<uint8_t>
-BOTAN_PUBLIC_API(2,3) hkdf_expand_label(
+BOTAN_TEST_API hkdf_expand_label(
const std::string& hash_fn,
const uint8_t secret[], size_t secret_len,
const std::string& label,
diff --git a/src/lib/kdf/kdf.cpp b/src/lib/kdf/kdf.cpp
index 7f7d352db..87a6bb5f6 100644
--- a/src/lib/kdf/kdf.cpp
+++ b/src/lib/kdf/kdf.cpp
@@ -12,39 +12,39 @@
#include <botan/exceptn.h>
#if defined(BOTAN_HAS_HKDF)
-#include <botan/hkdf.h>
+#include <botan/internal/hkdf.h>
#endif
#if defined(BOTAN_HAS_KDF1)
-#include <botan/kdf1.h>
+#include <botan/internal/kdf1.h>
#endif
#if defined(BOTAN_HAS_KDF2)
-#include <botan/kdf2.h>
+#include <botan/internal/kdf2.h>
#endif
#if defined(BOTAN_HAS_KDF1_18033)
-#include <botan/kdf1_iso18033.h>
+#include <botan/internal/kdf1_iso18033.h>
#endif
#if defined(BOTAN_HAS_TLS_V10_PRF) || defined(BOTAN_HAS_TLS_V12_PRF)
-#include <botan/prf_tls.h>
+#include <botan/internal/prf_tls.h>
#endif
#if defined(BOTAN_HAS_X942_PRF)
-#include <botan/prf_x942.h>
+#include <botan/internal/prf_x942.h>
#endif
#if defined(BOTAN_HAS_SP800_108)
-#include <botan/sp800_108.h>
+#include <botan/internal/sp800_108.h>
#endif
#if defined(BOTAN_HAS_SP800_56A)
-#include <botan/sp800_56a.h>
+#include <botan/internal/sp800_56a.h>
#endif
#if defined(BOTAN_HAS_SP800_56C)
-#include <botan/sp800_56c.h>
+#include <botan/internal/sp800_56c.h>
#endif
namespace Botan {
diff --git a/src/lib/kdf/kdf1/kdf1.cpp b/src/lib/kdf/kdf1/kdf1.cpp
index 3de261c55..844311681 100644
--- a/src/lib/kdf/kdf1/kdf1.cpp
+++ b/src/lib/kdf/kdf1/kdf1.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/kdf1.h>
+#include <botan/internal/kdf1.h>
namespace Botan {
diff --git a/src/lib/kdf/kdf1/kdf1.h b/src/lib/kdf/kdf1/kdf1.h
index 388b55251..612be45f7 100644
--- a/src/lib/kdf/kdf1/kdf1.h
+++ b/src/lib/kdf/kdf1/kdf1.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(kdf1.h)
-
namespace Botan {
/**
* KDF1, from IEEE 1363
*/
-class BOTAN_PUBLIC_API(2,0) KDF1 final : public KDF
+class KDF1 final : public KDF
{
public:
std::string name() const override { return "KDF1(" + m_hash->name() + ")"; }
diff --git a/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp b/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
index c7699d2f2..2a076cbff 100644
--- a/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
+++ b/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/kdf1_iso18033.h>
+#include <botan/internal/kdf1_iso18033.h>
namespace Botan {
diff --git a/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h b/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h
index 5f913057e..5a96c2a63 100644
--- a/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h
+++ b/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(kdf1_iso18033.h)
-
namespace Botan {
/**
* KDF1, from ISO 18033-2
*/
-class BOTAN_PUBLIC_API(2,0) KDF1_18033 final : public KDF
+class KDF1_18033 final : public KDF
{
public:
std::string name() const override { return "KDF1-18033(" + m_hash->name() + ")"; }
diff --git a/src/lib/kdf/kdf2/kdf2.cpp b/src/lib/kdf/kdf2/kdf2.cpp
index 4e3bb5583..577176c23 100644
--- a/src/lib/kdf/kdf2/kdf2.cpp
+++ b/src/lib/kdf/kdf2/kdf2.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/kdf2.h>
+#include <botan/internal/kdf2.h>
namespace Botan {
diff --git a/src/lib/kdf/kdf2/kdf2.h b/src/lib/kdf/kdf2/kdf2.h
index 43abbf087..1f4d30a4f 100644
--- a/src/lib/kdf/kdf2/kdf2.h
+++ b/src/lib/kdf/kdf2/kdf2.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(kdf2.h)
-
namespace Botan {
/**
* KDF2, from IEEE 1363
*/
-class BOTAN_PUBLIC_API(2,0) KDF2 final : public KDF
+class KDF2 final : public KDF
{
public:
std::string name() const override { return "KDF2(" + m_hash->name() + ")"; }
diff --git a/src/lib/kdf/prf_tls/prf_tls.cpp b/src/lib/kdf/prf_tls/prf_tls.cpp
index c98c7d351..540166546 100644
--- a/src/lib/kdf/prf_tls/prf_tls.cpp
+++ b/src/lib/kdf/prf_tls/prf_tls.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/prf_tls.h>
+#include <botan/internal/prf_tls.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/kdf/prf_tls/prf_tls.h b/src/lib/kdf/prf_tls/prf_tls.h
index 603086a7e..8d10f7270 100644
--- a/src/lib/kdf/prf_tls/prf_tls.h
+++ b/src/lib/kdf/prf_tls/prf_tls.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(prf_tls.h)
-
namespace Botan {
/**
* PRF used in TLS 1.0/1.1
*/
-class BOTAN_PUBLIC_API(2,0) TLS_PRF final : public KDF
+class TLS_PRF final : public KDF
{
public:
std::string name() const override { return "TLS-PRF"; }
@@ -45,7 +43,7 @@ class BOTAN_PUBLIC_API(2,0) TLS_PRF final : public KDF
/**
* PRF used in TLS 1.2
*/
-class BOTAN_PUBLIC_API(2,0) TLS_12_PRF final : public KDF
+class TLS_12_PRF final : public KDF
{
public:
std::string name() const override { return "TLS-12-PRF(" + m_mac->name() + ")"; }
diff --git a/src/lib/kdf/prf_x942/prf_x942.cpp b/src/lib/kdf/prf_x942/prf_x942.cpp
index 4a4a3a7f0..2fb2ef543 100644
--- a/src/lib/kdf/prf_x942/prf_x942.cpp
+++ b/src/lib/kdf/prf_x942/prf_x942.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/prf_x942.h>
+#include <botan/internal/prf_x942.h>
#include <botan/der_enc.h>
#include <botan/hash.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <algorithm>
namespace Botan {
diff --git a/src/lib/kdf/prf_x942/prf_x942.h b/src/lib/kdf/prf_x942/prf_x942.h
index 98af7e069..5f993fef4 100644
--- a/src/lib/kdf/prf_x942/prf_x942.h
+++ b/src/lib/kdf/prf_x942/prf_x942.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/asn1_obj.h>
-BOTAN_FUTURE_INTERNAL_HEADER(prf_x942.h)
-
namespace Botan {
/**
* PRF from ANSI X9.42
*/
-class BOTAN_PUBLIC_API(2,0) X942_PRF final : public KDF
+class X942_PRF final : public KDF
{
public:
std::string name() const override;
diff --git a/src/lib/kdf/sp800_108/sp800_108.cpp b/src/lib/kdf/sp800_108/sp800_108.cpp
index 909e8d47d..b36d66b8c 100644
--- a/src/lib/kdf/sp800_108/sp800_108.cpp
+++ b/src/lib/kdf/sp800_108/sp800_108.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sp800_108.h>
-#include <botan/loadstor.h>
+#include <botan/internal/sp800_108.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
#include <iterator>
diff --git a/src/lib/kdf/sp800_108/sp800_108.h b/src/lib/kdf/sp800_108/sp800_108.h
index 46f734e8e..0055c0ad8 100644
--- a/src/lib/kdf/sp800_108/sp800_108.h
+++ b/src/lib/kdf/sp800_108/sp800_108.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(sp800_108.h)
-
namespace Botan {
/**
* NIST SP 800-108 KDF in Counter Mode (5.1)
*/
-class BOTAN_PUBLIC_API(2,0) SP800_108_Counter final : public KDF
+class SP800_108_Counter final : public KDF
{
public:
std::string name() const override { return "SP800-108-Counter(" + m_prf->name() + ")"; }
@@ -58,7 +56,7 @@ class BOTAN_PUBLIC_API(2,0) SP800_108_Counter final : public KDF
/**
* NIST SP 800-108 KDF in Feedback Mode (5.2)
*/
-class BOTAN_PUBLIC_API(2,0) SP800_108_Feedback final : public KDF
+class SP800_108_Feedback final : public KDF
{
public:
std::string name() const override { return "SP800-108-Feedback(" + m_prf->name() + ")"; }
@@ -95,7 +93,7 @@ class BOTAN_PUBLIC_API(2,0) SP800_108_Feedback final : public KDF
/**
* NIST SP 800-108 KDF in Double Pipeline Mode (5.3)
*/
-class BOTAN_PUBLIC_API(2,0) SP800_108_Pipeline final : public KDF
+class SP800_108_Pipeline final : public KDF
{
public:
std::string name() const override { return "SP800-108-Pipeline(" + m_prf->name() + ")"; }
diff --git a/src/lib/kdf/sp800_56a/sp800_56a.cpp b/src/lib/kdf/sp800_56a/sp800_56a.cpp
index 8e9bcf856..06d724da6 100644
--- a/src/lib/kdf/sp800_56a/sp800_56a.cpp
+++ b/src/lib/kdf/sp800_56a/sp800_56a.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sp800_56a.h>
+#include <botan/internal/sp800_56a.h>
#include <botan/scan_name.h>
#include <botan/exceptn.h>
diff --git a/src/lib/kdf/sp800_56a/sp800_56a.h b/src/lib/kdf/sp800_56a/sp800_56a.h
index e83f117e2..512ab5b68 100644
--- a/src/lib/kdf/sp800_56a/sp800_56a.h
+++ b/src/lib/kdf/sp800_56a/sp800_56a.h
@@ -13,15 +13,13 @@
#include <botan/hash.h>
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(sp800_56a.h)
-
namespace Botan {
/**
* NIST SP 800-56A KDF using hash function
* @warning This KDF ignores the provided salt value
*/
-class BOTAN_PUBLIC_API(2,2) SP800_56A_Hash final : public KDF
+class SP800_56A_Hash final : public KDF
{
public:
std::string name() const override { return "SP800-56A(" + m_hash->name() + ")"; }
@@ -61,7 +59,7 @@ class BOTAN_PUBLIC_API(2,2) SP800_56A_Hash final : public KDF
/**
* NIST SP 800-56A KDF using HMAC
*/
-class BOTAN_PUBLIC_API(2,2) SP800_56A_HMAC final : public KDF
+class SP800_56A_HMAC final : public KDF
{
public:
std::string name() const override { return "SP800-56A(" + m_mac->name() + ")"; }
diff --git a/src/lib/kdf/sp800_56c/sp800_56c.cpp b/src/lib/kdf/sp800_56c/sp800_56c.cpp
index c0a1a1f68..fbdd13eb9 100644
--- a/src/lib/kdf/sp800_56c/sp800_56c.cpp
+++ b/src/lib/kdf/sp800_56c/sp800_56c.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/sp800_56c.h>
+#include <botan/internal/sp800_56c.h>
namespace Botan {
diff --git a/src/lib/kdf/sp800_56c/sp800_56c.h b/src/lib/kdf/sp800_56c/sp800_56c.h
index bdbdfcd9e..ffc56752c 100644
--- a/src/lib/kdf/sp800_56c/sp800_56c.h
+++ b/src/lib/kdf/sp800_56c/sp800_56c.h
@@ -11,14 +11,12 @@
#include <botan/kdf.h>
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(sp800_56c.h)
-
namespace Botan {
/**
* NIST SP 800-56C KDF
*/
-class BOTAN_PUBLIC_API(2,0) SP800_56C final : public KDF
+class SP800_56C final : public KDF
{
public:
std::string name() const override { return "SP800-56C(" + m_prf->name() + ")"; }
diff --git a/src/lib/mac/cmac/cmac.cpp b/src/lib/mac/cmac/cmac.cpp
index 38752471d..1ab462056 100644
--- a/src/lib/mac/cmac/cmac.cpp
+++ b/src/lib/mac/cmac/cmac.cpp
@@ -5,23 +5,13 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/cmac.h>
+#include <botan/internal/cmac.h>
#include <botan/exceptn.h>
#include <botan/internal/poly_dbl.h>
namespace Botan {
/*
-* Perform CMAC's multiplication in GF(2^n)
-*/
-secure_vector<uint8_t> CMAC::poly_double(const secure_vector<uint8_t>& in)
- {
- secure_vector<uint8_t> out(in.size());
- poly_double_n(out.data(), in.data(), out.size());
- return out;
- }
-
-/*
* Update an CMAC Calculation
*/
void CMAC::add_data(const uint8_t input[], size_t length)
diff --git a/src/lib/mac/cmac/cmac.h b/src/lib/mac/cmac/cmac.h
index f73167590..861db8929 100644
--- a/src/lib/mac/cmac/cmac.h
+++ b/src/lib/mac/cmac/cmac.h
@@ -11,14 +11,12 @@
#include <botan/mac.h>
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(cmac.h)
-
namespace Botan {
/**
* CMAC, also known as OMAC1
*/
-class BOTAN_PUBLIC_API(2,0) CMAC final : public MessageAuthenticationCode
+class CMAC final : public MessageAuthenticationCode
{
public:
std::string name() const override;
@@ -33,18 +31,6 @@ class BOTAN_PUBLIC_API(2,0) CMAC final : public MessageAuthenticationCode
}
/**
- * CMAC's polynomial doubling operation
- *
- * This function was only exposed for use elsewhere in the library, but it is not
- * longer used. This function will be removed in a future release.
- *
- * @param in the input
- */
- static secure_vector<uint8_t>
- BOTAN_DEPRECATED("This was only for internal use and is no longer used")
- poly_double(const secure_vector<uint8_t>& in);
-
- /**
* @param cipher the block cipher to use
*/
explicit CMAC(BlockCipher* cipher);
diff --git a/src/lib/mac/gmac/gmac.cpp b/src/lib/mac/gmac/gmac.cpp
index 6b162857f..2e594378d 100644
--- a/src/lib/mac/gmac/gmac.cpp
+++ b/src/lib/mac/gmac/gmac.cpp
@@ -6,8 +6,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/gmac.h>
-#include <botan/ghash.h>
+#include <botan/internal/gmac.h>
+#include <botan/internal/ghash.h>
#include <botan/exceptn.h>
#include <botan/block_cipher.h>
diff --git a/src/lib/mac/gmac/gmac.h b/src/lib/mac/gmac/gmac.h
index b78aeec6f..5b7052251 100644
--- a/src/lib/mac/gmac/gmac.h
+++ b/src/lib/mac/gmac/gmac.h
@@ -11,8 +11,6 @@
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(gmac.h)
-
namespace Botan {
class BlockCipher;
@@ -24,7 +22,7 @@ class GHASH;
* GMAC requires a unique initialization vector be used for each message.
* This must be provided via the MessageAuthenticationCode::start() API
*/
-class BOTAN_PUBLIC_API(2,0) GMAC final : public MessageAuthenticationCode
+class GMAC final : public MessageAuthenticationCode
{
public:
void clear() override;
diff --git a/src/lib/mac/hmac/hmac.cpp b/src/lib/mac/hmac/hmac.cpp
index eada1e1bc..7a7c38aab 100644
--- a/src/lib/mac/hmac/hmac.cpp
+++ b/src/lib/mac/hmac/hmac.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/hmac.h>
+#include <botan/internal/hmac.h>
#include <botan/internal/ct_utils.h>
namespace Botan {
diff --git a/src/lib/mac/hmac/hmac.h b/src/lib/mac/hmac/hmac.h
index 1f2f4227d..9258a2f4e 100644
--- a/src/lib/mac/hmac/hmac.h
+++ b/src/lib/mac/hmac/hmac.h
@@ -11,14 +11,12 @@
#include <botan/mac.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(hmac.h)
-
namespace Botan {
/**
* HMAC
*/
-class BOTAN_PUBLIC_API(2,0) HMAC final : public MessageAuthenticationCode
+class HMAC final : public MessageAuthenticationCode
{
public:
void clear() override;
diff --git a/src/lib/mac/mac.cpp b/src/lib/mac/mac.cpp
index e7f7be88e..4faebb0e9 100644
--- a/src/lib/mac/mac.cpp
+++ b/src/lib/mac/mac.cpp
@@ -11,29 +11,29 @@
#include <botan/mem_ops.h>
#if defined(BOTAN_HAS_CMAC)
- #include <botan/cmac.h>
+ #include <botan/internal/cmac.h>
#endif
#if defined(BOTAN_HAS_GMAC)
- #include <botan/gmac.h>
+ #include <botan/internal/gmac.h>
#include <botan/block_cipher.h>
#endif
#if defined(BOTAN_HAS_HMAC)
- #include <botan/hmac.h>
+ #include <botan/internal/hmac.h>
#include <botan/hash.h>
#endif
#if defined(BOTAN_HAS_POLY1305)
- #include <botan/poly1305.h>
+ #include <botan/internal/poly1305.h>
#endif
#if defined(BOTAN_HAS_SIPHASH)
- #include <botan/siphash.h>
+ #include <botan/internal/siphash.h>
#endif
#if defined(BOTAN_HAS_ANSI_X919_MAC)
- #include <botan/x919_mac.h>
+ #include <botan/internal/x919_mac.h>
#endif
namespace Botan {
diff --git a/src/lib/mac/poly1305/info.txt b/src/lib/mac/poly1305/info.txt
index 868f97241..b3f12b508 100644
--- a/src/lib/mac/poly1305/info.txt
+++ b/src/lib/mac/poly1305/info.txt
@@ -1,7 +1,3 @@
<defines>
POLY1305 -> 20141227
</defines>
-
-<header:public>
-poly1305.h
-</header:public>
diff --git a/src/lib/mac/poly1305/poly1305.cpp b/src/lib/mac/poly1305/poly1305.cpp
index 333a21a1a..9181ebe61 100644
--- a/src/lib/mac/poly1305/poly1305.cpp
+++ b/src/lib/mac/poly1305/poly1305.cpp
@@ -8,9 +8,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/poly1305.h>
-#include <botan/loadstor.h>
-#include <botan/mul128.h>
+#include <botan/internal/poly1305.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/mul128.h>
#include <botan/internal/donna128.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/mac/poly1305/poly1305.h b/src/lib/mac/poly1305/poly1305.h
index fdd01ecd1..7c1c68c5e 100644
--- a/src/lib/mac/poly1305/poly1305.h
+++ b/src/lib/mac/poly1305/poly1305.h
@@ -11,15 +11,13 @@
#include <botan/mac.h>
#include <memory>
-BOTAN_FUTURE_INTERNAL_HEADER(poly1305.h)
-
namespace Botan {
/**
* DJB's Poly1305
* Important note: each key can only be used once
*/
-class BOTAN_PUBLIC_API(2,0) Poly1305 final : public MessageAuthenticationCode
+class Poly1305 final : public MessageAuthenticationCode
{
public:
std::string name() const override { return "Poly1305"; }
diff --git a/src/lib/mac/siphash/siphash.cpp b/src/lib/mac/siphash/siphash.cpp
index 566d5d5de..bb95de75e 100644
--- a/src/lib/mac/siphash/siphash.cpp
+++ b/src/lib/mac/siphash/siphash.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/siphash.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/siphash.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/mac/siphash/siphash.h b/src/lib/mac/siphash/siphash.h
index d60df8dfc..1412bbb92 100644
--- a/src/lib/mac/siphash/siphash.h
+++ b/src/lib/mac/siphash/siphash.h
@@ -10,11 +10,9 @@
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(siphash.h)
-
namespace Botan {
-class BOTAN_PUBLIC_API(2,0) SipHash final : public MessageAuthenticationCode
+class SipHash final : public MessageAuthenticationCode
{
public:
SipHash(size_t c = 2, size_t d = 4) : m_C(c), m_D(d) {}
diff --git a/src/lib/mac/x919_mac/x919_mac.cpp b/src/lib/mac/x919_mac/x919_mac.cpp
index 0cbf08795..41dca8e13 100644
--- a/src/lib/mac/x919_mac/x919_mac.cpp
+++ b/src/lib/mac/x919_mac/x919_mac.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/x919_mac.h>
+#include <botan/internal/x919_mac.h>
namespace Botan {
diff --git a/src/lib/mac/x919_mac/x919_mac.h b/src/lib/mac/x919_mac/x919_mac.h
index 3df38b9aa..4cd8652fc 100644
--- a/src/lib/mac/x919_mac/x919_mac.h
+++ b/src/lib/mac/x919_mac/x919_mac.h
@@ -11,14 +11,12 @@
#include <botan/mac.h>
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(x919_mac.h)
-
namespace Botan {
/**
* DES/3DES-based MAC from ANSI X9.19
*/
-class BOTAN_PUBLIC_API(2,0) ANSI_X919_MAC final : public MessageAuthenticationCode
+class ANSI_X919_MAC final : public MessageAuthenticationCode
{
public:
void clear() override;
diff --git a/src/lib/math/bigint/big_code.cpp b/src/lib/math/bigint/big_code.cpp
index 6eb27549e..4f38b100e 100644
--- a/src/lib/math/bigint/big_code.cpp
+++ b/src/lib/math/bigint/big_code.cpp
@@ -6,8 +6,8 @@
*/
#include <botan/bigint.h>
-#include <botan/divide.h>
-#include <botan/charset.h>
+#include <botan/internal/divide.h>
+#include <botan/internal/charset.h>
#include <botan/hex.h>
namespace Botan {
diff --git a/src/lib/math/bigint/big_ops3.cpp b/src/lib/math/bigint/big_ops3.cpp
index 11804762b..553a34a7b 100644
--- a/src/lib/math/bigint/big_ops3.cpp
+++ b/src/lib/math/bigint/big_ops3.cpp
@@ -7,7 +7,7 @@
*/
#include <botan/bigint.h>
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
#include <botan/internal/mp_core.h>
#include <botan/internal/bit_ops.h>
#include <algorithm>
diff --git a/src/lib/math/bigint/bigint.cpp b/src/lib/math/bigint/bigint.cpp
index 8510da1d3..3771d1820 100644
--- a/src/lib/math/bigint/bigint.cpp
+++ b/src/lib/math/bigint/bigint.cpp
@@ -10,7 +10,7 @@
#include <botan/internal/rounding.h>
#include <botan/internal/bit_ops.h>
#include <botan/internal/ct_utils.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/math/bigint/divide.cpp b/src/lib/math/bigint/divide.cpp
index 0b23e2489..37d7c4c7b 100644
--- a/src/lib/math/bigint/divide.cpp
+++ b/src/lib/math/bigint/divide.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
#include <botan/internal/mp_core.h>
#include <botan/internal/mp_madd.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/math/bigint/divide.h b/src/lib/math/bigint/divide.h
index 47141b3e7..157472dfc 100644
--- a/src/lib/math/bigint/divide.h
+++ b/src/lib/math/bigint/divide.h
@@ -10,8 +10,6 @@
#include <botan/bigint.h>
-BOTAN_FUTURE_INTERNAL_HEADER(divide.h)
-
namespace Botan {
/**
@@ -21,10 +19,11 @@ namespace Botan {
* @param q will be set to x / y
* @param r will be set to x % y
*/
-void BOTAN_UNSTABLE_API vartime_divide(const BigInt& x,
- const BigInt& y,
- BigInt& q,
- BigInt& r);
+BOTAN_TEST_API
+void vartime_divide(const BigInt& x,
+ const BigInt& y,
+ BigInt& q,
+ BigInt& r);
/**
* BigInt division, const time variant
@@ -37,10 +36,11 @@ void BOTAN_UNSTABLE_API vartime_divide(const BigInt& x,
* @param q will be set to x / y
* @param r will be set to x % y
*/
-void BOTAN_PUBLIC_API(2,9) ct_divide(const BigInt& x,
- const BigInt& y,
- BigInt& q,
- BigInt& r);
+BOTAN_TEST_API
+void ct_divide(const BigInt& x,
+ const BigInt& y,
+ BigInt& q,
+ BigInt& r);
inline void divide(const BigInt& x,
const BigInt& y,
@@ -78,10 +78,11 @@ inline BigInt ct_divide(const BigInt& x, const BigInt& y)
* @param q will be set to x / y
* @param r will be set to x % y
*/
-void BOTAN_PUBLIC_API(2,9) ct_divide_u8(const BigInt& x,
- uint8_t y,
- BigInt& q,
- uint8_t& r);
+BOTAN_TEST_API
+void ct_divide_u8(const BigInt& x,
+ uint8_t y,
+ BigInt& q,
+ uint8_t& r);
/**
* BigInt modulo, const time variant
@@ -93,8 +94,9 @@ void BOTAN_PUBLIC_API(2,9) ct_divide_u8(const BigInt& x,
* @param modulo a positive integer
* @return result x % modulo
*/
-BigInt BOTAN_PUBLIC_API(2,9) ct_modulo(const BigInt& x,
- const BigInt& modulo);
+BOTAN_TEST_API
+BigInt ct_modulo(const BigInt& x,
+ const BigInt& modulo);
}
diff --git a/src/lib/math/bigint/info.txt b/src/lib/math/bigint/info.txt
index 974366b81..c358299eb 100644
--- a/src/lib/math/bigint/info.txt
+++ b/src/lib/math/bigint/info.txt
@@ -4,9 +4,12 @@ BIGINT -> 20131128
<header:public>
bigint.h
-divide.h
</header:public>
+<header:internal>
+divide.h
+</header:internal>
+
<requires>
mp
hex
diff --git a/src/lib/math/mp/mp_madd.h b/src/lib/math/mp/mp_madd.h
index 531d6e663..b530b74f1 100644
--- a/src/lib/math/mp/mp_madd.h
+++ b/src/lib/math/mp/mp_madd.h
@@ -10,7 +10,7 @@
#define BOTAN_MP_WORD_MULADD_H_
#include <botan/types.h>
-#include <botan/mul128.h>
+#include <botan/internal/mul128.h>
namespace Botan {
diff --git a/src/lib/math/numbertheory/curve_nistp.h b/src/lib/math/numbertheory/curve_nistp.h
index 19d1bd256..2425eb9e8 100644
--- a/src/lib/math/numbertheory/curve_nistp.h
+++ b/src/lib/math/numbertheory/curve_nistp.h
@@ -10,8 +10,6 @@
#include <botan/bigint.h>
-BOTAN_FUTURE_INTERNAL_HEADER(curve_nistp.h)
-
namespace Botan {
/**
@@ -22,27 +20,20 @@ namespace Botan {
* ws is a workspace function which is used as a temporary,
* and will be resized as needed.
*/
-BOTAN_PUBLIC_API(2,0) const BigInt& prime_p521();
-BOTAN_PUBLIC_API(2,0) void redc_p521(BigInt& x, secure_vector<word>& ws);
-
-/*
-Previously this macro indicated if the P-{192,224,256,384} reducers
-were available. Now they are always enabled and this macro has no meaning.
-The define will be removed in a future major release.
-*/
-#define BOTAN_HAS_NIST_PRIME_REDUCERS_W32
+BOTAN_TEST_API const BigInt& prime_p521();
+BOTAN_TEST_API void redc_p521(BigInt& x, secure_vector<word>& ws);
-BOTAN_PUBLIC_API(2,0) const BigInt& prime_p384();
-BOTAN_PUBLIC_API(2,0) void redc_p384(BigInt& x, secure_vector<word>& ws);
+BOTAN_TEST_API const BigInt& prime_p384();
+BOTAN_TEST_API void redc_p384(BigInt& x, secure_vector<word>& ws);
-BOTAN_PUBLIC_API(2,0) const BigInt& prime_p256();
-BOTAN_PUBLIC_API(2,0) void redc_p256(BigInt& x, secure_vector<word>& ws);
+BOTAN_TEST_API const BigInt& prime_p256();
+BOTAN_TEST_API void redc_p256(BigInt& x, secure_vector<word>& ws);
-BOTAN_PUBLIC_API(2,0) const BigInt& prime_p224();
-BOTAN_PUBLIC_API(2,0) void redc_p224(BigInt& x, secure_vector<word>& ws);
+BOTAN_TEST_API const BigInt& prime_p224();
+BOTAN_TEST_API void redc_p224(BigInt& x, secure_vector<word>& ws);
-BOTAN_PUBLIC_API(2,0) const BigInt& prime_p192();
-BOTAN_PUBLIC_API(2,0) void redc_p192(BigInt& x, secure_vector<word>& ws);
+BOTAN_TEST_API const BigInt& prime_p192();
+BOTAN_TEST_API void redc_p192(BigInt& x, secure_vector<word>& ws);
}
diff --git a/src/lib/math/numbertheory/info.txt b/src/lib/math/numbertheory/info.txt
index 4b241c120..a5b914a30 100644
--- a/src/lib/math/numbertheory/info.txt
+++ b/src/lib/math/numbertheory/info.txt
@@ -3,16 +3,16 @@ NUMBERTHEORY -> 20131128
</defines>
<header:public>
-curve_nistp.h
numthry.h
-pow_mod.h
reducer.h
-monty.h
</header:public>
<header:internal>
-primality.h
+curve_nistp.h
+monty.h
monty_exp.h
+pow_mod.h
+primality.h
</header:internal>
<requires>
diff --git a/src/lib/math/numbertheory/make_prm.cpp b/src/lib/math/numbertheory/make_prm.cpp
index 404e30104..bac15c707 100644
--- a/src/lib/math/numbertheory/make_prm.cpp
+++ b/src/lib/math/numbertheory/make_prm.cpp
@@ -8,7 +8,7 @@
#include <botan/numthry.h>
#include <botan/rng.h>
#include <botan/internal/bit_ops.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/reducer.h>
#include <botan/internal/primality.h>
#include <algorithm>
diff --git a/src/lib/math/numbertheory/mod_inv.cpp b/src/lib/math/numbertheory/mod_inv.cpp
index ec3bb33f0..b7c6f2b1e 100644
--- a/src/lib/math/numbertheory/mod_inv.cpp
+++ b/src/lib/math/numbertheory/mod_inv.cpp
@@ -5,7 +5,7 @@
*/
#include <botan/numthry.h>
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
#include <botan/internal/ct_utils.h>
#include <botan/internal/mp_core.h>
#include <botan/internal/rounding.h>
diff --git a/src/lib/math/numbertheory/monty.cpp b/src/lib/math/numbertheory/monty.cpp
index ca5eb73df..40cee2986 100644
--- a/src/lib/math/numbertheory/monty.cpp
+++ b/src/lib/math/numbertheory/monty.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/monty.h>
+#include <botan/internal/monty.h>
#include <botan/reducer.h>
#include <botan/internal/mp_core.h>
diff --git a/src/lib/math/numbertheory/monty_exp.cpp b/src/lib/math/numbertheory/monty_exp.cpp
index 02ae795cd..cbf17d180 100644
--- a/src/lib/math/numbertheory/monty_exp.cpp
+++ b/src/lib/math/numbertheory/monty_exp.cpp
@@ -11,7 +11,7 @@
#include <botan/internal/rounding.h>
#include <botan/numthry.h>
#include <botan/reducer.h>
-#include <botan/monty.h>
+#include <botan/internal/monty.h>
namespace Botan {
diff --git a/src/lib/math/numbertheory/nistp_redc.cpp b/src/lib/math/numbertheory/nistp_redc.cpp
index 7f5ff18b9..0f570d763 100644
--- a/src/lib/math/numbertheory/nistp_redc.cpp
+++ b/src/lib/math/numbertheory/nistp_redc.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/curve_nistp.h>
+#include <botan/internal/curve_nistp.h>
#include <botan/internal/mp_core.h>
#include <botan/internal/mp_asmi.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/math/numbertheory/numthry.cpp b/src/lib/math/numbertheory/numthry.cpp
index 06d837801..f8e1ae8d9 100644
--- a/src/lib/math/numbertheory/numthry.cpp
+++ b/src/lib/math/numbertheory/numthry.cpp
@@ -7,8 +7,8 @@
#include <botan/numthry.h>
#include <botan/reducer.h>
-#include <botan/monty.h>
-#include <botan/divide.h>
+#include <botan/internal/monty.h>
+#include <botan/internal/divide.h>
#include <botan/rng.h>
#include <botan/internal/ct_utils.h>
#include <botan/internal/mp_core.h>
diff --git a/src/lib/math/numbertheory/pow_mod.cpp b/src/lib/math/numbertheory/pow_mod.cpp
index 7b38fad1d..5e94fe586 100644
--- a/src/lib/math/numbertheory/pow_mod.cpp
+++ b/src/lib/math/numbertheory/pow_mod.cpp
@@ -6,10 +6,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/pow_mod.h>
+#include <botan/internal/pow_mod.h>
#include <botan/numthry.h>
#include <botan/reducer.h>
-#include <botan/monty.h>
+#include <botan/internal/monty.h>
#include <botan/internal/monty_exp.h>
#include <botan/internal/rounding.h>
#include <vector>
diff --git a/src/lib/math/numbertheory/pow_mod.h b/src/lib/math/numbertheory/pow_mod.h
index b465013e5..5581752ea 100644
--- a/src/lib/math/numbertheory/pow_mod.h
+++ b/src/lib/math/numbertheory/pow_mod.h
@@ -10,8 +10,6 @@
#include <botan/bigint.h>
-BOTAN_FUTURE_INTERNAL_HEADER(pow_mod.h)
-
namespace Botan {
class Modular_Exponentiator;
@@ -19,7 +17,7 @@ class Modular_Exponentiator;
/**
* Modular Exponentiator Proxy
*/
-class BOTAN_PUBLIC_API(2,0) Power_Mod
+class BOTAN_TEST_API Power_Mod
{
public:
@@ -88,7 +86,7 @@ class BOTAN_PUBLIC_API(2,0) Power_Mod
/**
* Fixed Exponent Modular Exponentiator Proxy
*/
-class BOTAN_PUBLIC_API(2,0) Fixed_Exponent_Power_Mod final : public Power_Mod
+class Fixed_Exponent_Power_Mod final : public Power_Mod
{
public:
BigInt operator()(const BigInt& b) const
@@ -104,7 +102,7 @@ class BOTAN_PUBLIC_API(2,0) Fixed_Exponent_Power_Mod final : public Power_Mod
/**
* Fixed Base Modular Exponentiator Proxy
*/
-class BOTAN_PUBLIC_API(2,0) Fixed_Base_Power_Mod final : public Power_Mod
+class Fixed_Base_Power_Mod final : public Power_Mod
{
public:
BigInt operator()(const BigInt& e) const
diff --git a/src/lib/math/numbertheory/primality.cpp b/src/lib/math/numbertheory/primality.cpp
index eb2be42b1..eb2a8b69f 100644
--- a/src/lib/math/numbertheory/primality.cpp
+++ b/src/lib/math/numbertheory/primality.cpp
@@ -7,7 +7,7 @@
#include <botan/internal/primality.h>
#include <botan/internal/monty_exp.h>
#include <botan/bigint.h>
-#include <botan/monty.h>
+#include <botan/internal/monty.h>
#include <botan/reducer.h>
#include <botan/rng.h>
#include <algorithm>
diff --git a/src/lib/math/numbertheory/reducer.cpp b/src/lib/math/numbertheory/reducer.cpp
index deb3874d3..3bed4fb67 100644
--- a/src/lib/math/numbertheory/reducer.cpp
+++ b/src/lib/math/numbertheory/reducer.cpp
@@ -8,7 +8,7 @@
#include <botan/reducer.h>
#include <botan/internal/ct_utils.h>
#include <botan/internal/mp_core.h>
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
namespace Botan {
diff --git a/src/lib/misc/cryptobox/cryptobox.cpp b/src/lib/misc/cryptobox/cryptobox.cpp
index 452d95308..910446292 100644
--- a/src/lib/misc/cryptobox/cryptobox.cpp
+++ b/src/lib/misc/cryptobox/cryptobox.cpp
@@ -12,7 +12,7 @@
#include <botan/pbkdf.h>
#include <botan/data_src.h>
#include <botan/pem.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/mem_ops.h>
namespace Botan {
diff --git a/src/lib/misc/cryptobox/info.txt b/src/lib/misc/cryptobox/info.txt
index 770076a40..3126fb0e4 100644
--- a/src/lib/misc/cryptobox/info.txt
+++ b/src/lib/misc/cryptobox/info.txt
@@ -12,3 +12,7 @@ pem
serpent
sha2_64
</requires>
+
+<header:public>
+cryptobox.h
+</header:public>
diff --git a/src/lib/misc/fpe_fe1/fpe_fe1.cpp b/src/lib/misc/fpe_fe1/fpe_fe1.cpp
index 7e3dac502..ab6d073c1 100644
--- a/src/lib/misc/fpe_fe1/fpe_fe1.cpp
+++ b/src/lib/misc/fpe_fe1/fpe_fe1.cpp
@@ -6,9 +6,9 @@
*/
#include <botan/fpe_fe1.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/numthry.h>
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
#include <botan/reducer.h>
#include <botan/mac.h>
diff --git a/src/lib/misc/fpe_fe1/info.txt b/src/lib/misc/fpe_fe1/info.txt
index 1902fa966..587aff3d1 100644
--- a/src/lib/misc/fpe_fe1/info.txt
+++ b/src/lib/misc/fpe_fe1/info.txt
@@ -8,3 +8,7 @@ hmac
numbertheory
sha2_32
</requires>
+
+<header:public>
+fpe_fe1.h
+</header:public>
diff --git a/src/lib/misc/hotp/hotp.cpp b/src/lib/misc/hotp/hotp.cpp
index b9791bc9b..e9d0cc91e 100644
--- a/src/lib/misc/hotp/hotp.cpp
+++ b/src/lib/misc/hotp/hotp.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/otp.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/misc/hotp/hotp.h b/src/lib/misc/hotp/hotp.h
deleted file mode 100644
index d8c545557..000000000
--- a/src/lib/misc/hotp/hotp.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* HOTP
-* (C) 2017 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_HOTP_H_
-#define BOTAN_HOTP_H_
-
-#include <botan/otp.h>
-BOTAN_DEPRECATED_HEADER(hotp.h)
-
-#endif
diff --git a/src/lib/misc/hotp/info.txt b/src/lib/misc/hotp/info.txt
index 880940c59..39c92713f 100644
--- a/src/lib/misc/hotp/info.txt
+++ b/src/lib/misc/hotp/info.txt
@@ -7,3 +7,7 @@ TOTP -> 20180816
hmac
utils
</requires>
+
+<header:public>
+otp.h
+</header:public>
diff --git a/src/lib/misc/hotp/totp.cpp b/src/lib/misc/hotp/totp.cpp
index 5e1c23f61..c80b37d9e 100644
--- a/src/lib/misc/hotp/totp.cpp
+++ b/src/lib/misc/hotp/totp.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/otp.h>
-#include <botan/calendar.h>
+#include <botan/internal/calendar.h>
namespace Botan {
diff --git a/src/lib/misc/hotp/totp.h b/src/lib/misc/hotp/totp.h
deleted file mode 100644
index a5a083192..000000000
--- a/src/lib/misc/hotp/totp.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-* (C) 2017 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_TOTP_H_
-#define BOTAN_TOTP_H_
-
-#include <botan/otp.h>
-BOTAN_DEPRECATED_HEADER(totp.h)
-
-#endif
diff --git a/src/lib/misc/nist_keywrap/info.txt b/src/lib/misc/nist_keywrap/info.txt
index b48e84c11..fccd7bbc6 100644
--- a/src/lib/misc/nist_keywrap/info.txt
+++ b/src/lib/misc/nist_keywrap/info.txt
@@ -5,3 +5,7 @@ NIST_KEYWRAP -> 20171119
<requires>
block
</requires>
+
+<header:public>
+nist_keywrap.h
+</header:public>
diff --git a/src/lib/misc/nist_keywrap/nist_keywrap.cpp b/src/lib/misc/nist_keywrap/nist_keywrap.cpp
index 671d31ea4..e04dd4ba2 100644
--- a/src/lib/misc/nist_keywrap/nist_keywrap.cpp
+++ b/src/lib/misc/nist_keywrap/nist_keywrap.cpp
@@ -6,7 +6,7 @@
#include <botan/nist_keywrap.h>
#include <botan/block_cipher.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/misc/rfc3394/info.txt b/src/lib/misc/rfc3394/info.txt
index 075834219..1276a5b9d 100644
--- a/src/lib/misc/rfc3394/info.txt
+++ b/src/lib/misc/rfc3394/info.txt
@@ -6,3 +6,7 @@ RFC3394_KEYWRAP -> 20131128
aes
nist_keywrap
</requires>
+
+<header:public>
+rfc3394.h
+</header:public>
diff --git a/src/lib/misc/roughtime/info.txt b/src/lib/misc/roughtime/info.txt
index 560f52666..c2e12b90a 100644
--- a/src/lib/misc/roughtime/info.txt
+++ b/src/lib/misc/roughtime/info.txt
@@ -8,3 +8,7 @@ rng
sha2_64
socket
</requires>
+
+<header:public>
+roughtime.h
+</header:public>
diff --git a/src/lib/misc/srp6/info.txt b/src/lib/misc/srp6/info.txt
index 27b7848f5..5e60d16ab 100644
--- a/src/lib/misc/srp6/info.txt
+++ b/src/lib/misc/srp6/info.txt
@@ -6,3 +6,7 @@ SRP6 -> 20161017
bigint
dl_group
</requires>
+
+<header:public>
+srp6.h
+</header:public>
diff --git a/src/lib/misc/tss/info.txt b/src/lib/misc/tss/info.txt
index 513be70bc..3c0299e22 100644
--- a/src/lib/misc/tss/info.txt
+++ b/src/lib/misc/tss/info.txt
@@ -8,3 +8,7 @@ hex
sha1
sha2_32
</requires>
+
+<header:public>
+tss.h
+</header:public>
diff --git a/src/lib/misc/tss/tss.cpp b/src/lib/misc/tss/tss.cpp
index dd3a294f8..9ce4f8c20 100644
--- a/src/lib/misc/tss/tss.cpp
+++ b/src/lib/misc/tss/tss.cpp
@@ -8,7 +8,7 @@
#include <botan/tss.h>
#include <botan/rng.h>
#include <botan/hash.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/hex.h>
namespace Botan {
diff --git a/src/lib/modes/aead/aead.cpp b/src/lib/modes/aead/aead.cpp
index 9ad550ffd..d8aa762ac 100644
--- a/src/lib/modes/aead/aead.cpp
+++ b/src/lib/modes/aead/aead.cpp
@@ -6,7 +6,7 @@
#include <botan/aead.h>
#include <botan/scan_name.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <sstream>
#if defined(BOTAN_HAS_BLOCK_CIPHER)
@@ -14,27 +14,27 @@
#endif
#if defined(BOTAN_HAS_AEAD_CCM)
- #include <botan/ccm.h>
+ #include <botan/internal/ccm.h>
#endif
#if defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305)
- #include <botan/chacha20poly1305.h>
+ #include <botan/internal/chacha20poly1305.h>
#endif
#if defined(BOTAN_HAS_AEAD_EAX)
- #include <botan/eax.h>
+ #include <botan/internal/eax.h>
#endif
#if defined(BOTAN_HAS_AEAD_GCM)
- #include <botan/gcm.h>
+ #include <botan/internal/gcm.h>
#endif
#if defined(BOTAN_HAS_AEAD_OCB)
- #include <botan/ocb.h>
+ #include <botan/internal/ocb.h>
#endif
#if defined(BOTAN_HAS_AEAD_SIV)
- #include <botan/siv.h>
+ #include <botan/internal/siv.h>
#endif
namespace Botan {
@@ -171,6 +171,4 @@ std::unique_ptr<AEAD_Mode> AEAD_Mode::create(const std::string& algo,
return std::unique_ptr<AEAD_Mode>();
}
-
-
}
diff --git a/src/lib/modes/aead/ccm/ccm.cpp b/src/lib/modes/aead/ccm/ccm.cpp
index ab2cfcb95..fdc45a623 100644
--- a/src/lib/modes/aead/ccm/ccm.cpp
+++ b/src/lib/modes/aead/ccm/ccm.cpp
@@ -6,8 +6,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ccm.h>
-#include <botan/loadstor.h>
+#include <botan/internal/ccm.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/modes/aead/ccm/ccm.h b/src/lib/modes/aead/ccm/ccm.h
index 9b4bcecbf..58ee101fd 100644
--- a/src/lib/modes/aead/ccm/ccm.h
+++ b/src/lib/modes/aead/ccm/ccm.h
@@ -12,15 +12,13 @@
#include <botan/aead.h>
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(ccm.h)
-
namespace Botan {
/**
* Base class for CCM encryption and decryption
* @see RFC 3610
*/
-class BOTAN_PUBLIC_API(2,0) CCM_Mode : public AEAD_Mode
+class CCM_Mode : public AEAD_Mode
{
public:
size_t process(uint8_t buf[], size_t sz) override;
@@ -77,7 +75,7 @@ class BOTAN_PUBLIC_API(2,0) CCM_Mode : public AEAD_Mode
/**
* CCM Encryption
*/
-class BOTAN_PUBLIC_API(2,0) CCM_Encryption final : public CCM_Mode
+class CCM_Encryption final : public CCM_Mode
{
public:
/**
@@ -101,7 +99,7 @@ class BOTAN_PUBLIC_API(2,0) CCM_Encryption final : public CCM_Mode
/**
* CCM Decryption
*/
-class BOTAN_PUBLIC_API(2,0) CCM_Decryption final : public CCM_Mode
+class CCM_Decryption final : public CCM_Mode
{
public:
/**
diff --git a/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp b/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
index ca02ca504..8ffbbd93c 100644
--- a/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
+++ b/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
@@ -6,8 +6,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/chacha20poly1305.h>
-#include <botan/loadstor.h>
+#include <botan/internal/chacha20poly1305.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h b/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
index dbba58cc9..3ca92ba5e 100644
--- a/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
+++ b/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
@@ -13,8 +13,6 @@
#include <botan/stream_cipher.h>
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(chacha20poly1305.h)
-
namespace Botan {
/**
@@ -24,7 +22,7 @@ namespace Botan {
* draft-agl-tls-chacha20poly1305-04 is used instead.
* If a nonce of 192 bits is used, XChaCha20Poly1305 is selected.
*/
-class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Mode : public AEAD_Mode
+class ChaCha20Poly1305_Mode : public AEAD_Mode
{
public:
void set_associated_data(const uint8_t ad[], size_t ad_len) override;
@@ -67,7 +65,7 @@ class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Mode : public AEAD_Mode
/**
* ChaCha20Poly1305 Encryption
*/
-class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Encryption final : public ChaCha20Poly1305_Mode
+class ChaCha20Poly1305_Encryption final : public ChaCha20Poly1305_Mode
{
public:
size_t output_length(size_t input_length) const override
@@ -83,7 +81,7 @@ class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Encryption final : public ChaCha20P
/**
* ChaCha20Poly1305 Decryption
*/
-class BOTAN_PUBLIC_API(2,0) ChaCha20Poly1305_Decryption final : public ChaCha20Poly1305_Mode
+class ChaCha20Poly1305_Decryption final : public ChaCha20Poly1305_Mode
{
public:
size_t output_length(size_t input_length) const override
diff --git a/src/lib/modes/aead/eax/eax.cpp b/src/lib/modes/aead/eax/eax.cpp
index 4f6b540ff..92d1f358f 100644
--- a/src/lib/modes/aead/eax/eax.cpp
+++ b/src/lib/modes/aead/eax/eax.cpp
@@ -6,9 +6,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/eax.h>
-#include <botan/cmac.h>
-#include <botan/ctr.h>
+#include <botan/internal/eax.h>
+#include <botan/internal/cmac.h>
+#include <botan/internal/ctr.h>
namespace Botan {
diff --git a/src/lib/modes/aead/eax/eax.h b/src/lib/modes/aead/eax/eax.h
index b9b02c192..f4c055948 100644
--- a/src/lib/modes/aead/eax/eax.h
+++ b/src/lib/modes/aead/eax/eax.h
@@ -14,14 +14,12 @@
#include <botan/stream_cipher.h>
#include <botan/mac.h>
-BOTAN_FUTURE_INTERNAL_HEADER(eax.h)
-
namespace Botan {
/**
* EAX base class
*/
-class BOTAN_PUBLIC_API(2,0) EAX_Mode : public AEAD_Mode
+class EAX_Mode : public AEAD_Mode
{
public:
void set_associated_data(const uint8_t ad[], size_t ad_len) override;
@@ -68,7 +66,7 @@ class BOTAN_PUBLIC_API(2,0) EAX_Mode : public AEAD_Mode
/**
* EAX Encryption
*/
-class BOTAN_PUBLIC_API(2,0) EAX_Encryption final : public EAX_Mode
+class EAX_Encryption final : public EAX_Mode
{
public:
/**
@@ -91,7 +89,7 @@ class BOTAN_PUBLIC_API(2,0) EAX_Encryption final : public EAX_Mode
/**
* EAX Decryption
*/
-class BOTAN_PUBLIC_API(2,0) EAX_Decryption final : public EAX_Mode
+class EAX_Decryption final : public EAX_Mode
{
public:
/**
diff --git a/src/lib/modes/aead/gcm/gcm.cpp b/src/lib/modes/aead/gcm/gcm.cpp
index 4b9c5b720..bfb11fe4d 100644
--- a/src/lib/modes/aead/gcm/gcm.cpp
+++ b/src/lib/modes/aead/gcm/gcm.cpp
@@ -6,10 +6,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/gcm.h>
-#include <botan/ghash.h>
+#include <botan/internal/gcm.h>
+#include <botan/internal/ghash.h>
#include <botan/block_cipher.h>
-#include <botan/ctr.h>
+#include <botan/internal/ctr.h>
namespace Botan {
diff --git a/src/lib/modes/aead/gcm/gcm.h b/src/lib/modes/aead/gcm/gcm.h
index fe3c40572..ba67b2e47 100644
--- a/src/lib/modes/aead/gcm/gcm.h
+++ b/src/lib/modes/aead/gcm/gcm.h
@@ -12,8 +12,6 @@
#include <botan/aead.h>
#include <botan/sym_algo.h>
-BOTAN_FUTURE_INTERNAL_HEADER(gcm.h)
-
namespace Botan {
class BlockCipher;
@@ -23,7 +21,7 @@ class GHASH;
/**
* GCM Mode
*/
-class BOTAN_PUBLIC_API(2,0) GCM_Mode : public AEAD_Mode
+class GCM_Mode : public AEAD_Mode
{
public:
void set_associated_data(const uint8_t ad[], size_t ad_len) override;
@@ -66,7 +64,7 @@ class BOTAN_PUBLIC_API(2,0) GCM_Mode : public AEAD_Mode
/**
* GCM Encryption
*/
-class BOTAN_PUBLIC_API(2,0) GCM_Encryption final : public GCM_Mode
+class GCM_Encryption final : public GCM_Mode
{
public:
/**
@@ -89,7 +87,7 @@ class BOTAN_PUBLIC_API(2,0) GCM_Encryption final : public GCM_Mode
/**
* GCM Decryption
*/
-class BOTAN_PUBLIC_API(2,0) GCM_Decryption final : public GCM_Mode
+class GCM_Decryption final : public GCM_Mode
{
public:
/**
diff --git a/src/lib/modes/aead/info.txt b/src/lib/modes/aead/info.txt
index 15106e46a..85eb8108d 100644
--- a/src/lib/modes/aead/info.txt
+++ b/src/lib/modes/aead/info.txt
@@ -1,3 +1,7 @@
<defines>
AEAD_MODES -> 20131128
</defines>
+
+<header:public>
+aead.h
+</header:public>
diff --git a/src/lib/modes/aead/ocb/ocb.cpp b/src/lib/modes/aead/ocb/ocb.cpp
index 6c1620329..aa0eada3e 100644
--- a/src/lib/modes/aead/ocb/ocb.cpp
+++ b/src/lib/modes/aead/ocb/ocb.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ocb.h>
+#include <botan/internal/ocb.h>
#include <botan/block_cipher.h>
#include <botan/internal/poly_dbl.h>
#include <botan/internal/bit_ops.h>
diff --git a/src/lib/modes/aead/ocb/ocb.h b/src/lib/modes/aead/ocb/ocb.h
index 4029fcda2..54767f253 100644
--- a/src/lib/modes/aead/ocb/ocb.h
+++ b/src/lib/modes/aead/ocb/ocb.h
@@ -11,8 +11,6 @@
#include <botan/aead.h>
-BOTAN_FUTURE_INTERNAL_HEADER(ocb.h)
-
namespace Botan {
class BlockCipher;
@@ -30,7 +28,7 @@ class L_computer;
* @see Free Licenses http://www.cs.ucdavis.edu/~rogaway/ocb/license.htm
* @see OCB home page http://www.cs.ucdavis.edu/~rogaway/ocb
*/
-class BOTAN_PUBLIC_API(2,0) OCB_Mode : public AEAD_Mode
+class BOTAN_TEST_API OCB_Mode : public AEAD_Mode
{
public:
void set_associated_data(const uint8_t ad[], size_t ad_len) override;
@@ -85,7 +83,7 @@ class BOTAN_PUBLIC_API(2,0) OCB_Mode : public AEAD_Mode
secure_vector<uint8_t> m_offset;
};
-class BOTAN_PUBLIC_API(2,0) OCB_Encryption final : public OCB_Mode
+class BOTAN_TEST_API OCB_Encryption final : public OCB_Mode
{
public:
/**
@@ -107,7 +105,7 @@ class BOTAN_PUBLIC_API(2,0) OCB_Encryption final : public OCB_Mode
void encrypt(uint8_t input[], size_t blocks);
};
-class BOTAN_PUBLIC_API(2,0) OCB_Decryption final : public OCB_Mode
+class BOTAN_TEST_API OCB_Decryption final : public OCB_Mode
{
public:
/**
diff --git a/src/lib/modes/aead/siv/siv.cpp b/src/lib/modes/aead/siv/siv.cpp
index 8bd82a468..96569ee85 100644
--- a/src/lib/modes/aead/siv/siv.cpp
+++ b/src/lib/modes/aead/siv/siv.cpp
@@ -6,11 +6,11 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/siv.h>
+#include <botan/internal/siv.h>
#include <botan/block_cipher.h>
-#include <botan/cmac.h>
+#include <botan/internal/cmac.h>
#include <botan/internal/poly_dbl.h>
-#include <botan/ctr.h>
+#include <botan/internal/ctr.h>
namespace Botan {
diff --git a/src/lib/modes/aead/siv/siv.h b/src/lib/modes/aead/siv/siv.h
index c76fd3229..0315272a9 100644
--- a/src/lib/modes/aead/siv/siv.h
+++ b/src/lib/modes/aead/siv/siv.h
@@ -12,8 +12,6 @@
#include <botan/aead.h>
#include <botan/stream_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(siv.h)
-
namespace Botan {
class BlockCipher;
@@ -22,7 +20,7 @@ class MessageAuthenticationCode;
/**
* Base class for SIV encryption and decryption (@see RFC 5297)
*/
-class BOTAN_PUBLIC_API(2,0) SIV_Mode : public AEAD_Mode
+class BOTAN_TEST_API SIV_Mode : public AEAD_Mode
{
public:
size_t process(uint8_t buf[], size_t size) override;
@@ -86,7 +84,7 @@ class BOTAN_PUBLIC_API(2,0) SIV_Mode : public AEAD_Mode
/**
* SIV Encryption
*/
-class BOTAN_PUBLIC_API(2,0) SIV_Encryption final : public SIV_Mode
+class BOTAN_TEST_API SIV_Encryption final : public SIV_Mode
{
public:
/**
@@ -105,7 +103,7 @@ class BOTAN_PUBLIC_API(2,0) SIV_Encryption final : public SIV_Mode
/**
* SIV Decryption
*/
-class BOTAN_PUBLIC_API(2,0) SIV_Decryption final : public SIV_Mode
+class BOTAN_TEST_API SIV_Decryption final : public SIV_Mode
{
public:
/**
diff --git a/src/lib/modes/cbc/cbc.cpp b/src/lib/modes/cbc/cbc.cpp
index cde08f64a..105f2bbf7 100644
--- a/src/lib/modes/cbc/cbc.cpp
+++ b/src/lib/modes/cbc/cbc.cpp
@@ -7,8 +7,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/cbc.h>
-#include <botan/mode_pad.h>
+#include <botan/internal/cbc.h>
+#include <botan/internal/mode_pad.h>
#include <botan/internal/rounding.h>
namespace Botan {
diff --git a/src/lib/modes/cbc/cbc.h b/src/lib/modes/cbc/cbc.h
index 7a488dbd5..c74e8f23b 100644
--- a/src/lib/modes/cbc/cbc.h
+++ b/src/lib/modes/cbc/cbc.h
@@ -11,16 +11,14 @@
#include <botan/cipher_mode.h>
#include <botan/block_cipher.h>
-#include <botan/mode_pad.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(cbc.h)
+#include <botan/internal/mode_pad.h>
namespace Botan {
/**
* CBC Mode
*/
-class BOTAN_PUBLIC_API(2,0) CBC_Mode : public Cipher_Mode
+class CBC_Mode : public Cipher_Mode
{
public:
std::string name() const override;
@@ -68,7 +66,7 @@ class BOTAN_PUBLIC_API(2,0) CBC_Mode : public Cipher_Mode
/**
* CBC Encryption
*/
-class BOTAN_PUBLIC_API(2,0) CBC_Encryption : public CBC_Mode
+class CBC_Encryption : public CBC_Mode
{
public:
/**
@@ -90,7 +88,7 @@ class BOTAN_PUBLIC_API(2,0) CBC_Encryption : public CBC_Mode
/**
* CBC Encryption with ciphertext stealing (CBC-CS3 variant)
*/
-class BOTAN_PUBLIC_API(2,0) CTS_Encryption final : public CBC_Encryption
+class CTS_Encryption final : public CBC_Encryption
{
public:
/**
@@ -110,7 +108,7 @@ class BOTAN_PUBLIC_API(2,0) CTS_Encryption final : public CBC_Encryption
/**
* CBC Decryption
*/
-class BOTAN_PUBLIC_API(2,0) CBC_Decryption : public CBC_Mode
+class CBC_Decryption : public CBC_Mode
{
public:
/**
@@ -137,7 +135,7 @@ class BOTAN_PUBLIC_API(2,0) CBC_Decryption : public CBC_Mode
/**
* CBC Decryption with ciphertext stealing (CBC-CS3 variant)
*/
-class BOTAN_PUBLIC_API(2,0) CTS_Decryption final : public CBC_Decryption
+class CTS_Decryption final : public CBC_Decryption
{
public:
/**
diff --git a/src/lib/modes/cfb/cfb.cpp b/src/lib/modes/cfb/cfb.cpp
index 0c619e322..c8766f1c2 100644
--- a/src/lib/modes/cfb/cfb.cpp
+++ b/src/lib/modes/cfb/cfb.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/cfb.h>
+#include <botan/internal/cfb.h>
namespace Botan {
diff --git a/src/lib/modes/cfb/cfb.h b/src/lib/modes/cfb/cfb.h
index 1f9e55487..ae10e318f 100644
--- a/src/lib/modes/cfb/cfb.h
+++ b/src/lib/modes/cfb/cfb.h
@@ -12,14 +12,12 @@
#include <botan/cipher_mode.h>
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(cfb.h)
-
namespace Botan {
/**
* CFB Mode
*/
-class BOTAN_PUBLIC_API(2,0) CFB_Mode : public Cipher_Mode
+class CFB_Mode : public Cipher_Mode
{
public:
std::string name() const override final;
@@ -64,7 +62,7 @@ class BOTAN_PUBLIC_API(2,0) CFB_Mode : public Cipher_Mode
/**
* CFB Encryption
*/
-class BOTAN_PUBLIC_API(2,0) CFB_Encryption final : public CFB_Mode
+class CFB_Encryption final : public CFB_Mode
{
public:
/**
@@ -84,7 +82,7 @@ class BOTAN_PUBLIC_API(2,0) CFB_Encryption final : public CFB_Mode
/**
* CFB Decryption
*/
-class BOTAN_PUBLIC_API(2,0) CFB_Decryption final : public CFB_Mode
+class CFB_Decryption final : public CFB_Mode
{
public:
/**
diff --git a/src/lib/modes/cipher_mode.cpp b/src/lib/modes/cipher_mode.cpp
index 710f16ba2..b41c103e6 100644
--- a/src/lib/modes/cipher_mode.cpp
+++ b/src/lib/modes/cipher_mode.cpp
@@ -6,9 +6,9 @@
*/
#include <botan/cipher_mode.h>
-#include <botan/stream_mode.h>
+#include <botan/internal/stream_mode.h>
#include <botan/scan_name.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <sstream>
#if defined(BOTAN_HAS_BLOCK_CIPHER)
@@ -20,15 +20,15 @@
#endif
#if defined(BOTAN_HAS_MODE_CBC)
- #include <botan/cbc.h>
+ #include <botan/internal/cbc.h>
#endif
#if defined(BOTAN_HAS_MODE_CFB)
- #include <botan/cfb.h>
+ #include <botan/internal/cfb.h>
#endif
#if defined(BOTAN_HAS_MODE_XTS)
- #include <botan/xts.h>
+ #include <botan/internal/xts.h>
#endif
#if defined(BOTAN_HAS_OPENSSL)
diff --git a/src/lib/modes/info.txt b/src/lib/modes/info.txt
index 4c19db04c..ba4f19ac5 100644
--- a/src/lib/modes/info.txt
+++ b/src/lib/modes/info.txt
@@ -5,5 +5,8 @@ CIPHER_MODES -> 20180124
<header:public>
cipher_mode.h
-stream_mode.h
</header:public>
+
+<header:internal>
+stream_mode.h
+</header:internal>
diff --git a/src/lib/modes/mode_pad/mode_pad.cpp b/src/lib/modes/mode_pad/mode_pad.cpp
index 18bb71af5..30a11eb91 100644
--- a/src/lib/modes/mode_pad/mode_pad.cpp
+++ b/src/lib/modes/mode_pad/mode_pad.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/mode_pad.h>
+#include <botan/internal/mode_pad.h>
#include <botan/exceptn.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/modes/mode_pad/mode_pad.h b/src/lib/modes/mode_pad/mode_pad.h
index b0e4a3cfa..2eeb6a97a 100644
--- a/src/lib/modes/mode_pad/mode_pad.h
+++ b/src/lib/modes/mode_pad/mode_pad.h
@@ -12,8 +12,6 @@
#include <botan/secmem.h>
#include <string>
-BOTAN_FUTURE_INTERNAL_HEADER(mode_pad.h)
-
namespace Botan {
/**
@@ -25,7 +23,7 @@ namespace Botan {
* a padding mode for CBC, which happens to consume the last
* two block (and requires use of the block cipher).
*/
-class BOTAN_PUBLIC_API(2,0) BlockCipherModePaddingMethod
+class BOTAN_TEST_API BlockCipherModePaddingMethod
{
public:
/**
@@ -66,7 +64,7 @@ class BOTAN_PUBLIC_API(2,0) BlockCipherModePaddingMethod
/**
* PKCS#7 Padding
*/
-class BOTAN_PUBLIC_API(2,0) PKCS7_Padding final : public BlockCipherModePaddingMethod
+class BOTAN_TEST_API PKCS7_Padding final : public BlockCipherModePaddingMethod
{
public:
void add_padding(secure_vector<uint8_t>& buffer,
@@ -83,7 +81,7 @@ class BOTAN_PUBLIC_API(2,0) PKCS7_Padding final : public BlockCipherModePaddingM
/**
* ANSI X9.23 Padding
*/
-class BOTAN_PUBLIC_API(2,0) ANSI_X923_Padding final : public BlockCipherModePaddingMethod
+class BOTAN_TEST_API ANSI_X923_Padding final : public BlockCipherModePaddingMethod
{
public:
void add_padding(secure_vector<uint8_t>& buffer,
@@ -100,7 +98,7 @@ class BOTAN_PUBLIC_API(2,0) ANSI_X923_Padding final : public BlockCipherModePadd
/**
* One And Zeros Padding (ISO/IEC 9797-1, padding method 2)
*/
-class BOTAN_PUBLIC_API(2,0) OneAndZeros_Padding final : public BlockCipherModePaddingMethod
+class BOTAN_TEST_API OneAndZeros_Padding final : public BlockCipherModePaddingMethod
{
public:
void add_padding(secure_vector<uint8_t>& buffer,
@@ -117,7 +115,7 @@ class BOTAN_PUBLIC_API(2,0) OneAndZeros_Padding final : public BlockCipherModePa
/**
* ESP Padding (RFC 4304)
*/
-class BOTAN_PUBLIC_API(2,0) ESP_Padding final : public BlockCipherModePaddingMethod
+class BOTAN_TEST_API ESP_Padding final : public BlockCipherModePaddingMethod
{
public:
void add_padding(secure_vector<uint8_t>& buffer,
@@ -134,7 +132,7 @@ class BOTAN_PUBLIC_API(2,0) ESP_Padding final : public BlockCipherModePaddingMet
/**
* Null Padding
*/
-class BOTAN_PUBLIC_API(2,0) Null_Padding final : public BlockCipherModePaddingMethod
+class Null_Padding final : public BlockCipherModePaddingMethod
{
public:
void add_padding(secure_vector<uint8_t>&, size_t, size_t) const override
@@ -153,7 +151,7 @@ class BOTAN_PUBLIC_API(2,0) Null_Padding final : public BlockCipherModePaddingMe
* Get a block cipher padding mode by name (eg "NoPadding" or "PKCS7")
* @param algo_spec block cipher padding mode name
*/
-BOTAN_PUBLIC_API(2,0) BlockCipherModePaddingMethod* get_bc_pad(const std::string& algo_spec);
+BOTAN_TEST_API BlockCipherModePaddingMethod* get_bc_pad(const std::string& algo_spec);
}
diff --git a/src/lib/modes/stream_mode.h b/src/lib/modes/stream_mode.h
index da3fc38cf..4d06e1e32 100644
--- a/src/lib/modes/stream_mode.h
+++ b/src/lib/modes/stream_mode.h
@@ -14,13 +14,11 @@
#include <botan/stream_cipher.h>
#endif
-BOTAN_FUTURE_INTERNAL_HEADER(stream_mode.h)
-
namespace Botan {
#if defined(BOTAN_HAS_STREAM_CIPHER)
-class BOTAN_PUBLIC_API(2,0) Stream_Cipher_Mode final : public Cipher_Mode
+class Stream_Cipher_Mode final : public Cipher_Mode
{
public:
/**
diff --git a/src/lib/modes/xts/xts.cpp b/src/lib/modes/xts/xts.cpp
index 559584b08..725807188 100644
--- a/src/lib/modes/xts/xts.cpp
+++ b/src/lib/modes/xts/xts.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/xts.h>
+#include <botan/internal/xts.h>
#include <botan/internal/poly_dbl.h>
namespace Botan {
diff --git a/src/lib/modes/xts/xts.h b/src/lib/modes/xts/xts.h
index 75de93c08..cd268e067 100644
--- a/src/lib/modes/xts/xts.h
+++ b/src/lib/modes/xts/xts.h
@@ -12,14 +12,12 @@
#include <botan/cipher_mode.h>
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(xts.h)
-
namespace Botan {
/**
* IEEE P1619 XTS Mode
*/
-class BOTAN_PUBLIC_API(2,0) XTS_Mode : public Cipher_Mode
+class XTS_Mode : public Cipher_Mode
{
public:
std::string name() const override;
@@ -65,7 +63,7 @@ class BOTAN_PUBLIC_API(2,0) XTS_Mode : public Cipher_Mode
/**
* IEEE P1619 XTS Encryption
*/
-class BOTAN_PUBLIC_API(2,0) XTS_Encryption final : public XTS_Mode
+class XTS_Encryption final : public XTS_Mode
{
public:
/**
@@ -83,7 +81,7 @@ class BOTAN_PUBLIC_API(2,0) XTS_Encryption final : public XTS_Mode
/**
* IEEE P1619 XTS Decryption
*/
-class BOTAN_PUBLIC_API(2,0) XTS_Decryption final : public XTS_Mode
+class XTS_Decryption final : public XTS_Mode
{
public:
/**
diff --git a/src/lib/passhash/bcrypt/bcrypt.cpp b/src/lib/passhash/bcrypt/bcrypt.cpp
index 1d28ddfb4..0b53fe42c 100644
--- a/src/lib/passhash/bcrypt/bcrypt.cpp
+++ b/src/lib/passhash/bcrypt/bcrypt.cpp
@@ -7,9 +7,9 @@
#include <botan/bcrypt.h>
#include <botan/rng.h>
-#include <botan/blowfish.h>
+#include <botan/internal/blowfish.h>
#include <botan/base64.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
namespace Botan {
diff --git a/src/lib/passhash/bcrypt/info.txt b/src/lib/passhash/bcrypt/info.txt
index 6be060ea0..9bdb62539 100644
--- a/src/lib/passhash/bcrypt/info.txt
+++ b/src/lib/passhash/bcrypt/info.txt
@@ -7,3 +7,7 @@ blowfish
rng
base64
</requires>
+
+<header:public>
+bcrypt.h
+</header:public>
diff --git a/src/lib/passhash/passhash9/info.txt b/src/lib/passhash/passhash9/info.txt
index 525427b45..a9ccd4356 100644
--- a/src/lib/passhash/passhash9/info.txt
+++ b/src/lib/passhash/passhash9/info.txt
@@ -7,3 +7,7 @@ pbkdf2
rng
base64
</requires>
+
+<header:public>
+passhash9.h
+</header:public>
diff --git a/src/lib/passhash/passhash9/passhash9.cpp b/src/lib/passhash/passhash9/passhash9.cpp
index 98f5a54d5..337fad1fe 100644
--- a/src/lib/passhash/passhash9/passhash9.cpp
+++ b/src/lib/passhash/passhash9/passhash9.cpp
@@ -7,7 +7,7 @@
#include <botan/passhash9.h>
#include <botan/rng.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/pbkdf2.h>
#include <botan/base64.h>
diff --git a/src/lib/pbkdf/argon2/argon2.cpp b/src/lib/pbkdf/argon2/argon2.cpp
index 0d767e04e..e7d02a9ea 100644
--- a/src/lib/pbkdf/argon2/argon2.cpp
+++ b/src/lib/pbkdf/argon2/argon2.cpp
@@ -5,10 +5,10 @@
*/
#include <botan/argon2.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/hash.h>
#include <botan/mem_ops.h>
-#include <botan/rotate.h>
+#include <botan/internal/rotate.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/pbkdf/argon2/argon2fmt.cpp b/src/lib/pbkdf/argon2/argon2fmt.cpp
index 480be5fa3..974710b29 100644
--- a/src/lib/pbkdf/argon2/argon2fmt.cpp
+++ b/src/lib/pbkdf/argon2/argon2fmt.cpp
@@ -7,7 +7,7 @@
#include <botan/argon2.h>
#include <botan/rng.h>
#include <botan/base64.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <sstream>
namespace Botan {
diff --git a/src/lib/pbkdf/argon2/info.txt b/src/lib/pbkdf/argon2/info.txt
index 91e85d0c4..c0a33f580 100644
--- a/src/lib/pbkdf/argon2/info.txt
+++ b/src/lib/pbkdf/argon2/info.txt
@@ -7,3 +7,7 @@ blake2
base64
</requires>
+
+<header:public>
+argon2.h
+</header:public>
diff --git a/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp b/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
index 2f2c77025..f3e2b47b9 100644
--- a/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
+++ b/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
@@ -5,8 +5,8 @@
*/
#include <botan/bcrypt_pbkdf.h>
-#include <botan/loadstor.h>
-#include <botan/blowfish.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/blowfish.h>
#include <botan/hash.h>
#include <botan/internal/timer.h>
diff --git a/src/lib/pbkdf/bcrypt_pbkdf/info.txt b/src/lib/pbkdf/bcrypt_pbkdf/info.txt
index 0e2b10178..0bdb9fabf 100644
--- a/src/lib/pbkdf/bcrypt_pbkdf/info.txt
+++ b/src/lib/pbkdf/bcrypt_pbkdf/info.txt
@@ -6,3 +6,7 @@ PBKDF_BCRYPT -> 20190531
blowfish
sha2_64
</requires>
+
+<header:public>
+bcrypt_pbkdf.h
+</header:public>
diff --git a/src/lib/pbkdf/pbkdf2/info.txt b/src/lib/pbkdf/pbkdf2/info.txt
index b6c6fb4e6..525796a3f 100644
--- a/src/lib/pbkdf/pbkdf2/info.txt
+++ b/src/lib/pbkdf/pbkdf2/info.txt
@@ -5,3 +5,7 @@ PBKDF2 -> 20180902
<requires>
hmac
</requires>
+
+<header:public>
+pbkdf2.h
+</header:public>
diff --git a/src/lib/pbkdf/pgp_s2k/info.txt b/src/lib/pbkdf/pgp_s2k/info.txt
index 5aabc0919..4868dd070 100644
--- a/src/lib/pbkdf/pgp_s2k/info.txt
+++ b/src/lib/pbkdf/pgp_s2k/info.txt
@@ -5,3 +5,7 @@ PGP_S2K -> 20170527
<requires>
hash
</requires>
+
+<header:public>
+pgp_s2k.h
+</header:public>
diff --git a/src/lib/pbkdf/scrypt/info.txt b/src/lib/pbkdf/scrypt/info.txt
index 3ba48fd72..0d9082f6a 100644
--- a/src/lib/pbkdf/scrypt/info.txt
+++ b/src/lib/pbkdf/scrypt/info.txt
@@ -8,3 +8,7 @@ pbkdf2
hmac
sha2_32
</requires>
+
+<header:public>
+scrypt.h
+</header:public>
diff --git a/src/lib/pbkdf/scrypt/scrypt.cpp b/src/lib/pbkdf/scrypt/scrypt.cpp
index 8275ac956..2820cddf3 100644
--- a/src/lib/pbkdf/scrypt/scrypt.cpp
+++ b/src/lib/pbkdf/scrypt/scrypt.cpp
@@ -7,8 +7,8 @@
#include <botan/scrypt.h>
#include <botan/pbkdf2.h>
-#include <botan/salsa20.h>
-#include <botan/loadstor.h>
+#include <botan/internal/salsa20.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
#include <botan/internal/bit_ops.h>
#include <botan/internal/timer.h>
diff --git a/src/lib/pk_pad/eme.cpp b/src/lib/pk_pad/eme.cpp
index ffedac923..cffa446e0 100644
--- a/src/lib/pk_pad/eme.cpp
+++ b/src/lib/pk_pad/eme.cpp
@@ -5,21 +5,21 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/eme.h>
+#include <botan/internal/eme.h>
#include <botan/scan_name.h>
#include <botan/exceptn.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#if defined(BOTAN_HAS_EME_OAEP)
-#include <botan/oaep.h>
+#include <botan/internal/oaep.h>
#endif
#if defined(BOTAN_HAS_EME_PKCS1)
-#include <botan/eme_pkcs.h>
+#include <botan/internal/eme_pkcs.h>
#endif
#if defined(BOTAN_HAS_EME_RAW)
-#include <botan/eme_raw.h>
+#include <botan/internal/eme_raw.h>
#endif
namespace Botan {
diff --git a/src/lib/pk_pad/eme.h b/src/lib/pk_pad/eme.h
index 38cce4b09..c21dfde45 100644
--- a/src/lib/pk_pad/eme.h
+++ b/src/lib/pk_pad/eme.h
@@ -11,8 +11,6 @@
#include <botan/secmem.h>
#include <string>
-BOTAN_FUTURE_INTERNAL_HEADER(eme.h)
-
namespace Botan {
class RandomNumberGenerator;
@@ -20,7 +18,7 @@ class RandomNumberGenerator;
/**
* Encoding Method for Encryption
*/
-class BOTAN_PUBLIC_API(2,0) EME
+class EME
{
public:
virtual ~EME() = default;
@@ -87,7 +85,7 @@ class BOTAN_PUBLIC_API(2,0) EME
* @param algo_spec the name of the EME to create
* @return pointer to newly allocated object of that type
*/
-BOTAN_PUBLIC_API(2,0) EME* get_eme(const std::string& algo_spec);
+EME* get_eme(const std::string& algo_spec);
}
diff --git a/src/lib/pk_pad/eme_oaep/oaep.cpp b/src/lib/pk_pad/eme_oaep/oaep.cpp
index 163efbfef..35c92b120 100644
--- a/src/lib/pk_pad/eme_oaep/oaep.cpp
+++ b/src/lib/pk_pad/eme_oaep/oaep.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/oaep.h>
-#include <botan/mgf1.h>
+#include <botan/internal/oaep.h>
+#include <botan/internal/mgf1.h>
#include <botan/exceptn.h>
#include <botan/rng.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/pk_pad/eme_oaep/oaep.h b/src/lib/pk_pad/eme_oaep/oaep.h
index 383617b82..90900534d 100644
--- a/src/lib/pk_pad/eme_oaep/oaep.h
+++ b/src/lib/pk_pad/eme_oaep/oaep.h
@@ -8,18 +8,16 @@
#ifndef BOTAN_OAEP_H_
#define BOTAN_OAEP_H_
-#include <botan/eme.h>
+#include <botan/internal/eme.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(oaep.h)
-
namespace Botan {
/**
* OAEP (called EME1 in IEEE 1363 and in earlier versions of the library)
* as specified in PKCS#1 v2.0 (RFC 2437)
*/
-class BOTAN_PUBLIC_API(2,0) OAEP final : public EME
+class OAEP final : public EME
{
public:
size_t maximum_input_size(size_t) const override;
diff --git a/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp b/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
index eac3da5d9..cac71abc0 100644
--- a/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
+++ b/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/eme_pkcs.h>
+#include <botan/internal/eme_pkcs.h>
#include <botan/exceptn.h>
#include <botan/rng.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h b/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h
index fb7cf1419..6fe7b92fe 100644
--- a/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h
+++ b/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h
@@ -8,16 +8,14 @@
#ifndef BOTAN_EME_PKCS1_H_
#define BOTAN_EME_PKCS1_H_
-#include <botan/eme.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(eme_pkcs.h)
+#include <botan/internal/eme.h>
namespace Botan {
/**
* EME from PKCS #1 v1.5
*/
-class BOTAN_PUBLIC_API(2,0) EME_PKCS1v15 final : public EME
+class BOTAN_TEST_API EME_PKCS1v15 final : public EME
{
public:
size_t maximum_input_size(size_t) const override;
diff --git a/src/lib/pk_pad/eme_raw/eme_raw.cpp b/src/lib/pk_pad/eme_raw/eme_raw.cpp
index 066e7afd8..b4e724419 100644
--- a/src/lib/pk_pad/eme_raw/eme_raw.cpp
+++ b/src/lib/pk_pad/eme_raw/eme_raw.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/eme_raw.h>
+#include <botan/internal/eme_raw.h>
#include <botan/internal/bit_ops.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/pk_pad/eme_raw/eme_raw.h b/src/lib/pk_pad/eme_raw/eme_raw.h
index 840448c55..0610cf60e 100644
--- a/src/lib/pk_pad/eme_raw/eme_raw.h
+++ b/src/lib/pk_pad/eme_raw/eme_raw.h
@@ -7,13 +7,11 @@
#ifndef BOTAN_EME_RAW_H_
#define BOTAN_EME_RAW_H_
-#include <botan/eme.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(eme_raw.h)
+#include <botan/internal/eme.h>
namespace Botan {
-class BOTAN_PUBLIC_API(2,0) EME_Raw final : public EME
+class EME_Raw final : public EME
{
public:
size_t maximum_input_size(size_t i) const override;
diff --git a/src/lib/pk_pad/emsa.cpp b/src/lib/pk_pad/emsa.cpp
index a3e448686..9394d1e18 100644
--- a/src/lib/pk_pad/emsa.cpp
+++ b/src/lib/pk_pad/emsa.cpp
@@ -4,33 +4,33 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
#include <botan/scan_name.h>
#include <botan/exceptn.h>
#if defined(BOTAN_HAS_EMSA1)
- #include <botan/emsa1.h>
+ #include <botan/internal/emsa1.h>
#endif
#if defined(BOTAN_HAS_EMSA_X931)
- #include <botan/emsa_x931.h>
+ #include <botan/internal/emsa_x931.h>
#endif
#if defined(BOTAN_HAS_EMSA_PKCS1)
- #include <botan/emsa_pkcs1.h>
+ #include <botan/internal/emsa_pkcs1.h>
#endif
#if defined(BOTAN_HAS_EMSA_PSSR)
- #include <botan/pssr.h>
+ #include <botan/internal/pssr.h>
#endif
#if defined(BOTAN_HAS_EMSA_RAW)
- #include <botan/emsa_raw.h>
+ #include <botan/internal/emsa_raw.h>
#endif
#if defined(BOTAN_HAS_ISO_9796)
- #include <botan/iso9796.h>
+ #include <botan/internal/iso9796.h>
#endif
namespace Botan {
diff --git a/src/lib/pk_pad/emsa.h b/src/lib/pk_pad/emsa.h
index 7178eae23..c2e352325 100644
--- a/src/lib/pk_pad/emsa.h
+++ b/src/lib/pk_pad/emsa.h
@@ -12,8 +12,6 @@
#include <botan/asn1_obj.h>
#include <string>
-BOTAN_FUTURE_INTERNAL_HEADER(emsa.h)
-
namespace Botan {
class Private_Key;
@@ -24,7 +22,7 @@ class RandomNumberGenerator;
*
* Any way of encoding/padding signatures
*/
-class BOTAN_PUBLIC_API(2,0) EMSA
+class EMSA
{
public:
virtual ~EMSA() = default;
@@ -91,7 +89,7 @@ class BOTAN_PUBLIC_API(2,0) EMSA
* @param algo_spec the name of the EMSA to create
* @return pointer to newly allocated object of that type
*/
-BOTAN_PUBLIC_API(2,0) EMSA* get_emsa(const std::string& algo_spec);
+BOTAN_TEST_API EMSA* get_emsa(const std::string& algo_spec);
/**
* Returns the hash function used in the given EMSA scheme
@@ -100,7 +98,7 @@ BOTAN_PUBLIC_API(2,0) EMSA* get_emsa(const std::string& algo_spec);
* @param algo_spec the name of the EMSA
* @return hash function used in the given EMSA scheme
*/
-BOTAN_PUBLIC_API(2,0) std::string hash_for_emsa(const std::string& algo_spec);
+BOTAN_TEST_API std::string hash_for_emsa(const std::string& algo_spec);
}
diff --git a/src/lib/pk_pad/emsa1/emsa1.cpp b/src/lib/pk_pad/emsa1/emsa1.cpp
index f7293db27..42228e8fd 100644
--- a/src/lib/pk_pad/emsa1/emsa1.cpp
+++ b/src/lib/pk_pad/emsa1/emsa1.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/emsa1.h>
+#include <botan/internal/emsa1.h>
#include <botan/exceptn.h>
#include <botan/pk_keys.h>
#include <botan/internal/padding.h>
diff --git a/src/lib/pk_pad/emsa1/emsa1.h b/src/lib/pk_pad/emsa1/emsa1.h
index 76736bc27..cf5068240 100644
--- a/src/lib/pk_pad/emsa1/emsa1.h
+++ b/src/lib/pk_pad/emsa1/emsa1.h
@@ -8,18 +8,16 @@
#ifndef BOTAN_EMSA1_H_
#define BOTAN_EMSA1_H_
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(emsa1.h)
-
namespace Botan {
/**
* EMSA1 from IEEE 1363
* Essentially, sign the hash directly
*/
-class BOTAN_PUBLIC_API(2,0) EMSA1 final : public EMSA
+class EMSA1 final : public EMSA
{
public:
/**
diff --git a/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp b/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
index 85556a39e..90e1d0b40 100644
--- a/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
+++ b/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
@@ -5,8 +5,8 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/emsa_pkcs1.h>
-#include <botan/hash_id.h>
+#include <botan/internal/emsa_pkcs1.h>
+#include <botan/internal/hash_id.h>
#include <botan/exceptn.h>
#include <botan/pk_keys.h>
#include <botan/internal/padding.h>
diff --git a/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h b/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
index 5b9cf7aea..7a9b169c4 100644
--- a/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
+++ b/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
@@ -8,11 +8,9 @@
#ifndef BOTAN_EMSA_PKCS1_H_
#define BOTAN_EMSA_PKCS1_H_
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(emsa_pkcs1.h)
-
namespace Botan {
/**
@@ -20,7 +18,7 @@ namespace Botan {
* aka PKCS #1 block type 1
* aka EMSA3 from IEEE 1363
*/
-class BOTAN_PUBLIC_API(2,0) EMSA_PKCS1v15 final : public EMSA
+class EMSA_PKCS1v15 final : public EMSA
{
public:
/**
@@ -55,7 +53,7 @@ class BOTAN_PUBLIC_API(2,0) EMSA_PKCS1v15 final : public EMSA
* (which according to QCA docs is "identical to PKCS#11's CKM_RSA_PKCS
* mechanism", something I have not confirmed)
*/
-class BOTAN_PUBLIC_API(2,0) EMSA_PKCS1v15_Raw final : public EMSA
+class EMSA_PKCS1v15_Raw final : public EMSA
{
public:
EMSA* clone() override { return new EMSA_PKCS1v15_Raw(); }
diff --git a/src/lib/pk_pad/emsa_pssr/pssr.cpp b/src/lib/pk_pad/emsa_pssr/pssr.cpp
index 652a7628b..b6e7741ea 100644
--- a/src/lib/pk_pad/emsa_pssr/pssr.cpp
+++ b/src/lib/pk_pad/emsa_pssr/pssr.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/pssr.h>
+#include <botan/internal/pssr.h>
#include <botan/exceptn.h>
#include <botan/rng.h>
-#include <botan/mgf1.h>
+#include <botan/internal/mgf1.h>
#include <botan/internal/bit_ops.h>
#include <botan/der_enc.h>
#include <botan/pk_keys.h>
diff --git a/src/lib/pk_pad/emsa_pssr/pssr.h b/src/lib/pk_pad/emsa_pssr/pssr.h
index 47efacb51..a33cf42a0 100644
--- a/src/lib/pk_pad/emsa_pssr/pssr.h
+++ b/src/lib/pk_pad/emsa_pssr/pssr.h
@@ -8,17 +8,15 @@
#ifndef BOTAN_PSSR_H_
#define BOTAN_PSSR_H_
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(pssr.h)
-
namespace Botan {
/**
* PSSR (called EMSA4 in IEEE 1363 and in old versions of the library)
*/
-class BOTAN_PUBLIC_API(2,0) PSSR final : public EMSA
+class PSSR final : public EMSA
{
public:
@@ -61,7 +59,7 @@ class BOTAN_PUBLIC_API(2,0) PSSR final : public EMSA
* PSSR_Raw
* This accepts a pre-hashed buffer
*/
-class BOTAN_PUBLIC_API(2,3) PSSR_Raw final : public EMSA
+class PSSR_Raw final : public EMSA
{
public:
diff --git a/src/lib/pk_pad/emsa_raw/emsa_raw.cpp b/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
index 0ac11dc5a..07bb41b80 100644
--- a/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
+++ b/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/emsa_raw.h>
+#include <botan/internal/emsa_raw.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/pk_pad/emsa_raw/emsa_raw.h b/src/lib/pk_pad/emsa_raw/emsa_raw.h
index dc01b94a2..fdcd89aa9 100644
--- a/src/lib/pk_pad/emsa_raw/emsa_raw.h
+++ b/src/lib/pk_pad/emsa_raw/emsa_raw.h
@@ -8,9 +8,7 @@
#ifndef BOTAN_EMSA_RAW_H_
#define BOTAN_EMSA_RAW_H_
-#include <botan/emsa.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(emsa_raw.h)
+#include <botan/internal/emsa.h>
namespace Botan {
@@ -18,7 +16,7 @@ namespace Botan {
* EMSA-Raw - sign inputs directly
* Don't use this unless you know what you are doing.
*/
-class BOTAN_PUBLIC_API(2,0) EMSA_Raw final : public EMSA
+class EMSA_Raw final : public EMSA
{
public:
EMSA* clone() override { return new EMSA_Raw(); }
diff --git a/src/lib/pk_pad/emsa_x931/emsa_x931.cpp b/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
index b1f698f86..553138fb4 100644
--- a/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
+++ b/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/emsa_x931.h>
+#include <botan/internal/emsa_x931.h>
#include <botan/exceptn.h>
-#include <botan/hash_id.h>
+#include <botan/internal/hash_id.h>
namespace Botan {
diff --git a/src/lib/pk_pad/emsa_x931/emsa_x931.h b/src/lib/pk_pad/emsa_x931/emsa_x931.h
index a2fef0468..9c8fdc07a 100644
--- a/src/lib/pk_pad/emsa_x931/emsa_x931.h
+++ b/src/lib/pk_pad/emsa_x931/emsa_x931.h
@@ -8,11 +8,9 @@
#ifndef BOTAN_EMSA_X931_H_
#define BOTAN_EMSA_X931_H_
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(emsa_x931.h)
-
namespace Botan {
/**
@@ -20,7 +18,7 @@ namespace Botan {
* Useful for Rabin-Williams, also sometimes used with RSA in
* odd protocols.
*/
-class BOTAN_PUBLIC_API(2,0) EMSA_X931 final : public EMSA
+class EMSA_X931 final : public EMSA
{
public:
/**
diff --git a/src/lib/pk_pad/hash_id/hash_id.cpp b/src/lib/pk_pad/hash_id/hash_id.cpp
index efebf5095..40e2c4bc5 100644
--- a/src/lib/pk_pad/hash_id/hash_id.cpp
+++ b/src/lib/pk_pad/hash_id/hash_id.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/hash_id.h>
+#include <botan/internal/hash_id.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/pk_pad/hash_id/hash_id.h b/src/lib/pk_pad/hash_id/hash_id.h
index 75c86c0c6..b7ef18a39 100644
--- a/src/lib/pk_pad/hash_id/hash_id.h
+++ b/src/lib/pk_pad/hash_id/hash_id.h
@@ -20,14 +20,14 @@ namespace Botan {
* @return uint8_t sequence identifying the hash
* @throw Invalid_Argument if the hash has no known PKCS #1 hash id
*/
-BOTAN_PUBLIC_API(2,0) std::vector<uint8_t> pkcs_hash_id(const std::string& hash_name);
+std::vector<uint8_t> BOTAN_TEST_API pkcs_hash_id(const std::string& hash_name);
/**
* Return the IEEE 1363 hash identifier
* @param hash_name the name of the hash function
* @return uint8_t code identifying the hash, or 0 if not known
*/
-BOTAN_PUBLIC_API(2,0) uint8_t ieee1363_hash_id(const std::string& hash_name);
+uint8_t ieee1363_hash_id(const std::string& hash_name);
}
diff --git a/src/lib/pk_pad/info.txt b/src/lib/pk_pad/info.txt
index e8fb00c8e..2945e5faf 100644
--- a/src/lib/pk_pad/info.txt
+++ b/src/lib/pk_pad/info.txt
@@ -7,12 +7,3 @@ asn1
rng
pubkey
</requires>
-
-<header:internal>
-padding.h
-</header:internal>
-
-<header:public>
-eme.h
-emsa.h
-</header:public>
diff --git a/src/lib/pk_pad/iso9796/iso9796.cpp b/src/lib/pk_pad/iso9796/iso9796.cpp
index 9fdb87e3b..1025be521 100644
--- a/src/lib/pk_pad/iso9796/iso9796.cpp
+++ b/src/lib/pk_pad/iso9796/iso9796.cpp
@@ -5,11 +5,11 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/iso9796.h>
+#include <botan/internal/iso9796.h>
#include <botan/rng.h>
#include <botan/exceptn.h>
-#include <botan/mgf1.h>
-#include <botan/hash_id.h>
+#include <botan/internal/mgf1.h>
+#include <botan/internal/hash_id.h>
#include <botan/internal/bit_ops.h>
#include <botan/internal/ct_utils.h>
diff --git a/src/lib/pk_pad/iso9796/iso9796.h b/src/lib/pk_pad/iso9796/iso9796.h
index 9782e53b2..1ce696a77 100644
--- a/src/lib/pk_pad/iso9796/iso9796.h
+++ b/src/lib/pk_pad/iso9796/iso9796.h
@@ -8,17 +8,15 @@
#ifndef BOTAN_ISO9796_H_
#define BOTAN_ISO9796_H_
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
-BOTAN_FUTURE_INTERNAL_HEADER(iso9796.h)
-
namespace Botan {
/**
* ISO-9796-2 - Digital signature scheme 2 (probabilistic)
*/
-class BOTAN_PUBLIC_API(2,0) ISO_9796_DS2 final : public EMSA
+class ISO_9796_DS2 final : public EMSA
{
public:
/**
@@ -61,7 +59,7 @@ class BOTAN_PUBLIC_API(2,0) ISO_9796_DS2 final : public EMSA
/**
* ISO-9796-2 - Digital signature scheme 3 (deterministic)
*/
-class BOTAN_PUBLIC_API(2,0) ISO_9796_DS3 final : public EMSA
+class ISO_9796_DS3 final : public EMSA
{
public:
/**
diff --git a/src/lib/pk_pad/mgf1/mgf1.cpp b/src/lib/pk_pad/mgf1/mgf1.cpp
index 2e7ef9973..0a843cea9 100644
--- a/src/lib/pk_pad/mgf1/mgf1.cpp
+++ b/src/lib/pk_pad/mgf1/mgf1.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/mgf1.h>
+#include <botan/internal/mgf1.h>
#include <botan/hash.h>
#include <algorithm>
diff --git a/src/lib/pk_pad/mgf1/mgf1.h b/src/lib/pk_pad/mgf1/mgf1.h
index 9eb652a82..d0f469402 100644
--- a/src/lib/pk_pad/mgf1/mgf1.h
+++ b/src/lib/pk_pad/mgf1/mgf1.h
@@ -22,7 +22,7 @@ class HashFunction;
* @param out output buffer
* @param out_len size of the output buffer in bytes
*/
-void BOTAN_PUBLIC_API(2,0) mgf1_mask(HashFunction& hash,
+void mgf1_mask(HashFunction& hash,
const uint8_t in[], size_t in_len,
uint8_t out[], size_t out_len);
diff --git a/src/lib/prov/commoncrypto/commoncrypto_utils.cpp b/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
index 59e501dd7..6107ad973 100644
--- a/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
+++ b/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
@@ -8,7 +8,7 @@
#include <botan/internal/commoncrypto.h>
#include <botan/internal/commoncrypto_utils.h>
#include <botan/cipher_mode.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/internal/rounding.h>
#include <botan/scan_name.h>
diff --git a/src/lib/prov/openssl/openssl_rc4.cpp b/src/lib/prov/openssl/openssl_rc4.cpp
index dbda890f8..882ef4516 100644
--- a/src/lib/prov/openssl/openssl_rc4.cpp
+++ b/src/lib/prov/openssl/openssl_rc4.cpp
@@ -10,7 +10,7 @@
#if defined(BOTAN_HAS_OPENSSL) && defined(BOTAN_HAS_RC4)
#include <botan/internal/openssl.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/exceptn.h>
#include <openssl/rc4.h>
diff --git a/src/lib/prov/pkcs11/info.txt b/src/lib/prov/pkcs11/info.txt
index 0f8aab8e0..16c41b5f3 100644
--- a/src/lib/prov/pkcs11/info.txt
+++ b/src/lib/prov/pkcs11/info.txt
@@ -29,8 +29,4 @@ p11_randomgenerator.h
p11_rsa.h
p11_types.h
p11_x509.h
-
-p11_module.h
-p11_slot.h
-p11_session.h
</header:public>
diff --git a/src/lib/prov/pkcs11/p11.cpp b/src/lib/prov/pkcs11/p11.cpp
index 334a75caa..6065a1be4 100644
--- a/src/lib/prov/pkcs11/p11.cpp
+++ b/src/lib/prov/pkcs11/p11.cpp
@@ -8,7 +8,7 @@
#include <botan/p11.h>
#include <botan/p11_types.h>
-#include <botan/dyn_load.h>
+#include <botan/internal/dyn_load.h>
#include <cstdint>
#include <string>
diff --git a/src/lib/prov/pkcs11/p11_ecc_key.cpp b/src/lib/prov/pkcs11/p11_ecc_key.cpp
index 874621b78..c14c96322 100644
--- a/src/lib/prov/pkcs11/p11_ecc_key.cpp
+++ b/src/lib/prov/pkcs11/p11_ecc_key.cpp
@@ -11,7 +11,7 @@
#if defined(BOTAN_HAS_ECC_PUBLIC_KEY_CRYPTO)
-#include <botan/workfactor.h>
+#include <botan/internal/workfactor.h>
#include <botan/ber_dec.h>
namespace Botan {
diff --git a/src/lib/prov/pkcs11/p11_ecdh.cpp b/src/lib/prov/pkcs11/p11_ecdh.cpp
index 4110fd486..bd598143a 100644
--- a/src/lib/prov/pkcs11/p11_ecdh.cpp
+++ b/src/lib/prov/pkcs11/p11_ecdh.cpp
@@ -12,7 +12,7 @@
#include <botan/internal/p11_mechanism.h>
#include <botan/der_enc.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/rng.h>
namespace Botan {
diff --git a/src/lib/prov/pkcs11/p11_ecdsa.cpp b/src/lib/prov/pkcs11/p11_ecdsa.cpp
index a990933da..eebb13020 100644
--- a/src/lib/prov/pkcs11/p11_ecdsa.cpp
+++ b/src/lib/prov/pkcs11/p11_ecdsa.cpp
@@ -11,8 +11,8 @@
#if defined(BOTAN_HAS_ECDSA)
#include <botan/internal/p11_mechanism.h>
-#include <botan/pk_ops.h>
-#include <botan/keypair.h>
+#include <botan/internal/pk_ops.h>
+#include <botan/internal/keypair.h>
#include <botan/rng.h>
namespace Botan {
diff --git a/src/lib/prov/pkcs11/p11_mechanism.cpp b/src/lib/prov/pkcs11/p11_mechanism.cpp
index e06dcfc1f..3d58e8772 100644
--- a/src/lib/prov/pkcs11/p11_mechanism.cpp
+++ b/src/lib/prov/pkcs11/p11_mechanism.cpp
@@ -8,8 +8,8 @@
#include <botan/internal/p11_mechanism.h>
#include <botan/scan_name.h>
-#include <botan/parsing.h>
-#include <botan/emsa.h>
+#include <botan/internal/parsing.h>
+#include <botan/internal/emsa.h>
#include <tuple>
diff --git a/src/lib/prov/pkcs11/p11_module.cpp b/src/lib/prov/pkcs11/p11_module.cpp
index 1c84d415c..1d1e31c91 100644
--- a/src/lib/prov/pkcs11/p11_module.cpp
+++ b/src/lib/prov/pkcs11/p11_module.cpp
@@ -7,7 +7,7 @@
*/
#include <botan/p11_types.h>
-#include <botan/dyn_load.h>
+#include <botan/internal/dyn_load.h>
namespace Botan {
diff --git a/src/lib/prov/pkcs11/p11_module.h b/src/lib/prov/pkcs11/p11_module.h
deleted file mode 100644
index 0c8a6a6db..000000000
--- a/src/lib/prov/pkcs11/p11_module.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* PKCS#11 Module
-* (C) 2016 Daniel Neus, Sirrix AG
-* (C) 2016 Philipp Weber, Sirrix AG
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_P11_MODULE_H_
-#define BOTAN_P11_MODULE_H_
-
-#include <botan/p11_types.h>
-BOTAN_DEPRECATED_HEADER(p11_module.h)
-
-#endif
diff --git a/src/lib/prov/pkcs11/p11_rsa.cpp b/src/lib/prov/pkcs11/p11_rsa.cpp
index 0e434c5b3..93147fee2 100644
--- a/src/lib/prov/pkcs11/p11_rsa.cpp
+++ b/src/lib/prov/pkcs11/p11_rsa.cpp
@@ -12,9 +12,9 @@
#if defined(BOTAN_HAS_RSA)
#include <botan/internal/p11_mechanism.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/rng.h>
-#include <botan/blinding.h>
+#include <botan/internal/blinding.h>
namespace Botan {
diff --git a/src/lib/prov/pkcs11/p11_session.h b/src/lib/prov/pkcs11/p11_session.h
deleted file mode 100644
index 39b7877cb..000000000
--- a/src/lib/prov/pkcs11/p11_session.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* PKCS#11 Session
-* (C) 2016 Daniel Neus, Sirrix AG
-* (C) 2016 Philipp Weber, Sirrix AG
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_P11_SESSION_H_
-#define BOTAN_P11_SESSION_H_
-
-#include <botan/p11_types.h>
-BOTAN_DEPRECATED_HEADER(p11_session.h)
-
-#endif
diff --git a/src/lib/prov/pkcs11/p11_slot.h b/src/lib/prov/pkcs11/p11_slot.h
deleted file mode 100644
index 0a33ed5f4..000000000
--- a/src/lib/prov/pkcs11/p11_slot.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* PKCS#11 Slot
-* (C) 2016 Daniel Neus
-* (C) 2016 Philipp Weber
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_P11_SLOT_H_
-#define BOTAN_P11_SLOT_H_
-
-#include <botan/p11_types.h>
-BOTAN_DEPRECATED_HEADER(p11_slot.h)
-
-#endif
diff --git a/src/lib/prov/tpm/info.txt b/src/lib/prov/tpm/info.txt
index 3993efc53..df7474799 100644
--- a/src/lib/prov/tpm/info.txt
+++ b/src/lib/prov/tpm/info.txt
@@ -14,3 +14,7 @@ hash_id
rsa
rng
</requires>
+
+<header:public>
+tpm.h
+</header:public>
diff --git a/src/lib/prov/tpm/tpm.cpp b/src/lib/prov/tpm/tpm.cpp
index dec2316b1..d8c6ebd15 100644
--- a/src/lib/prov/tpm/tpm.cpp
+++ b/src/lib/prov/tpm/tpm.cpp
@@ -8,10 +8,10 @@
#include <botan/tpm.h>
#include <botan/rsa.h>
#include <botan/hash.h>
-#include <botan/hash_id.h>
+#include <botan/internal/hash_id.h>
#include <botan/der_enc.h>
-#include <botan/workfactor.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/workfactor.h>
+#include <botan/internal/pk_ops.h>
#include <sstream>
#include <tss/platform.h>
diff --git a/src/lib/psk_db/info.txt b/src/lib/psk_db/info.txt
index 4b1d0747e..ddb5c549a 100644
--- a/src/lib/psk_db/info.txt
+++ b/src/lib/psk_db/info.txt
@@ -9,3 +9,7 @@ base64
sha2_32
nist_keywrap
</requires>
+
+<header:public>
+psk_db.h
+</header:public>
diff --git a/src/lib/psk_db/psk_db_sql.h b/src/lib/psk_db/psk_db_sql.h
deleted file mode 100644
index 170ca674c..000000000
--- a/src/lib/psk_db/psk_db_sql.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-* (C) 2017 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_PSK_DB_SQL_H_
-#define BOTAN_PSK_DB_SQL_H_
-
-#include <botan/psk_db.h>
-BOTAN_DEPRECATED_HEADER(psk_db_sql.h)
-
-#endif
diff --git a/src/lib/pubkey/blinding.cpp b/src/lib/pubkey/blinding.cpp
index d1f299229..4dba697b2 100644
--- a/src/lib/pubkey/blinding.cpp
+++ b/src/lib/pubkey/blinding.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/blinding.h>
+#include <botan/internal/blinding.h>
namespace Botan {
diff --git a/src/lib/pubkey/blinding.h b/src/lib/pubkey/blinding.h
index 988a41a35..5f15ee721 100644
--- a/src/lib/pubkey/blinding.h
+++ b/src/lib/pubkey/blinding.h
@@ -12,8 +12,6 @@
#include <botan/reducer.h>
#include <functional>
-BOTAN_FUTURE_INTERNAL_HEADER(blinding.h)
-
namespace Botan {
class RandomNumberGenerator;
@@ -21,7 +19,7 @@ class RandomNumberGenerator;
/**
* Blinding Function Object.
*/
-class BOTAN_PUBLIC_API(2,0) Blinder final
+class Blinder final
{
public:
/**
diff --git a/src/lib/pubkey/cecpq1/info.txt b/src/lib/pubkey/cecpq1/info.txt
index 1e50f4c88..f43a3f3da 100644
--- a/src/lib/pubkey/cecpq1/info.txt
+++ b/src/lib/pubkey/cecpq1/info.txt
@@ -7,3 +7,7 @@ newhope
curve25519
</requires>
+
+<header:public>
+cecpq1.h
+</header:public>
diff --git a/src/lib/pubkey/curve25519/donna.cpp b/src/lib/pubkey/curve25519/donna.cpp
index 352e081dc..e7262eeb7 100644
--- a/src/lib/pubkey/curve25519/donna.cpp
+++ b/src/lib/pubkey/curve25519/donna.cpp
@@ -33,10 +33,10 @@
*/
#include <botan/curve25519.h>
-#include <botan/mul128.h>
+#include <botan/internal/mul128.h>
#include <botan/internal/ct_utils.h>
#include <botan/internal/donna128.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/pubkey/dh/dh.cpp b/src/lib/pubkey/dh/dh.cpp
index 687032a69..e4b6e825e 100644
--- a/src/lib/pubkey/dh/dh.cpp
+++ b/src/lib/pubkey/dh/dh.cpp
@@ -8,7 +8,7 @@
#include <botan/dh.h>
#include <botan/internal/pk_ops_impl.h>
#include <botan/internal/monty_exp.h>
-#include <botan/blinding.h>
+#include <botan/internal/blinding.h>
namespace Botan {
diff --git a/src/lib/pubkey/dl_algo/info.txt b/src/lib/pubkey/dl_algo/info.txt
index 44e649cd6..745dd6eea 100644
--- a/src/lib/pubkey/dl_algo/info.txt
+++ b/src/lib/pubkey/dl_algo/info.txt
@@ -8,3 +8,7 @@ dl_group
numbertheory
rng
</requires>
+
+<header:public>
+dl_algo.h
+</header:public>
diff --git a/src/lib/pubkey/dl_group/dl_group.cpp b/src/lib/pubkey/dl_group/dl_group.cpp
index 05f9640e3..f147c33fb 100644
--- a/src/lib/pubkey/dl_group/dl_group.cpp
+++ b/src/lib/pubkey/dl_group/dl_group.cpp
@@ -8,12 +8,12 @@
#include <botan/dl_group.h>
#include <botan/numthry.h>
#include <botan/reducer.h>
-#include <botan/monty.h>
-#include <botan/divide.h>
+#include <botan/internal/monty.h>
+#include <botan/internal/divide.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/pem.h>
-#include <botan/workfactor.h>
+#include <botan/internal/workfactor.h>
#include <botan/internal/monty_exp.h>
namespace Botan {
diff --git a/src/lib/pubkey/dl_group/info.txt b/src/lib/pubkey/dl_group/info.txt
index a73edb18c..0b493ead6 100644
--- a/src/lib/pubkey/dl_group/info.txt
+++ b/src/lib/pubkey/dl_group/info.txt
@@ -8,3 +8,7 @@ bigint
numbertheory
pem
</requires>
+
+<header:public>
+dl_group.h
+</header:public>
diff --git a/src/lib/pubkey/dlies/info.txt b/src/lib/pubkey/dlies/info.txt
index 80c0466f4..90d43edeb 100644
--- a/src/lib/pubkey/dlies/info.txt
+++ b/src/lib/pubkey/dlies/info.txt
@@ -8,3 +8,7 @@ kdf
mac
modes
</requires>
+
+<header:public>
+dlies.h
+</header:public>
diff --git a/src/lib/pubkey/dsa/dsa.cpp b/src/lib/pubkey/dsa/dsa.cpp
index 4da347c5e..5c0d048c9 100644
--- a/src/lib/pubkey/dsa/dsa.cpp
+++ b/src/lib/pubkey/dsa/dsa.cpp
@@ -7,15 +7,15 @@
*/
#include <botan/dsa.h>
-#include <botan/keypair.h>
+#include <botan/internal/keypair.h>
#include <botan/reducer.h>
#include <botan/rng.h>
-#include <botan/divide.h>
+#include <botan/internal/divide.h>
#include <botan/internal/pk_ops_impl.h>
#if defined(BOTAN_HAS_RFC6979_GENERATOR)
- #include <botan/emsa.h>
- #include <botan/rfc6979.h>
+ #include <botan/internal/emsa.h>
+ #include <botan/internal/rfc6979.h>
#endif
namespace Botan {
diff --git a/src/lib/pubkey/dsa/info.txt b/src/lib/pubkey/dsa/info.txt
index a9f288ede..59bc64b57 100644
--- a/src/lib/pubkey/dsa/info.txt
+++ b/src/lib/pubkey/dsa/info.txt
@@ -10,3 +10,7 @@ numbertheory
emsa1
sha2_32
</requires>
+
+<header:public>
+dsa.h
+</header:public>
diff --git a/src/lib/pubkey/ec_group/curve_gfp.cpp b/src/lib/pubkey/ec_group/curve_gfp.cpp
index 9957bb085..da049aebb 100644
--- a/src/lib/pubkey/ec_group/curve_gfp.cpp
+++ b/src/lib/pubkey/ec_group/curve_gfp.cpp
@@ -7,7 +7,7 @@
*/
#include <botan/curve_gfp.h>
-#include <botan/curve_nistp.h>
+#include <botan/internal/curve_nistp.h>
#include <botan/numthry.h>
#include <botan/reducer.h>
#include <botan/internal/mp_core.h>
diff --git a/src/lib/pubkey/ecc_key/ecc_key.cpp b/src/lib/pubkey/ecc_key/ecc_key.cpp
index 5a97e7a50..09748b847 100644
--- a/src/lib/pubkey/ecc_key/ecc_key.cpp
+++ b/src/lib/pubkey/ecc_key/ecc_key.cpp
@@ -13,7 +13,7 @@
#include <botan/ber_dec.h>
#include <botan/secmem.h>
#include <botan/point_gfp.h>
-#include <botan/workfactor.h>
+#include <botan/internal/workfactor.h>
namespace Botan {
diff --git a/src/lib/pubkey/ecc_key/info.txt b/src/lib/pubkey/ecc_key/info.txt
index 32d05f2f9..b9d3ece5d 100644
--- a/src/lib/pubkey/ecc_key/info.txt
+++ b/src/lib/pubkey/ecc_key/info.txt
@@ -9,3 +9,7 @@ bigint
ec_group
numbertheory
</requires>
+
+<header:public>
+ecc_key.h
+</header:public>
diff --git a/src/lib/pubkey/ecdh/info.txt b/src/lib/pubkey/ecdh/info.txt
index 11ca921da..1c12009b7 100644
--- a/src/lib/pubkey/ecdh/info.txt
+++ b/src/lib/pubkey/ecdh/info.txt
@@ -8,3 +8,7 @@ ec_group
ecc_key
numbertheory
</requires>
+
+<header:public>
+ecdh.h
+</header:public>
diff --git a/src/lib/pubkey/ecdsa/ecdsa.cpp b/src/lib/pubkey/ecdsa/ecdsa.cpp
index ebe9268cc..11ec37ff4 100644
--- a/src/lib/pubkey/ecdsa/ecdsa.cpp
+++ b/src/lib/pubkey/ecdsa/ecdsa.cpp
@@ -11,12 +11,12 @@
#include <botan/ecdsa.h>
#include <botan/internal/pk_ops_impl.h>
#include <botan/internal/point_mul.h>
-#include <botan/keypair.h>
+#include <botan/internal/keypair.h>
#include <botan/reducer.h>
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#if defined(BOTAN_HAS_RFC6979_GENERATOR)
- #include <botan/rfc6979.h>
+ #include <botan/internal/rfc6979.h>
#endif
#if defined(BOTAN_HAS_OPENSSL)
diff --git a/src/lib/pubkey/ecdsa/info.txt b/src/lib/pubkey/ecdsa/info.txt
index 6bd32ca17..23b5d83c1 100644
--- a/src/lib/pubkey/ecdsa/info.txt
+++ b/src/lib/pubkey/ecdsa/info.txt
@@ -12,3 +12,7 @@ rng
emsa1
sha2_32
</requires>
+
+<header:public>
+ecdsa.h
+</header:public>
diff --git a/src/lib/pubkey/ecgdsa/ecgdsa.cpp b/src/lib/pubkey/ecgdsa/ecgdsa.cpp
index 7ed876315..26045be6b 100644
--- a/src/lib/pubkey/ecgdsa/ecgdsa.cpp
+++ b/src/lib/pubkey/ecgdsa/ecgdsa.cpp
@@ -7,7 +7,7 @@
*/
#include <botan/ecgdsa.h>
-#include <botan/keypair.h>
+#include <botan/internal/keypair.h>
#include <botan/reducer.h>
#include <botan/internal/pk_ops_impl.h>
#include <botan/internal/point_mul.h>
diff --git a/src/lib/pubkey/ecgdsa/info.txt b/src/lib/pubkey/ecgdsa/info.txt
index 3f967cfcf..2c70816b7 100644
--- a/src/lib/pubkey/ecgdsa/info.txt
+++ b/src/lib/pubkey/ecgdsa/info.txt
@@ -13,3 +13,7 @@ rng
emsa1
sha2_32
</requires>
+
+<header:public>
+ecgdsa.h
+</header:public>
diff --git a/src/lib/pubkey/ecies/info.txt b/src/lib/pubkey/ecies/info.txt
index 530cc3970..2981d84f2 100644
--- a/src/lib/pubkey/ecies/info.txt
+++ b/src/lib/pubkey/ecies/info.txt
@@ -8,3 +8,7 @@ mac
ecdh
modes
</requires>
+
+<header:public>
+ecies.h
+</header:public>
diff --git a/src/lib/pubkey/eckcdsa/eckcdsa.cpp b/src/lib/pubkey/eckcdsa/eckcdsa.cpp
index 40d942514..3321a713d 100644
--- a/src/lib/pubkey/eckcdsa/eckcdsa.cpp
+++ b/src/lib/pubkey/eckcdsa/eckcdsa.cpp
@@ -9,9 +9,9 @@
#include <botan/eckcdsa.h>
#include <botan/internal/pk_ops_impl.h>
#include <botan/internal/point_mul.h>
-#include <botan/keypair.h>
+#include <botan/internal/keypair.h>
#include <botan/reducer.h>
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/hash.h>
#include <botan/rng.h>
diff --git a/src/lib/pubkey/eckcdsa/info.txt b/src/lib/pubkey/eckcdsa/info.txt
index 2bce4aa79..601bfe457 100644
--- a/src/lib/pubkey/eckcdsa/info.txt
+++ b/src/lib/pubkey/eckcdsa/info.txt
@@ -15,3 +15,7 @@ pk_pad
rng
sha2_32
</requires>
+
+<header:public>
+eckcdsa.h
+</header:public>
diff --git a/src/lib/pubkey/ed25519/ed25519.cpp b/src/lib/pubkey/ed25519/ed25519.cpp
index 624f82657..7db79f7ee 100644
--- a/src/lib/pubkey/ed25519/ed25519.cpp
+++ b/src/lib/pubkey/ed25519/ed25519.cpp
@@ -10,7 +10,7 @@
#include <botan/ed25519.h>
#include <botan/internal/ed25519_internal.h>
-#include <botan/sha2_64.h>
+#include <botan/internal/sha2_64.h>
#include <botan/rng.h>
namespace Botan {
diff --git a/src/lib/pubkey/ed25519/ed25519_internal.h b/src/lib/pubkey/ed25519/ed25519_internal.h
index cb67a43fd..6e5d56618 100644
--- a/src/lib/pubkey/ed25519/ed25519_internal.h
+++ b/src/lib/pubkey/ed25519/ed25519_internal.h
@@ -12,7 +12,7 @@
#define BOTAN_ED25519_INT_H_
#include <botan/internal/ed25519_fe.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/pubkey/elgamal/elgamal.cpp b/src/lib/pubkey/elgamal/elgamal.cpp
index 508ed1e8a..6f8019723 100644
--- a/src/lib/pubkey/elgamal/elgamal.cpp
+++ b/src/lib/pubkey/elgamal/elgamal.cpp
@@ -8,8 +8,8 @@
#include <botan/elgamal.h>
#include <botan/internal/pk_ops_impl.h>
#include <botan/internal/monty_exp.h>
-#include <botan/keypair.h>
-#include <botan/blinding.h>
+#include <botan/internal/keypair.h>
+#include <botan/internal/blinding.h>
namespace Botan {
diff --git a/src/lib/pubkey/elgamal/info.txt b/src/lib/pubkey/elgamal/info.txt
index 0b36658bc..7ba69510d 100644
--- a/src/lib/pubkey/elgamal/info.txt
+++ b/src/lib/pubkey/elgamal/info.txt
@@ -8,3 +8,7 @@ dl_group
keypair
numbertheory
</requires>
+
+<header:public>
+elgamal.h
+</header:public>
diff --git a/src/lib/pubkey/gost_3410/info.txt b/src/lib/pubkey/gost_3410/info.txt
index 805e31485..4c4302679 100644
--- a/src/lib/pubkey/gost_3410/info.txt
+++ b/src/lib/pubkey/gost_3410/info.txt
@@ -10,3 +10,7 @@ ecc_key
numbertheory
rng
</requires>
+
+<header:public>
+gost_3410.h
+</header:public>
diff --git a/src/lib/pubkey/info.txt b/src/lib/pubkey/info.txt
index c6e8036e5..3f8e0d9ad 100644
--- a/src/lib/pubkey/info.txt
+++ b/src/lib/pubkey/info.txt
@@ -3,19 +3,19 @@ PUBLIC_KEY_CRYPTO -> 20131128
</defines>
<header:public>
-blinding.h
pk_algs.h
pk_keys.h
-pk_ops.h
pk_ops_fwd.h
pkcs8.h
pubkey.h
-workfactor.h
x509_key.h
</header:public>
<header:internal>
+blinding.h
+pk_ops.h
pk_ops_impl.h
+workfactor.h
</header:internal>
<requires>
diff --git a/src/lib/pubkey/keypair/info.txt b/src/lib/pubkey/keypair/info.txt
index ed85abf69..73a442c0d 100644
--- a/src/lib/pubkey/keypair/info.txt
+++ b/src/lib/pubkey/keypair/info.txt
@@ -1,6 +1,3 @@
-<defines>
-KEYPAIR_TESTING -> 20131128
-</defines>
-
-<requires>
-</requires>
+<header:internal>
+keypair.h
+</header:internal>
diff --git a/src/lib/pubkey/keypair/keypair.cpp b/src/lib/pubkey/keypair/keypair.cpp
index d5cd00172..f5ce33df2 100644
--- a/src/lib/pubkey/keypair/keypair.cpp
+++ b/src/lib/pubkey/keypair/keypair.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/keypair.h>
+#include <botan/internal/keypair.h>
#include <botan/pubkey.h>
#include <botan/rng.h>
diff --git a/src/lib/pubkey/keypair/keypair.h b/src/lib/pubkey/keypair/keypair.h
index 6900faa35..df73f3192 100644
--- a/src/lib/pubkey/keypair/keypair.h
+++ b/src/lib/pubkey/keypair/keypair.h
@@ -10,8 +10,6 @@
#include <botan/pk_keys.h>
-BOTAN_FUTURE_INTERNAL_HEADER(keypair.h)
-
namespace Botan {
namespace KeyPair {
@@ -25,7 +23,7 @@ namespace KeyPair {
* @param padding the encryption padding method to use
* @return true if consistent otherwise false
*/
-BOTAN_PUBLIC_API(2,0) bool
+bool
encryption_consistency_check(RandomNumberGenerator& rng,
const Private_Key& private_key,
const Public_Key& public_key,
@@ -40,7 +38,7 @@ encryption_consistency_check(RandomNumberGenerator& rng,
* @param padding the signature padding method to use
* @return true if consistent otherwise false
*/
-BOTAN_PUBLIC_API(2,0) bool
+bool
signature_consistency_check(RandomNumberGenerator& rng,
const Private_Key& private_key,
const Public_Key& public_key,
diff --git a/src/lib/pubkey/mce/code_based_key_gen.cpp b/src/lib/pubkey/mce/code_based_key_gen.cpp
index 8dc3a3178..9167a2339 100644
--- a/src/lib/pubkey/mce/code_based_key_gen.cpp
+++ b/src/lib/pubkey/mce/code_based_key_gen.cpp
@@ -13,8 +13,8 @@
#include <botan/mceliece.h>
#include <botan/internal/mce_internal.h>
#include <botan/internal/code_based_util.h>
+#include <botan/internal/loadstor.h>
#include <botan/polyn_gf2m.h>
-#include <botan/loadstor.h>
namespace Botan {
diff --git a/src/lib/pubkey/mce/code_based_util.h b/src/lib/pubkey/mce/code_based_util.h
index 5b0a9195a..514953c11 100644
--- a/src/lib/pubkey/mce/code_based_util.h
+++ b/src/lib/pubkey/mce/code_based_util.h
@@ -12,7 +12,7 @@
#ifndef BOTAN_CODE_BASED_UTIL_H_
#define BOTAN_CODE_BASED_UTIL_H_
-#include <botan/gf2m_small_m.h>
+#include <botan/internal/gf2m_small_m.h>
namespace Botan {
diff --git a/src/lib/pubkey/mce/gf2m_small_m.cpp b/src/lib/pubkey/mce/gf2m_small_m.cpp
index 341b45d03..b67d807c5 100644
--- a/src/lib/pubkey/mce/gf2m_small_m.cpp
+++ b/src/lib/pubkey/mce/gf2m_small_m.cpp
@@ -8,7 +8,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/gf2m_small_m.h>
+#include <botan/internal/gf2m_small_m.h>
#include <botan/exceptn.h>
#include <string>
diff --git a/src/lib/pubkey/mce/info.txt b/src/lib/pubkey/mce/info.txt
index becf616b3..6a5577bfa 100644
--- a/src/lib/pubkey/mce/info.txt
+++ b/src/lib/pubkey/mce/info.txt
@@ -5,10 +5,10 @@ MCELIECE -> 20150922
<header:public>
mceliece.h
polyn_gf2m.h
-gf2m_small_m.h
</header:public>
<header:internal>
+gf2m_small_m.h
code_based_util.h
mce_internal.h
</header:internal>
diff --git a/src/lib/pubkey/mce/mce_internal.h b/src/lib/pubkey/mce/mce_internal.h
index 7059f4e2e..e0e0fce0e 100644
--- a/src/lib/pubkey/mce/mce_internal.h
+++ b/src/lib/pubkey/mce/mce_internal.h
@@ -14,7 +14,7 @@
#include <botan/secmem.h>
#include <botan/types.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/mceliece.h>
#include <botan/polyn_gf2m.h>
diff --git a/src/lib/pubkey/mce/mceliece_key.cpp b/src/lib/pubkey/mce/mceliece_key.cpp
index 283421be4..bca7625db 100644
--- a/src/lib/pubkey/mce/mceliece_key.cpp
+++ b/src/lib/pubkey/mce/mceliece_key.cpp
@@ -16,7 +16,7 @@
#include <botan/internal/bit_ops.h>
#include <botan/internal/code_based_util.h>
#include <botan/internal/pk_ops_impl.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/rng.h>
diff --git a/src/lib/pubkey/mce/polyn_gf2m.cpp b/src/lib/pubkey/mce/polyn_gf2m.cpp
index 592ab7262..4b4bf3526 100644
--- a/src/lib/pubkey/mce/polyn_gf2m.cpp
+++ b/src/lib/pubkey/mce/polyn_gf2m.cpp
@@ -15,7 +15,7 @@
#include <botan/internal/bit_ops.h>
#include <botan/rng.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/pubkey/newhope/info.txt b/src/lib/pubkey/newhope/info.txt
index 4877a138b..b7d75654b 100644
--- a/src/lib/pubkey/newhope/info.txt
+++ b/src/lib/pubkey/newhope/info.txt
@@ -10,3 +10,7 @@ sha2_32
ctr
aes
</requires>
+
+<header:public>
+newhope.h
+</header:public>
diff --git a/src/lib/pubkey/newhope/newhope.cpp b/src/lib/pubkey/newhope/newhope.cpp
index 6a0440139..36044eb75 100644
--- a/src/lib/pubkey/newhope/newhope.cpp
+++ b/src/lib/pubkey/newhope/newhope.cpp
@@ -13,7 +13,7 @@
#include <botan/hash.h>
#include <botan/rng.h>
#include <botan/stream_cipher.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/pubkey/pbes2/info.txt b/src/lib/pubkey/pbes2/info.txt
index f8c6d3719..63e35f5b3 100644
--- a/src/lib/pubkey/pbes2/info.txt
+++ b/src/lib/pubkey/pbes2/info.txt
@@ -8,3 +8,7 @@ cbc
hmac
pbkdf2
</requires>
+
+<header:internal>
+pbes2.h
+</header:internal>
diff --git a/src/lib/pubkey/pbes2/pbes2.cpp b/src/lib/pubkey/pbes2/pbes2.cpp
index 1360de67c..7a8846537 100644
--- a/src/lib/pubkey/pbes2/pbes2.cpp
+++ b/src/lib/pubkey/pbes2/pbes2.cpp
@@ -6,13 +6,13 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/pbes2.h>
+#include <botan/internal/pbes2.h>
#include <botan/cipher_mode.h>
#include <botan/pbkdf.h>
#include <botan/pwdhash.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/asn1_obj.h>
#include <botan/oids.h>
#include <botan/rng.h>
diff --git a/src/lib/pubkey/pbes2/pbes2.h b/src/lib/pubkey/pbes2/pbes2.h
index a5051a8fd..0a16ac1f3 100644
--- a/src/lib/pubkey/pbes2/pbes2.h
+++ b/src/lib/pubkey/pbes2/pbes2.h
@@ -5,14 +5,12 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#ifndef BOTAN_PBE_PKCS_v20_H_
-#define BOTAN_PBE_PKCS_v20_H_
+#ifndef BOTAN_PBE_PKCS_V20_H_
+#define BOTAN_PBE_PKCS_V20_H_
#include <botan/asn1_obj.h>
#include <chrono>
-BOTAN_FUTURE_INTERNAL_HEADER(pbes2.h)
-
namespace Botan {
class RandomNumberGenerator;
@@ -27,12 +25,12 @@ class RandomNumberGenerator;
* @param rng a random number generator
*/
std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
-BOTAN_PUBLIC_API(2,0) pbes2_encrypt(const secure_vector<uint8_t>& key_bits,
- const std::string& passphrase,
- std::chrono::milliseconds msec,
- const std::string& cipher,
- const std::string& digest,
- RandomNumberGenerator& rng);
+pbes2_encrypt(const secure_vector<uint8_t>& key_bits,
+ const std::string& passphrase,
+ std::chrono::milliseconds msec,
+ const std::string& cipher,
+ const std::string& digest,
+ RandomNumberGenerator& rng);
/**
* Encrypt with PBES2 from PKCS #5 v2.0
@@ -46,13 +44,13 @@ BOTAN_PUBLIC_API(2,0) pbes2_encrypt(const secure_vector<uint8_t>& key_bits,
* @param rng a random number generator
*/
std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
-BOTAN_PUBLIC_API(2,1) pbes2_encrypt_msec(const secure_vector<uint8_t>& key_bits,
- const std::string& passphrase,
- std::chrono::milliseconds msec,
- size_t* out_iterations_if_nonnull,
- const std::string& cipher,
- const std::string& digest,
- RandomNumberGenerator& rng);
+pbes2_encrypt_msec(const secure_vector<uint8_t>& key_bits,
+ const std::string& passphrase,
+ std::chrono::milliseconds msec,
+ size_t* out_iterations_if_nonnull,
+ const std::string& cipher,
+ const std::string& digest,
+ RandomNumberGenerator& rng);
/**
* Encrypt with PBES2 from PKCS #5 v2.0
@@ -64,12 +62,12 @@ BOTAN_PUBLIC_API(2,1) pbes2_encrypt_msec(const secure_vector<uint8_t>& key_bits,
* @param rng a random number generator
*/
std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
-BOTAN_PUBLIC_API(2,1) pbes2_encrypt_iter(const secure_vector<uint8_t>& key_bits,
- const std::string& passphrase,
- size_t iterations,
- const std::string& cipher,
- const std::string& digest,
- RandomNumberGenerator& rng);
+pbes2_encrypt_iter(const secure_vector<uint8_t>& key_bits,
+ const std::string& passphrase,
+ size_t iterations,
+ const std::string& cipher,
+ const std::string& digest,
+ RandomNumberGenerator& rng);
/**
* Decrypt a PKCS #5 v2.0 encrypted stream
@@ -78,9 +76,9 @@ BOTAN_PUBLIC_API(2,1) pbes2_encrypt_iter(const secure_vector<uint8_t>& key_bits,
* @param params the PBES2 parameters
*/
secure_vector<uint8_t>
-BOTAN_PUBLIC_API(2,0) pbes2_decrypt(const secure_vector<uint8_t>& key_bits,
- const std::string& passphrase,
- const std::vector<uint8_t>& params);
+pbes2_decrypt(const secure_vector<uint8_t>& key_bits,
+ const std::string& passphrase,
+ const std::vector<uint8_t>& params);
}
diff --git a/src/lib/pubkey/pem/info.txt b/src/lib/pubkey/pem/info.txt
index 471d9abd6..c4d2fe2a1 100644
--- a/src/lib/pubkey/pem/info.txt
+++ b/src/lib/pubkey/pem/info.txt
@@ -5,3 +5,7 @@ PEM_CODEC -> 20131128
<requires>
base64
</requires>
+
+<header:public>
+pem.h
+</header:public>
diff --git a/src/lib/pubkey/pk_algs.cpp b/src/lib/pubkey/pk_algs.cpp
index fc8697585..74282c108 100644
--- a/src/lib/pubkey/pk_algs.cpp
+++ b/src/lib/pubkey/pk_algs.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/pk_algs.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#if defined(BOTAN_HAS_RSA)
#include <botan/rsa.h>
diff --git a/src/lib/pubkey/pk_keys.cpp b/src/lib/pubkey/pk_keys.cpp
index c5a98d72f..54315a8b5 100644
--- a/src/lib/pubkey/pk_keys.cpp
+++ b/src/lib/pubkey/pk_keys.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/pk_keys.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/der_enc.h>
#include <botan/oids.h>
#include <botan/hash.h>
diff --git a/src/lib/pubkey/pk_ops.h b/src/lib/pubkey/pk_ops.h
index 63ef9fa9b..9db1edd11 100644
--- a/src/lib/pubkey/pk_ops.h
+++ b/src/lib/pubkey/pk_ops.h
@@ -33,7 +33,7 @@ namespace PK_Ops {
/**
* Public key encryption interface
*/
-class BOTAN_PUBLIC_API(2,0) Encryption
+class Encryption
{
public:
virtual secure_vector<uint8_t> encrypt(const uint8_t msg[],
@@ -50,7 +50,7 @@ class BOTAN_PUBLIC_API(2,0) Encryption
/**
* Public key decryption interface
*/
-class BOTAN_PUBLIC_API(2,0) Decryption
+class Decryption
{
public:
virtual secure_vector<uint8_t> decrypt(uint8_t& valid_mask,
@@ -65,7 +65,7 @@ class BOTAN_PUBLIC_API(2,0) Decryption
/**
* Public key signature verification interface
*/
-class BOTAN_PUBLIC_API(2,0) Verification
+class Verification
{
public:
/*
@@ -87,7 +87,7 @@ class BOTAN_PUBLIC_API(2,0) Verification
/**
* Public key signature creation interface
*/
-class BOTAN_PUBLIC_API(2,0) Signature
+class Signature
{
public:
/*
@@ -114,7 +114,7 @@ class BOTAN_PUBLIC_API(2,0) Signature
/**
* A generic key agreement operation (eg DH or ECDH)
*/
-class BOTAN_PUBLIC_API(2,0) Key_Agreement
+class Key_Agreement
{
public:
virtual secure_vector<uint8_t> agree(size_t key_len,
@@ -129,7 +129,7 @@ class BOTAN_PUBLIC_API(2,0) Key_Agreement
/**
* KEM (key encapsulation)
*/
-class BOTAN_PUBLIC_API(2,0) KEM_Encryption
+class KEM_Encryption
{
public:
virtual void kem_encrypt(secure_vector<uint8_t>& out_encapsulated_key,
@@ -142,7 +142,7 @@ class BOTAN_PUBLIC_API(2,0) KEM_Encryption
virtual ~KEM_Encryption() = default;
};
-class BOTAN_PUBLIC_API(2,0) KEM_Decryption
+class KEM_Decryption
{
public:
virtual secure_vector<uint8_t> kem_decrypt(const uint8_t encap_key[],
diff --git a/src/lib/pubkey/pk_ops_impl.h b/src/lib/pubkey/pk_ops_impl.h
index 6bab2143e..65604e598 100644
--- a/src/lib/pubkey/pk_ops_impl.h
+++ b/src/lib/pubkey/pk_ops_impl.h
@@ -8,10 +8,10 @@
#ifndef BOTAN_PK_OPERATION_IMPL_H_
#define BOTAN_PK_OPERATION_IMPL_H_
-#include <botan/pk_ops.h>
-#include <botan/eme.h>
+#include <botan/internal/pk_ops.h>
+#include <botan/internal/eme.h>
#include <botan/kdf.h>
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
namespace Botan {
diff --git a/src/lib/pubkey/pkcs8.cpp b/src/lib/pubkey/pkcs8.cpp
index 2989e20aa..e279bb60a 100644
--- a/src/lib/pubkey/pkcs8.cpp
+++ b/src/lib/pubkey/pkcs8.cpp
@@ -16,7 +16,7 @@
#include <botan/pk_algs.h>
#if defined(BOTAN_HAS_PKCS5_PBES2)
- #include <botan/pbes2.h>
+ #include <botan/internal/pbes2.h>
#endif
namespace Botan {
diff --git a/src/lib/pubkey/pubkey.cpp b/src/lib/pubkey/pubkey.cpp
index 3834489ef..74aebd5d2 100644
--- a/src/lib/pubkey/pubkey.cpp
+++ b/src/lib/pubkey/pubkey.cpp
@@ -8,7 +8,7 @@
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/bigint.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/internal/ct_utils.h>
#include <botan/rng.h>
diff --git a/src/lib/pubkey/rfc6979/info.txt b/src/lib/pubkey/rfc6979/info.txt
index 72a61301c..53f0ad72c 100644
--- a/src/lib/pubkey/rfc6979/info.txt
+++ b/src/lib/pubkey/rfc6979/info.txt
@@ -6,3 +6,7 @@ RFC6979_GENERATOR -> 20140321
bigint
hmac_drbg
</requires>
+
+<header:internal>
+rfc6979.h
+</header:internal>
diff --git a/src/lib/pubkey/rfc6979/rfc6979.cpp b/src/lib/pubkey/rfc6979/rfc6979.cpp
index 94b313c3a..3a67e6951 100644
--- a/src/lib/pubkey/rfc6979/rfc6979.cpp
+++ b/src/lib/pubkey/rfc6979/rfc6979.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/rfc6979.h>
+#include <botan/internal/rfc6979.h>
#include <botan/hmac_drbg.h>
#include <botan/mac.h>
diff --git a/src/lib/pubkey/rfc6979/rfc6979.h b/src/lib/pubkey/rfc6979/rfc6979.h
index 54134a682..c1b1d2cc7 100644
--- a/src/lib/pubkey/rfc6979/rfc6979.h
+++ b/src/lib/pubkey/rfc6979/rfc6979.h
@@ -12,13 +12,11 @@
#include <string>
#include <memory>
-BOTAN_FUTURE_INTERNAL_HEADER(rfc6979.h)
-
namespace Botan {
class HMAC_DRBG;
-class BOTAN_PUBLIC_API(2,0) RFC6979_Nonce_Generator final
+class BOTAN_TEST_API RFC6979_Nonce_Generator final
{
public:
/**
@@ -45,10 +43,11 @@ class BOTAN_PUBLIC_API(2,0) RFC6979_Nonce_Generator final
* @param h the message hash already reduced mod q
* @param hash the hash function used to generate h
*/
-BigInt BOTAN_PUBLIC_API(2,0) generate_rfc6979_nonce(const BigInt& x,
- const BigInt& q,
- const BigInt& h,
- const std::string& hash);
+BOTAN_TEST_API
+BigInt generate_rfc6979_nonce(const BigInt& x,
+ const BigInt& q,
+ const BigInt& h,
+ const std::string& hash);
}
diff --git a/src/lib/pubkey/rsa/info.txt b/src/lib/pubkey/rsa/info.txt
index 9fc9354b8..ab8311557 100644
--- a/src/lib/pubkey/rsa/info.txt
+++ b/src/lib/pubkey/rsa/info.txt
@@ -8,3 +8,7 @@ numbertheory
emsa_pssr
sha2_32
</requires>
+
+<header:public>
+rsa.h
+</header:public>
diff --git a/src/lib/pubkey/rsa/rsa.cpp b/src/lib/pubkey/rsa/rsa.cpp
index 96f405892..a32aa44e4 100644
--- a/src/lib/pubkey/rsa/rsa.cpp
+++ b/src/lib/pubkey/rsa/rsa.cpp
@@ -7,14 +7,14 @@
#include <botan/rsa.h>
#include <botan/internal/pk_ops_impl.h>
-#include <botan/keypair.h>
-#include <botan/blinding.h>
+#include <botan/internal/keypair.h>
+#include <botan/internal/blinding.h>
#include <botan/reducer.h>
-#include <botan/workfactor.h>
+#include <botan/internal/workfactor.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
-#include <botan/monty.h>
-#include <botan/divide.h>
+#include <botan/internal/monty.h>
+#include <botan/internal/divide.h>
#include <botan/internal/monty_exp.h>
#if defined(BOTAN_HAS_OPENSSL)
diff --git a/src/lib/pubkey/sm2/info.txt b/src/lib/pubkey/sm2/info.txt
index a3f756820..71677d21e 100644
--- a/src/lib/pubkey/sm2/info.txt
+++ b/src/lib/pubkey/sm2/info.txt
@@ -12,3 +12,7 @@ rng
sm3
kdf2
</requires>
+
+<header:public>
+sm2.h
+</header:public>
diff --git a/src/lib/pubkey/sm2/sm2.cpp b/src/lib/pubkey/sm2/sm2.cpp
index a976c097b..a73823448 100644
--- a/src/lib/pubkey/sm2/sm2.cpp
+++ b/src/lib/pubkey/sm2/sm2.cpp
@@ -9,11 +9,11 @@
#include <botan/sm2.h>
#include <botan/internal/pk_ops_impl.h>
#include <botan/internal/point_mul.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/numthry.h>
-#include <botan/keypair.h>
+#include <botan/internal/keypair.h>
#include <botan/hash.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
namespace Botan {
diff --git a/src/lib/pubkey/sm2/sm2_enc.cpp b/src/lib/pubkey/sm2/sm2_enc.cpp
index 55549afe3..3b49f3177 100644
--- a/src/lib/pubkey/sm2/sm2_enc.cpp
+++ b/src/lib/pubkey/sm2/sm2_enc.cpp
@@ -7,7 +7,7 @@
#include <botan/sm2.h>
#include <botan/internal/point_mul.h>
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/kdf.h>
diff --git a/src/lib/pubkey/sm2/sm2_enc.h b/src/lib/pubkey/sm2/sm2_enc.h
deleted file mode 100644
index ea8c43d9d..000000000
--- a/src/lib/pubkey/sm2/sm2_enc.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* SM2 Encryption
-* (C) 2017 Ribose Inc
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_SM2_ENC_KEY_H_
-#define BOTAN_SM2_ENC_KEY_H_
-
-#include <botan/sm2.h>
-
-BOTAN_DEPRECATED_HEADER(sm2_enc.h)
-
-#endif
diff --git a/src/lib/pubkey/workfactor.cpp b/src/lib/pubkey/workfactor.cpp
index bb4fd56ca..cd0a83e5c 100644
--- a/src/lib/pubkey/workfactor.cpp
+++ b/src/lib/pubkey/workfactor.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/workfactor.h>
+#include <botan/internal/workfactor.h>
#include <algorithm>
#include <cmath>
diff --git a/src/lib/pubkey/xmss/atomic.h b/src/lib/pubkey/xmss/atomic.h
index a542d4c00..fc6d8ba94 100644
--- a/src/lib/pubkey/xmss/atomic.h
+++ b/src/lib/pubkey/xmss/atomic.h
@@ -12,8 +12,6 @@
#include <atomic>
#include <memory>
-//BOTAN_FUTURE_INTERNAL_HEADER(atomic.h)
-
namespace Botan {
template <typename T>
diff --git a/src/lib/pubkey/xmss/info.txt b/src/lib/pubkey/xmss/info.txt
index ae290f5fc..bc4a1e745 100644
--- a/src/lib/pubkey/xmss/info.txt
+++ b/src/lib/pubkey/xmss/info.txt
@@ -7,18 +7,13 @@ xmss.h
xmss_hash.h
xmss_wots.h
xmss_parameters.h
-xmss_key_pair.h
-xmss_privatekey.h
-xmss_publickey.h
-xmss_wots_parameters.h
-xmss_wots_privatekey.h
-xmss_wots_publickey.h
</header:public>
<header:internal>
atomic.h
xmss_address.h
xmss_common_ops.h
+xmss_common_ops.h
xmss_index_registry.h
xmss_signature.h
xmss_signature_operation.h
diff --git a/src/lib/pubkey/xmss/xmss_common_ops.cpp b/src/lib/pubkey/xmss/xmss_common_ops.cpp
index 9a3fe085a..bdc03e40f 100644
--- a/src/lib/pubkey/xmss/xmss_common_ops.cpp
+++ b/src/lib/pubkey/xmss/xmss_common_ops.cpp
@@ -7,6 +7,7 @@
**/
#include <botan/internal/xmss_common_ops.h>
+#include <botan/xmss_hash.h>
namespace Botan {
diff --git a/src/lib/pubkey/xmss/xmss_common_ops.h b/src/lib/pubkey/xmss/xmss_common_ops.h
index 77fdc9dc1..d04e65242 100644
--- a/src/lib/pubkey/xmss/xmss_common_ops.h
+++ b/src/lib/pubkey/xmss/xmss_common_ops.h
@@ -12,12 +12,11 @@
#include <botan/secmem.h>
#include <botan/xmss_parameters.h>
#include <botan/internal/xmss_address.h>
-#include <botan/xmss_hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(xmss_common_ops.h)
namespace Botan {
+class XMSS_Hash;
+
typedef std::vector<secure_vector<uint8_t>> wots_keysig_t;
/**
diff --git a/src/lib/pubkey/xmss/xmss_index_registry.h b/src/lib/pubkey/xmss/xmss_index_registry.h
index 91166db4b..7b5af100d 100644
--- a/src/lib/pubkey/xmss/xmss_index_registry.h
+++ b/src/lib/pubkey/xmss/xmss_index_registry.h
@@ -14,8 +14,6 @@
#include <botan/internal/atomic.h>
#include <botan/mutex.h>
-//BOTAN_FUTURE_INTERNAL_HEADER(xmss_index_registry.h)
-
namespace Botan {
/**
diff --git a/src/lib/pubkey/xmss/xmss_key_pair.h b/src/lib/pubkey/xmss/xmss_key_pair.h
deleted file mode 100644
index 19e23c777..000000000
--- a/src/lib/pubkey/xmss/xmss_key_pair.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * XMSS Key Pair
- * (C) 2016 Matthias Gierlings
- *
- * Botan is released under the Simplified BSD License (see license.txt)
- **/
-
-#ifndef BOTAN_XMSS_KEY_PAIR_H_
-#define BOTAN_XMSS_KEY_PAIR_H_
-
-#include <botan/xmss.h>
-
-BOTAN_DEPRECATED_HEADER(xmss_key_pair.h)
-
-namespace Botan {
-
-/**
- * A pair of XMSS public and private key.
- **/
-class BOTAN_PUBLIC_API(2,0) XMSS_Key_Pair
- {
- public:
- XMSS_Key_Pair(XMSS_Parameters::xmss_algorithm_t xmss_oid,
- RandomNumberGenerator& rng)
- : m_priv_key(xmss_oid, rng), m_pub_key(m_priv_key) {}
-
- XMSS_Key_Pair(const XMSS_PublicKey& pub_key,
- const XMSS_PrivateKey& priv_key)
- : m_priv_key(priv_key), m_pub_key(pub_key)
- {}
-
- XMSS_Key_Pair(XMSS_PublicKey&& pub_key,
- XMSS_PrivateKey&& priv_key)
- : m_priv_key(std::move(priv_key)), m_pub_key(std::move(pub_key)) {}
-
- const XMSS_PublicKey& public_key() const { return m_pub_key; }
- XMSS_PublicKey& public_key() { return m_pub_key; }
-
- const XMSS_PrivateKey& private_key() const { return m_priv_key; }
- XMSS_PrivateKey& private_key() { return m_priv_key; }
-
- private:
- XMSS_PrivateKey m_priv_key;
- XMSS_PublicKey m_pub_key;
- };
-
-}
-
-#endif
diff --git a/src/lib/pubkey/xmss/xmss_privatekey.h b/src/lib/pubkey/xmss/xmss_privatekey.h
deleted file mode 100644
index dc040e443..000000000
--- a/src/lib/pubkey/xmss/xmss_privatekey.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * (C) 2016,2017,2018 Matthias Gierlings
- *
- * Botan is released under the Simplified BSD License (see license.txt)
- **/
-
-#ifndef BOTAN_XMSS_PRIVATEKEY_H_
-#define BOTAN_XMSS_PRIVATEKEY_H_
-
-#include <botan/xmss.h>
-BOTAN_DEPRECATED_HEADER(xmss_privatekey.h)
-
-#endif
diff --git a/src/lib/pubkey/xmss/xmss_publickey.h b/src/lib/pubkey/xmss/xmss_publickey.h
deleted file mode 100644
index eba27fc95..000000000
--- a/src/lib/pubkey/xmss/xmss_publickey.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * (C) 2016,2017,2018 Matthias Gierlings
- *
- * Botan is released under the Simplified BSD License (see license.txt)
- **/
-
-#ifndef BOTAN_XMSS_PUBLICKEY_H_
-#define BOTAN_XMSS_PUBLICKEY_H_
-
-#include <botan/xmss.h>
-BOTAN_DEPRECATED_HEADER(xmss_publickey.h)
-
-#endif
-
diff --git a/src/lib/pubkey/xmss/xmss_signature_operation.h b/src/lib/pubkey/xmss/xmss_signature_operation.h
index e6fb2c711..5236b5bbe 100644
--- a/src/lib/pubkey/xmss/xmss_signature_operation.h
+++ b/src/lib/pubkey/xmss/xmss_signature_operation.h
@@ -8,7 +8,7 @@
#ifndef BOTAN_XMSS_SIGNATURE_OPERATION_H_
#define BOTAN_XMSS_SIGNATURE_OPERATION_H_
-#include <botan/pk_ops.h>
+#include <botan/internal/pk_ops.h>
#include <botan/xmss.h>
#include <botan/internal/xmss_address.h>
#include <botan/internal/xmss_signature.h>
diff --git a/src/lib/pubkey/xmss/xmss_tools.h b/src/lib/pubkey/xmss/xmss_tools.h
index 81d17f5bf..bbd31fd9f 100644
--- a/src/lib/pubkey/xmss/xmss_tools.h
+++ b/src/lib/pubkey/xmss/xmss_tools.h
@@ -13,8 +13,6 @@
#include <iterator>
#include <type_traits>
-//BOTAN_FUTURE_INTERNAL_HEADER(xmss_tools.h)
-
namespace Botan {
/**
diff --git a/src/lib/pubkey/xmss/xmss_verification_operation.h b/src/lib/pubkey/xmss/xmss_verification_operation.h
index f96b3803b..7ef6d83b2 100644
--- a/src/lib/pubkey/xmss/xmss_verification_operation.h
+++ b/src/lib/pubkey/xmss/xmss_verification_operation.h
@@ -8,9 +8,9 @@
#ifndef BOTAN_XMSS_VERIFICATION_OPERATION_H_
#define BOTAN_XMSS_VERIFICATION_OPERATION_H_
-#include <botan/pk_ops.h>
-#include <botan/xmss.h>
+#include <botan/internal/pk_ops.h>
#include <botan/internal/xmss_signature.h>
+#include <botan/xmss.h>
namespace Botan {
diff --git a/src/lib/pubkey/xmss/xmss_wots_parameters.h b/src/lib/pubkey/xmss/xmss_wots_parameters.h
deleted file mode 100644
index e8c3e2b4a..000000000
--- a/src/lib/pubkey/xmss/xmss_wots_parameters.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * XMSS WOTS Parameters
- * (C) 2016,2018 Matthias Gierlings
- *
- * Botan is released under the Simplified BSD License (see license.txt)
- **/
-
-#ifndef BOTAN_XMSS_WOTS_PARAMETERS_H_
-#define BOTAN_XMSS_WOTS_PARAMETERS_H_
-
-#include <botan/xmss_wots.h>
-BOTAN_DEPRECATED_HEADER(xmss_wots_parameters.h)
-
-#endif
diff --git a/src/lib/pubkey/xmss/xmss_wots_privatekey.h b/src/lib/pubkey/xmss/xmss_wots_privatekey.h
deleted file mode 100644
index 2d631598b..000000000
--- a/src/lib/pubkey/xmss/xmss_wots_privatekey.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * XMSS WOTS Private Key
- * (C) 2016,2017 Matthias Gierlings
- *
- * Botan is released under the Simplified BSD License (see license.txt)
- **/
-
-#ifndef BOTAN_XMSS_WOTS_PRIVATEKEY_H_
-#define BOTAN_XMSS_WOTS_PRIVATEKEY_H_
-
-#include <botan/xmss.h>
-BOTAN_DEPRECATED_HEADER(xmss_wots_privatekey.h)
-
-#endif
-
diff --git a/src/lib/pubkey/xmss/xmss_wots_publickey.h b/src/lib/pubkey/xmss/xmss_wots_publickey.h
deleted file mode 100644
index 796bf4c30..000000000
--- a/src/lib/pubkey/xmss/xmss_wots_publickey.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * XMSS WOTS Public Key
- * (C) 2016,2017,2018 Matthias Gierlings
- *
- * Botan is released under the Simplified BSD License (see license.txt)
- **/
-
-#ifndef BOTAN_XMSS_WOTS_PUBLICKEY_H_
-#define BOTAN_XMSS_WOTS_PUBLICKEY_H_
-
-#include <botan/xmss.h>
-BOTAN_DEPRECATED_HEADER(xmss_wots_publickey.h)
-
-#endif
diff --git a/src/lib/rng/auto_rng/info.txt b/src/lib/rng/auto_rng/info.txt
index f1adcc800..18fb3cecb 100644
--- a/src/lib/rng/auto_rng/info.txt
+++ b/src/lib/rng/auto_rng/info.txt
@@ -6,3 +6,7 @@ AUTO_RNG -> 20161126
<requires>
hmac_drbg
</requires>
+
+<header:public>
+auto_rng.h
+</header:public>
diff --git a/src/lib/rng/chacha_rng/info.txt b/src/lib/rng/chacha_rng/info.txt
index 3f51bf4d0..1c0654cd1 100644
--- a/src/lib/rng/chacha_rng/info.txt
+++ b/src/lib/rng/chacha_rng/info.txt
@@ -8,3 +8,7 @@ sha2_32
chacha
stateful_rng
</requires>
+
+<header:public>
+chacha_rng.h
+</header:public>
diff --git a/src/lib/rng/hmac_drbg/info.txt b/src/lib/rng/hmac_drbg/info.txt
index a8922bdf0..ea724702c 100644
--- a/src/lib/rng/hmac_drbg/info.txt
+++ b/src/lib/rng/hmac_drbg/info.txt
@@ -6,3 +6,7 @@ HMAC_DRBG -> 20140319
hmac
stateful_rng
</requires>
+
+<header:public>
+hmac_drbg.h
+</header:public>
diff --git a/src/lib/rng/info.txt b/src/lib/rng/info.txt
index 4c88ba382..bce39fb6b 100644
--- a/src/lib/rng/info.txt
+++ b/src/lib/rng/info.txt
@@ -1,3 +1,7 @@
<requires>
entropy
</requires>
+
+<header:public>
+rng.h
+</header:public>
diff --git a/src/lib/rng/processor_rng/info.txt b/src/lib/rng/processor_rng/info.txt
index ec1c7faf3..5be5117fd 100644
--- a/src/lib/rng/processor_rng/info.txt
+++ b/src/lib/rng/processor_rng/info.txt
@@ -14,3 +14,7 @@ x86_32
x86_64
ppc64
</arch>
+
+<header:public>
+processor_rng.h
+</header:public>
diff --git a/src/lib/rng/processor_rng/processor_rng.cpp b/src/lib/rng/processor_rng/processor_rng.cpp
index ca52d05e6..6e9aa8680 100644
--- a/src/lib/rng/processor_rng/processor_rng.cpp
+++ b/src/lib/rng/processor_rng/processor_rng.cpp
@@ -5,7 +5,7 @@
*/
#include <botan/processor_rng.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/cpuid.h>
#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) && !defined(BOTAN_USE_GCC_INLINE_ASM)
diff --git a/src/lib/rng/rdrand_rng/info.txt b/src/lib/rng/rdrand_rng/info.txt
deleted file mode 100644
index 5cc616dea..000000000
--- a/src/lib/rng/rdrand_rng/info.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-<defines>
-RDRAND_RNG -> 20160619
-</defines>
-
-<requires>
-processor_rng
-</requires>
-
-# Avoid building RDRAND_RNG on non-x86 since that would be confusing
-<arch>
-x86_32
-x86_64
-</arch>
diff --git a/src/lib/rng/rdrand_rng/rdrand_rng.cpp b/src/lib/rng/rdrand_rng/rdrand_rng.cpp
deleted file mode 100644
index fade5a199..000000000
--- a/src/lib/rng/rdrand_rng/rdrand_rng.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-* RDRAND RNG
-* (C) 2016,2019 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#include <botan/rdrand_rng.h>
-#include <botan/processor_rng.h>
-#include <botan/loadstor.h>
-
-namespace Botan {
-
-void RDRAND_RNG::randomize(uint8_t out[], size_t out_len)
- {
- Processor_RNG rng;
- rng.randomize(out, out_len);
- }
-
-RDRAND_RNG::RDRAND_RNG()
- {
- // Will throw if instruction is not available
- Processor_RNG rng;
- }
-
-//static
-bool RDRAND_RNG::available()
- {
- return Processor_RNG::available();
- }
-
-//static
-uint32_t RDRAND_RNG::rdrand()
- {
- Processor_RNG rng;
-
- for(;;)
- {
- try
- {
- uint8_t out[4];
- rng.randomize(out, 4);
- return load_le<uint32_t>(out, 0);
- }
- catch(PRNG_Unseeded&) {}
- }
- }
-
-//static
-uint32_t RDRAND_RNG::rdrand_status(bool& ok)
- {
- ok = false;
- Processor_RNG rng;
-
- try
- {
- uint8_t out[4];
- rng.randomize(out, 4);
- ok = true;
- return load_le<uint32_t>(out, 0);
- }
- catch(PRNG_Unseeded&) {}
-
- return 0;
- }
-
-}
diff --git a/src/lib/rng/rdrand_rng/rdrand_rng.h b/src/lib/rng/rdrand_rng/rdrand_rng.h
deleted file mode 100644
index 1b6977eac..000000000
--- a/src/lib/rng/rdrand_rng/rdrand_rng.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* RDRAND RNG
-* (C) 2016,2019 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_RNG_RDRAND_H_
-#define BOTAN_RNG_RDRAND_H_
-
-#include <botan/rng.h>
-
-namespace Botan {
-
-class BOTAN_PUBLIC_API(2,0) RDRAND_RNG final : public Hardware_RNG
- {
- public:
- /**
- * Constructor will throw if CPU does not have RDRAND bit set
- */
- BOTAN_DEPRECATED("Use Processor_RNG instead") RDRAND_RNG();
-
- /**
- * Return true if RDRAND is available on the current processor
- */
- static bool available();
-
- bool accepts_input() const override { return false; }
-
- /**
- * Uses RDRAND to produce output
- */
- void randomize(uint8_t out[], size_t out_len) override;
-
- /*
- * No way to provide entropy to RDRAND generator, so add_entropy is ignored
- */
- void add_entropy(const uint8_t[], size_t) override
- { /* no op */ }
-
- /*
- * No way to reseed RDRAND generator, so reseed is ignored
- */
- size_t reseed(Entropy_Sources&, size_t, std::chrono::milliseconds) override
- { return 0; /* no op */ }
-
- std::string name() const override { return "RDRAND"; }
-
- bool is_seeded() const override { return true; }
-
- /**
- * On correctly working hardware, RDRAND is always supposed to
- * succeed within a set number of retries. If after that many
- * retries RDRAND has still not suceeded, sets ok = false and
- * returns 0.
- */
- static uint32_t BOTAN_DEPRECATED("Use Processor_RNG::randomize") rdrand_status(bool& ok);
-
- /*
- * Calls RDRAND until it succeeds, this could hypothetically
- * loop forever on broken hardware.
- */
- static uint32_t BOTAN_DEPRECATED("Use Processor_RNG::randomize") rdrand();
- };
-
-}
-
-#endif
diff --git a/src/lib/rng/rng.cpp b/src/lib/rng/rng.cpp
index 743f7c7aa..85022e5db 100644
--- a/src/lib/rng/rng.cpp
+++ b/src/lib/rng/rng.cpp
@@ -6,7 +6,7 @@
#include <botan/rng.h>
#include <botan/entropy_src.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/os_utils.h>
#if defined(BOTAN_HAS_AUTO_SEEDING_RNG)
diff --git a/src/lib/rng/stateful_rng/info.txt b/src/lib/rng/stateful_rng/info.txt
index edc2d9169..3892b92fd 100644
--- a/src/lib/rng/stateful_rng/info.txt
+++ b/src/lib/rng/stateful_rng/info.txt
@@ -1,3 +1,7 @@
<defines>
STATEFUL_RNG -> 20160819
</defines>
+
+<header:public>
+stateful_rng.h
+</header:public>
diff --git a/src/lib/rng/stateful_rng/stateful_rng.cpp b/src/lib/rng/stateful_rng/stateful_rng.cpp
index c7b3484ee..e9ab21212 100644
--- a/src/lib/rng/stateful_rng/stateful_rng.cpp
+++ b/src/lib/rng/stateful_rng/stateful_rng.cpp
@@ -6,7 +6,7 @@
#include <botan/stateful_rng.h>
#include <botan/internal/os_utils.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#if defined(BOTAN_HAS_SYSTEM_RNG)
#include <botan/system_rng.h>
diff --git a/src/lib/rng/system_rng/info.txt b/src/lib/rng/system_rng/info.txt
index e77328b82..64962aa5b 100644
--- a/src/lib/rng/system_rng/info.txt
+++ b/src/lib/rng/system_rng/info.txt
@@ -16,3 +16,7 @@ uwp -> bcrypt
<requires>
rtlgenrandom?dyn_load
</requires>
+
+<header:public>
+system_rng.h
+</header:public>
diff --git a/src/lib/rng/system_rng/system_rng.cpp b/src/lib/rng/system_rng/system_rng.cpp
index 0c5641e60..2a783fd14 100644
--- a/src/lib/rng/system_rng/system_rng.cpp
+++ b/src/lib/rng/system_rng/system_rng.cpp
@@ -8,7 +8,7 @@
#include <botan/system_rng.h>
#if defined(BOTAN_TARGET_OS_HAS_RTLGENRANDOM)
- #include <botan/dyn_load.h>
+ #include <botan/internal/dyn_load.h>
#define NOMINMAX 1
#define _WINSOCKAPI_ // stop windows.h including winsock.h
#include <windows.h>
diff --git a/src/lib/stream/chacha/chacha.cpp b/src/lib/stream/chacha/chacha.cpp
index c8d567e5e..8f976cb1a 100644
--- a/src/lib/stream/chacha/chacha.cpp
+++ b/src/lib/stream/chacha/chacha.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/chacha.h>
+#include <botan/internal/chacha.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
#include <botan/cpuid.h>
namespace Botan {
diff --git a/src/lib/stream/chacha/chacha.h b/src/lib/stream/chacha/chacha.h
index 1749127f2..f6a99531b 100644
--- a/src/lib/stream/chacha/chacha.h
+++ b/src/lib/stream/chacha/chacha.h
@@ -10,14 +10,12 @@
#include <botan/stream_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(chacha.h)
-
namespace Botan {
/**
* DJB's ChaCha (https://cr.yp.to/chacha.html)
*/
-class BOTAN_PUBLIC_API(2,0) ChaCha final : public StreamCipher
+class ChaCha final : public StreamCipher
{
public:
/**
diff --git a/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp b/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp
index 78d236521..0e81b648c 100644
--- a/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp
+++ b/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/chacha.h>
+#include <botan/internal/chacha.h>
#include <botan/internal/simd_avx2.h>
namespace Botan {
diff --git a/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp b/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp
index 6cd6acd0d..50be2b790 100644
--- a/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp
+++ b/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/chacha.h>
+#include <botan/internal/chacha.h>
#include <botan/internal/simd_32.h>
namespace Botan {
diff --git a/src/lib/stream/ctr/ctr.cpp b/src/lib/stream/ctr/ctr.cpp
index e2ed0e712..af879b26a 100644
--- a/src/lib/stream/ctr/ctr.cpp
+++ b/src/lib/stream/ctr/ctr.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ctr.h>
+#include <botan/internal/ctr.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/bit_ops.h>
namespace Botan {
diff --git a/src/lib/stream/ctr/ctr.h b/src/lib/stream/ctr/ctr.h
index 0687c606e..09fdcca19 100644
--- a/src/lib/stream/ctr/ctr.h
+++ b/src/lib/stream/ctr/ctr.h
@@ -11,14 +11,12 @@
#include <botan/block_cipher.h>
#include <botan/stream_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(ctr.h)
-
namespace Botan {
/**
* CTR-BE (Counter mode, big-endian)
*/
-class BOTAN_PUBLIC_API(2,0) CTR_BE final : public StreamCipher
+class CTR_BE final : public StreamCipher
{
public:
void cipher(const uint8_t in[], uint8_t out[], size_t length) override;
diff --git a/src/lib/stream/ofb/ofb.cpp b/src/lib/stream/ofb/ofb.cpp
index dde468117..113e253ad 100644
--- a/src/lib/stream/ofb/ofb.cpp
+++ b/src/lib/stream/ofb/ofb.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ofb.h>
+#include <botan/internal/ofb.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/stream/ofb/ofb.h b/src/lib/stream/ofb/ofb.h
index 994d3d198..9dd2c204d 100644
--- a/src/lib/stream/ofb/ofb.h
+++ b/src/lib/stream/ofb/ofb.h
@@ -11,14 +11,12 @@
#include <botan/stream_cipher.h>
#include <botan/block_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(ofb.h)
-
namespace Botan {
/**
* Output Feedback Mode
*/
-class BOTAN_PUBLIC_API(2,0) OFB final : public StreamCipher
+class OFB final : public StreamCipher
{
public:
void cipher(const uint8_t in[], uint8_t out[], size_t length) override;
diff --git a/src/lib/stream/rc4/rc4.cpp b/src/lib/stream/rc4/rc4.cpp
index 8bb01a238..4cf82b695 100644
--- a/src/lib/stream/rc4/rc4.cpp
+++ b/src/lib/stream/rc4/rc4.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/rc4.h>
+#include <botan/internal/rc4.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/stream/rc4/rc4.h b/src/lib/stream/rc4/rc4.h
index eff3c568d..2c130e4d6 100644
--- a/src/lib/stream/rc4/rc4.h
+++ b/src/lib/stream/rc4/rc4.h
@@ -11,14 +11,12 @@
#include <botan/stream_cipher.h>
#include <botan/types.h>
-BOTAN_FUTURE_INTERNAL_HEADER(rc4.h)
-
namespace Botan {
/**
* RC4 stream cipher
*/
-class BOTAN_PUBLIC_API(2,0) RC4 final : public StreamCipher
+class RC4 final : public StreamCipher
{
public:
void cipher(const uint8_t in[], uint8_t out[], size_t length) override;
diff --git a/src/lib/stream/salsa20/salsa20.cpp b/src/lib/stream/salsa20/salsa20.cpp
index 1e30391d2..3582524c8 100644
--- a/src/lib/stream/salsa20/salsa20.cpp
+++ b/src/lib/stream/salsa20/salsa20.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/salsa20.h>
+#include <botan/internal/salsa20.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
-#include <botan/rotate.h>
+#include <botan/internal/loadstor.h>
+#include <botan/internal/rotate.h>
namespace Botan {
diff --git a/src/lib/stream/salsa20/salsa20.h b/src/lib/stream/salsa20/salsa20.h
index 6ad0da770..839da2ad0 100644
--- a/src/lib/stream/salsa20/salsa20.h
+++ b/src/lib/stream/salsa20/salsa20.h
@@ -10,14 +10,12 @@
#include <botan/stream_cipher.h>
-BOTAN_FUTURE_INTERNAL_HEADER(salsa20.h)
-
namespace Botan {
/**
* DJB's Salsa20 (and XSalsa20)
*/
-class BOTAN_PUBLIC_API(2,0) Salsa20 final : public StreamCipher
+class Salsa20 final : public StreamCipher
{
public:
void cipher(const uint8_t in[], uint8_t out[], size_t length) override;
diff --git a/src/lib/stream/shake_cipher/shake_cipher.cpp b/src/lib/stream/shake_cipher/shake_cipher.cpp
index f1920959e..96cc7951d 100644
--- a/src/lib/stream/shake_cipher/shake_cipher.cpp
+++ b/src/lib/stream/shake_cipher/shake_cipher.cpp
@@ -5,10 +5,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/shake_cipher.h>
+#include <botan/internal/shake_cipher.h>
#include <botan/exceptn.h>
-#include <botan/sha3.h>
-#include <botan/loadstor.h>
+#include <botan/internal/sha3.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/stream/shake_cipher/shake_cipher.h b/src/lib/stream/shake_cipher/shake_cipher.h
index 85eaec2a8..a66639919 100644
--- a/src/lib/stream/shake_cipher/shake_cipher.h
+++ b/src/lib/stream/shake_cipher/shake_cipher.h
@@ -11,14 +11,12 @@
#include <botan/stream_cipher.h>
#include <botan/secmem.h>
-BOTAN_FUTURE_INTERNAL_HEADER(shake_cipher.h)
-
namespace Botan {
/**
* SHAKE-128 XOF presented as a stream cipher
*/
-class BOTAN_PUBLIC_API(2,0) SHAKE_128_Cipher final : public StreamCipher
+class SHAKE_128_Cipher final : public StreamCipher
{
public:
SHAKE_128_Cipher();
diff --git a/src/lib/stream/stream_cipher.cpp b/src/lib/stream/stream_cipher.cpp
index 340682ce2..c8e54bbe7 100644
--- a/src/lib/stream/stream_cipher.cpp
+++ b/src/lib/stream/stream_cipher.cpp
@@ -10,27 +10,27 @@
#include <botan/exceptn.h>
#if defined(BOTAN_HAS_CHACHA)
- #include <botan/chacha.h>
+ #include <botan/internal/chacha.h>
#endif
#if defined(BOTAN_HAS_SALSA20)
- #include <botan/salsa20.h>
+ #include <botan/internal/salsa20.h>
#endif
#if defined(BOTAN_HAS_SHAKE_CIPHER)
- #include <botan/shake_cipher.h>
+ #include <botan/internal/shake_cipher.h>
#endif
#if defined(BOTAN_HAS_CTR_BE)
- #include <botan/ctr.h>
+ #include <botan/internal/ctr.h>
#endif
#if defined(BOTAN_HAS_OFB)
- #include <botan/ofb.h>
+ #include <botan/internal/ofb.h>
#endif
#if defined(BOTAN_HAS_RC4)
- #include <botan/rc4.h>
+ #include <botan/internal/rc4.h>
#endif
#if defined(BOTAN_HAS_OPENSSL)
diff --git a/src/lib/tls/info.txt b/src/lib/tls/info.txt
index 690bd4150..18f811f25 100644
--- a/src/lib/tls/info.txt
+++ b/src/lib/tls/info.txt
@@ -6,7 +6,6 @@ TLS -> 20191210
credentials_manager.h
tls_alert.h
tls_algos.h
-tls_blocking.h
tls_callbacks.h
tls_channel.h
tls_ciphersuite.h
diff --git a/src/lib/tls/msg_certificate.cpp b/src/lib/tls/msg_certificate.cpp
index 25aeeefd2..f9a5856f9 100644
--- a/src/lib/tls/msg_certificate.cpp
+++ b/src/lib/tls/msg_certificate.cpp
@@ -12,7 +12,7 @@
#include <botan/internal/tls_reader.h>
#include <botan/internal/tls_handshake_io.h>
#include <botan/internal/tls_handshake_hash.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/data_src.h>
namespace Botan {
diff --git a/src/lib/tls/msg_server_kex.cpp b/src/lib/tls/msg_server_kex.cpp
index 797907ed8..787d43d11 100644
--- a/src/lib/tls/msg_server_kex.cpp
+++ b/src/lib/tls/msg_server_kex.cpp
@@ -12,7 +12,7 @@
#include <botan/internal/tls_handshake_io.h>
#include <botan/internal/tls_handshake_state.h>
#include <botan/credentials_manager.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/pubkey.h>
#include <botan/dh.h>
diff --git a/src/lib/tls/msg_session_ticket.cpp b/src/lib/tls/msg_session_ticket.cpp
index bd0d74ceb..f545d360f 100644
--- a/src/lib/tls/msg_session_ticket.cpp
+++ b/src/lib/tls/msg_session_ticket.cpp
@@ -9,7 +9,7 @@
#include <botan/internal/tls_reader.h>
#include <botan/internal/tls_handshake_io.h>
#include <botan/internal/tls_handshake_hash.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/tls/sessions_sql/info.txt b/src/lib/tls/sessions_sql/info.txt
index 58392bd0c..f6f023e4f 100644
--- a/src/lib/tls/sessions_sql/info.txt
+++ b/src/lib/tls/sessions_sql/info.txt
@@ -5,3 +5,7 @@ TLS_SESSION_MANAGER_SQL_DB -> 20141219
<requires>
pbkdf2
</requires>
+
+<header:public>
+tls_session_manager_sql.h
+</header:public>
diff --git a/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp b/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
index 09cfbc4e9..b9be5a3ef 100644
--- a/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
+++ b/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
@@ -10,7 +10,7 @@
#include <botan/pbkdf.h>
#include <botan/hex.h>
#include <botan/rng.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <chrono>
namespace Botan {
diff --git a/src/lib/tls/sessions_sqlite3/info.txt b/src/lib/tls/sessions_sqlite3/info.txt
index 612142c09..793de5555 100644
--- a/src/lib/tls/sessions_sqlite3/info.txt
+++ b/src/lib/tls/sessions_sqlite3/info.txt
@@ -6,3 +6,7 @@ TLS_SQLITE3_SESSION_MANAGER -> 20131128
sessions_sql
sqlite3
</requires>
+
+<header:public>
+tls_session_manager_sqlite.h
+</header:public>
diff --git a/src/lib/tls/tls_blocking.cpp b/src/lib/tls/tls_blocking.cpp
deleted file mode 100644
index b9c699dc0..000000000
--- a/src/lib/tls/tls_blocking.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-* TLS Blocking API
-* (C) 2013 Jack Lloyd
-* 2016 Matthias Gierlings
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#include <botan/tls_blocking.h>
-
-namespace Botan {
-
-namespace TLS {
-
-Blocking_Client::Blocking_Client(read_fn reader,
- write_fn writer,
- Session_Manager& session_manager,
- Credentials_Manager& creds,
- const Policy& policy,
- RandomNumberGenerator& rng,
- const Server_Information& server_info,
- const Protocol_Version& offer_version,
- const std::vector<std::string>& next) :
- m_read(reader),
- m_callbacks(new TLS::Compat_Callbacks(
- /*
- we are ok using deprecated features here because the whole Blocking_Client class
- is also deprecated, so just silence the warning.
- */
- TLS::Compat_Callbacks::SILENCE_DEPRECATION_WARNING::PLEASE,
- writer,
- std::bind(&Blocking_Client::data_cb, this, std::placeholders::_1, std::placeholders::_2),
- std::function<void (Alert)>(std::bind(&Blocking_Client::alert_cb, this, std::placeholders::_1)),
- std::bind(&Blocking_Client::handshake_cb, this, std::placeholders::_1)
- )),
- m_channel(*m_callbacks.get(),
- session_manager,
- creds,
- policy,
- rng,
- server_info,
- offer_version,
- next)
- {
- }
-
-bool Blocking_Client::handshake_cb(const Session& session)
- {
- return this->handshake_complete(session);
- }
-
-void Blocking_Client::alert_cb(const Alert& alert)
- {
- this->alert_notification(alert);
- }
-
-void Blocking_Client::data_cb(const uint8_t data[], size_t data_len)
- {
- m_plaintext.insert(m_plaintext.end(), data, data + data_len);
- }
-
-void Blocking_Client::do_handshake()
- {
- std::vector<uint8_t> readbuf(4096);
-
- while(!m_channel.is_closed() && !m_channel.is_active())
- {
- const size_t from_socket = m_read(readbuf.data(), readbuf.size());
- m_channel.received_data(readbuf.data(), from_socket);
- }
- }
-
-size_t Blocking_Client::read(uint8_t buf[], size_t buf_len)
- {
- std::vector<uint8_t> readbuf(4096);
-
- while(m_plaintext.empty() && !m_channel.is_closed())
- {
- const size_t from_socket = m_read(readbuf.data(), readbuf.size());
- m_channel.received_data(readbuf.data(), from_socket);
- }
-
- const size_t returned = std::min(buf_len, m_plaintext.size());
-
- for(size_t i = 0; i != returned; ++i)
- buf[i] = m_plaintext[i];
- m_plaintext.erase(m_plaintext.begin(), m_plaintext.begin() + returned);
-
- BOTAN_ASSERT_IMPLICATION(returned == 0, m_channel.is_closed(),
- "Only return zero if channel is closed");
-
- return returned;
- }
-
-}
-
-}
diff --git a/src/lib/tls/tls_blocking.h b/src/lib/tls/tls_blocking.h
deleted file mode 100644
index 01620c652..000000000
--- a/src/lib/tls/tls_blocking.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-* TLS Blocking API
-* (C) 2013 Jack Lloyd
-* 2016 Matthias Gierlings
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_TLS_BLOCKING_CHANNELS_H_
-#define BOTAN_TLS_BLOCKING_CHANNELS_H_
-
-#include <botan/tls_client.h>
-
-namespace Botan {
-
-namespace TLS {
-
-/**
-* Blocking TLS Client
-* Can be used directly, or subclass to get handshake and alert notifications
-*/
-class BOTAN_PUBLIC_API(2,0) Blocking_Client
- {
- public:
- /*
- * These functions are expected to block until completing entirely, or
- * fail by throwing an exception.
- */
- typedef std::function<size_t (uint8_t[], size_t)> read_fn;
- typedef std::function<void (const uint8_t[], size_t)> write_fn;
-
- BOTAN_DEPRECATED("Use the regular TLS::Client interface")
- Blocking_Client(read_fn reader,
- write_fn writer,
- Session_Manager& session_manager,
- Credentials_Manager& creds,
- const Policy& policy,
- RandomNumberGenerator& rng,
- const Server_Information& server_info = Server_Information(),
- const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(),
- const std::vector<std::string>& next_protos = {});
-
- /**
- * Completes full handshake then returns
- */
- void do_handshake();
-
- /**
- * Number of bytes pending read in the plaintext buffer (bytes
- * readable without blocking)
- */
- size_t pending() const { return m_plaintext.size(); }
-
- /**
- * Blocking read, will return at least 1 byte (eventually) or else 0 if the connection
- * is closed.
- */
- size_t read(uint8_t buf[], size_t buf_len);
-
- void write(const uint8_t buf[], size_t buf_len) { m_channel.send(buf, buf_len); }
-
- const TLS::Channel& underlying_channel() const { return m_channel; }
- TLS::Channel& underlying_channel() { return m_channel; }
-
- void close() { m_channel.close(); }
-
- bool is_closed() const { return m_channel.is_closed(); }
-
- std::vector<X509_Certificate> peer_cert_chain() const
- { return m_channel.peer_cert_chain(); }
-
- virtual ~Blocking_Client() = default;
-
- protected:
- /**
- * Application can override to get the handshake complete notification
- */
- virtual bool handshake_complete(const Session&) { return true; }
-
- /**
- * Application can override to get notification of alerts
- */
- virtual void alert_notification(const Alert&) {}
-
- private:
-
- bool handshake_cb(const Session&);
-
- void data_cb(const uint8_t data[], size_t data_len);
-
- void alert_cb(const Alert& alert);
-
- read_fn m_read;
- std::unique_ptr<Compat_Callbacks> m_callbacks;
- TLS::Client m_channel;
- secure_vector<uint8_t> m_plaintext;
- };
-
-}
-
-}
-
-#endif
diff --git a/src/lib/tls/tls_cbc/tls_cbc.cpp b/src/lib/tls/tls_cbc/tls_cbc.cpp
index 3e3e4c2df..f8e4e9af4 100644
--- a/src/lib/tls/tls_cbc/tls_cbc.cpp
+++ b/src/lib/tls/tls_cbc/tls_cbc.cpp
@@ -9,11 +9,11 @@
*/
#include <botan/internal/tls_cbc.h>
-#include <botan/cbc.h>
+#include <botan/internal/cbc.h>
#include <botan/internal/rounding.h>
#include <botan/internal/ct_utils.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/tls_alert.h>
#include <botan/tls_exceptn.h>
diff --git a/src/lib/tls/tls_channel.cpp b/src/lib/tls/tls_channel.cpp
index 897fed97c..64a557691 100644
--- a/src/lib/tls/tls_channel.cpp
+++ b/src/lib/tls/tls_channel.cpp
@@ -15,7 +15,7 @@
#include <botan/internal/tls_seq_numbers.h>
#include <botan/internal/rounding.h>
#include <botan/internal/stl_util.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
namespace Botan {
diff --git a/src/lib/tls/tls_ciphersuite.cpp b/src/lib/tls/tls_ciphersuite.cpp
index cf284e565..fdb7b2637 100644
--- a/src/lib/tls/tls_ciphersuite.cpp
+++ b/src/lib/tls/tls_ciphersuite.cpp
@@ -7,7 +7,7 @@
#include <botan/tls_ciphersuite.h>
#include <botan/exceptn.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/block_cipher.h>
#include <botan/stream_cipher.h>
#include <botan/hash.h>
diff --git a/src/lib/tls/tls_handshake_io.cpp b/src/lib/tls/tls_handshake_io.cpp
index 7f9e2c86c..d52e620ad 100644
--- a/src/lib/tls/tls_handshake_io.cpp
+++ b/src/lib/tls/tls_handshake_io.cpp
@@ -10,7 +10,7 @@
#include <botan/internal/tls_seq_numbers.h>
#include <botan/tls_messages.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <chrono>
namespace Botan {
diff --git a/src/lib/tls/tls_reader.h b/src/lib/tls/tls_reader.h
index c6cffed32..93b008752 100644
--- a/src/lib/tls/tls_reader.h
+++ b/src/lib/tls/tls_reader.h
@@ -10,7 +10,7 @@
#include <botan/exceptn.h>
#include <botan/secmem.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <string>
#include <vector>
diff --git a/src/lib/tls/tls_record.cpp b/src/lib/tls/tls_record.cpp
index d9e248487..84af1d9cb 100644
--- a/src/lib/tls/tls_record.cpp
+++ b/src/lib/tls/tls_record.cpp
@@ -10,7 +10,7 @@
#include <botan/internal/tls_record.h>
#include <botan/tls_ciphersuite.h>
#include <botan/tls_exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/tls_seq_numbers.h>
#include <botan/internal/tls_session_key.h>
#include <botan/internal/rounding.h>
diff --git a/src/lib/tls/tls_session.cpp b/src/lib/tls/tls_session.cpp
index 0fd73c9fc..bd817687c 100644
--- a/src/lib/tls/tls_session.cpp
+++ b/src/lib/tls/tls_session.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/tls_session.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/asn1_obj.h>
diff --git a/src/lib/tls/tls_text_policy.cpp b/src/lib/tls/tls_text_policy.cpp
index 1b83f0dbd..d04879a1b 100644
--- a/src/lib/tls/tls_text_policy.cpp
+++ b/src/lib/tls/tls_text_policy.cpp
@@ -8,7 +8,7 @@
#include <botan/tls_policy.h>
#include <botan/exceptn.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <sstream>
namespace Botan {
diff --git a/src/lib/utils/bswap.h b/src/lib/utils/bswap.h
index 584fa3323..02f63c64e 100644
--- a/src/lib/utils/bswap.h
+++ b/src/lib/utils/bswap.h
@@ -15,8 +15,6 @@
#include <stdlib.h>
#endif
-BOTAN_FUTURE_INTERNAL_HEADER(bswap.h)
-
namespace Botan {
/**
diff --git a/src/lib/utils/calendar.cpp b/src/lib/utils/calendar.cpp
index 1c34a7157..51f4869d6 100644
--- a/src/lib/utils/calendar.cpp
+++ b/src/lib/utils/calendar.cpp
@@ -6,7 +6,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/calendar.h>
+#include <botan/internal/calendar.h>
#include <botan/exceptn.h>
#include <ctime>
#include <sstream>
@@ -107,9 +107,9 @@ std::string calendar_point::to_string() const
return output.str();
}
-
-calendar_point calendar_value(
- const std::chrono::system_clock::time_point& time_point)
+//static
+calendar_point
+calendar_point::from_time_point(const std::chrono::system_clock::time_point& time_point)
{
std::tm tm = do_gmtime(std::chrono::system_clock::to_time_t(time_point));
diff --git a/src/lib/utils/calendar.h b/src/lib/utils/calendar.h
index 83759070b..ff6767986 100644
--- a/src/lib/utils/calendar.h
+++ b/src/lib/utils/calendar.h
@@ -18,7 +18,7 @@ namespace Botan {
/**
* Struct representing a particular date and time
*/
-class BOTAN_PUBLIC_API(2,0) calendar_point
+class BOTAN_TEST_API calendar_point
{
public:
@@ -55,6 +55,14 @@ class BOTAN_PUBLIC_API(2,0) calendar_point
year(y), month(mon), day(d), hour(h), minutes(min), seconds(sec) {}
/**
+ * Convert a time_point to a calendar_point
+ * @param time_point a time point from the system clock
+ * @return calendar_point object representing this time point
+ */
+ static calendar_point from_time_point(
+ const std::chrono::system_clock::time_point& time_point);
+
+ /**
* Returns an STL timepoint object
*/
std::chrono::system_clock::time_point to_std_timepoint() const;
@@ -65,7 +73,7 @@ class BOTAN_PUBLIC_API(2,0) calendar_point
*/
std::string to_string() const;
- BOTAN_DEPRECATED_PUBLIC_MEMBER_VARIABLES:
+ private:
/*
The member variables are public for historical reasons. Use the get_xxx() functions
defined above. These members will be made private in a future major release.
@@ -78,13 +86,10 @@ class BOTAN_PUBLIC_API(2,0) calendar_point
uint32_t seconds;
};
-/**
-* Convert a time_point to a calendar_point
-* @param time_point a time point from the system clock
-* @return calendar_point object representing this time point
-*/
-BOTAN_PUBLIC_API(2,0) calendar_point calendar_value(
- const std::chrono::system_clock::time_point& time_point);
+inline calendar_point calendar_value(const std::chrono::system_clock::time_point& time_point)
+ {
+ return calendar_point::from_time_point(time_point);
+ }
}
diff --git a/src/lib/utils/charset.cpp b/src/lib/utils/charset.cpp
index ca32c652d..11278f985 100644
--- a/src/lib/utils/charset.cpp
+++ b/src/lib/utils/charset.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/charset.h>
+#include <botan/internal/charset.h>
#include <botan/exceptn.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <cctype>
namespace Botan {
@@ -128,10 +128,6 @@ std::string utf8_to_latin1(const std::string& utf8)
return iso8859;
}
-namespace Charset {
-
-namespace {
-
/*
* Convert from UCS-2 to ISO 8859-1
*/
@@ -177,32 +173,7 @@ std::string latin1_to_utf8(const std::string& iso8859)
return utf8;
}
-}
-
-/*
-* Perform character set transcoding
-*/
-std::string transcode(const std::string& str,
- Character_Set to, Character_Set from)
- {
- if(to == LOCAL_CHARSET)
- to = LATIN1_CHARSET;
- if(from == LOCAL_CHARSET)
- from = LATIN1_CHARSET;
-
- if(to == from)
- return str;
-
- if(from == LATIN1_CHARSET && to == UTF8_CHARSET)
- return latin1_to_utf8(str);
- if(from == UTF8_CHARSET && to == LATIN1_CHARSET)
- return utf8_to_latin1(str);
- if(from == UCS2_CHARSET && to == LATIN1_CHARSET)
- return ucs2_to_latin1(str);
-
- throw Invalid_Argument("Unknown transcoding operation from " +
- std::to_string(from) + " to " + std::to_string(to));
- }
+namespace Charset {
/*
* Check if a character represents a digit
diff --git a/src/lib/utils/charset.h b/src/lib/utils/charset.h
index 6e7ce30c9..9d05ea15d 100644
--- a/src/lib/utils/charset.h
+++ b/src/lib/utils/charset.h
@@ -11,8 +11,6 @@
#include <botan/types.h>
#include <string>
-BOTAN_FUTURE_INTERNAL_HEADER(charset.h)
-
namespace Botan {
/**
@@ -21,7 +19,7 @@ namespace Botan {
* @param ucs2 the sequence of UCS-2 characters
* @param len length of ucs2 in bytes, must be a multiple of 2
*/
-std::string BOTAN_UNSTABLE_API ucs2_to_utf8(const uint8_t ucs2[], size_t len);
+BOTAN_TEST_API std::string ucs2_to_utf8(const uint8_t ucs2[], size_t len);
/**
* Convert a sequence of UCS-4 (big endian) characters to a UTF-8 string
@@ -29,49 +27,29 @@ std::string BOTAN_UNSTABLE_API ucs2_to_utf8(const uint8_t ucs2[], size_t len);
* @param ucs4 the sequence of UCS-4 characters
* @param len length of ucs4 in bytes, must be a multiple of 4
*/
-std::string BOTAN_UNSTABLE_API ucs4_to_utf8(const uint8_t ucs4[], size_t len);
+BOTAN_TEST_API std::string ucs4_to_utf8(const uint8_t ucs4[], size_t len);
/**
* Convert a UTF-8 string to Latin-1
* If a character outside the Latin-1 range is encountered, an exception is thrown.
*/
-std::string BOTAN_UNSTABLE_API utf8_to_latin1(const std::string& utf8);
+BOTAN_TEST_API std::string utf8_to_latin1(const std::string& utf8);
-/**
-* The different charsets (nominally) supported by Botan.
-*/
-enum Character_Set {
- LOCAL_CHARSET,
- UCS2_CHARSET,
- UTF8_CHARSET,
- LATIN1_CHARSET
-};
+BOTAN_TEST_API std::string ucs2_to_latin1(const std::string& ucs2);
-namespace Charset {
+BOTAN_TEST_API std::string latin1_to_utf8(const std::string& iso8859);
-/*
-* Character set conversion - avoid this.
-* For specific conversions, use the functions above like
-* ucs2_to_utf8 and utf8_to_latin1
-*
-* If you need something more complex than that, use a real library
-* such as iconv, Boost.Locale, or ICU
-*/
-std::string BOTAN_PUBLIC_API(2,0)
- BOTAN_DEPRECATED("Avoid. See comment in header.")
- transcode(const std::string& str,
- Character_Set to,
- Character_Set from);
+namespace Charset {
/*
* Simple character classifier functions
*/
-bool BOTAN_PUBLIC_API(2,0) is_digit(char c);
-bool BOTAN_PUBLIC_API(2,0) is_space(char c);
-bool BOTAN_PUBLIC_API(2,0) caseless_cmp(char x, char y);
+bool is_digit(char c);
+bool is_space(char c);
+bool caseless_cmp(char x, char y);
-uint8_t BOTAN_PUBLIC_API(2,0) char2digit(char c);
-char BOTAN_PUBLIC_API(2,0) digit2char(uint8_t b);
+uint8_t char2digit(char c);
+char digit2char(uint8_t b);
}
diff --git a/src/lib/utils/cpuid/cpuid.cpp b/src/lib/utils/cpuid/cpuid.cpp
index e76e12ea8..2aeec792d 100644
--- a/src/lib/utils/cpuid/cpuid.cpp
+++ b/src/lib/utils/cpuid/cpuid.cpp
@@ -8,7 +8,7 @@
#include <botan/cpuid.h>
#include <botan/types.h>
#include <botan/exceptn.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <ostream>
namespace Botan {
diff --git a/src/lib/utils/cpuid/cpuid_x86.cpp b/src/lib/utils/cpuid/cpuid_x86.cpp
index 0595e1a60..6d07ca198 100644
--- a/src/lib/utils/cpuid/cpuid_x86.cpp
+++ b/src/lib/utils/cpuid/cpuid_x86.cpp
@@ -7,7 +7,7 @@
#include <botan/cpuid.h>
#include <botan/mem_ops.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY)
diff --git a/src/lib/utils/donna128.h b/src/lib/utils/donna128.h
index ff571906d..4f3b6be1c 100644
--- a/src/lib/utils/donna128.h
+++ b/src/lib/utils/donna128.h
@@ -8,7 +8,7 @@
#ifndef BOTAN_CURVE25519_DONNA128_H_
#define BOTAN_CURVE25519_DONNA128_H_
-#include <botan/mul128.h>
+#include <botan/internal/mul128.h>
namespace Botan {
diff --git a/src/lib/utils/dyn_load/dyn_load.cpp b/src/lib/utils/dyn_load/dyn_load.cpp
index c9f455b3a..50372b295 100644
--- a/src/lib/utils/dyn_load/dyn_load.cpp
+++ b/src/lib/utils/dyn_load/dyn_load.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/dyn_load.h>
+#include <botan/internal/dyn_load.h>
#include <botan/exceptn.h>
#if defined(BOTAN_TARGET_OS_HAS_POSIX1)
diff --git a/src/lib/utils/dyn_load/dyn_load.h b/src/lib/utils/dyn_load/dyn_load.h
index 3caf65f27..f856d72a8 100644
--- a/src/lib/utils/dyn_load/dyn_load.h
+++ b/src/lib/utils/dyn_load/dyn_load.h
@@ -16,7 +16,7 @@ namespace Botan {
/**
* Represents a DLL or shared object
*/
-class BOTAN_PUBLIC_API(2,0) Dynamically_Loaded_Library final
+class BOTAN_TEST_API Dynamically_Loaded_Library final
{
public:
/**
diff --git a/src/lib/utils/filesystem.h b/src/lib/utils/filesystem.h
index 382da7de3..63ff57c4c 100644
--- a/src/lib/utils/filesystem.h
+++ b/src/lib/utils/filesystem.h
@@ -17,7 +17,7 @@ namespace Botan {
/**
* No_Filesystem_Access Exception
*/
-class BOTAN_PUBLIC_API(2,0) No_Filesystem_Access final : public Exception
+class No_Filesystem_Access final : public Exception
{
public:
No_Filesystem_Access() : Exception("No filesystem access enabled.")
diff --git a/src/lib/utils/ghash/ghash.cpp b/src/lib/utils/ghash/ghash.cpp
index e24f5e02c..ccb83cc5f 100644
--- a/src/lib/utils/ghash/ghash.cpp
+++ b/src/lib/utils/ghash/ghash.cpp
@@ -6,9 +6,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ghash.h>
+#include <botan/internal/ghash.h>
#include <botan/internal/ct_utils.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/cpuid.h>
#include <botan/exceptn.h>
diff --git a/src/lib/utils/ghash/ghash.h b/src/lib/utils/ghash/ghash.h
index 062a04b84..630c86b21 100644
--- a/src/lib/utils/ghash/ghash.h
+++ b/src/lib/utils/ghash/ghash.h
@@ -10,8 +10,6 @@
#include <botan/sym_algo.h>
-BOTAN_FUTURE_INTERNAL_HEADER(ghash.h)
-
namespace Botan {
/**
@@ -19,19 +17,11 @@ namespace Botan {
* This is not intended for general use, but is exposed to allow
* shared code between GCM and GMAC
*/
-class BOTAN_PUBLIC_API(2,0) GHASH final : public SymmetricAlgorithm
+class GHASH final : public SymmetricAlgorithm
{
public:
void set_associated_data(const uint8_t ad[], size_t ad_len);
- secure_vector<uint8_t> BOTAN_DEPRECATED("Use other impl")
- nonce_hash(const uint8_t nonce[], size_t nonce_len)
- {
- secure_vector<uint8_t> y0(GCM_BS);
- nonce_hash(y0, nonce, nonce_len);
- return y0;
- }
-
void nonce_hash(secure_vector<uint8_t>& y0, const uint8_t nonce[], size_t len);
void start(const uint8_t nonce[], size_t len);
@@ -46,13 +36,6 @@ class BOTAN_PUBLIC_API(2,0) GHASH final : public SymmetricAlgorithm
*/
void update_associated_data(const uint8_t ad[], size_t len);
- secure_vector<uint8_t> BOTAN_DEPRECATED("Use version taking output params") final()
- {
- secure_vector<uint8_t> mac(GCM_BS);
- final(mac.data(), mac.size());
- return mac;
- }
-
void final(uint8_t out[], size_t out_len);
Key_Length_Specification key_spec() const override
diff --git a/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp b/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
index 8d9342b57..f60dfbd38 100644
--- a/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
+++ b/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ghash.h>
+#include <botan/internal/ghash.h>
#include <botan/internal/simd_32.h>
#if defined(BOTAN_SIMD_USE_SSE2)
diff --git a/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp b/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp
index f6f342cb9..3c7dbf4d5 100644
--- a/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp
+++ b/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/ghash.h>
+#include <botan/internal/ghash.h>
#include <immintrin.h>
namespace Botan {
diff --git a/src/lib/utils/http_util/http_util.cpp b/src/lib/utils/http_util/http_util.cpp
index 342fe2e84..f2b5f3361 100644
--- a/src/lib/utils/http_util/http_util.cpp
+++ b/src/lib/utils/http_util/http_util.cpp
@@ -7,7 +7,7 @@
*/
#include <botan/http_util.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/hex.h>
#include <botan/internal/os_utils.h>
#include <botan/internal/socket.h>
diff --git a/src/lib/utils/info.txt b/src/lib/utils/info.txt
index 93ae795ef..97d0c4487 100644
--- a/src/lib/utils/info.txt
+++ b/src/lib/utils/info.txt
@@ -6,32 +6,31 @@ load_on always
<header:public>
assert.h
-bswap.h
-calendar.h
-charset.h
compiler.h
data_src.h
database.h
exceptn.h
-loadstor.h
mem_ops.h
-mul128.h
mutex.h
-parsing.h
-rotate.h
types.h
version.h
-stl_compatibility.h
</header:public>
<header:internal>
bit_ops.h
+bswap.h
+calendar.h
+charset.h
codec_base.h
ct_utils.h
donna128.h
filesystem.h
+loadstor.h
+mul128.h
os_utils.h
+parsing.h
prefetch.h
+rotate.h
rounding.h
safeint.h
stl_util.h
diff --git a/src/lib/utils/loadstor.h b/src/lib/utils/loadstor.h
index 9a8e9d4be..f1dbc2dae 100644
--- a/src/lib/utils/loadstor.h
+++ b/src/lib/utils/loadstor.h
@@ -10,12 +10,10 @@
#define BOTAN_LOAD_STORE_H_
#include <botan/types.h>
-#include <botan/bswap.h>
+#include <botan/internal/bswap.h>
#include <botan/mem_ops.h>
#include <vector>
-BOTAN_FUTURE_INTERNAL_HEADER(loadstor.h)
-
#if defined(BOTAN_TARGET_CPU_IS_BIG_ENDIAN)
#define BOTAN_ENDIAN_N2L(x) reverse_bytes(x)
#define BOTAN_ENDIAN_L2N(x) reverse_bytes(x)
diff --git a/src/lib/utils/locking_allocator/locking_allocator.cpp b/src/lib/utils/locking_allocator/locking_allocator.cpp
index 1c10c362b..e0e40068e 100644
--- a/src/lib/utils/locking_allocator/locking_allocator.cpp
+++ b/src/lib/utils/locking_allocator/locking_allocator.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/locking_allocator.h>
+#include <botan/internal/locking_allocator.h>
#include <botan/internal/os_utils.h>
#include <botan/internal/mem_pool.h>
diff --git a/src/lib/utils/locking_allocator/locking_allocator.h b/src/lib/utils/locking_allocator/locking_allocator.h
index 8d1d24980..90fc64594 100644
--- a/src/lib/utils/locking_allocator/locking_allocator.h
+++ b/src/lib/utils/locking_allocator/locking_allocator.h
@@ -12,13 +12,11 @@
#include <vector>
#include <memory>
-BOTAN_FUTURE_INTERNAL_HEADER(locking_allocator.h)
-
namespace Botan {
class Memory_Pool;
-class BOTAN_PUBLIC_API(2,0) mlock_allocator final
+class mlock_allocator final
{
public:
static mlock_allocator& instance();
diff --git a/src/lib/utils/mem_ops.cpp b/src/lib/utils/mem_ops.cpp
index 9ef1d6c4e..ef9d54abb 100644
--- a/src/lib/utils/mem_ops.cpp
+++ b/src/lib/utils/mem_ops.cpp
@@ -10,7 +10,7 @@
#include <new>
#if defined(BOTAN_HAS_LOCKING_ALLOCATOR)
- #include <botan/locking_allocator.h>
+ #include <botan/internal/locking_allocator.h>
#endif
namespace Botan {
diff --git a/src/lib/utils/mul128.h b/src/lib/utils/mul128.h
index 8cdaae21e..ce1ef693b 100644
--- a/src/lib/utils/mul128.h
+++ b/src/lib/utils/mul128.h
@@ -10,8 +10,6 @@
#include <botan/types.h>
-BOTAN_FUTURE_INTERNAL_HEADER(mul128.h)
-
namespace Botan {
#if defined(__SIZEOF_INT128__) && defined(BOTAN_TARGET_CPU_HAS_NATIVE_64BIT)
diff --git a/src/lib/utils/parsing.cpp b/src/lib/utils/parsing.cpp
index 8004dbdd0..13cb26f24 100644
--- a/src/lib/utils/parsing.cpp
+++ b/src/lib/utils/parsing.cpp
@@ -7,10 +7,10 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/exceptn.h>
-#include <botan/charset.h>
-#include <botan/loadstor.h>
+#include <botan/internal/charset.h>
+#include <botan/internal/loadstor.h>
#include <algorithm>
#include <cctype>
#include <limits>
@@ -59,37 +59,6 @@ uint32_t to_u32bit(const std::string& str)
}
/*
-* Convert a string into a time duration
-*/
-uint32_t timespec_to_u32bit(const std::string& timespec)
- {
- if(timespec.empty())
- return 0;
-
- const char suffix = timespec[timespec.size()-1];
- std::string value = timespec.substr(0, timespec.size()-1);
-
- uint32_t scale = 1;
-
- if(Charset::is_digit(suffix))
- value += suffix;
- else if(suffix == 's')
- scale = 1;
- else if(suffix == 'm')
- scale = 60;
- else if(suffix == 'h')
- scale = 60 * 60;
- else if(suffix == 'd')
- scale = 24 * 60 * 60;
- else if(suffix == 'y')
- scale = 365 * 24 * 60 * 60;
- else
- throw Decoding_Error("timespec_to_u32bit: Bad input " + timespec);
-
- return scale * to_u32bit(value);
- }
-
-/*
* Parse a SCAN-style algorithm name
*/
std::vector<std::string> parse_algorithm_name(const std::string& namex)
@@ -194,19 +163,6 @@ std::string string_join(const std::vector<std::string>& strs, char delim)
}
/*
-* Parse an ASN.1 OID string
-*/
-std::vector<uint32_t> parse_asn1_oid(const std::string& oid)
- {
-#if defined(BOTAN_HAS_ASN1)
- return OID(oid).get_components();
-#else
- BOTAN_UNUSED(oid);
- throw Not_Implemented("ASN1 support not available");
-#endif
- }
-
-/*
* X.500 String Comparison
*/
bool x500_name_cmp(const std::string& name1, const std::string& name2)
@@ -289,41 +245,6 @@ std::string ipv4_to_string(uint32_t ip)
return str;
}
-std::string erase_chars(const std::string& str, const std::set<char>& chars)
- {
- std::string out;
-
- for(auto c: str)
- if(chars.count(c) == 0)
- out += c;
-
- return out;
- }
-
-std::string replace_chars(const std::string& str,
- const std::set<char>& chars,
- char to_char)
- {
- std::string out = str;
-
- for(size_t i = 0; i != out.size(); ++i)
- if(chars.count(out[i]))
- out[i] = to_char;
-
- return out;
- }
-
-std::string replace_char(const std::string& str, char from_char, char to_char)
- {
- std::string out = str;
-
- for(size_t i = 0; i != out.size(); ++i)
- if(out[i] == from_char)
- out[i] = to_char;
-
- return out;
- }
-
namespace {
std::string tolower_string(const std::string& in)
diff --git a/src/lib/utils/parsing.h b/src/lib/utils/parsing.h
index 216dbc822..01a17bc3a 100644
--- a/src/lib/utils/parsing.h
+++ b/src/lib/utils/parsing.h
@@ -17,8 +17,6 @@
#include <functional>
#include <map>
-BOTAN_FUTURE_INTERNAL_HEADER(parsing.h)
-
namespace Botan {
/**
@@ -26,7 +24,7 @@ namespace Botan {
* @param scan_name the name
* @return the name components
*/
-BOTAN_PUBLIC_API(2,0) std::vector<std::string>
+std::vector<std::string>
parse_algorithm_name(const std::string& scan_name);
/**
@@ -35,7 +33,7 @@ parse_algorithm_name(const std::string& scan_name);
* @param delim the delimitor
* @return string split by delim
*/
-BOTAN_PUBLIC_API(2,0) std::vector<std::string> split_on(
+BOTAN_TEST_API std::vector<std::string> split_on(
const std::string& str, char delim);
/**
@@ -45,68 +43,25 @@ BOTAN_PUBLIC_API(2,0) std::vector<std::string> split_on(
*
* This function will likely be removed in a future release
*/
-BOTAN_PUBLIC_API(2,0) std::vector<std::string>
+std::vector<std::string>
split_on_pred(const std::string& str,
std::function<bool (char)> pred);
/**
-* Erase characters from a string
-*/
-BOTAN_PUBLIC_API(2,0)
-BOTAN_DEPRECATED("Unused")
-std::string erase_chars(const std::string& str, const std::set<char>& chars);
-
-/**
-* Replace a character in a string
-* @param str the input string
-* @param from_char the character to replace
-* @param to_char the character to replace it with
-* @return str with all instances of from_char replaced by to_char
-*/
-BOTAN_PUBLIC_API(2,0)
-BOTAN_DEPRECATED("Unused")
-std::string replace_char(const std::string& str,
- char from_char,
- char to_char);
-
-/**
-* Replace a character in a string
-* @param str the input string
-* @param from_chars the characters to replace
-* @param to_char the character to replace it with
-* @return str with all instances of from_chars replaced by to_char
-*/
-BOTAN_PUBLIC_API(2,0)
-BOTAN_DEPRECATED("Unused")
-std::string replace_chars(const std::string& str,
- const std::set<char>& from_chars,
- char to_char);
-
-/**
* Join a string
* @param strs strings to join
* @param delim the delimitor
* @return string joined by delim
*/
-BOTAN_PUBLIC_API(2,0)
std::string string_join(const std::vector<std::string>& strs,
char delim);
/**
-* Parse an ASN.1 OID
-* @param oid the OID in string form
-* @return OID components
-*/
-BOTAN_PUBLIC_API(2,0) std::vector<uint32_t>
-BOTAN_DEPRECATED("Use OID::from_string(oid).get_components()") parse_asn1_oid(const std::string& oid);
-
-/**
* Compare two names using the X.509 comparison algorithm
* @param name1 the first name
* @param name2 the second name
* @return true if name1 is the same as name2 by the X.509 comparison rules
*/
-BOTAN_PUBLIC_API(2,0)
bool x500_name_cmp(const std::string& name1,
const std::string& name2);
@@ -115,38 +70,30 @@ bool x500_name_cmp(const std::string& name1,
* @param str the string to convert
* @return number value of the string
*/
-BOTAN_PUBLIC_API(2,0) uint32_t to_u32bit(const std::string& str);
+BOTAN_TEST_API uint32_t to_u32bit(const std::string& str);
/**
* Convert a string to a number
* @param str the string to convert
* @return number value of the string
*/
-BOTAN_PUBLIC_API(2,3) uint16_t to_uint16(const std::string& str);
-
-/**
-* Convert a time specification to a number
-* @param timespec the time specification
-* @return number of seconds represented by timespec
-*/
-BOTAN_PUBLIC_API(2,0) uint32_t BOTAN_DEPRECATED("Not used anymore")
-timespec_to_u32bit(const std::string& timespec);
+uint16_t to_uint16(const std::string& str);
/**
* Convert a string representation of an IPv4 address to a number
* @param ip_str the string representation
* @return integer IPv4 address
*/
-BOTAN_PUBLIC_API(2,0) uint32_t string_to_ipv4(const std::string& ip_str);
+uint32_t string_to_ipv4(const std::string& ip_str);
/**
* Convert an IPv4 address to a string
* @param ip_addr the IPv4 address to convert
* @return string representation of the IPv4 address
*/
-BOTAN_PUBLIC_API(2,0) std::string ipv4_to_string(uint32_t ip_addr);
+std::string ipv4_to_string(uint32_t ip_addr);
-std::map<std::string, std::string> BOTAN_PUBLIC_API(2,0) read_cfg(std::istream& is);
+std::map<std::string, std::string> read_cfg(std::istream& is);
/**
* Accepts key value pairs deliminated by commas:
@@ -163,15 +110,17 @@ std::map<std::string, std::string> BOTAN_PUBLIC_API(2,0) read_cfg(std::istream&
* Within both key and value, comma and equals can be escaped with
* backslash. Backslash can also be escaped.
*/
-std::map<std::string, std::string> BOTAN_PUBLIC_API(2,8) read_kv(const std::string& kv);
+BOTAN_TEST_API
+std::map<std::string, std::string> read_kv(const std::string& kv);
-std::string BOTAN_PUBLIC_API(2,0) clean_ws(const std::string& s);
+std::string clean_ws(const std::string& s);
/**
* Check if the given hostname is a match for the specified wildcard
*/
-bool BOTAN_PUBLIC_API(2,0) host_wildcard_match(const std::string& wildcard,
- const std::string& host);
+BOTAN_TEST_API
+bool host_wildcard_match(const std::string& wildcard,
+ const std::string& host);
}
diff --git a/src/lib/utils/poly_dbl/poly_dbl.cpp b/src/lib/utils/poly_dbl/poly_dbl.cpp
index 8c728a148..3d93dad44 100644
--- a/src/lib/utils/poly_dbl/poly_dbl.cpp
+++ b/src/lib/utils/poly_dbl/poly_dbl.cpp
@@ -5,7 +5,7 @@
*/
#include <botan/internal/poly_dbl.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/utils/read_cfg.cpp b/src/lib/utils/read_cfg.cpp
index 02f2e0ac8..6efee8efe 100644
--- a/src/lib/utils/read_cfg.cpp
+++ b/src/lib/utils/read_cfg.cpp
@@ -5,7 +5,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/utils/read_kv.cpp b/src/lib/utils/read_kv.cpp
index cdc84c622..8666b6c13 100644
--- a/src/lib/utils/read_kv.cpp
+++ b/src/lib/utils/read_kv.cpp
@@ -4,7 +4,7 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/exceptn.h>
namespace Botan {
diff --git a/src/lib/utils/rotate.h b/src/lib/utils/rotate.h
index 15c78ac26..06361aa54 100644
--- a/src/lib/utils/rotate.h
+++ b/src/lib/utils/rotate.h
@@ -10,8 +10,6 @@
#include <botan/types.h>
-BOTAN_FUTURE_INTERNAL_HEADER(rotate.h)
-
namespace Botan {
/**
@@ -84,23 +82,6 @@ inline uint32_t rotr_var(uint32_t input, size_t rot)
#endif
-
-template<typename T>
-BOTAN_DEPRECATED("Use rotl<N> or rotl_var")
-inline T rotate_left(T input, size_t rot)
- {
- // rotl_var does not reduce
- return rotl_var(input, rot % (8 * sizeof(T)));
- }
-
-template<typename T>
-BOTAN_DEPRECATED("Use rotr<N> or rotr_var")
-inline T rotate_right(T input, size_t rot)
- {
- // rotr_var does not reduce
- return rotr_var(input, rot % (8 * sizeof(T)));
- }
-
}
#endif
diff --git a/src/lib/utils/safeint.h b/src/lib/utils/safeint.h
index 5c9ea4955..9a55dc4cb 100644
--- a/src/lib/utils/safeint.h
+++ b/src/lib/utils/safeint.h
@@ -13,7 +13,7 @@
namespace Botan {
-class BOTAN_PUBLIC_API(2,0) Integer_Overflow_Detected final : public Exception
+class Integer_Overflow_Detected final : public Exception
{
public:
Integer_Overflow_Detected(const std::string& file, int line) :
diff --git a/src/lib/utils/simd/simd_32.h b/src/lib/utils/simd/simd_32.h
index 5cbc32a18..ee87c9c3d 100644
--- a/src/lib/utils/simd/simd_32.h
+++ b/src/lib/utils/simd/simd_32.h
@@ -15,8 +15,8 @@
#define BOTAN_SIMD_USE_SSE2
#elif defined(BOTAN_TARGET_SUPPORTS_ALTIVEC)
- #include <botan/bswap.h>
- #include <botan/loadstor.h>
+ #include <botan/internal/bswap.h>
+ #include <botan/internal/loadstor.h>
#include <altivec.h>
#undef vector
#undef bool
diff --git a/src/lib/utils/stl_compatibility.h b/src/lib/utils/stl_compatibility.h
deleted file mode 100644
index 03bd5c8ac..000000000
--- a/src/lib/utils/stl_compatibility.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* STL standards compatibility functions
-* (C) 2017 Tomasz Frydrych
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_STL_COMPATIBILITY_H_
-#define BOTAN_STL_COMPATIBILITY_H_
-
-#include <botan/types.h>
-#include <memory>
-
-#if __cplusplus < 201402L
-#include <cstddef>
-#include <type_traits>
-#include <utility>
-#endif
-
-BOTAN_FUTURE_INTERNAL_HEADER(stl_compatability.h)
-
-namespace Botan
-{
-/*
-* std::make_unique functionality similar as we have in C++14.
-* C++11 version based on proposal for C++14 implemenatation by Stephan T. Lavavej
-* source: https://isocpp.org/files/papers/N3656.txt
-*/
-#if __cplusplus >= 201402L
-template <typename T, typename ... Args>
-constexpr auto make_unique(Args&&... args)
- {
- return std::make_unique<T>(std::forward<Args>(args)...);
- }
-
-template<class T>
-constexpr auto make_unique(std::size_t size)
- {
- return std::make_unique<T>(size);
- }
-
-#else
-namespace stlCompatibilityDetails
-{
-template<class T> struct _Unique_if
- {
- typedef std::unique_ptr<T> _Single_object;
- };
-
-template<class T> struct _Unique_if<T[]>
- {
- typedef std::unique_ptr<T[]> _Unknown_bound;
- };
-
-template<class T, size_t N> struct _Unique_if<T[N]>
- {
- typedef void _Known_bound;
- };
-} // namespace stlCompatibilityDetails
-
-template<class T, class... Args>
-typename stlCompatibilityDetails::_Unique_if<T>::_Single_object make_unique(Args&&... args)
- {
- return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
- }
-
-template<class T>
-typename stlCompatibilityDetails::_Unique_if<T>::_Unknown_bound make_unique(size_t n)
- {
- typedef typename std::remove_extent<T>::type U;
- return std::unique_ptr<T>(new U[n]());
- }
-
-template<class T, class... Args>
-typename stlCompatibilityDetails::_Unique_if<T>::_Known_bound make_unique(Args&&...) = delete;
-
-#endif
-
-} // namespace Botan
-#endif
diff --git a/src/lib/utils/uuid/info.txt b/src/lib/utils/uuid/info.txt
index b078146e8..b987354ed 100644
--- a/src/lib/utils/uuid/info.txt
+++ b/src/lib/utils/uuid/info.txt
@@ -6,3 +6,7 @@ UUID -> 20180930
rng
hex
</requires>
+
+<header:public>
+uuid.h
+</header:public>
diff --git a/src/lib/x509/asn1_alt_name.cpp b/src/lib/x509/asn1_alt_name.cpp
index a347a3114..9d41fa326 100644
--- a/src/lib/x509/asn1_alt_name.cpp
+++ b/src/lib/x509/asn1_alt_name.cpp
@@ -11,8 +11,8 @@
#include <botan/ber_dec.h>
#include <botan/oids.h>
#include <botan/internal/stl_util.h>
-#include <botan/parsing.h>
-#include <botan/loadstor.h>
+#include <botan/internal/parsing.h>
+#include <botan/internal/loadstor.h>
#include <sstream>
diff --git a/src/lib/x509/asn1_alt_name.h b/src/lib/x509/asn1_alt_name.h
deleted file mode 100644
index b0ca1d87e..000000000
--- a/src/lib/x509/asn1_alt_name.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_X509_ALT_NAME_H_
-#define BOTAN_X509_ALT_NAME_H_
-
-#include <botan/pkix_types.h>
-BOTAN_DEPRECATED_HEADER(asn1_alt_name.h)
-
-#endif
diff --git a/src/lib/x509/asn1_attribute.h b/src/lib/x509/asn1_attribute.h
deleted file mode 100644
index 0139c18c7..000000000
--- a/src/lib/x509/asn1_attribute.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_ASN1_ATTRIBUTE_H_
-#define BOTAN_ASN1_ATTRIBUTE_H_
-
-#include <botan/pkix_types.h>
-BOTAN_DEPRECATED_HEADER(asn1_attribute.h)
-
-#endif
diff --git a/src/lib/x509/cert_status.h b/src/lib/x509/cert_status.h
deleted file mode 100644
index f330ff348..000000000
--- a/src/lib/x509/cert_status.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_X509_PATH_RESULT_H_
-#define BOTAN_X509_PATH_RESULT_H_
-
-#include <botan/pkix_enums.h>
-BOTAN_DEPRECATED_HEADER(cert_status.h)
-
-#endif
diff --git a/src/lib/x509/certstor_sql/info.txt b/src/lib/x509/certstor_sql/info.txt
index a6046e5d7..0ede3b0b6 100644
--- a/src/lib/x509/certstor_sql/info.txt
+++ b/src/lib/x509/certstor_sql/info.txt
@@ -1,3 +1,7 @@
<defines>
CERTSTOR_SQL -> 20160818
</defines>
+
+<header:public>
+certstor_sql.h
+</header:public>
diff --git a/src/lib/x509/certstor_sqlite3/info.txt b/src/lib/x509/certstor_sqlite3/info.txt
index 39b8c579b..06302c304 100644
--- a/src/lib/x509/certstor_sqlite3/info.txt
+++ b/src/lib/x509/certstor_sqlite3/info.txt
@@ -6,3 +6,7 @@ CERTSTOR_SQLITE3 -> 20160818
certstor_sql
sqlite3
</requires>
+
+<header:public>
+certstor_sqlite.h
+</header:public>
diff --git a/src/lib/x509/certstor_system/info.txt b/src/lib/x509/certstor_system/info.txt
index c9b3ca73e..269d8d177 100644
--- a/src/lib/x509/certstor_system/info.txt
+++ b/src/lib/x509/certstor_system/info.txt
@@ -6,3 +6,7 @@ CERTSTOR_SYSTEM -> 20190411
apple_keychain
filesystem
</os_features>
+
+<header:public>
+certstor_system.h
+</header:public>
diff --git a/src/lib/x509/crl_ent.h b/src/lib/x509/crl_ent.h
deleted file mode 100644
index aa60d4172..000000000
--- a/src/lib/x509/crl_ent.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_CRL_ENTRY_H_
-#define BOTAN_CRL_ENTRY_H_
-
-#include <botan/x509_crl.h>
-BOTAN_DEPRECATED_HEADER(crl_ent.h)
-
-#endif
diff --git a/src/lib/x509/datastor.cpp b/src/lib/x509/datastor.cpp
index 2cdd3458c..2fcd49a30 100644
--- a/src/lib/x509/datastor.cpp
+++ b/src/lib/x509/datastor.cpp
@@ -5,9 +5,9 @@
* Botan is released under the Simplified BSD License (see license.txt)
*/
-#include <botan/datastor.h>
+#include <botan/internal/datastor.h>
#include <botan/exceptn.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/hex.h>
#include <botan/internal/stl_util.h>
diff --git a/src/lib/x509/datastor.h b/src/lib/x509/datastor.h
index 1ff85c22c..d7e7aa99a 100644
--- a/src/lib/x509/datastor.h
+++ b/src/lib/x509/datastor.h
@@ -14,8 +14,6 @@
#include <vector>
#include <map>
-BOTAN_FUTURE_INTERNAL_HEADER(datastor.h)
-
namespace Botan {
/**
@@ -66,7 +64,7 @@ class BOTAN_UNSTABLE_API Data_Store final
* @param info data store containing DN information
* @return DN containing attributes from data store
*/
-BOTAN_PUBLIC_API(2,0) X509_DN
+X509_DN
BOTAN_DEPRECATED("Avoid roundtripping names through Data_Store")
create_dn(const Data_Store& info);
@@ -75,7 +73,7 @@ create_dn(const Data_Store& info);
* @param info data store containing AlternativeName information
* @return AlternativeName containing attributes from data store
*/
-BOTAN_PUBLIC_API(2,0) AlternativeName
+AlternativeName
BOTAN_DEPRECATED("Avoid roundtripping names through Data_Store")
create_alt_name(const Data_Store& info);
diff --git a/src/lib/x509/info.txt b/src/lib/x509/info.txt
index 20a1aa2b0..0c2ff8218 100644
--- a/src/lib/x509/info.txt
+++ b/src/lib/x509/info.txt
@@ -10,3 +10,22 @@ pubkey
sha1
sha2_32
</requires>
+
+<header:public>
+certstor.h
+ocsp.h
+pkcs10.h
+pkix_enums.h
+pkix_types.h
+x509_ca.h
+x509_crl.h
+x509_ext.h
+x509_obj.h
+x509cert.h
+x509path.h
+x509self.h
+</header:public>
+
+<header:internal>
+datastor.h
+</header:internal>
diff --git a/src/lib/x509/key_constraint.h b/src/lib/x509/key_constraint.h
deleted file mode 100644
index 5d5c7b083..000000000
--- a/src/lib/x509/key_constraint.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_KEY_CONSTRAINT_H_
-#define BOTAN_KEY_CONSTRAINT_H_
-
-#include <botan/pkix_enums.h>
-BOTAN_DEPRECATED_HEADER(key_constraint.h)
-
-#endif
diff --git a/src/lib/x509/name_constraint.cpp b/src/lib/x509/name_constraint.cpp
index 91c644068..c71536a0e 100644
--- a/src/lib/x509/name_constraint.cpp
+++ b/src/lib/x509/name_constraint.cpp
@@ -7,9 +7,9 @@
#include <botan/pkix_types.h>
#include <botan/ber_dec.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/x509cert.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <sstream>
namespace Botan {
diff --git a/src/lib/x509/name_constraint.h b/src/lib/x509/name_constraint.h
deleted file mode 100644
index 4f56f89ed..000000000
--- a/src/lib/x509/name_constraint.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_NAME_CONSTRAINT_H_
-#define BOTAN_NAME_CONSTRAINT_H_
-
-#include <botan/pkix_types.h>
-BOTAN_DEPRECATED_HEADER(name_constraint.h)
-
-#endif
diff --git a/src/lib/x509/ocsp.cpp b/src/lib/x509/ocsp.cpp
index 1ca823263..f4d934526 100644
--- a/src/lib/x509/ocsp.cpp
+++ b/src/lib/x509/ocsp.cpp
@@ -13,7 +13,7 @@
#include <botan/oids.h>
#include <botan/base64.h>
#include <botan/pubkey.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#if defined(BOTAN_HAS_HTTP_UTIL)
#include <botan/http_util.h>
diff --git a/src/lib/x509/ocsp_types.h b/src/lib/x509/ocsp_types.h
deleted file mode 100644
index aa628d8d6..000000000
--- a/src/lib/x509/ocsp_types.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_OCSP_TYPES_H_
-#define BOTAN_OCSP_TYPES_H_
-
-#include <botan/ocsp.h>
-BOTAN_DEPRECATED_HEADER(ocsp_types.h)
-
-#endif
diff --git a/src/lib/x509/x509_ca.cpp b/src/lib/x509/x509_ca.cpp
index 542a3a919..9508e9466 100644
--- a/src/lib/x509/x509_ca.cpp
+++ b/src/lib/x509/x509_ca.cpp
@@ -13,10 +13,10 @@
#include <botan/pubkey.h>
#include <botan/der_enc.h>
#include <botan/bigint.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/oids.h>
#include <botan/hash.h>
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <botan/scan_name.h>
#include <algorithm>
#include <iterator>
diff --git a/src/lib/x509/x509_dn.cpp b/src/lib/x509/x509_dn.cpp
index c5128180f..7be45401e 100644
--- a/src/lib/x509/x509_dn.cpp
+++ b/src/lib/x509/x509_dn.cpp
@@ -8,7 +8,7 @@
#include <botan/pkix_types.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/internal/stl_util.h>
#include <botan/oids.h>
#include <ostream>
diff --git a/src/lib/x509/x509_dn.h b/src/lib/x509/x509_dn.h
deleted file mode 100644
index cd7beebe9..000000000
--- a/src/lib/x509/x509_dn.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_X509_DN_H_
-#define BOTAN_X509_DN_H_
-
-#include <botan/pkix_types.h>
-BOTAN_DEPRECATED_HEADER(x509_dn.h)
-
-#endif
diff --git a/src/lib/x509/x509_ext.cpp b/src/lib/x509/x509_ext.cpp
index 7809b5617..c8eed6571 100644
--- a/src/lib/x509/x509_ext.cpp
+++ b/src/lib/x509/x509_ext.cpp
@@ -9,11 +9,11 @@
#include <botan/x509_ext.h>
#include <botan/x509cert.h>
-#include <botan/datastor.h>
+#include <botan/internal/datastor.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/hash.h>
-#include <botan/loadstor.h>
+#include <botan/internal/loadstor.h>
#include <botan/internal/bit_ops.h>
#include <algorithm>
#include <set>
diff --git a/src/lib/x509/x509_obj.cpp b/src/lib/x509/x509_obj.cpp
index 2bb67629a..07225b2a0 100644
--- a/src/lib/x509/x509_obj.cpp
+++ b/src/lib/x509/x509_obj.cpp
@@ -9,9 +9,9 @@
#include <botan/pubkey.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/pem.h>
-#include <botan/emsa.h>
+#include <botan/internal/emsa.h>
#include <algorithm>
namespace Botan {
diff --git a/src/lib/x509/x509cert.cpp b/src/lib/x509/x509cert.cpp
index 55f279c58..ee059bb61 100644
--- a/src/lib/x509/x509cert.cpp
+++ b/src/lib/x509/x509cert.cpp
@@ -8,11 +8,11 @@
#include <botan/x509cert.h>
#include <botan/x509_key.h>
-#include <botan/datastor.h>
+#include <botan/internal/datastor.h>
#include <botan/pk_keys.h>
#include <botan/x509_ext.h>
#include <botan/ber_dec.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <botan/bigint.h>
#include <botan/oids.h>
#include <botan/hash.h>
diff --git a/src/lib/x509/x509opt.cpp b/src/lib/x509/x509opt.cpp
index f762acd7b..fcdb510c5 100644
--- a/src/lib/x509/x509opt.cpp
+++ b/src/lib/x509/x509opt.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/x509self.h>
-#include <botan/parsing.h>
+#include <botan/internal/parsing.h>
#include <chrono>
namespace Botan {