The unified diff between revisions [636b767b..] and [cbf9e103..] is displayed below. It can also be downloaded as a raw diff.
#
#
# patch "checks/pk.cpp"
# from [306b221e18047cb7245a057e775e387d3e7843cf]
# to [29d3ee1e629ecb164b57caf11f80703043ec1bbe]
#
# patch "doc/log.txt"
# from [0b9e0e5499ad25cc3ba9b6e7253c93882e68d105]
# to [f05061923c6fe2798825a82b9cce2b7a7cd3fa28]
#
# patch "include/adler32.h"
# from [3fb3da1fd6fad8255838631b150dc0ce05efd2cd]
# to [d0efdb2ca6a2312ef2e2abeba1c110fc15c888e8]
#
# patch "include/aes.h"
# from [c435704aba7109c47f3a6eb1cd2de292c2d0eca4]
# to [f21a206b14c737acaa124f04c104e1d5daaee5ae]
#
# patch "include/alg_id.h"
# from [f35b1fa8eb93f5342db03e2d8bf216cc50e51e24]
# to [92a1557cfb909aded041463da82d4906b2298928]
#
# patch "include/allocate.h"
# from [2670420b0e017d31c381021c0b7f1d1866fbab55]
# to [0f4769a449df515dc1a468eb0b5d06d20fc02148]
#
# patch "include/arc4.h"
# from [aebe572be0beee98e6c0ed6577157c5b7273d40b]
# to [01b224e18d457df1b42a24b30fee9a937dd84f13]
#
# patch "include/asn1_int.h"
# from [73aba9e43f1440e3ca44425e159173815f174f8e]
# to [5caaae2713c3f14a3a4508263e52bc3331674c36]
#
# patch "include/asn1_obj.h"
# from [79894e23c4ab45f61b30583b94444f6079e252e5]
# to [689ebbff1a5254e49f3cd7baa5a9fe82d9b082f6]
#
# patch "include/asn1_oid.h"
# from [23e21c30ec13da88cc841e270021519c5229d5b5]
# to [6e4b868ccc447a35b13af5575146d38cc145e05f]
#
# patch "include/base.h"
# from [0dfe04238a2d8f7f9354f07a4a41ed758d2b596a]
# to [54a99ec584afb04330ebe7b6c2baaca06a0c0246]
#
# patch "include/base64.h"
# from [d1f12f08c64810dd5901cca8902bd3d9bec1bec8]
# to [3155e46ef5f905472ba75bfcf21a3347405175cf]
#
# patch "include/basefilt.h"
# from [3c60162d57d6362585bd2a0a6ba609c69848ee3b]
# to [efa2ea51c6eee5fd064a1f0b88084009313ce9e5]
#
# patch "include/ber_dec.h"
# from [bbf9928c67e9657232a99f2153430f93dd29abd6]
# to [90a3ca1bab5637490b05f6dce57aca75fc794b01]
#
# patch "include/bigint.h"
# from [ed1927cc126f73b40fe47039e6c98261a19fd002]
# to [fb6bdbaf9256d243c2a40b877fbb572986b76b77]
#
# patch "include/blinding.h"
# from [a21d259830b078b0e8f3ba76c48a66b92247204c]
# to [dde8b94457fefaf91016cd617dc7590c3bbf9529]
#
# patch "include/blowfish.h"
# from [09a78b0f7a4c5456346540885931b7504f35bd79]
# to [d910c2b54b87c511ac9f21f1254e72ed24e5fa82]
#
# patch "include/buf_es.h"
# from [bf69fc56fb8169929d529afc2e911f954408a838]
# to [6d0b85ee23b95511cca43e7754a65494d8553b0c]
#
# patch "include/buf_filt.h"
# from [9a6e15cd22d291c03af283ec5d723b1f04f7d482]
# to [a87ed4badce2ec906b1e048e3d876f629a525f10]
#
# patch "include/cast128.h"
# from [04f8ca07c0f6e1829f70f2eaebf153c4df36fc09]
# to [3ab5011603389f700aa77e2b3b7d2529b8c3648e]
#
# patch "include/cast256.h"
# from [a42b17aab8fb3bfe958d0842e2bcd962cdf4bd8e]
# to [2a0689608d851aa9bd85a97dd38043fa89017a04]
#
# patch "include/cbc.h"
# from [f4651ab650fe65917932c36f9345bed021fb5556]
# to [df71821e246ae7b793787d4de94c1caae4659c5f]
#
# patch "include/cbc_mac.h"
# from [0e97c1d1ff160caff0e75b3b20ff6d6c089c236a]
# to [d27531534d83b3bb9b20177c27a03cc96acd858d]
#
# patch "include/certstor.h"
# from [df804a2c3adf5c23baa2b03d71452b7713eda226]
# to [4f44d45129289f39e37c3dff1c2397d585c77656]
#
# patch "include/cfb.h"
# from [c16cbb250f291241cd804869085cda04369136a2]
# to [d6fcd294c41d8665b191c69e4964ba79ac084b61]
#
# patch "include/charset.h"
# from [d14be390cbcd1b0b0a33005c0c6b2165c66fd8b1]
# to [58f38717c996835f6110b4c932b0df98032a0fbe]
#
# patch "include/cmac.h"
# from [18c144695270cfa27f065ca94c48f119534c5c83]
# to [4e32fba357c2b62e83e5316f47fc4d5c587a82b5]
#
# patch "include/config.h"
# from [229617bc66e109964fa682dfa11dee54b39c9c48]
# to [5acbd2e041ef13562c85e988834f2b252c3c5a9d]
#
# patch "include/crc24.h"
# from [d7750f1c09b0f34e07dc4331b8b1e96d80f838fe]
# to [05f71a16d271e548513abb74854b9f5da9dbbf24]
#
# patch "include/crc32.h"
# from [9690b6ac67b4af3bf93e685a87f5e47ad7ffe8de]
# to [ecffda4a723a75444b477e2e37bdd24d1c8656e1]
#
# patch "include/crl_ent.h"
# from [a40e0b1fa6be72627250db0ea2deec3b3fac7a80]
# to [ed0bbb9460910d21f367e8ace0286cf93c520db9]
#
# patch "include/ctr.h"
# from [f2c4136e4461600e4f34e88296b412dc3f5819b7]
# to [7783b5e3e59dd949a5c0a4af1cd8c3abe46a9c17]
#
# patch "include/cts.h"
# from [363763a5730bd19dd68435d3f0e1d7abbf4322e4]
# to [77fdfabc32ea2a733a82947cca8c1795de7c49d4]
#
# patch "include/data_snk.h"
# from [1b779375cae6bd6c59ef048d1b16b2083d3f3747]
# to [f5b662f62ade0945865ab4f9edb5a3bae9103b96]
#
# patch "include/data_src.h"
# from [47b6e0c2a1dea94812f82fd4b0150e1f24619adb]
# to [e021a46396a1b8fd0a933c115d53a8fa0543e225]
#
# patch "include/datastor.h"
# from [69e03208c5349e6a84e40084be42c32770ce3d73]
# to [099bbbabbff92013990fdb0ac8e96dccddfb7732]
#
# patch "include/def_powm.h"
# from [b8fd1233ac5e90aea858ff83bcc53ad9e93a0ce6]
# to [441262d6c635e3dc9678bb0fb1b725fb1cabca99]
#
# patch "include/defalloc.h"
# from [90dbc79dca64e726dea513adbd09bceb47414299]
# to [c983a1a75c83af8737ecfbe70770e22aed71d4c6]
#
# patch "include/der_enc.h"
# from [c9c32338023d05e61e061ed29a357bf8ec1f5d98]
# to [2bd34135e89958c97778e92d5206b2b411887961]
#
# patch "include/des.h"
# from [4e46ca0119049b63d8ec93f35efd598e4473ba14]
# to [bf36f106a5d21d182633280efaf4db5aca06517a]
#
# patch "include/dh.h"
# from [b46595551fbb9db58536e780f0367d5a0d576e8d]
# to [1f8c9ae4e3e47eb54bf37dd5830feefe33fce1d3]
#
# patch "include/dl_algo.h"
# from [1f443e80cacfcedd444b4c0cf43528823b8736ab]
# to [c6c8ab1cc99d09053aa3e887ed0f31d23f029b79]
#
# patch "include/dl_group.h"
# from [01226cb8248f76ca5b1d587ab42ff1d849eef994]
# to [2402780054b58ab40f961f2600695a19461df17b]
#
# patch "include/dlies.h"
# from [2d4210fab2308626bd6f8c08a3f4596be6776200]
# to [ba8018d6681f084e1fabfab66903260939bec948]
#
# patch "include/dsa.h"
# from [669645224181beb0dd4cd2b973177c32101598c5]
# to [03ca791b177eb9709d13a5f79181a157bca0aa4d]
#
# patch "include/eax.h"
# from [a9a6b7d9ce355e1362719185e093ef91c48b40fa]
# to [66acdb5b8c0a5552f01ffd2127383864737801d1]
#
# patch "include/ecb.h"
# from [b720b7718d5d1f7a163f9cea7b19de343972b872]
# to [f48d0a49b4d848d4707e93c4112aeea0620e4d25]
#
# patch "include/elgamal.h"
# from [0494d9ec66400a456f6f0638f8473c23ae59507f]
# to [ae94744be2a6ed1bad2c8485f49b77fb4423ed2d]
#
# patch "include/eme.h"
# from [0ec41143810e3e55630da3f66a493ed3e847fa70]
# to [28df8ed20f752944ed6db8d8d4b240070381e358]
#
# patch "include/emsa.h"
# from [0f92faa34612455ed98f727223a3327e2f21a48c]
# to [9a72ffbf9550acf6251278a4162adbc375afa7a2]
#
# patch "include/eng_def.h"
# from [8aa36afc93ca4981ef72d0650accabc49412763a]
# to [78c95898dc88c426b88c79e21a8b072bfcd77c59]
#
# patch "include/engine.h"
# from [710e662f21035b9fd98b1da15430b043d33273d4]
# to [c0145b11930a092ae19f24be691b052aaa15f03c]
#
# patch "include/exceptn.h"
# from [c336850fda55455f8dbfa05deb12d85b0fa1a081]
# to [6c8eb39d95fc61a0a1bf2201f053811c61e9623d]
#
# patch "include/filter.h"
# from [c1df7bb407f4e3aebf3038583ddef572ee805899]
# to [c36b3a90313dae0e423930a7249e36e9ca8742f0]
#
# patch "include/filters.h"
# from [94d4f6b8d86cd9ce0521c0824decafaa625949b1]
# to [50d68a0509271b1a7a27ebd741b9c12ce4491019]
#
# patch "include/fork256.h"
# from [48d316c02d0498c1f8511227f6d3712f8e788ea8]
# to [48009420dee58362718e076efe4f96b6b776ff2c]
#
# patch "include/gost.h"
# from [2258c8299c56e86e46324b2ecebf38d05827ad02]
# to [8bab6eb0bbff3ddda38f52bd1c373f63b4d94225]
#
# patch "include/has160.h"
# from [302e61763c91ef37ca82c6fedc47c44b170ed225]
# to [cc1fc7609b6af354ce39184b20f8ff87dc3e5a2b]
#
# patch "include/hash_id.h"
# from [87da714dcec8f4fabdba63c86021e0dd641e75f8]
# to [4dc7493061e94d973d823b28fcd226b8842dd81e]
#
# patch "include/hex.h"
# from [65ff3d841d7a7d4506b99d175c9a8e4112794409]
# to [462c74e4913e272f052a3fb27f3a7235ba54655a]
#
# patch "include/hmac.h"
# from [f86ca2b60fe40cbae9ba1a5a02ea85c6a0cb2ca5]
# to [536a96d1baa456d63ea688d2304ea8c8f54b5f6e]
#
# patch "include/idea.h"
# from [789b9471a535847a0ff19af71bebbc8514fb535d]
# to [f6b0ab5d54fb7a7f5e432feaa7e7cfa0da58753f]
#
# patch "include/if_algo.h"
# from [26d6793a1eb3c64a252713d32a188808e64cb92c]
# to [72be1c5cf84e117cc018604a352f686dd18564c1]
#
# patch "include/init.h"
# from [bb896dab46a2ed1a6bbb6c2b2db629392b708bc7]
# to [9e6c95b53667ca383d2b21876e09f873f2cc76af]
#
# patch "include/kasumi.h"
# from [5b4ae12fa8e6eec6bb32e8e76e7140783a71857f]
# to [c6a4b45d4a6401a2d07fca50f7617e18d9a14755]
#
# patch "include/kdf.h"
# from [fbbd508477b8940b1d3d30e328539aa374abf25f]
# to [a96cb1a3021c86215894c15c592eea114ce5463d]
#
# patch "include/keypair.h"
# from [a4fc8eaa2d42b50ef6985927bac5cd225603585c]
# to [791ce22bbca12caf243ea25be1c198812fef5c7f]
#
# patch "include/libstate.h"
# from [f08d397ce253b7d175d4dfc30ccd9f1ddee48279]
# to [cc522cb9ab803f77a13c05a42addb46e0272cdcc]
#
# patch "include/lion.h"
# from [21f4eb78b1157e3f1a2e768a24126c5ad16afae3]
# to [96827aa862aa07afdd27a66730801505cf09cfbb]
#
# patch "include/look_add.h"
# from [a6139b72698a8375f498a3732c93eb8f78e0cb59]
# to [bcf3daba9def147a2eb6a390df5d2fbfd2b15211]
#
# patch "include/look_pk.h"
# from [9f0be0116eb7318ea14fc49d62c95714a5906084]
# to [33fa10847c9877ffff67c27416d280f3a703bc10]
#
# patch "include/lookup.h"
# from [44bc6863bfbca4c97f91dcf16968ea7fb591e39e]
# to [2dfd127a84eb9858a688b1ec0ba12a3fb5bd3e51]
#
# patch "include/lubyrack.h"
# from [fbfd6400449127148719a3e318ad1ba966767b50]
# to [ecd39682fd0eaef7bedf64275115a76bb798e732]
#
# patch "include/mars.h"
# from [469d88ccc99e609f5d50532d54aaee767de9bd6e]
# to [230be6c52db65a2080e9c604590de770bdfb3018]
#
# patch "include/md2.h"
# from [12453da653d5346f90ffbff6e0cd34a2846758bc]
# to [246b0f8a492bd5ec344ff01373d50061d5d6d3ea]
#
# patch "include/md4.h"
# from [909ca8f155ca017ef83074de3dccd7c9db0aad9a]
# to [347e2be66179bd81404b9abc065157aa56dbf174]
#
# patch "include/md5.h"
# from [c973e1bdacfd87fbecebf40bb14df7fecf18550f]
# to [125ffbdbf8c145f70f0f1f9ed6341d83d5be1a68]
#
# patch "include/mdx_hash.h"
# from [1795bfa7e387450ac265a0c08e45c26f37d1e8db]
# to [0deccb5b5224b5f7c3bfba95651511f09f1c8b60]
#
# patch "include/mem_pool.h"
# from [9774f7b2377e171ed9514eece50d9e06ea0e294c]
# to [b05125f505c3f2602092699f033c4698f71f4935]
#
# patch "include/mgf1.h"
# from [739fd112a61fb2dee76686df803894ab66d89e23]
# to [7359b8d5d3e3ff0daf8f2d23b40581ce64e7ff72]
#
# patch "include/misty1.h"
# from [d5e3816ba1620937942ebab5f8b6fc5f3d6d2e47]
# to [f67e5eced26a586d05e7735928d382caeba25ed1]
#
# patch "include/mode_pad.h"
# from [f45ed8bd18c780b9add92026f95f48e7964e3659]
# to [3026a91c78ca5ed4b184ac7db2aa50be37108111]
#
# patch "include/modebase.h"
# from [b7d42f6b00ab46a455075841defa314965c3deee]
# to [056f174f9f5503b2de49bfa152c1597f809aba5a]
#
# patch "include/modules.h"
# from [f9acec52a4673e8190322182af16df37231aa2dc]
# to [dd2710c408c7a116b96db31d53b8fdcee5a65e31]
#
# patch "include/mutex.h"
# from [f2e5f4862473ea61f881881680763ba8e285312b]
# to [3fa990bcefeb4ee32990a95a9e8ac0d2a10abb86]
#
# patch "include/nr.h"
# from [0a8b524f2188039570234d9702312081c78d97ef]
# to [e9523c6c77eb71f2fc01199b2237cb527dd0e53c]
#
# patch "include/numthry.h"
# from [2c9588397a71ce950009190f87efb76966715d67]
# to [15ce975e8d3dd7f3b0499a67c4a66ced254fa5bd]
#
# patch "include/ofb.h"
# from [7c91fb7eb35104d80e8da125cc6f1b4b3bc82471]
# to [bc5a889f33acd616c2ba1b28bed0b069eee277cd]
#
# patch "include/oids.h"
# from [a65a9ade8866b65236b4db2a3f6a109b6789db8b]
# to [ad753b3ee7bd56616a54a36511d17b84320d7e53]
#
# patch "include/openpgp.h"
# from [f367f621d92d5d9ba2eac2ada5ffb5c3cd235d18]
# to [6d06d258db32629ddeca5facae94581dbda65314]
#
# patch "include/out_buf.h"
# from [321d65539815403e698962aad7fb985088e9c17e]
# to [c845c5752405c83005bc813f6a3b6406b4a76e10]
#
# patch "include/par_hash.h"
# from [69e03b769368ea1a41bf500095bb2d448ed332b9]
# to [4579c4a4e194721934a52f17cd7dce7e0cdcf874]
#
# patch "include/parsing.h"
# from [cb2aa56649d2ce1d1ee8f417bea7f8afd70b826e]
# to [495ba5383d508f77387155181abc7c82548238d8]
#
# patch "include/pbe.h"
# from [e2bce5b3ea8490d42c75c9bd2411b7327905a6f6]
# to [c857ae798130c367ad3e63f3890adf18833c4b46]
#
# patch "include/pbe_pkcs.h"
# from [c14e46545178cf2314d6e50045d58417e9f231be]
# to [248bcd00abf4a4a4b5738c0f96efd110d2ed2ad1]
#
# patch "include/pem.h"
# from [5acd12644cddbbb42668df078a31361ffdda9505]
# to [efcb8fb44e315de344c0042d4a1dc40a2b3e8f91]
#
# patch "include/pgp_s2k.h"
# from [72ef2328cc0b67f4da05bed4e0421239ac8b7364]
# to [59db0e6234f33a0388b7c6136c9cd8de33682263]
#
# patch "include/pipe.h"
# from [c733084b07188bad226ec8753f69c661c5284eb6]
# to [9e03557d153485d83b482f075898718d3617b946]
#
# patch "include/pk_algs.h"
# from [819a072a7a78e6b971d00b29dadcb8b2c6fad806]
# to [1a6cd0f2d5098b39fbf2f633d53dce8d9b8a2403]
#
# patch "include/pk_core.h"
# from [06f6efed8059bdbffca6fc2456fb065e99266589]
# to [258d5e98a242fd2f27c67adadf524ba32b22e744]
#
# patch "include/pk_filts.h"
# from [eb898f72d49c8e308308bd9904543f38be676191]
# to [8cf0aa0cbf6219930fb2530d9c37510ed9662a1e]
#
# patch "include/pk_keys.h"
# from [20a3944a9fa84e08273eb2b6885c76854c4abed1]
# to [cf1a5888cef53fd2615b6f00b46e08c58893fe27]
#
# patch "include/pk_ops.h"
# from [1c2a354d23a1d63274ce9f9964f07fe838acf41b]
# to [3920d58ef759295ed29d0b753100676f0745da8f]
#
# patch "include/pk_util.h"
# from [66be1be613a35711e7dfee7c5c7f04c5995cdce4]
# to [7891afa42d0dff993e51a8d6ec0a059b049706b9]
#
# patch "include/pkcs10.h"
# from [49d5e2403c8575c41ebc0fd271d6a2f0479e6cbb]
# to [4984265a4cb5111800f60659a4c8fe69d26b9d5d]
#
# patch "include/pkcs5.h"
# from [73e4e3b7cccd735231a58c5d1d5a4cd1c11eed81]
# to [bbbb8892f135dc8b51009b9aec7e58aacdc8ddc4]
#
# patch "include/pkcs8.h"
# from [cd24e7b1ca80d2bc849eb839ab79f7a984d40e96]
# to [ef4946e935d2220ffd54106dadaa2929192852a7]
#
# patch "include/pow_mod.h"
# from [b24647210d5d4f03575626542b7232133ef6a00d]
# to [362454f448c3eb80b0a8abd778e6f0f0cab2db9e]
#
# patch "include/pubkey.h"
# from [3ec9d6ada0e0968e6711c87372a66b86652c058e]
# to [ba87e679f0c99d8b1598b04532e4eeba3085a1ea]
#
# patch "include/randpool.h"
# from [bc8674bb1e3d9021674e133d39c7f0250300e55b]
# to [0928e4cc6c0e9db4c0bc80378e2d5846adc4d225]
#
# patch "include/rc2.h"
# from [38e23deef4a7e8f61b1e86933cf7570fab3b371e]
# to [6f0dbc244cad0207d76139f053d60c144252ab33]
#
# patch "include/rc5.h"
# from [91e92ce10c2e545ac9e74490270c5f714e024a9d]
# to [95604aa00ab3dfb14a0e1aa637150603fb663e78]
#
# patch "include/rc6.h"
# from [b9e1b74dfecb58a0b9b92d30bff4c56cf0ecbba5]
# to [bd814085812d9491e7ca7d9714a407c99f2db8e7]
#
# patch "include/reducer.h"
# from [8c27b654016a0181e57bd1128774ba7cd870cdd0]
# to [c11599682def397d3376aface6c85a2fbc73223b]
#
# patch "include/rmd128.h"
# from [32278cbebb8db8773d8a976353770d9b87773d27]
# to [12e54153fb2e5c459481e9d0c83ea30d4e8b31b9]
#
# patch "include/rmd160.h"
# from [2eb26b1b48d5d726241e83a99fe2cc129f1f21c9]
# to [9fcbc152349ad47f4bd3823ea60987f724358df2]
#
# patch "include/rsa.h"
# from [c40dd400c8af93fd0592cef7637155095eb0a902]
# to [96e51a461640df8d282d2a3eec3894b818f8e822]
#
# patch "include/rw.h"
# from [6cc8b857b6dbb07f1520fdc846ba51e45fbf91b7]
# to [8c3b9b886a511deba603bd6c73b92972de8b0e22]
#
# patch "include/s2k.h"
# from [fd9416577db62bb69d99893196314b0c9d02670b]
# to [dfca47094e0f16ffd7c61fa36305b7758771a107]
#
# patch "include/safer_sk.h"
# from [6c53246d48d12fcd9b359008de93642dcea3367d]
# to [f79b6f000ada0c27333f4f9d8c2689a7a2653f62]
#
# patch "include/secqueue.h"
# from [1cc8ed5f36c8f4cbb01b1cd75d6c18a95d12af26]
# to [cd9544d40e08404b6c18edc999e32bb3e446ea86]
#
# patch "include/seed.h"
# from [fdde3adf7436a2ce58dff5ecb914ee8b56e04ee1]
# to [ee56d3b9e0d07e6e75a469950c8a2656a7d77b64]
#
# patch "include/selftest.h"
# from [a1969936444a9ef5e5bca0c7f4cd1dca7ae6d85f]
# to [42b485822bb01909667eea600d45703b8746b9b2]
#
# patch "include/serpent.h"
# from [d891abda8b810501e4ddc8f99814693d18589099]
# to [ac5af1c20013d338fe74254a9eb4547b4bbe1842]
#
# patch "include/sha160.h"
# from [748e14e8859487eb2c9c4f09a892f907fe96a011]
# to [37d56046ef1803c41f802e291e318c4e5d9ddaa2]
#
# patch "include/sha256.h"
# from [64e17f3dfe6ebf92a06d434943ea81ee9c43d6bf]
# to [ad8e5270f95f23fe2e703825755190ff6954cb9a]
#
# patch "include/sha_64.h"
# from [a508a3e180e40f8fdd08d96f810077a2bd7bd317]
# to [8e761255053141d09a8068560a0537bc5223a074]
#
# patch "include/skipjack.h"
# from [ab962aab12c5c3928d3ce177d2ac189b255004d0]
# to [7e78ba076b614342f843fc5e21a1d81318caf970]
#
# patch "include/square.h"
# from [b4d336d786bbfdca3f982e350a4eee2ad64f3f79]
# to [7aa0bb1770487292dc1326f237fb9f37dbeb4b23]
#
# patch "include/symkey.h"
# from [df9f12faa7f6b505bd4b5c9b48fd4848e8d19061]
# to [614f0dd9f6dc979dd0e841c754b8f4eaa08f49a3]
#
# patch "include/tea.h"
# from [4526c6727dab1bbdb9b04b1382e8536baee92f26]
# to [1c04cb05f2bc15d03ceb41d61e33826d7c28b5d9]
#
# patch "include/tiger.h"
# from [079f90e1933468f9f162745914c0b8bfa5b995c3]
# to [4a2b2c8f08dc6b2ebfb02e8751df5ab7975f3117]
#
# patch "include/turing.h"
# from [bc7a6ef287447f9f0a34ccd39f1fedd176c92c7d]
# to [b953bc11f8f84b1d4a6958de9a437c67776e48df]
#
# patch "include/twofish.h"
# from [5cae7d77a09186c93e20acb1b9fe9829e8c142d4]
# to [809e92217142cfbe7a47436ffcb340974056f60a]
#
# patch "include/ui.h"
# from [853e3a17d0e7d4b32652b7ff28ccda21a2fe9b6b]
# to [edc430aa1261dacfab65cf5bf004f0ba1c264340]
#
# patch "include/util.h"
# from [f4cfec7dc5d51e8ac7356cd289c1b0599f24216a]
# to [e78434c0e695bc47ad2c0bdfbfbae8ba36bda8f7]
#
# patch "include/version.h"
# from [75ca6908b2084a0e6d976aebc7a15a2d6bee95e6]
# to [f468ac71bb110a61714372ab7b9a73c0b7dc0ce6]
#
# patch "include/whrlpool.h"
# from [34584eddd9aabbd062f00211a4f66485789ad3b0]
# to [bfc7a9165e4a4a4162560b747bda1cdb377f6b92]
#
# patch "include/wid_wake.h"
# from [0156672f9f0a76eb3050a30c914bf5651923ffaf]
# to [7ae29262d365c36cd24c0e30430660e445f4acd8]
#
# patch "include/x509_ca.h"
# from [26d79cace2e21f8843600c7e418bd82366d33196]
# to [3327c608a47cba05bbed1d840c276ee73aba9624]
#
# patch "include/x509_crl.h"
# from [7a7d292ec2599837b77160b88e9b188bb72a56fb]
# to [f62da82fa82f60977d4b4b5e565a88334bbe92fc]
#
# patch "include/x509_ext.h"
# from [b43b458be1f994c023d5f73991e9b6097fcf0247]
# to [3d07a4bbddc8ec683e40448dc6a5d9307ec345c0]
#
# patch "include/x509_key.h"
# from [ceb30b94983a1f5c42eccc4b416bd9a70e061dd3]
# to [24c8a01c58a33a951d43cf1b375a5fc538132dbd]
#
# patch "include/x509_obj.h"
# from [99be0ae3fec93c970e1732a2c2ed104009b21a5c]
# to [4048a6db99a88fd595d1df2010303cf3189dddcc]
#
# patch "include/x509cert.h"
# from [a112171f8822c7c116fe1856c324934d172ecc4a]
# to [15f8b6d21e61abb8ec637aa9a8cca227045d8d76]
#
# patch "include/x509find.h"
# from [549b30c91d6753281a0a83131564335ef8446659]
# to [2b544fb35d92a37fc573b1bd914363f177ab3dec]
#
# patch "include/x509self.h"
# from [2bd3f51b47ca9633f0628c2361c1b0731f146632]
# to [3c3ecc0285256e83b38880dfe8d67fa3ec3d6a27]
#
# patch "include/x509stor.h"
# from [bd22ac876bb21ad52e202b71aa5bd20aab18296d]
# to [2242323b5c90c22ea1c5a9c6a88bee139231ef88]
#
# patch "include/x919_mac.h"
# from [b3122d96ffa1eeff4020f369f8e33f9e1c2d6204]
# to [1716dcbde2c168d9addb6a648e8525b445d54354]
#
# patch "include/x931_rng.h"
# from [0582f9f4a3638c622e30e8fe2bcd1e165540b7ec]
# to [2c37383953654e7400e0bbfbb7aadcc8d85839d5]
#
# patch "src/engine.cpp"
# from [e08ad4203573f8f9f20d9de98ebcbc5dc75d46d9]
# to [283279689caad3869ca615bda4ef0b933e680125]
#
============================================================
--- checks/pk.cpp 306b221e18047cb7245a057e775e387d3e7843cf
+++ checks/pk.cpp 29d3ee1e629ecb164b57caf11f80703043ec1bbe
@@ -37,6 +37,8 @@ class Fixed_Output_RNG : public RandomNu
class Fixed_Output_RNG : public RandomNumberGenerator
{
public:
+ bool is_seeded() const { return true; }
+
byte random()
{
if(position < output.size())
============================================================
--- doc/log.txt 0b9e0e5499ad25cc3ba9b6e7253c93882e68d105
+++ doc/log.txt f05061923c6fe2798825a82b9cce2b7a7cd3fa28
@@ -3,7 +3,7 @@
- Initial support for Windows DLLs
- Removed the AEP module, due to inability to test
-* 1.7.5, April 12, 2008
+* 1.7.5, 2008-04-12
- The API of X509_CA::sign_request was altered to avoid race conditions
- New type Pipe::message_id to represent the Pipe message number
- Remove the Named_Mutex_Holder for a small performance gain
@@ -15,7 +15,7 @@
- The size of random blinding factors is now a compile time setting
- The install target no longer tries to set a particular owner/group
-* 1.7.4, March 10, 2008
+* 1.7.4, 2008-03-10
- Use unaligned memory read/writes on systems that allow it, for performance
- Assembly for x86-64 for accessing the bswap instruction
- Use larger buffers in ARC4 and WiderWAKE for significant throughput increase
@@ -24,7 +24,7 @@
- Build fix for NetBSD systems
- Prevent es_dev from being built except on Unix systems
-* 1.7.3, January 23, 2008
+* 1.7.3, 2008-01-23
- New invocation syntax for configure.pl with several new options
- Support for IPv4 addresses in a subject alternative name
- New fast poll for the generic Unix entropy source (es_unix)
@@ -34,7 +34,7 @@
- Truncate X9.42 PRF output rather than allow counter overflow
- PowerPC is now assumed to be big-endian
-* 1.7.2, October 13, 2007
+* 1.7.2, 2007-10-13
- Initialize the global library state lazily
- Add plain CBC-MAC for backwards compatability with old systems
- Clean up some of the self test code
@@ -43,11 +43,11 @@
- Add newly assigned OIDs for SHA-2 and DSA with SHA-224/256
- Fix a Visual Studio compilation problem in x509stat.cpp
-* 1.6.3, July 23, 2007
+* 1.6.3, 2007-07-23
- Fix a race condition in the algorithm lookup cache
- Fix problems building the memory pool on some versions of Visual C++
-* 1.7.1, July 23, 2007
+* 1.7.1, 2007-07-23
- Fix a race condition in the algorithm object cache
- HMAC key schedule optimization
- The build header sets a macro defining endianness, if known
@@ -55,7 +55,7 @@
- Modify most of the library to avoid use the C-style casts
- Use higher resolution timers in symmetric benchmarks
-* 1.7.0, May 19, 2007
+* 1.7.0, 2007-05-19
- DSA parameter generation now follows FIPS 186-3
- Added OIDs for Rabin-Williams and Nyberg-Rueppel
- Somewhat better support for out of tree builds
@@ -63,25 +63,25 @@
- Documentation updates
- Update the todo list
-* 1.6.2, March 24, 2007
+* 1.6.2, 2007-03-24
- Fix autodection on Athlon64s running Linux
- Fix builds on QNX and compilers using STLport
- Remove a call to abort() that crept into production
-* 1.6.1, January 20, 2007
+* 1.6.1, 2007-01-20
- Fix some base64 decoder bugs
- Add a new option to base64 encoding, to always append a newline
- Fix some build problems under Visual Studio with debug enabled
- Fix a bug in BER_Decoder that was triggered under some compilers
-* 1.6.0, December 17, 2006
+* 1.6.0, 2006-12-17
- Minor cleanups versus 1.5.13
-* 1.5.13, December 10, 2006
+* 1.5.13, 2006-12-10
- Compilation fixes for the bzip2, zlib, and GNU MP modules
- Better support for Intel C++ and EKOpath C++ on x86-64
-* 1.5.12, October 27, 2006
+* 1.5.12, 2006-10-27
- Cleanups in the initialization routines
- Add some x86-64 assembly for multiply-add
- Fix problems generating very small (below 384 bit) RSA keys
@@ -89,7 +89,7 @@
- Bring some of the documentation up to date
- More improvements to the Python bindings
-* 1.5.11, September 10, 2006
+* 1.5.11, 2006-09-10
- Removed the Algorithm base class
- Various cleanups in the public key inheritance hierarchy
- Major overhaul of the configure/build setup
@@ -98,7 +98,7 @@
- Various improvements to the Python wrappers
- Work around a Visual Studio compiler bug
-* 1.5.10, August 13, 2006
+* 1.5.10, 2006-08-13
- Add x86 assembler versions of MD4, MD5, and SHA-1
- Expand InitializerOptions' language to support on/off switches
- Fix definition of OID 2.5.4.8; was accidentally changed in 1.5.9
@@ -110,7 +110,7 @@
- Expand the xor_ciph example to support longer keys
- Some updates to the documentation
-* 1.5.9, July 12, 2006
+* 1.5.9, 2006-07-12
- Fixed bitrot in the AEP engine
- Fix support for marking certificate/CRL extensions as critical
- Significant cleanups in the library state / initialization code
@@ -121,7 +121,7 @@
- Add some STL wrappers for the delete operator
- Change how certificates are created to be more flexible and general
-* 1.5.8, June 23, 2006
+* 1.5.8, 2006-06-23
- Many internal cleanups to the X.509 cert/CRL code
- Allow for application code to support new X.509 extensions
- Change the return type of X509_Certificate::{subject,issuer}_info
@@ -132,13 +132,13 @@
- Disable es_unix module on FreeBSD due to build problem on FreeBSD 6.1
- Support for GCC 2.95.x has been dropped in this release
-* 1.5.7, May 28, 2006
+* 1.5.7, 2006-05-28
- Further, major changes to the BER/DER coding system
- Updated the Qt mutex module to use Mutex_Factory
- Moved the library global state object into an anonymous namespace
- Drop the Visual C++ x86 assembly module due to bugs
-* 1.5.6, March 1, 2006
+* 1.5.6, 2006-03-01
- The low-level DER/BER coding system was redesigned and rewritten
- Portions of the certificate code were cleaned up internally
- Use macros to substantially clean up the GCC assembly code
@@ -146,7 +146,7 @@
- Avoid a couple of spurious warnings under Visual C++
- Some slight cleanups in X509_PublicKey::key_id
-* 1.5.5, February 4, 2006
+* 1.5.5, 2006-02-04
- Fixed a potential infinite loop in the memory pool code (Matt Johnston)
- Made Pooling_Allocator::Memory_Block an actual class of sorts
- Some small optimizations to the division and modulo computations
@@ -157,7 +157,7 @@
- Fixed some annoying bugs in the benchmark code
- Added a real credits file
-* 1.5.4, January 29, 2006
+* 1.5.4, 2006-01-29
- Integrated x86 and amd64 assembly code, contributed by Luca Piccarreta
- Fixed a memory access off-by-one in the Karatsuba code
- Changed Pooling_Allocator's free list search to a log(N) algorithm
@@ -174,7 +174,7 @@
- Removed some dead code from bigint_modop
- Fix the definition of same_mem
-* 1.5.3, January 24, 2006
+* 1.5.3, 2006-01-24
- Many optimizations in the low-level multiple precision integer code
- Added hooks for assembly implementations of the MPI code
- Support for the X.509 issuer alternative name extension in new certs
@@ -186,13 +186,13 @@
- Fixed the mp_asm64 module, which was entirely broken in 1.5.2
- Fixed some module build problems on FreeBSD and Tru64
-* 1.4.12, January 15, 2006
+* 1.4.12, 2006-01-15
- Fixed an off-by-one memory read in MISTY1::key()
- Fixed a nasty memory leak in Output_Buffers::retire()
- Changed maximum HMAC keylength to 1024 bits
- Fixed a build problem in the hardware timer module on 64-bit PowerPC
-* 1.5.2, January 15, 2006
+* 1.5.2, 2006-01-15
- Fixed an off-by-one memory read in MISTY1::key()
- Fixed a nasty memory leak in Output_Buffers::retire()
- Reimplemented the memory allocator from scratch
@@ -208,7 +208,7 @@
- Enabled the symmetric algorithm tests, which were accidentally off in 1.5.1
- Removed the Default_Mutex's unused clone() member function
-* 1.5.1, January 8, 2006
+* 1.5.1, 2006-01-08
- Implemented Montgomery exponentiation
- Implemented generalized Karatsuba multiplication and squaring
- Implemented Comba squaring for 4, 6, and 8 word inputs
@@ -221,7 +221,7 @@
- Replaced BigInt's get_nibble with the more general get_substring
- Some documentation updates
-* 1.5.0, January 1, 2006
+* 1.5.0, 2006-01-01
- Moved all global/shared library state into a single object
- Mutex objects are created through mutex factories instead of a global
- Removed ::get_mutex(), ::initialize_mutex(), and Mutex::clone()
@@ -231,7 +231,7 @@
- Removed the deprecated algorithms SEAL, ISAAC, and HAVAL
- Change es_ftw to use unbuffered I/O
-* 1.4.11, December 31, 2005
+* 1.4.11, 2005-12-31
- Changed Whirlpool diffusion matrix to match updated algorithm spec
- Fixed several engine module build errors introduced in 1.4.10
- Fixed two build problems in es_capi; reported by Matthew Gregan
@@ -241,7 +241,7 @@
- Merged doc/rngs.txt into the main API document
- Thanks to Joel Low for several bugreports on early tarballs of 1.4.11
-* 1.4.10, December 18, 2005
+* 1.4.10, 2005-12-18
- Added an implementation of KASUMI, the block cipher used in 3G phones
- Refactored Pipe; output queues are now managed by a distinct class
- Made certain Filter facilities only available to subclasses of Fanout_Filter
@@ -259,7 +259,7 @@
- The header util.h was split into bit_ops.h, parsing.h, and util.h
- Cleaned up some redundant include directives
-* 1.4.9, November 6, 2005
+* 1.4.9, 2005-11-06
- Added the IBM-created AES candidate algorithm MARS
- Added the South Korean block cipher SEED
- Added the stream cipher Turing
@@ -274,14 +274,14 @@
- Added more test vectors for some algorithms, including all the AES finalists
- Various cosmetic source code cleanups
-* 1.4.8, October 16, 2005
+* 1.4.8, 2005-10-16
- Resolved a bad performance problem in the allocators; fix by Matt Johnston
- Worked around a Visual Studio 2003 compilation problem introduced in 1.4.7
- Renamed OMAC to CMAC to match the official NIST naming
- Added single byte versions of update() to PK_Signer and PK_Verifier
- Removed the unused reverse_bits and reverse_bytes functions
-* 1.4.7, September 25, 2005
+* 1.4.7, 2005-09-25
- Fixed major performance problems with recent versions of GNU C++
- Added an implementation of the X9.31 PRNG
- Removed the X9.17 and FIPS 186-2 PRNG algorithms
@@ -296,7 +296,7 @@
- Fix some build problems with Visual C++ 2005 beta
- Fix some build problems with Visual C++ 2003 Workshop
-* 1.4.6, March 13, 2005
+* 1.4.6, 2005-03-13
- Fix an error in the shutdown code introduced in 1.4.5
- Setting base/pkcs8_tries to 0 disables the builtin fail-out
- Support for XMPP identifiers in X.509 certificates
@@ -304,7 +304,7 @@
- More fixes for Borland C++, from Friedemann Kleint
- Add a workaround for buggy iostreams
-* 1.4.5, February 26, 2005
+* 1.4.5, 2005-02-26
- Add support for AES encryption of private keys
- Minor fixes for PBES2 parameter decoding
- Internal cleanups for global state variables
@@ -317,14 +317,14 @@
- Removed some left-over debugging code
- Removed SSL3_MAC, SSL3_PRF, and TLS_PRF
-* 1.4.4, December 2, 2004
+* 1.4.4, 2004-12-02
- Further tweaks to the pooling allocator
- Modified EMSA3 to support SSL/TLS signatures
- Changes to support Qt/QCA, from Justin Karneges
- Moved mux_qt module code into mod_qt
- Fixes for HP-UX from Mike Desjardins
-* 1.4.3, November 6, 2004
+* 1.4.3, 2004-11-06
- Split up SecureAllocator into Allocator and Pooling_Allocator
- Memory locking allocators are more likely to be used
- Fixed the placement of includes in some modules
@@ -332,7 +332,7 @@
- Fixes in configure script to support alternate install programs
- Modules can specify the minimum version they support
-* 1.4.2, October 31, 2004
+* 1.4.2, 2004-10-31
- Fixed a major CRL handling bug
- Cipher and hash operations can be offloaded to engines
- Added support for cipher and hash offload in OpenSSL engine
@@ -344,7 +344,7 @@
- Lots of fixes and cleanups in the configure script
- Updated the Gentoo ebuild file
-* 1.4.1, October 10, 2004
+* 1.4.1, 2004-10-10
- Fixed major errors in the X.509 and PKCS #8 copy_key functions
- Added a LAST_MESSAGE meta-message number for Pipe
- Added new aliases (3DES and DES-EDE) for Triple-DES
@@ -353,7 +353,7 @@
- Disabled tm_posix on *BSD due to header issues
- Fixed a build problem on PowerPC with GNU C++ pre-3.4
-* 1.4.0, June 26, 2004
+* 1.4.0, 2004-06-26
- Added the FIPS 186 RNG back
- Added copy_key functions for X.509 public keys and PKCS #8 private keys
- Fixed PKCS #1 signatures with RIPEMD-128
@@ -362,7 +362,7 @@
- Fixed some build problems on Tru64, HP-UX
- Fixed compile problems with Intel C++, Compaq C++
-* 1.3.14, June 12, 2004
+* 1.3.14, 2004-06-12
- Added support for AEP's AEP1000/AEP2000 crypto cards
- Added a Mutex module using Qt, from Justin Karneges
- Added support for engine loading in LibraryInitializer
@@ -386,14 +386,14 @@
- Changed MP_WORD_BITS macro to BOTAN_MP_WORD_BITS to clean up namespace
- Documentation updates
-* 1.3.13, May 15, 2004
+* 1.3.13, 2004-05-15
- Major fixes for Cygwin builds
- Minor MacOS X install fixes
- The configure script is a little better at picking the right modules
- Removed ml_unix from the 'unix' module set for Cygwin compatibility
- Fixed a stupid compile problem in pkcs10.h
-* 1.3.12, May 2, 2004
+* 1.3.12, 2004-05-02
- Added ability to remove old entries from CRLs
- Swapped the first two arguments of X509_CA::update_crl()
- Added an < operator for MemoryRegion, so it can be used as a std::map key
@@ -406,7 +406,7 @@
- Corrected errors in the API doc, fixes from Ken Perano
- More documentation about the Pipe/Filter code
-* 1.3.11, April 1, 2004
+* 1.3.11, 2004-04-01
- Fixed two show-stopping bugs in PKCS10_Request
- Added some sanity checks in Pipe/Filter
- The DNS and URI entries would get swapped in subjectAlternativeNames
@@ -416,7 +416,7 @@
- Fixed some problems in the tutorial pointed out by Dominik Vogt
- Documentation updates
-* 1.3.10, March 27, 2004
+* 1.3.10, 2004-03-27
- Added support for OpenPGP's ASCII armor format
- Cleaned up the RNG system; seeding is much more flexible
- Added simple autoconfiguration abilities to configure.pl
@@ -424,7 +424,7 @@
- Updated the example configuration file
- Documentation updates
-* 1.3.9, March 7, 2004
+* 1.3.9, 2004-03-07
- Added an engine using OpenSSL (requires 0.9.7 or later)
- X509_Certificate would lose email addresses stored in the DN
- Fixed a missing initialization in a BigInt constructor
@@ -432,7 +432,7 @@
- Fixed some BeOS build problems
- Fixed the WiderWake benchmark
-* 1.3.8, December 30, 2003
+* 1.3.8, 2003-12-30
- Internal changes to PK algorithms to divide data and algorithms
- DSA/DH/NR/ElGamal constructors accept taking just the private key again
- ElGamal keys now support being imported/exported as ASN.1 objects
@@ -453,7 +453,7 @@
- Moved more shared code into MDx_HashFunction
- Added a policy hook for specifying the encoding of X.509 strings
-* 1.3.7, December 12, 2003
+* 1.3.7, 2003-12-12
- Fixed a big security problem in es_unix
- Fixed several stability problems in es_unix
- Expanded the list of programs es_unix will try to use
@@ -464,13 +464,13 @@
- Removed the (never tested) VAX support
- Added support for S/390 Linux
-* 1.3.6, December 7, 2003
+* 1.3.6, 2003-12-07
- Added a new module 'minimal', which disables most algorithms
- SecureAllocator allocates a few blocks at startup
- A few minor MPI cleanups
- RPM spec file cleanups and fixes
-* 1.3.5, November 30, 2003
+* 1.3.5, 2003-11-30
- Major improvements in ASN.1 string handling
- Added partial support for ASN.1 UTF8 STRINGs and BMP STRINGs
- Added partial support for the X.509v3 certificate policies extension
@@ -489,10 +489,10 @@
- RPM changed to install into /usr instead of /usr/local
- Added support for QNX
-* 1.2.8, November 21, 2003
+* 1.2.8, 2003-11-21
- Merged several important bug fixes from 1.3.x
-* 1.3.4, November 21, 2003
+* 1.3.4, 2003-11-21
- Added a module that does certain MPI operations using GNU MP
- Added the X9.42 Diffie-Hellman PRF
- The Zlib and Bzip2 objects now use custom allocators
@@ -501,7 +501,7 @@
- Some cleanups in the low-level MPI code
- Created separate AES-{128,192,256} objects
-* 1.3.3, November 17, 2003
+* 1.3.3, 2003-11-17
- The library can now be repeatedly initialized and shutdown without crashing
- Fixed an off-by-one error in the CTS code
- Fixed an error in the EMSA4 verification code
@@ -517,7 +517,7 @@
- Updated the example config file with new OIDSs
- Moved the build instructions into a separate document, building.tex
-* 1.3.2, November 13, 2003
+* 1.3.2, 2003-11-13
- Fixed a bug preventing DSA signatures from verifying on X.509 objects
- Made the X509_Store search routines more efficient and flexible
- Added a function to X509_PublicKey to do easy public/private key matching
@@ -536,12 +536,12 @@
- Various new hacks in the configure script
- Removed the already nominal support for SunOS
-* 1.3.1, November 4, 2003
+* 1.3.1, 2003-11-04
- Generalized a few pieces of the DER encoder
- PKCS8::load_key would fail if handed an unencrypted key
- Added a failsafe so PKCS #8 key decoding can't go into an infinite loop
-* 1.3.0, November 2, 2003
+* 1.3.0, 2003-11-02
- Major redesign of the PKCS #8 private key import/export system
- Added a small amount of UI interface code for getting passphrases
- Added heuristics that tell if a key, cert, etc is stored as PEM or BER
@@ -549,7 +549,7 @@
- Removed certain deprecated constructors of RSA, DSA, DH, RW, NR
- Made PEM decoding more forgiving of extra text before the header
-* 1.2.7, October 31, 2003
+* 1.2.7, 2003-10-31
- Added support for reading configuration files
- Added constructors so NR and RW keys can be imported easily
- Fixed mp_asm64, which was completely broken in 1.2.6
@@ -562,7 +562,7 @@
- Updated the RPM spec file
- Added to the tutorial
-* 1.2.6, July 4, 2003
+* 1.2.6, 2003-07-04
- Major performance increase for PK algorithms on most 64-bit systems
- Cleanups in the low-level MPI code to support asm implementations
- Fixed build problems with some versions of Compaq's C++ compiler
@@ -570,7 +570,7 @@
- Removed support for the patch_file directive in module files
- Removed several deprecated functions
-* 1.2.5, June 22, 2003
+* 1.2.5, 2003-06-22
- Fixed a tricky and long-standing memory leak in Pipe
- Major cleanups and fixes in the memory allocation system
- Removed alloc_mlock, which has been superseded by the ml_unix module
@@ -591,13 +591,13 @@
- Removed the (empty) desx.h header
- Documentation updates
-* 1.2.4, May 29, 2003
+* 1.2.4, 2003-05-29
- Fixed a bug in EMSA1 affecting NR signature verification
- Fixed a few latent bugs in BigInt related to word size
- Removed an unused function, mp_add2_nc, from the MPI implementation
- Reorganized the core MPI files
-* 1.2.3, May 20, 2003
+* 1.2.3, 2003-05-20
- Fixed a bug that prevented DSA/NR key generation
- Fixed a bug that prevented importing some root CA certs
- Fixed a bug in the BER decoder when handing optional bit or byte strings
@@ -609,7 +609,7 @@
- Added a simplistic X.509 CA example
- Cleaned up some of the examples
-* 1.2.2, May 13, 2003
+* 1.2.2, 2003-05-13
- Add checks to prevent any BigInt bugs from revealing an RSA or RW key
- Changed the interface of Global_RNG::seed
- Major improvements for the es_unix module
@@ -620,7 +620,7 @@
- Fixed a file descriptor leak in the EGD module
- Fixed a few locking bugs
-* 1.2.1, May 6, 2003
+* 1.2.1, 2003-05-06
- Added ANSI X9.23 compatible CBC padding
- Added an entropy source using Win32 CryptoAPI
- Removed the Pipe I/O operators taking a FILE*
@@ -628,13 +628,13 @@
- Integrated several fixes for VC++ 7 (from Hany Greiss)
- Fixed the configure.pl script for Windows builds
-* 1.2.0, April 28, 2003
+* 1.2.0, 2003-04-28
- Tweaked the Karatsuba cut-off points
- Increased the allowed keylength of HMAC and Blowfish
- Removed the 'mpi_ia32' module, pending rewrite
- Workaround a GCC 2.95.x bug in eme1.cpp
-* 1.1.13, April 22, 2003
+* 1.1.13, 2003-04-22
- Added OMAC
- Added EAX authenticated cipher mode
- Diffie-Hellman would not do blinding in some cases
@@ -648,7 +648,7 @@
- Removed 'es_pthr' module, pending further testing
- Cleaned up get_ciph.cpp
-* 1.1.12, April 15, 2003
+* 1.1.12, 2003-04-15
- Fixed a ASN.1 string encoding bug
- Fixed a pair of X509_DN encoding problems
- Base64_Decoder and Hex_Decoder can now validate input
@@ -658,7 +658,7 @@
- Updated the RPM .spec file
- Major documentation updates
-* 1.1.11, April 7, 2003
+* 1.1.11, 2003-04-07
- Added PKCS #10 certificate requests
- Changed X509_Store searching interface to be more flexible
- Added a generic Certificate_Store interface
@@ -667,7 +667,7 @@
- New examples for PKCS #10 and self-signed certificates
- Some documentation updates
-* 1.1.10, April 3, 2003
+* 1.1.10, 2003-04-03
- X509_CA can now generate new X.509 CRLs
- Added blinding for RSA, RW, DH, and ElGamal to prevent timing attacks
- More certificate and CRL extensions/attributes are supported
@@ -678,7 +678,7 @@
- Added a (slow) pthreads based EntropySource
- Fixed some threading bugs
-* 1.1.9, February 25, 2003
+* 1.1.9, 2003-02-25
- Added support for using X.509v2 CRLs
- Fixed several bugs in the path validation algorithm
- Certificates can be verified for a particular usage
@@ -686,7 +686,7 @@
- Cleaned up the code for the es_beos, es_ftw, es_unix modules
- Documentation updates
-* 1.1.8, January 29, 2003
+* 1.1.8, 2003-01-29
- Fixes for the certificate path validation algorithm in X509_Store
- Fixed a bug affecting X509_Certificate::is_ca_cert()
- Added a general configuration interface for policy issues
@@ -697,17 +697,17 @@
- Fixed problems compiling with GCC 2.95.3 and GCC 2.96
- Fixed a configure bug (reported by Jon Wilson) affecting MinGW
-* 1.1.7, January 12, 2003
+* 1.1.7, 2003-01-12
- Fixed an obscure but dangerous bug in SecureVector::swap
- Consolidated SHA-384 and SHA-512 to save code space
- Added SSL3-MAC and SSL3-PRF
- Documentation updates, including a new tutorial
-* 1.0.2, January 12, 2003
+* 1.0.2, 2003-01-12
- Fixed an obscure SEGFAULT causing bug in Pipe
- Fixed an obscure but dangerous bug in SecureVector::swap
-* 1.1.6, December 10, 2002
+* 1.1.6, 2002-12-10
- Initial support for X.509v3 certificates and CAs
- Major redesign/rewrite of the ASN.1 encoding/decoding code
- Added handling for DSA/NR signatures encoded as DER SEQUENCEs
@@ -715,13 +715,13 @@
- Added an (untested) entropy source for BeOS
- Various cleanups and bug fixes
-* 1.1.5, November 17, 2002
+* 1.1.5, 2002-11-17
- Added the discrete logarithm integrated encryption system (DLIES)
- Various optimizations for BigInt
- Added support for assembler optimizations in modules
- Added BigInt x86 optimizations module (mpi_ia32)
-* 1.1.4, November 10, 2002
+* 1.1.4, 2002-11-10
- Speedup of 15-30% for PK algorithms
- Implemented the PBES2 encryption scheme
- Fixed a potential bug in decoding RSA and RW private keys
@@ -733,7 +733,7 @@
- A botan-config script is generated at configure time
- Documentation updates
-* 1.1.3, November 3, 2002
+* 1.1.3, 2002-11-03
- Added a generic public/private key loading interface
- Fixed a small encoding bug in RSA, RW, and DH
- Changed the PK encryption/decryption interface classes
@@ -746,7 +746,7 @@
- Added tests for PKCS #8 encoding/decoding
- Added more tests for ECB and CBC
-* 1.1.2, October 21, 2002
+* 1.1.2, 2002-10-21
- Support for PKCS #8 encoded RSA, DSA, and DH private keys
- Support for Diffie-Hellman X.509 public keys
- Major reorganization of how X.509 keys are handled
@@ -761,7 +761,7 @@
- Renamed CTR class to CTR_BE
- Updated the RSA and DSA examples to use X.509 and PKCS #8 key formats
-* 1.1.1, October 15, 2002
+* 1.1.1, 2002-10-15
- Added the Korean hash function HAS-160
- Partial support for RSA and DSA X.509 public keys
- Added a mostly functional BER encoder/decoder
@@ -774,7 +774,7 @@
- Discrete logarithm groups are checked for safety more closely now
- For compatibility with GnuPG, ElGamal now supports DSA-style groups
-* 1.1.0, September 14, 2002
+* 1.1.0, 2002-09-14
- Added entropy estimation to the RNGs
- Improved the overall design of both Randpool and ANSI_X917_RNG
- Added a separate RNG for nonce generation
@@ -791,20 +791,20 @@
- Added support for variable-pass Tiger
- Major speedup for Rabin-Williams key generation
-* 1.0.1, September 14, 2002
+* 1.0.1, 2002-09-14
- Fixed a minor bug in Randpool::random()
- Added some new aliases and typedefs for 1.1.x compatibility
- The 4096-bit RSA benchmark key was decimal instead of hex
- EMAC was returning an incorrect name
-* 1.0.0, August 26, 2002
+* 1.0.0, 2002-08-26
- Octal I/O of BigInt is now supported
- Fixed portability problems in the es_egd module
- Generalized IV handling in the block cipher modes
- Added Karatsuba multiplication and k-ary exponentiation
- Fixed a problem in the multiplication routines
-* 0.9.2, August 18, 2002
+* 0.9.2, 2002-08-18
- DH_PrivateKey::public_value() was returning the wrong value
- Various BigInt optimizations
- The filters.h header now includes hex.h and base64.h
@@ -812,7 +812,7 @@
- Fixed a couple minor problems with VC++ 7
- Fixed problems with the RPM spec file
-* 0.9.1, August 10, 2002
+* 0.9.1, 2002-08-10
- Grand rename from OpenCL to Botan
- Major optimizations for the PK algorithms
- Added ElGamal encryption
@@ -827,12 +827,12 @@
- Removed some old examples that weren't that interesting
- Documented the compression modules
-* 0.9.0, August 3, 2002
+* 0.9.0, 2002-08-03
- EMSA4 supports variable salt size
- PK_* can take a string naming the encoding method to use
- Started writing some internals documentation
-* 0.8.7, July 30, 2002
+* 0.8.7, 2002-07-30
- Fixed bugs in EME1 and EMSA4
- Fixed a potential crash at shutdown
- Cipher modes returned an ill-formed name
@@ -841,7 +841,7 @@
- Minor additions to the documentation
- First stab at a Visual C++ makefile (doc/Makefile.vc7)
-* 0.8.6, July 25, 2002
+* 0.8.6, 2002-07-25
- Added EMSA4 (aka PSS)
- Brought the manual up to date; many corrections and additions
- Added a parallel hash function construction
@@ -862,7 +862,7 @@
- Made validation tests more verbose
- Updated the check and example applications
-* 0.8.5, July 21, 2002
+* 0.8.5, 2002-07-21
- Major changes to constructors for DL-based cryptosystems (DSA, NR, DH)
- Added a DL_Group class
- Reworking of the pubkey internals
@@ -879,7 +879,7 @@
- Fixes for HP's aCC compiler
- Cleanups in BigInt
-* 0.8.4, July 14, 2002
+* 0.8.4, 2002-07-14
- Added Nyberg-Rueppel signatures
- Added Diffie-Hellman key exchange (kex interface is subject to change)
- Added KDF2
@@ -894,7 +894,7 @@
- FTW_EntropySource was not closing the files it read
- Fixed line breaking problem in Hex_Encoder
-* 0.8.3, June 9, 2002
+* 0.8.3, 2002-06-09
- Added DSA and Rabin-Williams signature schemes
- Added EMSA3
- Added PKCS#1 v1.5 encryption padding
@@ -911,7 +911,7 @@
- Numerous bugfixes and cleanups
- Documentation updates
-* 0.8.2, May 18, 2002
+* 0.8.2, 2002-05-18
- Added an (experimental) algorithm lookup interface
- Added code for directly testing BigInt
- Added SHA2-384
@@ -925,7 +925,7 @@
- Better support for PowerPC, ARM, and Alpha
- Some more cleanups
-* 0.8.1, May 6, 2002
+* 0.8.1, 2002-05-06
- Major code cleanup (check doc/deprecated.txt)
- Various bugs fixed, including several portability problems
- Renamed MessageAuthCode to MessageAuthenticationCode
@@ -934,7 +934,7 @@
- Added ANSI X9.19 compatible CBC-MAC
- TripleDES now supports 128 bit keys
-* 0.8.0, April 24, 2002
+* 0.8.0, 2002-04-24
- Merged BigInt: many bugfixes and optimizations since alpha2
- Added RSA (rsa.h)
- Added EMSA2 (emsa2.h)
@@ -952,7 +952,7 @@
- Documentation updates for the new stuff (still incomplete)
- Many new deprecated things: check doc/deprecated.txt
-* 0.7.10, April 7, 2002
+* 0.7.10, 2002-04-07
- Added EGD_EntropySource module (es_egd)
- Added a file tree walking EntropySource (es_ftw)
- Added MemoryLocking_Allocator module (alloc_mlock)
@@ -967,7 +967,7 @@
- Removed some Pipe functions deprecated since 0.7.8
- Some fixes for the configure program
-* 0.7.9, March 19, 2002
+* 0.7.9, 2002-03-19
- Memory allocation substantially revamped
- Added memory allocation method based on mmap(2) in the mmap_mem module
- Added ECB and CTS block cipher modes (ecb.h, cts.h)
@@ -981,7 +981,7 @@
- Made X917 safer (and about 1/3 as fast)
- Documentation updates
-* 0.7.8, February 28, 2002
+* 0.7.8, 2002-02-28
- More capabilities for Pipe, inspired by SysV STREAMS, including peeking,
better buffering, and stack ops. NOT BACKWARDS COMPATIBLE: SEE DOCUMENTATION
- Added a BufferingFilter class
@@ -995,7 +995,7 @@
- Fixed various minor bugs
- Added a couple of new example programs (stack and hasher2)
-* 0.7.7, November 24, 2001
+* 0.7.7, 2001-11-24
- Filter::send now works in the constructor of a Filter subclass
- You may now have to include <opencl/pipe.h> explicitly in some code
- Added preliminary PK infrastructure classes in pubkey.h and pkbase.h
@@ -1008,7 +1008,7 @@
- Added portions of the BigInt code into the main library
- Support for VAX, SH, POWER, PowerPC-64, Intel C++
-* 0.7.6, October 14, 2001
+* 0.7.6, 2001-10-14
- Fixed several serious bugs in SecureVector created in 0.7.5
- Square optimizations
- Fixed shared objects on MacOS X and HP-UX
@@ -1017,7 +1017,7 @@
- Added a table of prime numbers < 2**16 (primes.h)
- Some minor documentation updates
-* 0.7.5, August 19, 2001
+* 0.7.5, 2001-08-19
- Split checksum.h into adler32.h, crc24.h, and crc32.h
- Split modes.h into cbc.h, cfb.h, and ofb.h
- CBC_wPadding* has been replaced by CBC_Encryption and CBC_Decryption
@@ -1034,7 +1034,7 @@
- Various non-user-visible cleanups
- Shared library soname is now set to the full version number
-* 0.7.4, July 15, 2001
+* 0.7.4, 2001-07-15
- New modules: Zlib, gettimeofday and x86 RTC timers, Unix I/O for Pipe
- Fixed a vast number of errors in the config script/makefile/specfile
- Pipe now has a stdio(3) interface as well as C++ iostreams
@@ -1046,14 +1046,14 @@
- filtbase.h now includes <iosfwd>, not <iostream>
- Minor documentation updates
-* 0.7.3, June 8, 2001
+* 0.7.3, 2001-06-08
- Fix build problems on Solaris/SPARC
- Fix build problems with Perl versions < 5.6
- Fixed some stupid code that broke on a few compilers
- Added string handling functions to Pipe
- MISTY1 optimizations
-* 0.7.2, June 3, 2001
+* 0.7.2, 2001-06-03
- Build system supports modules
- Added modules for mlock, a /dev/random EntropySource, POSIX1.b timers
- Added Bzip2 compression filter, contributed by Peter Jones
@@ -1062,7 +1062,7 @@
- Various other minor fixes and changes
- Updates to the documentation
-* 0.7.1, May 16, 2001
+* 0.7.1, 2001-05-16
- Rewrote configure script: more consistent and complete
- Made it easier to find out parameters of types at run time (opencl.h)
- New functions for finding the version being used (version.h)
@@ -1074,5 +1074,5 @@
- Many more entries in the test vector file
- Fixed minor and idiotic bug in check.cpp
-* 0.7.0, March 1, 2001
+* 0.7.0, 2001-03-01
- First public release
============================================================
--- include/adler32.h 3fb3da1fd6fad8255838631b150dc0ce05efd2cd
+++ include/adler32.h d0efdb2ca6a2312ef2e2abeba1c110fc15c888e8
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Adler32 *
*************************************************/
-class Adler32 : public HashFunction
+class BOTAN_DLL Adler32 : public HashFunction
{
public:
void clear() throw() { S1 = 1; S2 = 0; }
============================================================
--- include/aes.h c435704aba7109c47f3a6eb1cd2de292c2d0eca4
+++ include/aes.h f21a206b14c737acaa124f04c104e1d5daaee5ae
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* AES *
*************************************************/
-class AES : public BlockCipher
+class BOTAN_DLL AES : public BlockCipher
{
public:
void clear() throw();
@@ -26,8 +26,11 @@ class AES : public BlockCipher
void dec(const byte[], byte[]) const;
void key(const byte[], u32bit);
static u32bit S(u32bit);
- static const byte SE[256], SD[256];
- static const u32bit TE[1024], TD[1024];
+
+ static const byte SE[256];
+ static const byte SD[256];
+ static const u32bit TE[1024];
+ static const u32bit TD[1024];
SecureBuffer<u32bit, 52> EK, DK;
SecureBuffer<byte, 32> ME, MD;
u32bit ROUNDS;
@@ -36,7 +39,7 @@ class AES : public BlockCipher
/*************************************************
* AES-128 *
*************************************************/
-class AES_128 : public AES
+class BOTAN_DLL AES_128 : public AES
{
public:
std::string name() const { return "AES-128"; }
@@ -47,7 +50,7 @@ class AES_128 : public AES
/*************************************************
* AES-192 *
*************************************************/
-class AES_192 : public AES
+class BOTAN_DLL AES_192 : public AES
{
public:
std::string name() const { return "AES-192"; }
@@ -58,7 +61,7 @@ class AES_192 : public AES
/*************************************************
* AES-256 *
*************************************************/
-class AES_256 : public AES
+class BOTAN_DLL AES_256 : public AES
{
public:
std::string name() const { return "AES-256"; }
============================================================
--- include/alg_id.h f35b1fa8eb93f5342db03e2d8bf216cc50e51e24
+++ include/alg_id.h 92a1557cfb909aded041463da82d4906b2298928
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Algorithm Identifier *
*************************************************/
-class AlgorithmIdentifier : public ASN1_Object
+class BOTAN_DLL AlgorithmIdentifier : public ASN1_Object
{
public:
enum Encoding_Option { USE_NULL_PARAM };
============================================================
--- include/allocate.h 2670420b0e017d31c381021c0b7f1d1866fbab55
+++ include/allocate.h 0f4769a449df515dc1a468eb0b5d06d20fc02148
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Allocator Interface *
*************************************************/
-class Allocator
+class BOTAN_DLL Allocator
{
public:
static Allocator* get(bool);
============================================================
--- include/arc4.h aebe572be0beee98e6c0ed6577157c5b7273d40b
+++ include/arc4.h 01b224e18d457df1b42a24b30fee9a937dd84f13
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* ARC4 *
*************************************************/
-class ARC4 : public StreamCipher
+class BOTAN_DLL ARC4 : public StreamCipher
{
public:
void clear() throw();
============================================================
--- include/asn1_int.h 73aba9e43f1440e3ca44425e159173815f174f8e
+++ include/asn1_int.h 5caaae2713c3f14a3a4508263e52bc3331674c36
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Basic ASN.1 Object Interface *
*************************************************/
-class ASN1_Object
+class BOTAN_DLL ASN1_Object
{
public:
virtual void encode_into(class DER_Encoder&) const = 0;
@@ -26,7 +26,7 @@ class ASN1_Object
/*************************************************
* BER Encoded Object *
*************************************************/
-class BER_Object
+class BOTAN_DLL BER_Object
{
public:
void assert_is_a(ASN1_Tag, ASN1_Tag);
============================================================
--- include/asn1_obj.h 79894e23c4ab45f61b30583b94444f6079e252e5
+++ include/asn1_obj.h 689ebbff1a5254e49f3cd7baa5a9fe82d9b082f6
@@ -18,7 +18,7 @@ namespace Botan {
/*************************************************
* Attribute *
*************************************************/
-class Attribute : public ASN1_Object
+class BOTAN_DLL Attribute : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -35,7 +35,7 @@ class Attribute : public ASN1_Object
/*************************************************
* X.509 Time *
*************************************************/
-class X509_Time : public ASN1_Object
+class BOTAN_DLL X509_Time : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -62,7 +62,7 @@ class X509_Time : public ASN1_Object
/*************************************************
* Simple String *
*************************************************/
-class ASN1_String : public ASN1_Object
+class BOTAN_DLL ASN1_String : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -83,7 +83,7 @@ class ASN1_String : public ASN1_Object
/*************************************************
* Distinguished Name *
*************************************************/
-class X509_DN : public ASN1_Object
+class BOTAN_DLL X509_DN : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -113,7 +113,7 @@ class X509_DN : public ASN1_Object
/*************************************************
* Alternative Name *
*************************************************/
-class AlternativeName : public ASN1_Object
+class BOTAN_DLL AlternativeName : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -139,24 +139,26 @@ class AlternativeName : public ASN1_Obje
/*************************************************
* Comparison Operations *
*************************************************/
-bool operator==(const AlgorithmIdentifier&, const AlgorithmIdentifier&);
-bool operator!=(const AlgorithmIdentifier&, const AlgorithmIdentifier&);
+bool BOTAN_DLL operator==(const AlgorithmIdentifier&,
+ const AlgorithmIdentifier&);
+bool BOTAN_DLL operator!=(const AlgorithmIdentifier&,
+ const AlgorithmIdentifier&);
-bool operator==(const X509_Time&, const X509_Time&);
-bool operator!=(const X509_Time&, const X509_Time&);
-bool operator<=(const X509_Time&, const X509_Time&);
-bool operator>=(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator==(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator!=(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator<=(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator>=(const X509_Time&, const X509_Time&);
-bool operator==(const X509_DN&, const X509_DN&);
-bool operator!=(const X509_DN&, const X509_DN&);
-bool operator<(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator==(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator!=(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator<(const X509_DN&, const X509_DN&);
/*************************************************
* Helper Functions *
*************************************************/
-s32bit validity_check(const X509_Time&, const X509_Time&, u64bit);
+s32bit BOTAN_DLL validity_check(const X509_Time&, const X509_Time&, u64bit);
-bool is_string_type(ASN1_Tag);
+bool BOTAN_DLL is_string_type(ASN1_Tag);
}
============================================================
--- include/asn1_oid.h 23e21c30ec13da88cc841e270021519c5229d5b5
+++ include/asn1_oid.h 6e4b868ccc447a35b13af5575146d38cc145e05f
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* ASN.1 Object Identifier *
*************************************************/
-class OID : public ASN1_Object
+class BOTAN_DLL OID : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -37,13 +37,13 @@ class OID : public ASN1_Object
/*************************************************
* Append another component onto the OID *
*************************************************/
-OID operator+(const OID&, u32bit);
+OID BOTAN_DLL operator+(const OID&, u32bit);
/*************************************************
* Compare two OIDs *
*************************************************/
-bool operator!=(const OID&, const OID&);
-bool operator<(const OID&, const OID&);
+bool BOTAN_DLL operator!=(const OID&, const OID&);
+bool BOTAN_DLL operator<(const OID&, const OID&);
}
============================================================
--- include/base.h 0dfe04238a2d8f7f9354f07a4a41ed758d2b596a
+++ include/base.h 54a99ec584afb04330ebe7b6c2baaca06a0c0246
@@ -19,7 +19,7 @@ static const u32bit DEFAULT_BUFFERSIZE =
/*************************************************
* Symmetric Algorithm *
*************************************************/
-class SymmetricAlgorithm
+class BOTAN_DLL SymmetricAlgorithm
{
public:
const u32bit MAXIMUM_KEYLENGTH, MINIMUM_KEYLENGTH, KEYLENGTH_MULTIPLE;
@@ -38,7 +38,7 @@ class SymmetricAlgorithm
/*************************************************
* Block Cipher *
*************************************************/
-class BlockCipher : public SymmetricAlgorithm
+class BOTAN_DLL BlockCipher : public SymmetricAlgorithm
{
public:
const u32bit BLOCK_SIZE;
@@ -61,7 +61,7 @@ class BlockCipher : public SymmetricAlgo
/*************************************************
* Stream Cipher *
*************************************************/
-class StreamCipher : public SymmetricAlgorithm
+class BOTAN_DLL StreamCipher : public SymmetricAlgorithm
{
public:
const u32bit IV_LENGTH;
@@ -85,7 +85,7 @@ class StreamCipher : public SymmetricAlg
/*************************************************
* Buffered Computation *
*************************************************/
-class BufferedComputation
+class BOTAN_DLL BufferedComputation
{
public:
const u32bit OUTPUT_LENGTH;
@@ -108,7 +108,7 @@ class BufferedComputation
/*************************************************
* Hash Function *
*************************************************/
-class HashFunction : public BufferedComputation
+class BOTAN_DLL HashFunction : public BufferedComputation
{
public:
const u32bit HASH_BLOCK_SIZE;
@@ -124,7 +124,7 @@ class HashFunction : public BufferedComp
/*************************************************
* Message Authentication Code *
*************************************************/
-class MessageAuthenticationCode : public BufferedComputation,
+class BOTAN_DLL MessageAuthenticationCode : public BufferedComputation,
public SymmetricAlgorithm
{
public:
@@ -141,7 +141,7 @@ class MessageAuthenticationCode : public
/*************************************************
* Entropy Source *
*************************************************/
-class EntropySource
+class BOTAN_DLL EntropySource
{
public:
virtual u32bit slow_poll(byte[], u32bit) = 0;
@@ -152,11 +152,11 @@ class EntropySource
/*************************************************
* Random Number Generator *
*************************************************/
-class RandomNumberGenerator
+class BOTAN_DLL RandomNumberGenerator
{
public:
virtual void randomize(byte[], u32bit) throw(PRNG_Unseeded) = 0;
- virtual bool is_seeded() const { return true; }
+ virtual bool is_seeded() const = 0;
virtual void clear() throw() {};
void add_entropy(const byte[], u32bit);
============================================================
--- include/base64.h d1f12f08c64810dd5901cca8902bd3d9bec1bec8
+++ include/base64.h 3155e46ef5f905472ba75bfcf21a3347405175cf
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Base64 Encoder *
*************************************************/
-class Base64_Encoder : public Filter
+class BOTAN_DLL Base64_Encoder : public Filter
{
public:
static void encode(const byte[3], byte[4]);
@@ -36,7 +36,7 @@ class Base64_Encoder : public Filter
/*************************************************
* Base64 Decoder *
*************************************************/
-class Base64_Decoder : public Filter
+class BOTAN_DLL Base64_Decoder : public Filter
{
public:
static void decode(const byte[4], byte[3]);
============================================================
--- include/basefilt.h 3c60162d57d6362585bd2a0a6ba609c69848ee3b
+++ include/basefilt.h efa2ea51c6eee5fd064a1f0b88084009313ce9e5
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Chain *
*************************************************/
-class Chain : public Fanout_Filter
+class BOTAN_DLL Chain : public Fanout_Filter
{
public:
void write(const byte input[], u32bit length) { send(input, length); }
@@ -25,7 +25,7 @@ class Chain : public Fanout_Filter
/*************************************************
* Fork *
*************************************************/
-class Fork : public Fanout_Filter
+class BOTAN_DLL Fork : public Fanout_Filter
{
public:
void write(const byte input[], u32bit length) { send(input, length); }
@@ -38,7 +38,7 @@ class Fork : public Fanout_Filter
/*************************************************
* Keyed Filter *
*************************************************/
-class Keyed_Filter : public Filter
+class BOTAN_DLL Keyed_Filter : public Filter
{
public:
virtual void set_key(const SymmetricKey&);
============================================================
--- include/ber_dec.h bbf9928c67e9657232a99f2153430f93dd29abd6
+++ include/ber_dec.h 90a3ca1bab5637490b05f6dce57aca75fc794b01
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* BER Decoding Object *
*************************************************/
-class BER_Decoder
+class BOTAN_DLL BER_Decoder
{
public:
BER_Object get_next_object();
@@ -120,7 +120,7 @@ namespace BER {
*************************************************/
namespace BER {
-void decode(BER_Decoder&, Key_Constraints&);
+void BOTAN_DLL decode(BER_Decoder&, Key_Constraints&);
}
============================================================
--- include/bigint.h ed1927cc126f73b40fe47039e6c98261a19fd002
+++ include/bigint.h fb6bdbaf9256d243c2a40b877fbb572986b76b77
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* BigInt *
*************************************************/
-class BigInt
+class BOTAN_DLL BigInt
{
public:
enum Base { Octal = 8, Decimal = 10, Hexadecimal = 16, Binary = 256 };
@@ -113,14 +113,14 @@ class BigInt
/*************************************************
* Arithmetic Operators *
*************************************************/
-BigInt operator+(const BigInt&, const BigInt&);
-BigInt operator-(const BigInt&, const BigInt&);
-BigInt operator*(const BigInt&, const BigInt&);
-BigInt operator/(const BigInt&, const BigInt&);
-BigInt operator%(const BigInt&, const BigInt&);
-word operator%(const BigInt&, word);
-BigInt operator<<(const BigInt&, u32bit);
-BigInt operator>>(const BigInt&, u32bit);
+BigInt BOTAN_DLL operator+(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL operator-(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL operator*(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL operator/(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL operator%(const BigInt&, const BigInt&);
+word BOTAN_DLL operator%(const BigInt&, word);
+BigInt BOTAN_DLL operator<<(const BigInt&, u32bit);
+BigInt BOTAN_DLL operator>>(const BigInt&, u32bit);
/*************************************************
* Comparison Operators *
@@ -141,8 +141,8 @@ inline bool operator>(const BigInt& a, c
/*************************************************
* I/O Operators *
*************************************************/
-std::ostream& operator<<(std::ostream&, const BigInt&);
-std::istream& operator>>(std::istream&, BigInt&);
+BOTAN_DLL std::ostream& operator<<(std::ostream&, const BigInt&);
+BOTAN_DLL std::istream& operator>>(std::istream&, BigInt&);
}
============================================================
--- include/blinding.h a21d259830b078b0e8f3ba76c48a66b92247204c
+++ include/blinding.h dde8b94457fefaf91016cd617dc7590c3bbf9529
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Blinding Function Object *
*************************************************/
-class Blinder
+class BOTAN_DLL Blinder
{
public:
BigInt blind(const BigInt&) const;
============================================================
--- include/blowfish.h 09a78b0f7a4c5456346540885931b7504f35bd79
+++ include/blowfish.h d910c2b54b87c511ac9f21f1254e72ed24e5fa82
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Blowfish *
*************************************************/
-class Blowfish : public BlockCipher
+class BOTAN_DLL Blowfish : public BlockCipher
{
public:
void clear() throw();
@@ -26,7 +26,8 @@ class Blowfish : public BlockCipher
void key(const byte[], u32bit);
void generate_sbox(u32bit[], u32bit, u32bit&, u32bit&) const;
- static const u32bit PBOX[18], SBOX[1024];
+ static const u32bit PBOX[18];
+ static const u32bit SBOX[1024];
SecureBuffer<u32bit, 256> S1, S2, S3, S4;
SecureBuffer<u32bit, 18> P;
============================================================
--- include/buf_es.h bf69fc56fb8169929d529afc2e911f954408a838
+++ include/buf_es.h 6d0b85ee23b95511cca43e7754a65494d8553b0c
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Buffered EntropySource *
*************************************************/
-class Buffered_EntropySource : public EntropySource
+class BOTAN_DLL Buffered_EntropySource : public EntropySource
{
public:
u32bit slow_poll(byte[], u32bit);
============================================================
--- include/buf_filt.h 9a6e15cd22d291c03af283ec5d723b1f04f7d482
+++ include/buf_filt.h a87ed4badce2ec906b1e048e3d876f629a525f10
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Buffering Filter *
*************************************************/
-class Buffering_Filter : public Filter
+class BOTAN_DLL Buffering_Filter : public Filter
{
public:
void write(const byte[], u32bit);
============================================================
--- include/cast128.h 04f8ca07c0f6e1829f70f2eaebf153c4df36fc09
+++ include/cast128.h 3ab5011603389f700aa77e2b3b7d2529b8c3648e
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CAST-128 *
*************************************************/
-class CAST_128 : public BlockCipher
+class BOTAN_DLL CAST_128 : public BlockCipher
{
public:
void clear() throw() { MK.clear(); RK.clear(); }
@@ -27,7 +27,10 @@ class CAST_128 : public BlockCipher
static void key_schedule(u32bit[16], u32bit[4]);
- static const u32bit S5[256], S6[256], S7[256], S8[256];
+ static const u32bit S5[256];
+ static const u32bit S6[256];
+ static const u32bit S7[256];
+ static const u32bit S8[256];
SecureBuffer<u32bit, 16> MK, RK;
};
============================================================
--- include/cast256.h a42b17aab8fb3bfe958d0842e2bcd962cdf4bd8e
+++ include/cast256.h 2a0689608d851aa9bd85a97dd38043fa89017a04
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CAST-256 *
*************************************************/
-class CAST_256 : public BlockCipher
+class BOTAN_DLL CAST_256 : public BlockCipher
{
public:
void clear() throw() { MK.clear(); RK.clear(); }
============================================================
--- include/cbc.h f4651ab650fe65917932c36f9345bed021fb5556
+++ include/cbc.h df71821e246ae7b793787d4de94c1caae4659c5f
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* CBC Encryption *
*************************************************/
-class CBC_Encryption : public BlockCipherMode
+class BOTAN_DLL CBC_Encryption : public BlockCipherMode
{
public:
CBC_Encryption(const std::string&, const std::string&);
@@ -30,7 +30,7 @@ class CBC_Encryption : public BlockCiphe
/*************************************************
* CBC Decryption *
*************************************************/
-class CBC_Decryption : public BlockCipherMode
+class BOTAN_DLL CBC_Decryption : public BlockCipherMode
{
public:
CBC_Decryption(const std::string&, const std::string&);
============================================================
--- include/cbc_mac.h 0e97c1d1ff160caff0e75b3b20ff6d6c089c236a
+++ include/cbc_mac.h d27531534d83b3bb9b20177c27a03cc96acd858d
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CBC-MAC *
*************************************************/
-class CBC_MAC : public MessageAuthenticationCode
+class BOTAN_DLL CBC_MAC : public MessageAuthenticationCode
{
public:
void clear() throw();
============================================================
--- include/certstor.h df804a2c3adf5c23baa2b03d71452b7713eda226
+++ include/certstor.h 4f44d45129289f39e37c3dff1c2397d585c77656
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Certificate Store Interface *
*************************************************/
-class Certificate_Store
+class BOTAN_DLL Certificate_Store
{
public:
virtual std::vector<X509_Certificate>
============================================================
--- include/cfb.h c16cbb250f291241cd804869085cda04369136a2
+++ include/cfb.h d6fcd294c41d8665b191c69e4964ba79ac084b61
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CFB Encryption *
*************************************************/
-class CFB_Encryption : public BlockCipherMode
+class BOTAN_DLL CFB_Encryption : public BlockCipherMode
{
public:
CFB_Encryption(const std::string&, u32bit = 0);
@@ -28,7 +28,7 @@ class CFB_Encryption : public BlockCiphe
/*************************************************
* CFB Decryption *
*************************************************/
-class CFB_Decryption : public BlockCipherMode
+class BOTAN_DLL CFB_Decryption : public BlockCipherMode
{
public:
CFB_Decryption(const std::string&, u32bit = 0);
============================================================
--- include/charset.h d14be390cbcd1b0b0a33005c0c6b2165c66fd8b1
+++ include/charset.h 58f38717c996835f6110b4c932b0df98032a0fbe
@@ -1,4 +1,4 @@
-/*************************************************
+n/*************************************************
* Character Set Handling Header File *
* (C) 1999-2007 Jack Lloyd *
*************************************************/
============================================================
--- include/cmac.h 18c144695270cfa27f065ca94c48f119534c5c83
+++ include/cmac.h 4e32fba357c2b62e83e5316f47fc4d5c587a82b5
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CMAC *
*************************************************/
-class CMAC : public MessageAuthenticationCode
+class BOTAN_DLL CMAC : public MessageAuthenticationCode
{
public:
void clear() throw();
============================================================
--- include/config.h 229617bc66e109964fa682dfa11dee54b39c9c48
+++ include/config.h 5acbd2e041ef13562c85e988834f2b252c3c5a9d
@@ -17,7 +17,7 @@ namespace Botan {
/*************************************************
* Library Configuration Settings *
*************************************************/
-class Config
+class BOTAN_DLL Config
{
public:
Config();
@@ -53,7 +53,7 @@ class Config
/*************************************************
* Hook for the global config *
*************************************************/
-Config& global_config();
+BOTAN_DLL Config& global_config();
}
============================================================
--- include/crc24.h d7750f1c09b0f34e07dc4331b8b1e96d80f838fe
+++ include/crc24.h 05f71a16d271e548513abb74854b9f5da9dbbf24
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CRC24 *
*************************************************/
-class CRC24 : public HashFunction
+class BOTAN_DLL CRC24 : public HashFunction
{
public:
void clear() throw() { crc = 0xB704CE; }
============================================================
--- include/crc32.h 9690b6ac67b4af3bf93e685a87f5e47ad7ffe8de
+++ include/crc32.h ecffda4a723a75444b477e2e37bdd24d1c8656e1
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CRC32 *
*************************************************/
-class CRC32 : public HashFunction
+class BOTAN_DLL CRC32 : public HashFunction
{
public:
void clear() throw() { crc = 0xFFFFFFFF; }
============================================================
--- include/crl_ent.h a40e0b1fa6be72627250db0ea2deec3b3fac7a80
+++ include/crl_ent.h ed0bbb9460910d21f367e8ace0286cf93c520db9
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CRL Entry *
*************************************************/
-class CRL_Entry : public ASN1_Object
+class BOTAN_DLL CRL_Entry : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -35,9 +35,9 @@ class CRL_Entry : public ASN1_Object
/*************************************************
* Comparison Operations *
*************************************************/
-bool operator==(const CRL_Entry&, const CRL_Entry&);
-bool operator!=(const CRL_Entry&, const CRL_Entry&);
-bool operator<(const CRL_Entry&, const CRL_Entry&);
+BOTAN_DLL bool operator==(const CRL_Entry&, const CRL_Entry&);
+BOTAN_DLL bool operator!=(const CRL_Entry&, const CRL_Entry&);
+BOTAN_DLL bool operator<(const CRL_Entry&, const CRL_Entry&);
}
============================================================
--- include/ctr.h f2c4136e4461600e4f34e88296b412dc3f5819b7
+++ include/ctr.h 7783b5e3e59dd949a5c0a4af1cd8c3abe46a9c17
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CTR-BE Mode *
*************************************************/
-class CTR_BE : public BlockCipherMode
+class BOTAN_DLL CTR_BE : public BlockCipherMode
{
public:
CTR_BE(const std::string&);
============================================================
--- include/cts.h 363763a5730bd19dd68435d3f0e1d7abbf4322e4
+++ include/cts.h 77fdfabc32ea2a733a82947cca8c1795de7c49d4
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* CTS Encryption *
*************************************************/
-class CTS_Encryption : public BlockCipherMode
+class BOTAN_DLL CTS_Encryption : public BlockCipherMode
{
public:
CTS_Encryption(const std::string&);
@@ -28,7 +28,7 @@ class CTS_Encryption : public BlockCiphe
/*************************************************
* CTS Decryption *
*************************************************/
-class CTS_Decryption : public BlockCipherMode
+class BOTAN_DLL CTS_Decryption : public BlockCipherMode
{
public:
CTS_Decryption(const std::string&);
============================================================
--- include/data_snk.h 1b779375cae6bd6c59ef048d1b16b2083d3f3747
+++ include/data_snk.h f5b662f62ade0945865ab4f9edb5a3bae9103b96
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Generic DataSink Interface *
*************************************************/
-class DataSink : public Filter
+class BOTAN_DLL DataSink : public Filter
{
public:
bool attachable() { return false; }
@@ -28,7 +28,7 @@ class DataSink : public Filter
/*************************************************
* Stream-Based DataSink *
*************************************************/
-class DataSink_Stream : public DataSink
+class BOTAN_DLL DataSink_Stream : public DataSink
{
public:
void write(const byte[], u32bit);
============================================================
--- include/data_src.h 47b6e0c2a1dea94812f82fd4b0150e1f24619adb
+++ include/data_src.h e021a46396a1b8fd0a933c115d53a8fa0543e225
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Generic DataSource Interface *
*************************************************/
-class DataSource
+class BOTAN_DLL DataSource
{
public:
virtual u32bit read(byte[], u32bit) = 0;
@@ -36,7 +36,7 @@ class DataSource
/*************************************************
* Memory-Based DataSource *
*************************************************/
-class DataSource_Memory : public DataSource
+class BOTAN_DLL DataSource_Memory : public DataSource
{
public:
u32bit read(byte[], u32bit);
@@ -54,7 +54,7 @@ class DataSource_Memory : public DataSou
/*************************************************
* Stream-Based DataSource *
*************************************************/
-class DataSource_Stream : public DataSource
+class BOTAN_DLL DataSource_Stream : public DataSource
{
public:
u32bit read(byte[], u32bit);
============================================================
--- include/datastor.h 69e03208c5349e6a84e40084be42c32770ce3d73
+++ include/datastor.h 099bbbabbff92013990fdb0ac8e96dccddfb7732
@@ -17,10 +17,10 @@ namespace Botan {
/*************************************************
* Data Store *
*************************************************/
-class Data_Store
+class BOTAN_DLL Data_Store
{
public:
- class Matcher
+ class BOTAN_DLL Matcher
{
public:
virtual bool operator()(const std::string&,
============================================================
--- include/def_powm.h b8fd1233ac5e90aea858ff83bcc53ad9e93a0ce6
+++ include/def_powm.h 441262d6c635e3dc9678bb0fb1b725fb1cabca99
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Fixed Window Exponentiator *
*************************************************/
-class Fixed_Window_Exponentiator : public Modular_Exponentiator
+class BOTAN_DLL Fixed_Window_Exponentiator : public Modular_Exponentiator
{
public:
void set_exponent(const BigInt&);
@@ -37,7 +37,7 @@ class Fixed_Window_Exponentiator : publi
/*************************************************
* Montgomery Exponentiator *
*************************************************/
-class Montgomery_Exponentiator : public Modular_Exponentiator
+class BOTAN_DLL Montgomery_Exponentiator : public Modular_Exponentiator
{
public:
void set_exponent(const BigInt&);
============================================================
--- include/defalloc.h 90dbc79dca64e726dea513adbd09bceb47414299
+++ include/defalloc.h c983a1a75c83af8737ecfbe70770e22aed71d4c6
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Malloc Allocator *
*************************************************/
-class Malloc_Allocator : public Allocator
+class BOTAN_DLL Malloc_Allocator : public Allocator
{
public:
void* allocate(u32bit);
@@ -25,7 +25,7 @@ class Malloc_Allocator : public Allocato
/*************************************************
* Locking Allocator *
*************************************************/
-class Locking_Allocator : public Pooling_Allocator
+class BOTAN_DLL Locking_Allocator : public Pooling_Allocator
{
public:
std::string type() const { return "locking"; }
============================================================
--- include/der_enc.h c9c32338023d05e61e061ed29a357bf8ec1f5d98
+++ include/der_enc.h 2bd34135e89958c97778e92d5206b2b411887961
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* General DER Encoding Object *
*************************************************/
-class DER_Encoder
+class BOTAN_DLL DER_Encoder
{
public:
SecureVector<byte> get_contents();
============================================================
--- include/des.h 4e46ca0119049b63d8ec93f35efd598e4473ba14
+++ include/des.h bf36f106a5d21d182633280efaf4db5aca06517a
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* DES *
*************************************************/
-class DES : public BlockCipher
+class BOTAN_DLL DES : public BlockCipher
{
public:
void clear() throw() { round_key.clear(); }
@@ -32,17 +32,27 @@ class DES : public BlockCipher
static void IP(u32bit&, u32bit&);
static void FP(u32bit&, u32bit&);
- static const u32bit SPBOX1[256], SPBOX2[256], SPBOX3[256], SPBOX4[256],
- SPBOX5[256], SPBOX6[256], SPBOX7[256], SPBOX8[256];
- static const u64bit IPTAB1[256], IPTAB2[256], FPTAB1[256], FPTAB2[256];
+ static const u32bit SPBOX1[256];
+ static const u32bit SPBOX2[256];
+ static const u32bit SPBOX3[256];
+ static const u32bit SPBOX4[256];
+ static const u32bit SPBOX5[256];
+ static const u32bit SPBOX6[256];
+ static const u32bit SPBOX7[256];
+ static const u32bit SPBOX8[256];
+ static const u64bit IPTAB1[256];
+ static const u64bit IPTAB2[256];
+ static const u64bit FPTAB1[256];
+ static const u64bit FPTAB2[256];
+
SecureBuffer<u32bit, 32> round_key;
};
/*************************************************
* Triple DES *
*************************************************/
-class TripleDES : public BlockCipher
+class BOTAN_DLL TripleDES : public BlockCipher
{
public:
void clear() throw() { des1.clear(); des2.clear(); des3.clear(); }
@@ -59,7 +69,7 @@ class TripleDES : public BlockCipher
/*************************************************
* DESX *
*************************************************/
-class DESX : public BlockCipher
+class BOTAN_DLL DESX : public BlockCipher
{
public:
void clear() throw() { des.clear(); K1.clear(); K2.clear(); }
============================================================
--- include/dh.h b46595551fbb9db58536e780f0367d5a0d576e8d
+++ include/dh.h 1f8c9ae4e3e47eb54bf37dd5830feefe33fce1d3
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Diffie-Hellman Public Key *
*************************************************/
-class DH_PublicKey : public virtual DL_Scheme_PublicKey
+class BOTAN_DLL DH_PublicKey : public virtual DL_Scheme_PublicKey
{
public:
std::string algo_name() const { return "DH"; }
@@ -33,7 +33,7 @@ class DH_PublicKey : public virtual DL_S
/*************************************************
* Diffie-Hellman Private Key *
*************************************************/
-class DH_PrivateKey : public DH_PublicKey,
+class BOTAN_DLL DH_PrivateKey : public DH_PublicKey,
public PK_Key_Agreement_Key,
public virtual DL_Scheme_PrivateKey
{
============================================================
--- include/dl_algo.h 1f443e80cacfcedd444b4c0cf43528823b8736ab
+++ include/dl_algo.h c6c8ab1cc99d09053aa3e887ed0f31d23f029b79
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* DL Public Key *
*************************************************/
-class DL_Scheme_PublicKey : public virtual Public_Key
+class BOTAN_DLL DL_Scheme_PublicKey : public virtual Public_Key
{
public:
bool check_key(bool) const;
@@ -39,7 +39,7 @@ class DL_Scheme_PublicKey : public virtu
/*************************************************
* DL Private Key *
*************************************************/
-class DL_Scheme_PrivateKey : public virtual DL_Scheme_PublicKey,
+class BOTAN_DLL DL_Scheme_PrivateKey : public virtual DL_Scheme_PublicKey,
public virtual Private_Key
{
public:
============================================================
--- include/dl_group.h 01226cb8248f76ca5b1d587ab42ff1d849eef994
+++ include/dl_group.h 2402780054b58ab40f961f2600695a19461df17b
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Discrete Logarithm Group *
*************************************************/
-class DL_Group
+class BOTAN_DLL DL_Group
{
public:
const BigInt& get_p() const;
============================================================
--- include/dlies.h 2d4210fab2308626bd6f8c08a3f4596be6776200
+++ include/dlies.h ba8018d6681f084e1fabfab66903260939bec948
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* DLIES Encryption *
*************************************************/
-class DLIES_Encryptor : public PK_Encryptor
+class BOTAN_DLL DLIES_Encryptor : public PK_Encryptor
{
public:
DLIES_Encryptor(const PK_Key_Agreement_Key&,
@@ -33,7 +33,7 @@ class DLIES_Encryptor : public PK_Encryp
/*************************************************
* DLIES Decryption *
*************************************************/
-class DLIES_Decryptor : public PK_Decryptor
+class BOTAN_DLL DLIES_Decryptor : public PK_Decryptor
{
public:
DLIES_Decryptor(const PK_Key_Agreement_Key&,
============================================================
--- include/dsa.h 669645224181beb0dd4cd2b973177c32101598c5
+++ include/dsa.h 03ca791b177eb9709d13a5f79181a157bca0aa4d
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* DSA Public Key *
*************************************************/
-class DSA_PublicKey : public PK_Verifying_wo_MR_Key,
+class BOTAN_DLL DSA_PublicKey : public PK_Verifying_wo_MR_Key,
public virtual DL_Scheme_PublicKey
{
public:
@@ -38,7 +38,7 @@ class DSA_PublicKey : public PK_Verifyin
/*************************************************
* DSA Private Key *
*************************************************/
-class DSA_PrivateKey : public DSA_PublicKey,
+class BOTAN_DLL DSA_PrivateKey : public DSA_PublicKey,
public PK_Signing_Key,
public virtual DL_Scheme_PrivateKey
{
============================================================
--- include/eax.h a9a6b7d9ce355e1362719185e093ef91c48b40fa
+++ include/eax.h 66acdb5b8c0a5552f01ffd2127383864737801d1
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* EAX Base Class *
*************************************************/
-class EAX_Base : public Keyed_Filter
+class BOTAN_DLL EAX_Base : public Keyed_Filter
{
public:
void set_key(const SymmetricKey&);
@@ -39,7 +39,7 @@ class EAX_Base : public Keyed_Filter
/*************************************************
* EAX Encryption *
*************************************************/
-class EAX_Encryption : public EAX_Base
+class BOTAN_DLL EAX_Encryption : public EAX_Base
{
public:
EAX_Encryption(const std::string&, u32bit = 0);
@@ -53,7 +53,7 @@ class EAX_Encryption : public EAX_Base
/*************************************************
* EAX Decryption *
*************************************************/
-class EAX_Decryption : public EAX_Base
+class BOTAN_DLL EAX_Decryption : public EAX_Base
{
public:
EAX_Decryption(const std::string&, u32bit = 0);
============================================================
--- include/ecb.h b720b7718d5d1f7a163f9cea7b19de343972b872
+++ include/ecb.h f48d0a49b4d848d4707e93c4112aeea0620e4d25
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* ECB *
*************************************************/
-class ECB : public BlockCipherMode
+class BOTAN_DLL ECB : public BlockCipherMode
{
protected:
ECB(const std::string&, const std::string&);
@@ -27,7 +27,7 @@ class ECB : public BlockCipherMode
/*************************************************
* ECB Encryption *
*************************************************/
-class ECB_Encryption : public ECB
+class BOTAN_DLL ECB_Encryption : public ECB
{
public:
ECB_Encryption(const std::string&, const std::string&);
@@ -41,7 +41,7 @@ class ECB_Encryption : public ECB
/*************************************************
* ECB Decryption *
*************************************************/
-class ECB_Decryption : public ECB
+class BOTAN_DLL ECB_Decryption : public ECB
{
public:
ECB_Decryption(const std::string&, const std::string&);
============================================================
--- include/elgamal.h 0494d9ec66400a456f6f0638f8473c23ae59507f
+++ include/elgamal.h ae94744be2a6ed1bad2c8485f49b77fb4423ed2d
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* ElGamal Public Key *
*************************************************/
-class ElGamal_PublicKey : public PK_Encrypting_Key,
+class BOTAN_DLL ElGamal_PublicKey : public PK_Encrypting_Key,
public virtual DL_Scheme_PublicKey
{
public:
@@ -36,7 +36,7 @@ class ElGamal_PublicKey : public PK_Encr
/*************************************************
* ElGamal Private Key *
*************************************************/
-class ElGamal_PrivateKey : public ElGamal_PublicKey,
+class BOTAN_DLL ElGamal_PrivateKey : public ElGamal_PublicKey,
public PK_Decrypting_Key,
public virtual DL_Scheme_PrivateKey
{
============================================================
--- include/eme.h 0ec41143810e3e55630da3f66a493ed3e847fa70
+++ include/eme.h 28df8ed20f752944ed6db8d8d4b240070381e358
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* EME1 *
*************************************************/
-class EME1 : public EME
+class BOTAN_DLL EME1 : public EME
{
public:
u32bit maximum_input_size(u32bit) const;
@@ -31,7 +31,7 @@ class EME1 : public EME
/*************************************************
* EME_PKCS1v15 *
*************************************************/
-class EME_PKCS1v15 : public EME
+class BOTAN_DLL EME_PKCS1v15 : public EME
{
public:
u32bit maximum_input_size(u32bit) const;
============================================================
--- include/emsa.h 0f92faa34612455ed98f727223a3327e2f21a48c
+++ include/emsa.h 9a72ffbf9550acf6251278a4162adbc375afa7a2
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* EMSA1 *
*************************************************/
-class EMSA1 : public EMSA
+class BOTAN_DLL EMSA1 : public EMSA
{
public:
EMSA1(const std::string&);
@@ -30,7 +30,7 @@ class EMSA1 : public EMSA
/*************************************************
* EMSA2 *
*************************************************/
-class EMSA2 : public EMSA
+class BOTAN_DLL EMSA2 : public EMSA
{
public:
EMSA2(const std::string&);
@@ -47,7 +47,7 @@ class EMSA2 : public EMSA
/*************************************************
* EMSA3 *
*************************************************/
-class EMSA3 : public EMSA
+class BOTAN_DLL EMSA3 : public EMSA
{
public:
EMSA3(const std::string&);
@@ -63,7 +63,7 @@ class EMSA3 : public EMSA
/*************************************************
* EMSA4 *
*************************************************/
-class EMSA4 : public EMSA
+class BOTAN_DLL EMSA4 : public EMSA
{
public:
EMSA4(const std::string&, const std::string&);
@@ -83,7 +83,7 @@ class EMSA4 : public EMSA
/*************************************************
* EMSA-Raw *
*************************************************/
-class EMSA_Raw : public EMSA
+class BOTAN_DLL EMSA_Raw : public EMSA
{
private:
void update(const byte[], u32bit);
============================================================
--- include/eng_def.h 8aa36afc93ca4981ef72d0650accabc49412763a
+++ include/eng_def.h 78c95898dc88c426b88c79e21a8b072bfcd77c59
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Default Engine *
*************************************************/
-class Default_Engine : public Engine
+class BOTAN_DLL Default_Engine : public Engine
{
public:
IF_Operation* if_op(const BigInt&, const BigInt&, const BigInt&,
============================================================
--- include/engine.h 710e662f21035b9fd98b1da15430b043d33273d4
+++ include/engine.h c0145b11930a092ae19f24be691b052aaa15f03c
@@ -20,11 +20,11 @@ namespace Botan {
/*************************************************
* Engine Base Class *
*************************************************/
-class Engine
+class BOTAN_DLL Engine
{
public:
template<typename T>
- class Algorithm_Cache
+ class BOTAN_DLL Algorithm_Cache
{
public:
virtual T* get(const std::string&) const = 0;
============================================================
--- include/exceptn.h c336850fda55455f8dbfa05deb12d85b0fa1a081
+++ include/exceptn.h 6c8eb39d95fc61a0a1bf2201f053811c61e9623d
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Exception Base Class *
*************************************************/
-class Exception : public std::exception
+class BOTAN_DLL Exception : public std::exception
{
public:
const char* what() const throw() { return msg.c_str(); }
@@ -30,7 +30,7 @@ class Exception : public std::exception
/*************************************************
* Invalid_Argument Exception *
*************************************************/
-struct Invalid_Argument : public Exception
+struct BOTAN_DLL Invalid_Argument : public Exception
{
Invalid_Argument(const std::string& err = "") : Exception(err) {}
};
@@ -38,7 +38,7 @@ struct Invalid_Argument : public Excepti
/*************************************************
* Invalid_Key_Length Exception *
*************************************************/
-struct Invalid_Key_Length : public Invalid_Argument
+struct BOTAN_DLL Invalid_Key_Length : public Invalid_Argument
{
Invalid_Key_Length(const std::string&, u32bit);
};
@@ -46,7 +46,7 @@ struct Invalid_Key_Length : public Inval
/*************************************************
* Invalid_Block_Size Exception *
*************************************************/
-struct Invalid_Block_Size : public Invalid_Argument
+struct BOTAN_DLL Invalid_Block_Size : public Invalid_Argument
{
Invalid_Block_Size(const std::string&, const std::string&);
};
@@ -54,7 +54,7 @@ struct Invalid_Block_Size : public Inval
/*************************************************
* Invalid_IV_Length Exception *
*************************************************/
-struct Invalid_IV_Length : public Invalid_Argument
+struct BOTAN_DLL Invalid_IV_Length : public Invalid_Argument
{
Invalid_IV_Length(const std::string&, u32bit);
};
@@ -62,7 +62,7 @@ struct Invalid_IV_Length : public Invali
/*************************************************
* Invalid_State Exception *
*************************************************/
-struct Invalid_State : public Exception
+struct BOTAN_DLL Invalid_State : public Exception
{
Invalid_State(const std::string& err) : Exception(err) {}
};
@@ -70,7 +70,7 @@ struct Invalid_State : public Exception
/*************************************************
* PRNG_Unseeded Exception *
*************************************************/
-struct PRNG_Unseeded : public Invalid_State
+struct BOTAN_DLL PRNG_Unseeded : public Invalid_State
{
PRNG_Unseeded(const std::string& algo) :
Invalid_State("PRNG not seeded: " + algo) {}
@@ -79,7 +79,7 @@ struct PRNG_Unseeded : public Invalid_St
/*************************************************
* Policy_Violation Exception *
*************************************************/
-struct Policy_Violation : public Invalid_State
+struct BOTAN_DLL Policy_Violation : public Invalid_State
{
Policy_Violation(const std::string& err) :
Invalid_State("Policy violation: " + err) {}
@@ -88,7 +88,7 @@ struct Policy_Violation : public Invalid
/*************************************************
* Lookup_Error Exception *
*************************************************/
-struct Lookup_Error : public Exception
+struct BOTAN_DLL Lookup_Error : public Exception
{
Lookup_Error(const std::string& err) : Exception(err) {}
};
@@ -96,7 +96,7 @@ struct Lookup_Error : public Exception
/*************************************************
* Algorithm_Not_Found Exception *
*************************************************/
-struct Algorithm_Not_Found : public Exception
+struct BOTAN_DLL Algorithm_Not_Found : public Exception
{
Algorithm_Not_Found(const std::string&);
};
@@ -104,7 +104,7 @@ struct Algorithm_Not_Found : public Exce
/*************************************************
* Format_Error Exception *
*************************************************/
-struct Format_Error : public Exception
+struct BOTAN_DLL Format_Error : public Exception
{
Format_Error(const std::string& err = "") : Exception(err) {}
};
@@ -112,7 +112,7 @@ struct Format_Error : public Exception
/*************************************************
* Invalid_Algorithm_Name Exception *
*************************************************/
-struct Invalid_Algorithm_Name : public Format_Error
+struct BOTAN_DLL Invalid_Algorithm_Name : public Format_Error
{
Invalid_Algorithm_Name(const std::string&);
};
@@ -120,7 +120,7 @@ struct Invalid_Algorithm_Name : public F
/*************************************************
* Encoding_Error Exception *
*************************************************/
-struct Encoding_Error : public Format_Error
+struct BOTAN_DLL Encoding_Error : public Format_Error
{
Encoding_Error(const std::string& name) :
Format_Error("Encoding error: " + name) {}
@@ -129,7 +129,7 @@ struct Encoding_Error : public Format_Er
/*************************************************
* Decoding_Error Exception *
*************************************************/
-struct Decoding_Error : public Format_Error
+struct BOTAN_DLL Decoding_Error : public Format_Error
{
Decoding_Error(const std::string& name) :
Format_Error("Decoding error: " + name) {}
@@ -138,7 +138,7 @@ struct Decoding_Error : public Format_Er
/*************************************************
* Invalid_OID Exception *
*************************************************/
-struct Invalid_OID : public Decoding_Error
+struct BOTAN_DLL Invalid_OID : public Decoding_Error
{
Invalid_OID(const std::string& oid) :
Decoding_Error("Invalid ASN.1 OID: " + oid) {}
@@ -147,7 +147,7 @@ struct Invalid_OID : public Decoding_Err
/*************************************************
* Stream_IO_Error Exception *
*************************************************/
-struct Stream_IO_Error : public Exception
+struct BOTAN_DLL Stream_IO_Error : public Exception
{
Stream_IO_Error(const std::string& err) :
Exception("I/O error: " + err) {}
@@ -156,7 +156,7 @@ struct Stream_IO_Error : public Exceptio
/*************************************************
* Configuration Error Exception *
*************************************************/
-struct Config_Error : public Format_Error
+struct BOTAN_DLL Config_Error : public Format_Error
{
Config_Error(const std::string& err) :
Format_Error("Config error: " + err) {}
@@ -166,7 +166,7 @@ struct Config_Error : public Format_Erro
/*************************************************
* Integrity Failure Exception *
*************************************************/
-struct Integrity_Failure : public Exception
+struct BOTAN_DLL Integrity_Failure : public Exception
{
Integrity_Failure(const std::string& err) :
Exception("Integrity failure: " + err) {}
@@ -175,7 +175,7 @@ struct Integrity_Failure : public Except
/*************************************************
* Internal_Error Exception *
*************************************************/
-struct Internal_Error : public Exception
+struct BOTAN_DLL Internal_Error : public Exception
{
Internal_Error(const std::string& err) :
Exception("Internal error: " + err) {}
@@ -184,7 +184,7 @@ struct Internal_Error : public Exception
/*************************************************
* Self Test Failure Exception *
*************************************************/
-struct Self_Test_Failure : public Internal_Error
+struct BOTAN_DLL Self_Test_Failure : public Internal_Error
{
Self_Test_Failure(const std::string& err) :
Internal_Error("Self test failed: " + err) {}
@@ -193,7 +193,7 @@ struct Self_Test_Failure : public Intern
/*************************************************
* Memory Allocation Exception *
*************************************************/
-struct Memory_Exhaustion : public Exception
+struct BOTAN_DLL Memory_Exhaustion : public Exception
{
Memory_Exhaustion() :
Exception("Ran out of memory, allocation failed") {}
============================================================
--- include/filter.h c1df7bb407f4e3aebf3038583ddef572ee805899
+++ include/filter.h c36b3a90313dae0e423930a7249e36e9ca8742f0
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Filter Base Class *
*************************************************/
-class Filter
+class BOTAN_DLL Filter
{
public:
virtual void write(const byte[], u32bit) = 0;
@@ -55,7 +55,7 @@ class Filter
/*************************************************
* Fanout Filter Base Class *
*************************************************/
-class Fanout_Filter : public Filter
+class BOTAN_DLL Fanout_Filter : public Filter
{
protected:
void incr_owns() { ++filter_owns; }
============================================================
--- include/filters.h 94d4f6b8d86cd9ce0521c0824decafaa625949b1
+++ include/filters.h 50d68a0509271b1a7a27ebd741b9c12ce4491019
@@ -18,7 +18,7 @@ namespace Botan {
/*************************************************
* Stream Cipher Filter *
*************************************************/
-class StreamCipher_Filter : public Keyed_Filter
+class BOTAN_DLL StreamCipher_Filter : public Keyed_Filter
{
public:
void seek(u32bit position) { cipher->seek(position); }
@@ -38,7 +38,7 @@ class StreamCipher_Filter : public Keyed
/*************************************************
* Hash Filter *
*************************************************/
-class Hash_Filter : public Filter
+class BOTAN_DLL Hash_Filter : public Filter
{
public:
void write(const byte input[], u32bit len) { hash->update(input, len); }
@@ -54,7 +54,7 @@ class Hash_Filter : public Filter
/*************************************************
* MessageAuthenticationCode Filter *
*************************************************/
-class MAC_Filter : public Keyed_Filter
+class BOTAN_DLL MAC_Filter : public Keyed_Filter
{
public:
void write(const byte input[], u32bit len) { mac->update(input, len); }
============================================================
--- include/fork256.h 48d316c02d0498c1f8511227f6d3712f8e788ea8
+++ include/fork256.h 48009420dee58362718e076efe4f96b6b776ff2c
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* FORK-256 *
*************************************************/
-class FORK_256 : public MDx_HashFunction
+class BOTAN_DLL FORK_256 : public MDx_HashFunction
{
public:
void clear() throw();
============================================================
--- include/gost.h 2258c8299c56e86e46324b2ecebf38d05827ad02
+++ include/gost.h 8bab6eb0bbff3ddda38f52bd1c373f63b4d94225
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* GOST *
*************************************************/
-class GOST : public BlockCipher
+class BOTAN_DLL GOST : public BlockCipher
{
public:
void clear() throw() { EK.clear(); }
@@ -25,7 +25,10 @@ class GOST : public BlockCipher
void dec(const byte[], byte[]) const;
void key(const byte[], u32bit);
- static const u32bit SBOX1[256], SBOX2[256], SBOX3[256], SBOX4[256];
+ static const u32bit SBOX1[256];
+ static const u32bit SBOX2[256];
+ static const u32bit SBOX3[256];
+ static const u32bit SBOX4[256];
SecureBuffer<u32bit, 32> EK;
};
============================================================
--- include/has160.h 302e61763c91ef37ca82c6fedc47c44b170ed225
+++ include/has160.h cc1fc7609b6af354ce39184b20f8ff87dc3e5a2b
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* HAS-160 *
*************************************************/
-class HAS_160 : public MDx_HashFunction
+class BOTAN_DLL HAS_160 : public MDx_HashFunction
{
public:
void clear() throw();
============================================================
--- include/hash_id.h 87da714dcec8f4fabdba63c86021e0dd641e75f8
+++ include/hash_id.h 4dc7493061e94d973d823b28fcd226b8842dd81e
@@ -14,8 +14,8 @@ namespace Botan {
/*************************************************
* Return the values of various defined HashIDs *
*************************************************/
-MemoryVector<byte> pkcs_hash_id(const std::string&);
-byte ieee1363_hash_id(const std::string&);
+BOTAN_DLL MemoryVector<byte> pkcs_hash_id(const std::string&);
+BOTAN_DLL byte ieee1363_hash_id(const std::string&);
}
============================================================
--- include/hex.h 65ff3d841d7a7d4506b99d175c9a8e4112794409
+++ include/hex.h 462c74e4913e272f052a3fb27f3a7235ba54655a
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Hex Encoder *
*************************************************/
-class Hex_Encoder : public Filter
+class BOTAN_DLL Hex_Encoder : public Filter
{
public:
enum Case { Uppercase, Lowercase };
@@ -39,7 +39,7 @@ class Hex_Encoder : public Filter
/*************************************************
* Hex Decoder *
*************************************************/
-class Hex_Decoder : public Filter
+class BOTAN_DLL Hex_Decoder : public Filter
{
public:
static byte decode(const byte[2]);
============================================================
--- include/hmac.h f86ca2b60fe40cbae9ba1a5a02ea85c6a0cb2ca5
+++ include/hmac.h 536a96d1baa456d63ea688d2304ea8c8f54b5f6e
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* HMAC *
*************************************************/
-class HMAC : public MessageAuthenticationCode
+class BOTAN_DLL HMAC : public MessageAuthenticationCode
{
public:
void clear() throw();
============================================================
--- include/idea.h 789b9471a535847a0ff19af71bebbc8514fb535d
+++ include/idea.h f6b0ab5d54fb7a7f5e432feaa7e7cfa0da58753f
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* IDEA *
*************************************************/
-class IDEA : public BlockCipher
+class BOTAN_DLL IDEA : public BlockCipher
{
public:
void clear() throw() { EK.clear(); DK.clear(); }
============================================================
--- include/if_algo.h 26d6793a1eb3c64a252713d32a188808e64cb92c
+++ include/if_algo.h 72be1c5cf84e117cc018604a352f686dd18564c1
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* IF Public Key *
*************************************************/
-class IF_Scheme_PublicKey : public virtual Public_Key
+class BOTAN_DLL IF_Scheme_PublicKey : public virtual Public_Key
{
public:
bool check_key(bool) const;
@@ -36,7 +36,7 @@ class IF_Scheme_PublicKey : public virtu
/*************************************************
* IF Private Key *
*************************************************/
-class IF_Scheme_PrivateKey : public virtual IF_Scheme_PublicKey,
+class BOTAN_DLL IF_Scheme_PrivateKey : public virtual IF_Scheme_PublicKey,
public virtual Private_Key
{
public:
============================================================
--- include/init.h bb896dab46a2ed1a6bbb6c2b2db629392b708bc7
+++ include/init.h 9e6c95b53667ca383d2b21876e09f873f2cc76af
@@ -6,6 +6,7 @@
#ifndef BOTAN_INIT_H__
#define BOTAN_INIT_H__
+#include <botan/build.h>
#include <string>
#include <map>
@@ -14,7 +15,7 @@ namespace Botan {
/*************************************************
* Options for initializing the library *
*************************************************/
-class InitializerOptions
+class BOTAN_DLL InitializerOptions
{
public:
bool thread_safe() const;
@@ -32,7 +33,7 @@ class InitializerOptions
/*************************************************
* Library Initialization/Shutdown Object *
*************************************************/
-class LibraryInitializer
+class BOTAN_DLL LibraryInitializer
{
public:
static void initialize(const std::string& = "");
============================================================
--- include/kasumi.h 5b4ae12fa8e6eec6bb32e8e76e7140783a71857f
+++ include/kasumi.h c6a4b45d4a6401a2d07fca50f7617e18d9a14755
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* KASUMI *
*************************************************/
-class KASUMI : public BlockCipher
+class BOTAN_DLL KASUMI : public BlockCipher
{
public:
void clear() throw() { EK.clear(); }
============================================================
--- include/kdf.h fbbd508477b8940b1d3d30e328539aa374abf25f
+++ include/kdf.h a96cb1a3021c86215894c15c592eea114ce5463d
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* KDF1 *
*************************************************/
-class KDF1 : public KDF
+class BOTAN_DLL KDF1 : public KDF
{
public:
KDF1(const std::string&);
@@ -27,7 +27,7 @@ class KDF1 : public KDF
/*************************************************
* KDF2 *
*************************************************/
-class KDF2 : public KDF
+class BOTAN_DLL KDF2 : public KDF
{
public:
@@ -41,7 +41,7 @@ class KDF2 : public KDF
/*************************************************
* X9.42 PRF *
*************************************************/
-class X942_PRF : public KDF
+class BOTAN_DLL X942_PRF : public KDF
{
public:
X942_PRF(const std::string&);
============================================================
--- include/keypair.h a4fc8eaa2d42b50ef6985927bac5cd225603585c
+++ include/keypair.h 791ce22bbca12caf243ea25be1c198812fef5c7f
@@ -15,8 +15,8 @@ namespace KeyPair {
/*************************************************
* Check key pair consistency *
*************************************************/
-void check_key(PK_Encryptor*, PK_Decryptor*);
-void check_key(PK_Signer*, PK_Verifier*);
+BOTAN_DLL void check_key(PK_Encryptor*, PK_Decryptor*);
+BOTAN_DLL void check_key(PK_Signer*, PK_Verifier*);
}
============================================================
--- include/libstate.h f08d397ce253b7d175d4dfc30ccd9f1ddee48279
+++ include/libstate.h cc522cb9ab803f77a13c05a42addb46e0272cdcc
@@ -19,7 +19,7 @@ namespace Botan {
/*************************************************
* Global State Container Base *
*************************************************/
-class Library_State
+class BOTAN_DLL Library_State
{
public:
Library_State();
@@ -31,7 +31,7 @@ class Library_State
void add_engine(class Engine*);
- class Engine_Iterator
+ class BOTAN_DLL Engine_Iterator
{
public:
class Engine* next();
@@ -84,9 +84,9 @@ class Library_State
/*************************************************
* Global State *
*************************************************/
-Library_State& global_state();
-void set_global_state(Library_State*);
-Library_State* swap_global_state(Library_State*);
+BOTAN_DLL Library_State& global_state();
+BOTAN_DLL void set_global_state(Library_State*);
+BOTAN_DLL Library_State* swap_global_state(Library_State*);
}
============================================================
--- include/lion.h 21f4eb78b1157e3f1a2e768a24126c5ad16afae3
+++ include/lion.h 96827aa862aa07afdd27a66730801505cf09cfbb
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Lion *
*************************************************/
-class Lion : public BlockCipher
+class BOTAN_DLL Lion : public BlockCipher
{
public:
void clear() throw();
============================================================
--- include/look_add.h a6139b72698a8375f498a3732c93eb8f78e0cb59
+++ include/look_add.h bcf3daba9def147a2eb6a390df5d2fbfd2b15211
@@ -15,12 +15,12 @@ namespace Botan {
/*************************************************
* Add an algorithm to the lookup table *
*************************************************/
-void add_algorithm(BlockCipher*);
-void add_algorithm(StreamCipher*);
-void add_algorithm(HashFunction*);
-void add_algorithm(MessageAuthenticationCode*);
-void add_algorithm(S2K*);
-void add_algori