The unified diff between revisions [229d3942..] and [51f9ee51..] is displayed below. It can also be downloaded as a raw diff.
#
#
# 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 [d7cc4e8bc600fd90d327334e56d6ea5fdaecb98c]
# 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 [bd1753e4e7fadd64f774b874e1e2b0557bad8a9b]
# to [9e2738c31e98547443cd0cb21daaa64161890e8c]
#
# 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 [190ea188126117198e9ea487740c472d317b5b12]
# to [2302b355b8fdafcb4908254cb954713bbce45ac5]
#
# 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_char.h"
# from [26878419fcdee71aa14035e589c40bc6140b8b81]
# to [b01ce00ff33cc9aadf9f35b724e3ceb2b0c79740]
#
# 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 [d6b846b9bb2fde1aa134ff88409e7972ba3f229c]
# to [447f0bbcbc4387c2622e86efd374413784764484]
#
# 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 [3df00e474fd54aa6d8d6a7e061a11d6e8ec91e2a]
# to [8243eb4fd9554ef933c197e08ad9a623671708f4]
#
# 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/rng.h"
# from [a6faa2fff37d7f98bc67bcadcf62775c05b9b24c]
# to [35dcf42e92faecc2f5db9aee67f333e7acd2d31b]
#
# 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/timers.h"
# from [30ce6b52c2033dd4b7e07d481cad8f5645b64559]
# to [bc5a5ce2e7f0ba2d66481add7c5b585ab21e85df]
#
# 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 [aa94cc91d4d5605f8dae20fd20ce5fc364867b37]
# to [f4d9e0bb9bd1e620203ac85b38735ac5ed8e0158]
#
# 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 [5dadb128c26e85f79f355a2d889b2389de39789f]
# to [f78f64cdb6e00e4d88a5ada4c1a9703d42f1b071]
#
# 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/x509stat.h"
# from [719b288d16bcc970ce56e71f40de71b74d935961]
# to [085810b19733c0a784fd1ff2bb11a2d6ff3d6302]
#
# 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]
#
============================================================
--- 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 d7cc4e8bc600fd90d327334e56d6ea5fdaecb98c
+++ 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,7 +152,7 @@ class EntropySource
/*************************************************
* Random Number Generator *
*************************************************/
-class RandomNumberGenerator
+class BOTAN_DLL RandomNumberGenerator
{
public:
virtual void randomize(byte[], u32bit) throw(PRNG_Unseeded) = 0;
============================================================
--- 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 bd1753e4e7fadd64f774b874e1e2b0557bad8a9b
+++ include/buf_es.h 9e2738c31e98547443cd0cb21daaa64161890e8c
@@ -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 190ea188126117198e9ea487740c472d317b5b12
+++ include/charset.h 2302b355b8fdafcb4908254cb954713bbce45ac5
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Character Set Transcoder Interface *
*************************************************/
-class Charset_Transcoder
+class BOTAN_DLL Charset_Transcoder
{
public:
virtual std::string transcode(const std::string&,
============================================================
--- 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_char.h 26878419fcdee71aa14035e589c40bc6140b8b81
+++ include/def_char.h b01ce00ff33cc9aadf9f35b724e3ceb2b0c79740
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Default Character Set Transcoder Object *
*************************************************/
-class Default_Charset_Transcoder : public Charset_Transcoder
+class BOTAN_DLL Default_Charset_Transcoder : public Charset_Transcoder
{
public:
std::string transcode(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 d6b846b9bb2fde1aa134ff88409e7972ba3f229c
+++ include/libstate.h 447f0bbcbc4387c2622e86efd374413784764484
@@ -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();
@@ -42,7 +42,7 @@ class Library_State
};
friend class Engine_Iterator;
- class UI
+ class BOTAN_DLL UI
{
public:
virtual void pulse(Pulse_Type) {}
@@ -107,9 +107,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_algorithm(BlockCipherModePaddingMethod*);
+BOTAN_DLL void add_algorithm(BlockCipher*);
+BOTAN_DLL void add_algorithm(StreamCipher*);
+BOTAN_DLL void add_algorithm(HashFunction*);
+BOTAN_DLL void add_algorithm(MessageAuthenticationCode*);
+BOTAN_DLL void add_algorithm(S2K*);
+BOTAN_DLL void add_algorithm(BlockCipherModePaddingMethod*);
}
============================================================
--- include/look_pk.h 9f0be0116eb7318ea14fc49d62c95714a5906084
+++ include/look_pk.h 33fa10847c9877ffff67c27416d280f3a703bc10
@@ -13,21 +13,26 @@ namespace Botan {
/*************************************************
* Get an PK algorithm object *
*************************************************/
-PK_Encryptor* get_pk_encryptor(const PK_Encrypting_Key&, const std::string&);
-PK_Decryptor* get_pk_decryptor(const PK_Decrypting_Key&, const std::string&);
+BOTAN_DLL PK_Encryptor* get_pk_encryptor(const PK_Encrypting_Key&,
+ const std::string&);
-PK_Signer* get_pk_signer(const PK_Signing_Key&, const std::string&,
- Signature_Format = IEEE_1363);
+BOTAN_DLL PK_Decryptor* get_pk_decryptor(const PK_Decrypting_Key&,
+ const std::string&);
-PK_Verifier* get_pk_verifier(const PK_Verifying_with_MR_Key&,
- const std::string&,
- Signature_Format = IEEE_1363);
-PK_Verifier* get_pk_verifier(const PK_Verifying_wo_MR_Key&,
- const std::string&,
- Signature_Format = IEEE_1363);
+BOTAN_DLL PK_Signer* get_pk_signer(const PK_Signing_Key&,
+ const std::string&,
+ Signature_Format = IEEE_1363);
-PK_Key_Agreement* get_pk_kas(const PK_Key_Agreement_Key&, const std::string&);
+BOTAN_DLL PK_Verifier* get_pk_verifier(const PK_Verifying_with_MR_Key&,
+ const std::string&,
+ Signature_Format = IEEE_1363);
+BOTAN_DLL PK_Verifier* get_pk_verifier(const PK_Verifying_wo_MR_Key&,
+ const std::string&,
+ Signature_Format = IEEE_1363);
+BOTAN_DLL PK_Key_Agreement* get_pk_kas(const PK_Key_Agreement_Key&,
+ const std::string&);
+
}
#endif
============================================================
--- include/lookup.h 44bc6863bfbca4c97f91dcf16968ea7fb591e39e
+++ include/lookup.h 2dfd127a84eb9858a688b1ec0ba12a3fb5bd3e51
@@ -17,64 +17,72 @@ namespace Botan {
/*************************************************
* Retrieve an object from the lookup table *
*************************************************/
-const BlockCipher* retrieve_block_cipher(const std::string&);
-const StreamCipher* retrieve_stream_cipher(const std::string&);
-const HashFunction* retrieve_hash(const std::string&);
-const MessageAuthenticationCode* retrieve_mac(const std::string&);
-const S2K* retrieve_s2k(const std::string&);
-const BlockCipherModePaddingMethod* retrieve_bc_pad(const std::string&);
+BOTAN_DLL const BlockCipher* retrieve_block_cipher(const std::string&);
+BOTAN_DLL const StreamCipher* retrieve_stream_cipher(const std::string&);
+BOTAN_DLL const HashFunction* retrieve_hash(const std::string&);
+BOTAN_DLL const MessageAuthenticationCode* retrieve_mac(const std::string&);
+BOTAN_DLL const S2K* retrieve_s2k(const std::string&);
+BOTAN_DLL const BlockCipherModePaddingMethod*
+retrieve_bc_pad(const std::string&);
+
/*************************************************
* Get an algorithm object *
*************************************************/
-BlockCipher* get_block_cipher(const std::string&);
-StreamCipher* get_stream_cipher(const std::string&);
-HashFunction* get_hash(const std::string&);
-MessageAuthenticationCode* get_mac(const std::string&);
-S2K* get_s2k(const std::string&);
-const BlockCipherModePaddingMethod* get_bc_pad(const std::string&);
+BOTAN_DLL BlockCipher* get_block_cipher(const std::string&);
+BOTAN_DLL StreamCipher* get_stream_cipher(const std::string&);
+BOTAN_DLL HashFunction* get_hash(const std::string&);
+BOTAN_DLL MessageAuthenticationCode* get_mac(const std::string&);
+BOTAN_DLL S2K* get_s2k(const std::string&);
+BOTAN_DLL const BlockCipherModePaddingMethod* get_bc_pad(const std::string&);
/*************************************************
* Get an EMSA/EME/KDF/MGF function *
*************************************************/
-EME* get_eme(const std::string&);
-EMSA* get_emsa(const std::string&);
-MGF* get_mgf(const std::string&);
-KDF* get_kdf(const std::string&);
+BOTAN_DLL EME* get_eme(const std::string&);
+BOTAN_DLL EMSA* get_emsa(const std::string&);
+BOTAN_DLL MGF* get_mgf(const std::string&);
+BOTAN_DLL KDF* get_kdf(const std::string&);
/*************************************************
* Get a cipher object *
*************************************************/
-Keyed_Filter* get_cipher(const std::string&, const SymmetricKey&,
- const InitializationVector&, Cipher_Dir);
-Keyed_Filter* get_cipher(const std::string&, const SymmetricKey&, Cipher_Dir);
-Keyed_Filter* get_cipher(const std::string&, Cipher_Dir);
+BOTAN_DLL Keyed_Filter* get_cipher(const std::string&,
+ const SymmetricKey&,
+ const InitializationVector&,
+ Cipher_Dir);
+BOTAN_DLL Keyed_Filter* get_cipher(const std::string&,
+ const SymmetricKey&,
+ Cipher_Dir);
+
+BOTAN_DLL Keyed_Filter* get_cipher(const std::string&, Cipher_Dir);
+
/*************************************************
* Check to see if an algorithm exists *
*************************************************/
-bool have_algorithm(const std::string&);
+BOTAN_DLL bool have_algorithm(const std::string&);
-bool have_block_cipher(const std::string&);
-bool have_stream_cipher(const std::string&);
-bool have_hash(const std::string&);
-bool have_mac(const std::string&);
+BOTAN_DLL bool have_block_cipher(const std::string&);
+BOTAN_DLL bool have_stream_cipher(const std::string&);
+BOTAN_DLL bool have_hash(const std::string&);
+BOTAN_DLL bool have_mac(const std::string&);
/*************************************************
* Dereference an alias *
*************************************************/
-std::string deref_alias(const std::string&);
+BOTAN_DLL std::string deref_alias(const std::string&);
/*************************************************
* Query information about an algorithm *
*************************************************/
-u32bit block_size_of(const std::string&);
-u32bit output_length_of(const std::string&);
+BOTAN_DLL u32bit block_size_of(const std::string&);
+BOTAN_DLL u32bit output_length_of(const std::string&);
-bool valid_keylength_for(u32bit, const std::string&);
-u32bit min_keylength_of(const std::string&);
-u32bit max_keylength_of(const std::string&);
-u32bit keylength_multiple_of(const std::string&);
+BOTAN_DLL bool valid_keylength_for(u32bit, const std::string&);
+BOTAN_DLL u32bit min_keylength_of(const std::string&);
+BOTAN_DLL u32bit max_keylength_of(const std::string&);
+BOTAN_DLL u32bit keylength_multiple_of(const std::string&);
}
============================================================
--- include/lubyrack.h fbfd6400449127148719a3e318ad1ba966767b50
+++ include/lubyrack.h ecd39682fd0eaef7bedf64275115a76bb798e732
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Luby-Rackoff *
*************************************************/
-class LubyRackoff : public BlockCipher
+class BOTAN_DLL LubyRackoff : public BlockCipher
{
public:
void clear() throw();
============================================================
--- include/mars.h 469d88ccc99e609f5d50532d54aaee767de9bd6e
+++ include/mars.h 230be6c52db65a2080e9c604590de770bdfb3018
@@ -10,7 +10,7 @@ namespace Botan {
namespace Botan {
-class MARS : public BlockCipher
+class BOTAN_DLL MARS : public BlockCipher
{
public:
void clear() throw() { EK.clear(); }
============================================================
--- include/md2.h 12453da653d5346f90ffbff6e0cd34a2846758bc
+++ include/md2.h 246b0f8a492bd5ec344ff01373d50061d5d6d3ea
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* MD2 *
*************************************************/
-class MD2 : public HashFunction
+class BOTAN_DLL MD2 : public HashFunction
{
public:
void clear() throw();
============================================================
--- include/md4.h 909ca8f155ca017ef83074de3dccd7c9db0aad9a
+++ include/md4.h 347e2be66179bd81404b9abc065157aa56dbf174
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* MD4 *
*************************************************/
-class MD4 : public MDx_HashFunction
+class BOTAN_DLL MD4 : public MDx_HashFunction
{
public:
void clear() throw();
============================================================
--- include/md5.h c973e1bdacfd87fbecebf40bb14df7fecf18550f
+++ include/md5.h 125ffbdbf8c145f70f0f1f9ed6341d83d5be1a68
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* MD5 *
*************************************************/
-class MD5 : public MDx_HashFunction
+class BOTAN_DLL MD5 : public MDx_HashFunction
{
public:
void clear() throw();
============================================================
--- include/mdx_hash.h 1795bfa7e387450ac265a0c08e45c26f37d1e8db
+++ include/mdx_hash.h 0deccb5b5224b5f7c3bfba95651511f09f1c8b60
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* MDx Hash Function Base Class *
*************************************************/
-class MDx_HashFunction : public HashFunction
+class BOTAN_DLL MDx_HashFunction : public HashFunction
{
public:
MDx_HashFunction(u32bit, u32bit, bool, bool, u32bit = 8);
============================================================
--- include/mem_pool.h 9774f7b2377e171ed9514eece50d9e06ea0e294c
+++ include/mem_pool.h b05125f505c3f2602092699f033c4698f71f4935
@@ -17,7 +17,7 @@ namespace Botan {
/*************************************************
* Pooling Allocator *
*************************************************/
-class Pooling_Allocator : public Allocator
+class BOTAN_DLL Pooling_Allocator : public Allocator
{
public:
void* allocate(u32bit);
@@ -34,7 +34,7 @@ class Pooling_Allocator : public Allocat
virtual void* alloc_block(u32bit) = 0;
virtual void dealloc_block(void*, u32bit) = 0;
- class Memory_Block
+ class BOTAN_DLL Memory_Block
{
public:
Memory_Block(void*);
============================================================
--- include/mgf1.h 739fd112a61fb2dee76686df803894ab66d89e23
+++ include/mgf1.h 7359b8d5d3e3ff0daf8f2d23b40581ce64e7ff72
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* MGF1 *
*************************************************/
-class MGF1 : public MGF
+class BOTAN_DLL MGF1 : public MGF
{
public:
void mask(const byte[], u32bit, byte[], u32bit) const;
============================================================
--- include/misty1.h d5e3816ba1620937942ebab5f8b6fc5f3d6d2e47
+++ include/misty1.h f67e5eced26a586d05e7735928d382caeba25ed1
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* MISTY1 *
*************************************************/
-class MISTY1 : public BlockCipher
+class BOTAN_DLL MISTY1 : public BlockCipher
{
public:
void clear() throw() { EK.clear(); DK.clear(); }
@@ -25,7 +25,8 @@ class MISTY1 : public BlockCipher
void dec(const byte[], byte[]) const;
void key(const byte[], u32bit);
- static const byte EK_ORDER[100], DK_ORDER[100];
+ static const byte EK_ORDER[100];
+ static const byte DK_ORDER[100];
SecureBuffer<u16bit, 100> EK, DK;
};
============================================================
--- include/mode_pad.h f45ed8bd18c780b9add92026f95f48e7964e3659
+++ include/mode_pad.h 3026a91c78ca5ed4b184ac7db2aa50be37108111
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Block Cipher Mode Padding Method *
*************************************************/
-class BlockCipherModePaddingMethod
+class BOTAN_DLL BlockCipherModePaddingMethod
{
public:
virtual void pad(byte[], u32bit, u32bit) const = 0;
@@ -28,7 +28,7 @@ class BlockCipherModePaddingMethod
/*************************************************
* PKCS#7 Padding *
*************************************************/
-class PKCS7_Padding : public BlockCipherModePaddingMethod
+class BOTAN_DLL PKCS7_Padding : public BlockCipherModePaddingMethod
{
public:
void pad(byte[], u32bit, u32bit) const;
@@ -40,7 +40,7 @@ class PKCS7_Padding : public BlockCipher
/*************************************************
* ANSI X9.23 Padding *
*************************************************/
-class ANSI_X923_Padding : public BlockCipherModePaddingMethod
+class BOTAN_DLL ANSI_X923_Padding : public BlockCipherModePaddingMethod
{
public:
void pad(byte[], u32bit, u32bit) const;
@@ -52,7 +52,7 @@ class ANSI_X923_Padding : public BlockCi
/*************************************************
* One And Zeros Padding *
*************************************************/
-class OneAndZeros_Padding : public BlockCipherModePaddingMethod
+class BOTAN_DLL OneAndZeros_Padding : public BlockCipherModePaddingMethod
{
public:
void pad(byte[], u32bit, u32bit) const;
@@ -64,7 +64,7 @@ class OneAndZeros_Padding : public Block
/*************************************************
* Null Padding *
*************************************************/
-class Null_Padding : public BlockCipherModePaddingMethod
+class BOTAN_DLL Null_Padding : public BlockCipherModePaddingMethod
{
public:
void pad(byte[], u32bit, u32bit) const { return; }
============================================================
--- include/modebase.h b7d42f6b00ab46a455075841defa314965c3deee
+++ include/modebase.h 056f174f9f5503b2de49bfa152c1597f809aba5a
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Block Cipher Mode *
*************************************************/
-class BlockCipherMode : public Keyed_Filter
+class BOTAN_DLL BlockCipherMode : public Keyed_Filter
{
public:
std::string name() const;
============================================================
--- include/modules.h 3df00e474fd54aa6d8d6a7e061a11d6e8ec91e2a
+++ include/modules.h 8243eb4fd9554ef933c197e08ad9a623671708f4
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Module Builder Interface *
*************************************************/
-class Modules
+class BOTAN_DLL Modules
{
public:
virtual class Mutex_Factory* mutex_factory() const = 0;
@@ -34,7 +34,7 @@ class Modules
/*************************************************
* Built In Modules *
*************************************************/
-class Builtin_Modules : public Modules
+class BOTAN_DLL Builtin_Modules : public Modules
{
public:
class Mutex_Factory* mutex_factory() const;
============================================================
--- include/mutex.h f2e5f4862473ea61f881881680763ba8e285312b
+++ include/mutex.h 3fa990bcefeb4ee32990a95a9e8ac0d2a10abb86
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* Mutex Base Class *
*************************************************/
-class Mutex
+class BOTAN_DLL Mutex
{
public:
virtual void lock() = 0;
@@ -24,7 +24,7 @@ class Mutex
/*************************************************
* Mutex Factory *
*************************************************/
-class Mutex_Factory
+class BOTAN_DLL Mutex_Factory
{
public:
virtual Mutex* make() = 0;
@@ -34,7 +34,7 @@ class Mutex_Factory
/*************************************************
* Default Mutex Factory *
*************************************************/
-class Default_Mutex_Factory : public Mutex_Factory
+class BOTAN_DLL Default_Mutex_Factory : public Mutex_Factory
{
public:
Mutex* make();
@@ -43,7 +43,7 @@ class Default_Mutex_Factory : public Mut
/*************************************************
* Mutex Holding Class *
*************************************************/
-class Mutex_Holder
+class BOTAN_DLL Mutex_Holder
{
public:
Mutex_Holder(Mutex*);
============================================================
--- include/nr.h 0a8b524f2188039570234d9702312081c78d97ef
+++ include/nr.h e9523c6c77eb71f2fc01199b2237cb527dd0e53c
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Nyberg-Rueppel Public Key *
*************************************************/
-class NR_PublicKey : public PK_Verifying_with_MR_Key,
+class BOTAN_DLL NR_PublicKey : public PK_Verifying_with_MR_Key,
public virtual DL_Scheme_PublicKey
{
public:
@@ -38,7 +38,7 @@ class NR_PublicKey : public PK_Verifying
/*************************************************
* Nyberg-Rueppel Private Key *
*************************************************/
-class NR_PrivateKey : public NR_PublicKey,
+class BOTAN_DLL NR_PrivateKey : public NR_PublicKey,
public PK_Signing_Key,
public virtual DL_Scheme_PrivateKey
{
============================================================
--- include/numthry.h 2c9588397a71ce950009190f87efb76966715d67
+++ include/numthry.h 15ce975e8d3dd7f3b0499a67c4a66ced254fa5bd
@@ -15,49 +15,51 @@ namespace Botan {
/*************************************************
* Fused Arithmetic Operations *
*************************************************/
-BigInt mul_add(const BigInt&, const BigInt&, const BigInt&);
-BigInt sub_mul(const BigInt&, const BigInt&, const BigInt&);
+BigInt BOTAN_DLL mul_add(const BigInt&, const BigInt&, const BigInt&);
+BigInt BOTAN_DLL sub_mul(const BigInt&, const BigInt&, const BigInt&);
/*************************************************
* Number Theory Functions *
*************************************************/
inline BigInt abs(const BigInt& n) { return n.abs(); }
-void divide(const BigInt&, const BigInt&, BigInt&, BigInt&);
+void BOTAN_DLL divide(const BigInt&, const BigInt&, BigInt&, BigInt&);
-BigInt gcd(const BigInt&, const BigInt&);
-BigInt lcm(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL gcd(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL lcm(const BigInt&, const BigInt&);
-BigInt square(const BigInt&);
-BigInt inverse_mod(const BigInt&, const BigInt&);
-s32bit jacobi(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL square(const BigInt&);
+BigInt BOTAN_DLL inverse_mod(const BigInt&, const BigInt&);
+s32bit BOTAN_DLL jacobi(const BigInt&, const BigInt&);
-BigInt power_mod(const BigInt&, const BigInt&, const BigInt&);
+BigInt BOTAN_DLL power_mod(const BigInt&, const BigInt&, const BigInt&);
/*************************************************
* Utility Functions *
*************************************************/
-u32bit low_zero_bits(const BigInt&);
+u32bit BOTAN_DLL low_zero_bits(const BigInt&);
/*************************************************
* Primality Testing *
*************************************************/
-bool check_prime(const BigInt&);
-bool is_prime(const BigInt&);
-bool verify_prime(const BigInt&);
+bool BOTAN_DLL check_prime(const BigInt&);
+bool BOTAN_DLL is_prime(const BigInt&);
+bool BOTAN_DLL verify_prime(const BigInt&);
-s32bit simple_primality_tests(const BigInt&);
-bool passes_mr_tests(const BigInt&, u32bit = 1);
-bool run_primality_tests(const BigInt&, u32bit = 1);
+s32bit BOTAN_DLL simple_primality_tests(const BigInt&);
+bool BOTAN_DLL passes_mr_tests(const BigInt&, u32bit = 1);
+bool BOTAN_DLL run_primality_tests(const BigInt&, u32bit = 1);
/*************************************************
* Random Number Generation *
*************************************************/
-BigInt random_integer(u32bit);
-BigInt random_integer(const BigInt&, const BigInt&);
-BigInt random_prime(u32bit, const BigInt& = 1, u32bit = 1, u32bit = 2);
-BigInt random_safe_prime(u32bit);
+BigInt BOTAN_DLL random_integer(u32bit);
+BigInt BOTAN_DLL random_integer(const BigInt&, const BigInt&);
+BigInt BOTAN_DLL random_prime(u32bit, const BigInt& = 1,
+ u32bit = 1, u32bit = 2);
+BigInt BOTAN_DLL random_safe_prime(u32bit);
+
/*************************************************
* Prime Numbers *
*************************************************/
@@ -70,7 +72,7 @@ extern const u64bit PRIME_PRODUCTS[];
/*************************************************
* Miller-Rabin Primality Tester *
*************************************************/
-class MillerRabin_Test
+class BOTAN_DLL MillerRabin_Test
{
public:
bool passes_test(const BigInt&);
============================================================
--- include/ofb.h 7c91fb7eb35104d80e8da125cc6f1b4b3bc82471
+++ include/ofb.h bc5a889f33acd616c2ba1b28bed0b069eee277cd
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* OFB Mode *
*************************************************/
-class OFB : public BlockCipherMode
+class BOTAN_DLL OFB : public BlockCipherMode
{
public:
OFB(const std::string&);
============================================================
--- include/oids.h a65a9ade8866b65236b4db2a3f6a109b6789db8b
+++ include/oids.h ad753b3ee7bd56616a54a36511d17b84320d7e53
@@ -15,19 +15,19 @@ namespace OIDS {
/*************************************************
* Register an OID to string mapping *
*************************************************/
-void add_oid(const OID&, const std::string&);
+BOTAN_DLL void add_oid(const OID&, const std::string&);
/*************************************************
* See if an OID exists in the internal table *
*************************************************/
-bool have_oid(const std::string&);
+BOTAN_DLL bool have_oid(const std::string&);
/*************************************************
* Perform OID<->string mappings *
*************************************************/
-std::string lookup(const OID&);
-OID lookup(const std::string&);
-bool name_of(const OID&, const std::string&);
+BOTAN_DLL std::string lookup(const OID&);
+BOTAN_DLL OID lookup(const std::string&);
+BOTAN_DLL bool name_of(const OID&, const std::string&);
}
============================================================
--- include/openpgp.h f367f621d92d5d9ba2eac2ada5ffb5c3cd235d18
+++ include/openpgp.h 6d06d258db32629ddeca5facae94581dbda65314
@@ -17,13 +17,13 @@ namespace OpenPGP {
/*************************************************
* OpenPGP Base64 encoding/decoding *
*************************************************/
-std::string encode(const byte[], u32bit, const std::string&,
- const std::map<std::string, std::string>&);
-SecureVector<byte> decode(DataSource&, std::string&,
- std::map<std::string, std::string>&);
+BOTAN_DLL std::string encode(const byte[], u32bit, const std::string&,
+ const std::map<std::string, std::string>&);
+BOTAN_DLL SecureVector<byte> decode(DataSource&, std::string&,
+ std::map<std::string, std::string>&);
-std::string encode(const byte[], u32bit, const std::string&);
-SecureVector<byte> decode(DataSource&, std::string&);
+BOTAN_DLL std::string encode(const byte[], u32bit, const std::string&);
+BOTAN_DLL SecureVector<byte> decode(DataSource&, std::string&);
}
============================================================
--- include/out_buf.h 321d65539815403e698962aad7fb985088e9c17e
+++ include/out_buf.h c845c5752405c83005bc813f6a3b6406b4a76e10
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Container of output buffers for Pipe *
*************************************************/
-class Output_Buffers
+class BOTAN_DLL Output_Buffers
{
public:
u32bit read(byte[], u32bit, Pipe::message_id);
============================================================
--- include/par_hash.h 69e03b769368ea1a41bf500095bb2d448ed332b9
+++ include/par_hash.h 4579c4a4e194721934a52f17cd7dce7e0cdcf874
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* Parallel *
*************************************************/
-class Parallel : public HashFunction
+class BOTAN_DLL Parallel : public HashFunction
{
public:
void clear() throw();
============================================================
--- include/parsing.h cb2aa56649d2ce1d1ee8f417bea7f8afd70b826e
+++ include/parsing.h 495ba5383d508f77387155181abc7c82548238d8
@@ -15,22 +15,22 @@ namespace Botan {
/*************************************************
* String Parsing Functions *
*************************************************/
-std::vector<std::string> parse_algorithm_name(const std::string&);
-std::vector<std::string> split_on(const std::string&, char);
-std::vector<u32bit> parse_asn1_oid(const std::string&);
-bool x500_name_cmp(const std::string&, const std::string&);
+BOTAN_DLL std::vector<std::string> parse_algorithm_name(const std::string&);
+BOTAN_DLL std::vector<std::string> split_on(const std::string&, char);
+BOTAN_DLL std::vector<u32bit> parse_asn1_oid(const std::string&);
+BOTAN_DLL bool x500_name_cmp(const std::string&, const std::string&);
/*************************************************
* String/Integer Conversions *
*************************************************/
-std::string to_string(u64bit, u32bit = 0);
-u32bit to_u32bit(const std::string&);
+BOTAN_DLL std::string to_string(u64bit, u32bit = 0);
+BOTAN_DLL u32bit to_u32bit(const std::string&);
/*************************************************
* String/Network Address Conversions *
*************************************************/
-u32bit string_to_ipv4(const std::string&);
-std::string ipv4_to_string(u32bit);
+BOTAN_DLL u32bit string_to_ipv4(const std::string&);
+BOTAN_DLL std::string ipv4_to_string(u32bit);
}
============================================================
--- include/pbe.h e2bce5b3ea8490d42c75c9bd2411b7327905a6f6
+++ include/pbe.h c857ae798130c367ad3e63f3890adf18833c4b46
@@ -15,7 +15,7 @@ namespace Botan {
/*************************************************
* Password Based Encryption *
*************************************************/
-class PBE : public Filter
+class BOTAN_DLL PBE : public Filter
{
public:
virtual void set_key(const std::string&) = 0;
@@ -28,8 +28,8 @@ class PBE : public Filter
/*************************************************
* Get a PBE object *
*************************************************/
-PBE* get_pbe(const std::string&);
-PBE* get_pbe(const OID&, DataSource&);
+BOTAN_DLL PBE* get_pbe(const std::string&);
+BOTAN_DLL PBE* get_pbe(const OID&, DataSource&);
}
============================================================
--- include/pbe_pkcs.h c14e46545178cf2314d6e50045d58417e9f231be
+++ include/pbe_pkcs.h 248bcd00abf4a4a4b5738c0f96efd110d2ed2ad1
@@ -14,7 +14,7 @@ namespace Botan {
/*************************************************
* PKCS#5 v1.5 PBE *
*************************************************/
-class PBE_PKCS5v15 : public PBE
+class BOTAN_DLL PBE_PKCS5v15 : public PBE
{
public:
void write(const byte[], u32bit);
@@ -38,7 +38,7 @@ class PBE_PKCS5v15 : public PBE
/*************************************************
* PKCS#5 v2.0 PBE *
*************************************************/
-class PBE_PKCS5v20 : public PBE
+class BOTAN_DLL PBE_PKCS5v20 : public PBE
{
public:
void write(const byte[], u32bit);
============================================================
--- include/pem.h 5acd12644cddbbb42668df078a31361ffdda9505
+++ include/pem.h efcb8fb44e315de344c0042d4a1dc40a2b3e8f91
@@ -15,12 +15,16 @@ namespace PEM_Code {
/*************************************************
* PEM Encoding/Decoding *
*************************************************/
-std::string encode(const byte[], u32bit, const std::string&, u32bit = 64);
-std::string encode(const MemoryRegion<byte>&, const std::string&, u32bit = 64);
+BOTAN_DLL std::string encode(const byte[], u32bit,
+ const std::string&, u32bit = 64);
+BOTAN_DLL std::string encode(const MemoryRegion<byte>&,
+ const std::string&, u32bit = 64);
-SecureVector<byte> decode(DataSource&, std::string&);
-SecureVect