The unified diff between revisions [b773b0a7..] and [dcef969d..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "checks/bench.cpp"
#  from [194dc330534f8d0998eed9b5d92191844d30ea32]
#    to [95e10e9c7a3e1dc319431ffce5600dbae4d20ad9]
#
# patch "checks/block.cpp"
#  from [f8ca4b45ff803f4d35d5ebf92874749a44beb1a3]
#    to [ac69c8b14f59081d754b5755a15592849169143e]
#
# patch "checks/dolook2.cpp"
#  from [6e047326952c5f224d647e9e9407209728bc0627]
#    to [b4f02b94274689622abee4338141bad1d27bf8f2]
#
# patch "checks/pk.cpp"
#  from [29d3ee1e629ecb164b57caf11f80703043ec1bbe]
#    to [a41981a2cc7fa40e3c4f7ca92cdac8b0445d9961]
#
# patch "configure.pl"
#  from [38686941749f2e7195e0588ad8640feec0fc8737]
#    to [67cfd85e0dbfa81027d1d88f0a33ed5d579fe4f6]
#
# patch "include/adler32.h"
#  from [d0efdb2ca6a2312ef2e2abeba1c110fc15c888e8]
#    to [a4fcb8e47b572aef849e93ea736c29936fb46539]
#
# patch "include/aes.h"
#  from [f21a206b14c737acaa124f04c104e1d5daaee5ae]
#    to [2507806fff1155fc5030aea73b8b27129f13f045]
#
# patch "include/allocate.h"
#  from [0f4769a449df515dc1a468eb0b5d06d20fc02148]
#    to [d90ddecb8776b1e9610da928e3785ac283aa138c]
#
# patch "include/arc4.h"
#  from [01b224e18d457df1b42a24b30fee9a937dd84f13]
#    to [90f31fe35b4ff3e8110d0d7540dd4c1294c08c7e]
#
# patch "include/asn1_obj.h"
#  from [9b3a66418d38fb540d52cc34266b806db4008b30]
#    to [ce39c31e140c5da8703672d59ad7248a86244433]
#
# patch "include/base.h"
#  from [54a99ec584afb04330ebe7b6c2baaca06a0c0246]
#    to [9c79d98b0200f9df8c3d92801aea4be63a5a0353]
#
# patch "include/base64.h"
#  from [3155e46ef5f905472ba75bfcf21a3347405175cf]
#    to [6c8667bcb11fd103405eb804207747c5c5e15833]
#
# patch "include/basefilt.h"
#  from [efa2ea51c6eee5fd064a1f0b88084009313ce9e5]
#    to [5bc1a79fd15fd63a878c43091564af4ca9a20568]
#
# patch "include/ber_dec.h"
#  from [754b0c94f34f9805ed0c722aed0ad78e50ae4106]
#    to [6c0195c371dc0cc3beb3780a9f1dd0c4a587a008]
#
# patch "include/bigint.h"
#  from [fb6bdbaf9256d243c2a40b877fbb572986b76b77]
#    to [3df18a5adf678327d5b0824a7c35a1d276c83ee7]
#
# patch "include/bit_ops.h"
#  from [249e2d04932f769955d4053a0485f1763674ef3c]
#    to [ea49618e34ac5d31dca4084865397a2229d11996]
#
# patch "include/blowfish.h"
#  from [d910c2b54b87c511ac9f21f1254e72ed24e5fa82]
#    to [6d2be3a651b06431ed9fb98be71620ae5c747271]
#
# patch "include/buf_es.h"
#  from [6d0b85ee23b95511cca43e7754a65494d8553b0c]
#    to [7b16e3227ff3f6c443ac597b7433e506c51ccc1d]
#
# patch "include/buf_filt.h"
#  from [a87ed4badce2ec906b1e048e3d876f629a525f10]
#    to [4b1758fa4cd3412cc7a5a46a95166ec77752a8f5]
#
# patch "include/cast128.h"
#  from [3ab5011603389f700aa77e2b3b7d2529b8c3648e]
#    to [b213af1b4570ffcb4b8654dbfb99aaccf3decd7d]
#
# patch "include/cast256.h"
#  from [2a0689608d851aa9bd85a97dd38043fa89017a04]
#    to [a9be714bf9a0c6de4d68f2b6ee681a603ee68e78]
#
# patch "include/cbc.h"
#  from [df71821e246ae7b793787d4de94c1caae4659c5f]
#    to [054e1d86af7a140ce9cb4d256f284b7be8d4c7f3]
#
# patch "include/cbc_mac.h"
#  from [d27531534d83b3bb9b20177c27a03cc96acd858d]
#    to [401b04443885bf0ee695f79452ffdbd19afa378c]
#
# patch "include/cfb.h"
#  from [d6fcd294c41d8665b191c69e4964ba79ac084b61]
#    to [96baa879069e7d8afb2520a5d23c2bb73daafe3d]
#
# patch "include/cmac.h"
#  from [4e32fba357c2b62e83e5316f47fc4d5c587a82b5]
#    to [7f731f9f753c260a08d7826562c31d13c5438555]
#
# patch "include/crc24.h"
#  from [05f71a16d271e548513abb74854b9f5da9dbbf24]
#    to [d7b34dad0fe0387eb066bd06ff0a262ca4baf2d5]
#
# patch "include/crc32.h"
#  from [ecffda4a723a75444b477e2e37bdd24d1c8656e1]
#    to [fa0d917a62ebb7d5167b189fbd0d4115c70ca26b]
#
# patch "include/ctr.h"
#  from [7783b5e3e59dd949a5c0a4af1cd8c3abe46a9c17]
#    to [1278781cce8576f14e7a2099d62c5ff8e94b770c]
#
# patch "include/cts.h"
#  from [77fdfabc32ea2a733a82947cca8c1795de7c49d4]
#    to [cd895fcc884ed191b15505545479f1065e24f71d]
#
# patch "include/data_snk.h"
#  from [f5b662f62ade0945865ab4f9edb5a3bae9103b96]
#    to [5bdd1824adb5352be128588285bb63abf75b20e7]
#
# patch "include/data_src.h"
#  from [e021a46396a1b8fd0a933c115d53a8fa0543e225]
#    to [18bd2bfdec59d77c44a311eee5b47ab933877b84]
#
# patch "include/datastor.h"
#  from [099bbbabbff92013990fdb0ac8e96dccddfb7732]
#    to [c61c09e5b7a942d024589e77b0c2bffbfc5cae6f]
#
# patch "include/def_powm.h"
#  from [441262d6c635e3dc9678bb0fb1b725fb1cabca99]
#    to [9711457fae176655478312e71be2c091f579cfd2]
#
# patch "include/defalloc.h"
#  from [c983a1a75c83af8737ecfbe70770e22aed71d4c6]
#    to [3cfda121ac921931af9c4b6df58ff4de93d6fd85]
#
# patch "include/der_enc.h"
#  from [b1f6c6128e409f1de66951eb53c755c29d3c39d6]
#    to [b69590a968e36336261561be154af8463b4bb65a]
#
# patch "include/des.h"
#  from [bf36f106a5d21d182633280efaf4db5aca06517a]
#    to [6dc8d5954640ee175a81291d7eb7fc96b96ec4fd]
#
# patch "include/dh.h"
#  from [1f8c9ae4e3e47eb54bf37dd5830feefe33fce1d3]
#    to [e0723d6e99707282a5d84f0b42fed32b0411e390]
#
# patch "include/dl_group.h"
#  from [2402780054b58ab40f961f2600695a19461df17b]
#    to [f3d5ba9c4a30928696c9ecc2f4ddef29f4bc5320]
#
# patch "include/dlies.h"
#  from [ba8018d6681f084e1fabfab66903260939bec948]
#    to [52281d898a521887a92b55acb061fb4a3201ec81]
#
# patch "include/dsa.h"
#  from [03ca791b177eb9709d13a5f79181a157bca0aa4d]
#    to [5507e8f3bb3a7d517122df6a0a50baf255103979]
#
# patch "include/eax.h"
#  from [66acdb5b8c0a5552f01ffd2127383864737801d1]
#    to [1bfa9bbc16e37e08a1f48b51e3bf52962add0f45]
#
# patch "include/ecb.h"
#  from [f48d0a49b4d848d4707e93c4112aeea0620e4d25]
#    to [732944f22b8b4ea2344e3399f0222783f0bcdffb]
#
# patch "include/elgamal.h"
#  from [ae94744be2a6ed1bad2c8485f49b77fb4423ed2d]
#    to [d3fd52b48bc81f1fbe33483266a1df82ddab049a]
#
# patch "include/eme.h"
#  from [28df8ed20f752944ed6db8d8d4b240070381e358]
#    to [1110279d40c517b576d3c9c0cf36439e2195640f]
#
# patch "include/emsa.h"
#  from [9a72ffbf9550acf6251278a4162adbc375afa7a2]
#    to [56f57023626148bdd385fb5b8b1511835debe0a0]
#
# patch "include/enums.h"
#  from [68dbc74e69996937ec15c7cc13b99a04ae0f1d6d]
#    to [fe6c2aa71286bb876438cf517e8fa34e0f38ac2e]
#
# patch "include/exceptn.h"
#  from [6c8eb39d95fc61a0a1bf2201f053811c61e9623d]
#    to [f15231502935d54c3f0012439a20b8c1a6c136d8]
#
# patch "include/filter.h"
#  from [c36b3a90313dae0e423930a7249e36e9ca8742f0]
#    to [19dc738c881c97f14f745b95868921da6774c1c4]
#
# patch "include/filters.h"
#  from [50d68a0509271b1a7a27ebd741b9c12ce4491019]
#    to [ddc418761def56e1ced728230ab6096c39ec6ee3]
#
# patch "include/gost.h"
#  from [8bab6eb0bbff3ddda38f52bd1c373f63b4d94225]
#    to [42021e2600ed0f46742437fa14c0dd51ab186934]
#
# patch "include/hex.h"
#  from [462c74e4913e272f052a3fb27f3a7235ba54655a]
#    to [eafa6328bedd9ae88ca58e4c68b14e8e359bbf81]
#
# patch "include/hmac.h"
#  from [536a96d1baa456d63ea688d2304ea8c8f54b5f6e]
#    to [ab7e823e91b6344c2c1bee6722d4e71014884d15]
#
# patch "include/idea.h"
#  from [f6b0ab5d54fb7a7f5e432feaa7e7cfa0da58753f]
#    to [f9bac5b3005de949f4fd390a0a5c573cf762b3e8]
#
# patch "include/if_algo.h"
#  from [72be1c5cf84e117cc018604a352f686dd18564c1]
#    to [632456ce50f5a3b3f1d61f4c6e2677402e64c71d]
#
# patch "include/kasumi.h"
#  from [c6a4b45d4a6401a2d07fca50f7617e18d9a14755]
#    to [c9a5a63bee26950910b69f569b2915d25121859a]
#
# patch "include/kdf.h"
#  from [a96cb1a3021c86215894c15c592eea114ce5463d]
#    to [2ba7cd57861e6c726312c785ef25c6ee1fa9c45a]
#
# patch "include/libstate.h"
#  from [cc522cb9ab803f77a13c05a42addb46e0272cdcc]
#    to [6ea2e6471ceac6e3fd0c9ae220b4098bebff9954]
#
# patch "include/lion.h"
#  from [96827aa862aa07afdd27a66730801505cf09cfbb]
#    to [15776da93cd661951577a3198183174aaf8360db]
#
# patch "include/loadstor.h"
#  from [4dddb134024c8e16cbce6b72cbce823750146023]
#    to [7efa4c5f38e258d9aa57c15ebd4286bc6261d27f]
#
# patch "include/lookup.h"
#  from [2dfd127a84eb9858a688b1ec0ba12a3fb5bd3e51]
#    to [35060f03b17f544151eac36c8e5318c692434611]
#
# patch "include/lubyrack.h"
#  from [ecd39682fd0eaef7bedf64275115a76bb798e732]
#    to [4b952921e7c4da48aa82b34b4a69cd6b36bd5961]
#
# patch "include/mars.h"
#  from [230be6c52db65a2080e9c604590de770bdfb3018]
#    to [b55c0dc0fe7a0dc5c1ab289ad6899cd4ba197abe]
#
# patch "include/md2.h"
#  from [246b0f8a492bd5ec344ff01373d50061d5d6d3ea]
#    to [636b810b8e91dadbd1b31be2b7a3fd75278bf0c6]
#
# patch "include/mdx_hash.h"
#  from [0deccb5b5224b5f7c3bfba95651511f09f1c8b60]
#    to [3a968df433b6ced92d1d90692b4eb64fb5295a45]
#
# patch "include/mem_ops.h"
#  from [929479648108073c593d301eed471717754024be]
#    to [9f8d204e35cd3c761c12f3dd298e7faa6ebb9874]
#
# patch "include/mem_pool.h"
#  from [b05125f505c3f2602092699f033c4698f71f4935]
#    to [4af91764e0de834a4f12644b996519c4600dd0cf]
#
# patch "include/mgf1.h"
#  from [7359b8d5d3e3ff0daf8f2d23b40581ce64e7ff72]
#    to [4f5960470c4a689f2bf45b48444fd8ec3f979087]
#
# patch "include/misty1.h"
#  from [f67e5eced26a586d05e7735928d382caeba25ed1]
#    to [dfe9405eb593784bdf8957e655c66de1044723a5]
#
# patch "include/mode_pad.h"
#  from [3026a91c78ca5ed4b184ac7db2aa50be37108111]
#    to [e35d88b026aeb9248b2b11b54223496c15b4e94a]
#
# patch "include/modebase.h"
#  from [056f174f9f5503b2de49bfa152c1597f809aba5a]
#    to [d2ba7c8503299ef5a99894bd6d2bf565d22707bf]
#
# patch "include/nr.h"
#  from [e9523c6c77eb71f2fc01199b2237cb527dd0e53c]
#    to [69fff47cd68673ae011985f5bfeb27cca2859271]
#
# patch "include/numthry.h"
#  from [4577607d6acbf159d1506c22fb73c47a6b237338]
#    to [90ad99ff73fe715f3268bb90c5e0205870c750d5]
#
# patch "include/ofb.h"
#  from [bc5a889f33acd616c2ba1b28bed0b069eee277cd]
#    to [3af04a8620620c415c670ee31b666fd1e83fa38f]
#
# patch "include/openpgp.h"
#  from [6d06d258db32629ddeca5facae94581dbda65314]
#    to [ed902c223a37461cf9e19096df5a592c6c287328]
#
# patch "include/out_buf.h"
#  from [c845c5752405c83005bc813f6a3b6406b4a76e10]
#    to [6d810af5b8e25f2bd7bbc06b6aae8d63e7867bd7]
#
# patch "include/par_hash.h"
#  from [4579c4a4e194721934a52f17cd7dce7e0cdcf874]
#    to [21d0eac5f1b561ede44bd2b9edf38e9ad9689f26]
#
# patch "include/parsing.h"
#  from [6e44cb37e371bc52fb831a5cbc9ec6ba8a1889e1]
#    to [96b4a1adf554017c3f7dd68f366a071281f60c79]
#
# patch "include/pbe_pkcs.h"
#  from [c926118676c621edd61e938a2bd3accfbcdac059]
#    to [0947c21c23b1ec4ef1026eda68a6635e7de1b1a7]
#
# patch "include/pem.h"
#  from [efcb8fb44e315de344c0042d4a1dc40a2b3e8f91]
#    to [50214f8bbb90f7d1d5304eb518a689a6811e7835]
#
# patch "include/pgp_s2k.h"
#  from [59db0e6234f33a0388b7c6136c9cd8de33682263]
#    to [a7a81192057021b7241e7b5df6c957bc7d65c060]
#
# patch "include/pipe.h"
#  from [9e03557d153485d83b482f075898718d3617b946]
#    to [4bbc4f7a00b5955c503425c2154522ec0f13b286]
#
# patch "include/pk_core.h"
#  from [258d5e98a242fd2f27c67adadf524ba32b22e744]
#    to [10c25626e3fcdc6a929d244388c37a4bcaa8ce94]
#
# patch "include/pk_filts.h"
#  from [8cf0aa0cbf6219930fb2530d9c37510ed9662a1e]
#    to [9f0813c4f804f8ddc2b98342e166300233b55b81]
#
# patch "include/pk_keys.h"
#  from [cf1a5888cef53fd2615b6f00b46e08c58893fe27]
#    to [61fabe800c597b3806cf0b5076908facb5c54b7e]
#
# patch "include/pk_ops.h"
#  from [3920d58ef759295ed29d0b753100676f0745da8f]
#    to [ea3d40e44178c7cb8f54f05175b89df5366b6024]
#
# patch "include/pk_util.h"
#  from [7891afa42d0dff993e51a8d6ec0a059b049706b9]
#    to [f9140f3e9d6e116f9e60ee84089ae0792c8fbdb5]
#
# patch "include/pkcs10.h"
#  from [4984265a4cb5111800f60659a4c8fe69d26b9d5d]
#    to [c51c07fd3713cc63899f616fe9789b0b7dd56f45]
#
# patch "include/pkcs5.h"
#  from [bbbb8892f135dc8b51009b9aec7e58aacdc8ddc4]
#    to [65040684bb3149b73a392bbf6f47af3121c3fa22]
#
# patch "include/pubkey.h"
#  from [71ef0bd35dfe81ebaf664951498d28e5baff138c]
#    to [fda6a46bd4d85d8bfbb2315bacefea8e614e61bd]
#
# patch "include/randpool.h"
#  from [0928e4cc6c0e9db4c0bc80378e2d5846adc4d225]
#    to [97edc0270d5c1f1b2d527b8bfb6446efa6a5b7f9]
#
# patch "include/rc2.h"
#  from [6f0dbc244cad0207d76139f053d60c144252ab33]
#    to [7c035dd1ead0f09a2c4b7cee9d6a630d96a45792]
#
# patch "include/rc5.h"
#  from [95604aa00ab3dfb14a0e1aa637150603fb663e78]
#    to [948cd38dc24183264be0f44705e15ec75dce9b6f]
#
# patch "include/rc6.h"
#  from [bd814085812d9491e7ca7d9714a407c99f2db8e7]
#    to [4486aee311d2b2976e8b09db913f966444f7b60f]
#
# patch "include/reducer.h"
#  from [c11599682def397d3376aface6c85a2fbc73223b]
#    to [f6e21344902a274aae99cc2e23b9a467d717e91b]
#
# patch "include/rsa.h"
#  from [96e51a461640df8d282d2a3eec3894b818f8e822]
#    to [97317cf6f22f970cfa9dabbf8c3d26a802840bd2]
#
# patch "include/rw.h"
#  from [8c3b9b886a511deba603bd6c73b92972de8b0e22]
#    to [d319888c5a5a6da2688a100173bf813a2246b5b6]
#
# patch "include/s2k.h"
#  from [dfca47094e0f16ffd7c61fa36305b7758771a107]
#    to [54b97cdd2159961ff50bf2f9b1530119a3d3c1ec]
#
# patch "include/safer_sk.h"
#  from [f79b6f000ada0c27333f4f9d8c2689a7a2653f62]
#    to [c9e5776c5243350f49ced720bc1e6b32778844bb]
#
# patch "include/secmem.h"
#  from [1d2f5645a438c2cb33913f290a0db60ad0588d61]
#    to [8356473c08775c6f7afb1b8234193f7f22364c51]
#
# patch "include/secqueue.h"
#  from [cd9544d40e08404b6c18edc999e32bb3e446ea86]
#    to [ac79cb3a865381e5d15d4c84a8e40467d106a963]
#
# patch "include/seed.h"
#  from [ee56d3b9e0d07e6e75a469950c8a2656a7d77b64]
#    to [eabb419261f4eaf1b98a6f94dbd17f286cbf567f]
#
# patch "include/serpent.h"
#  from [ac5af1c20013d338fe74254a9eb4547b4bbe1842]
#    to [7f1e5e1caa8a978bdfe5edbf635c2dbcc90b0b1c]
#
# patch "include/sha_64.h"
#  from [8e761255053141d09a8068560a0537bc5223a074]
#    to [9eec4731e61bb68a5c3275952a435ba95b2c63b9]
#
# patch "include/skipjack.h"
#  from [7e78ba076b614342f843fc5e21a1d81318caf970]
#    to [54b454e21368455d751916dc9bc540582319b664]
#
# patch "include/square.h"
#  from [7aa0bb1770487292dc1326f237fb9f37dbeb4b23]
#    to [ffe5b764d93994258c3687d60afceb93891b334c]
#
# patch "include/symkey.h"
#  from [614f0dd9f6dc979dd0e841c754b8f4eaa08f49a3]
#    to [b90333ef3fb01411efe3a916cf0b53cf6c7fb6e9]
#
# patch "include/tea.h"
#  from [1c04cb05f2bc15d03ceb41d61e33826d7c28b5d9]
#    to [7c453028cf16322d944d0c12eb27a5c0a3bec4bc]
#
# patch "include/tiger.h"
#  from [4a2b2c8f08dc6b2ebfb02e8751df5ab7975f3117]
#    to [69220deb802166ae576a41b8857f49a94ca4b8e6]
#
# patch "include/timers.h"
#  from [1924a8a71eece12b946c93dfa0189f3dde13e21a]
#    to [6404b78c64e7b174f21c1f0a7888779ff8062779]
#
# patch "include/turing.h"
#  from [b953bc11f8f84b1d4a6958de9a437c67776e48df]
#    to [fe0ed57e3b306c4825ed5f1b1d239a05a3142915]
#
# patch "include/twofish.h"
#  from [809e92217142cfbe7a47436ffcb340974056f60a]
#    to [f668a75683750c4fd4724e00144432ceddd19267]
#
# patch "include/types.h"
#  from [5ee9484e73ff0a06fc661fdb7fba75fbefcf7261]
#    to [6a447d8d78d468a78ed859788874d610444905ee]
#
# patch "include/util.h"
#  from [e78434c0e695bc47ad2c0bdfbfbae8ba36bda8f7]
#    to [50fcf80b2c667e204f40a860318ec82296aa4b0e]
#
# patch "include/wid_wake.h"
#  from [7ae29262d365c36cd24c0e30430660e445f4acd8]
#    to [d973973d7f65633b962881a52e2444c510ef21e9]
#
# patch "include/x509_ca.h"
#  from [3327c608a47cba05bbed1d840c276ee73aba9624]
#    to [28e60cb16be276f7697ffd577aa52a959e7d50ca]
#
# patch "include/x509_crl.h"
#  from [f62da82fa82f60977d4b4b5e565a88334bbe92fc]
#    to [7920de0d4effbe49c8221bbe6f2e82dece57fdcd]
#
# patch "include/x509_ext.h"
#  from [3d07a4bbddc8ec683e40448dc6a5d9307ec345c0]
#    to [ac88aeaf59897ad5da5bf813661734adc60dc316]
#
# patch "include/x509cert.h"
#  from [15f8b6d21e61abb8ec637aa9a8cca227045d8d76]
#    to [ccdebc93ccd673c6c6c1988670c495ec194a80b1]
#
# patch "include/x509self.h"
#  from [3c3ecc0285256e83b38880dfe8d67fa3ec3d6a27]
#    to [8ff94fc6f9fcd6878a8aece1f7165e3c40414481]
#
# patch "include/x509stor.h"
#  from [dfbc4f59139cbee076e370b6370e71995f3c4479]
#    to [082fb96214fc65e8f65d201b282917bf2f3ae5c8]
#
# patch "include/x919_mac.h"
#  from [1716dcbde2c168d9addb6a648e8525b445d54354]
#    to [0d0006c8c8f725cbb2dcd9f9e19210668204e505]
#
# patch "include/x931_rng.h"
#  from [2c37383953654e7400e0bbfbb7aadcc8d85839d5]
#    to [ab37ef196b2d309c9a6df149ce96ddc3fef0bec9]
#
# patch "include/xtea.h"
#  from [0b2cc1b94c73ed4f44f2eff19a01c04718ca43e5]
#    to [e7e357f3d71928433d3c89f45820ef419d3204c8]
#
# patch "misc/config/cc/gcc"
#  from [84a78106705ceddfa58becf7e194ae1573afe95a]
#    to [3c78aa7b3809e9e9a2509a9e5df43f77ebd389dc]
#
# patch "modules/alg_amd64/sha160.cpp"
#  from [79eb4e989bfa2f23c36757201305580e2952096d]
#    to [cb3f2e1e84df4d6886229dacc0b1cfca56e9fde7]
#
# patch "modules/alg_ia32/md4.cpp"
#  from [73b6aaa48d6587e6c03a0777efb789cfed1bb7f2]
#    to [6470d5e660fbbf2c3ef05f7a1453a8f20e99b198]
#
# patch "modules/alg_ia32/md5.cpp"
#  from [fe4150d71ea9b4da46b62812ee6c7d6190f94bb0]
#    to [42b5d57289ba185f3b4911c570aea18c540b6926]
#
# patch "modules/alg_ia32/serpent.cpp"
#  from [fbcdc5886e79f0e935e7ba9e7e7b74838e594ecd]
#    to [54050fa71bd3f25e3f6224c7c53f233d2cdfaedd]
#
# patch "modules/alg_ia32/sha160.cpp"
#  from [a41aac308a27a4c28997037aa7304ff4867d33bd]
#    to [2837abd187f093f9387f08fdd0215bd069b329e1]
#
# patch "modules/alloc_mmap/mmap_mem.cpp"
#  from [a7da0ab7a6cd699e92c61878f3305fdefea5ff4e]
#    to [f10a918dde1b5b875015e427071d393e278187e3]
#
# patch "modules/alloc_mmap/mmap_mem.h"
#  from [6a50b1b723ed109a2ab3200bc5c25abb6abba5d3]
#    to [330feeb22e745d97a6788ebafd638c277aade8b4]
#
# patch "modules/comp_bzip2/bzip2.cpp"
#  from [fdf95061e9bdbd532179011bd27debad26b7bd32]
#    to [9d0a3a1885599a98dc5be32245a29942e5c7b510]
#
# patch "modules/comp_bzip2/bzip2.h"
#  from [a66d26d9d0a7b9cd3d8c27584bb5c083fed75903]
#    to [89b29bb7b420a10130626462f5b1c32d7ccf6de1]
#
# patch "modules/comp_zlib/zlib.cpp"
#  from [1f69ad0a2794d1dc21138af4c96120c70d4f1374]
#    to [6736fe7798b05354630602d9e705b2e6b7b45b0a]
#
# patch "modules/comp_zlib/zlib.h"
#  from [85ddcc50cc743c9e3b253058cc63ead01496119d]
#    to [7c9fb0de51dcf62c3c1ec98a5552b0334fb818b2]
#
# patch "modules/eng_gmp/eng_gmp.cpp"
#  from [5825006300f869428ff478423b2e4b921a91c0cd]
#    to [691b810a8cba5e141029d07332166b346c23ed4a]
#
# patch "modules/eng_gmp/gmp_wrap.cpp"
#  from [4a1091d76717f66e57e01e12fd0560017a083136]
#    to [75184ce60169189fb37b866209ca66ede0edfc32]
#
# patch "modules/eng_gmp/gmp_wrap.h"
#  from [8ddb69503fadc03fb175ce9eacb14c466731840e]
#    to [0786a665c8189057aa8e17e86b544d23821e13fd]
#
# patch "modules/eng_ossl/bn_wrap.cpp"
#  from [ccc23191b550402e3c31e4355e00a993cf3f0d74]
#    to [a316abe703e7e9fb48707b4f02946ec430f15676]
#
# patch "modules/eng_ossl/bn_wrap.h"
#  from [a7689b21fbee00af825e10a3dc655980ef25dfbd]
#    to [4a639ed22d2690808abbf0ce86308014d6080088]
#
# patch "modules/eng_ossl/eng_ossl.cpp"
#  from [ab826fd55d6284c712e10959df78d977b006a113]
#    to [8be26da478d6888e7971459d5dc01203e4d85e07]
#
# patch "modules/eng_ossl/ossl_bc.cpp"
#  from [5e04d5a9402ce97f885b97df1de4601ba50723a7]
#    to [a8f84b1bfb96c25ced77ff1168c3b515954e73ce]
#
# patch "modules/eng_ossl/ossl_md.cpp"
#  from [d5f8f0128a7654c2e7e3772c7afd18b7530e5ae0]
#    to [d660905629a2ac473f2a78f923ca6d7f1ee6d318]
#
# patch "modules/eng_ossl/ossl_rc4.cpp"
#  from [b8bb4c1b6d36b5b4f9ceaeee45e98df63187a86a]
#    to [c37e7dbf55c5667250e5eca4df03e451c78eb6d1]
#
# patch "modules/es_capi/es_capi.cpp"
#  from [ce2a49508c4ae441ac9d067f4bee5d7c4e29124c]
#    to [9c3cd767bfa6f4501b5e641dc10f91f10c7b6675]
#
# patch "modules/es_capi/es_capi.h"
#  from [45a6a04f2e91e51516fdad3311bf092fcc5d0ed6]
#    to [1d429a35851c40fb8fd0b792d963b5631f066ffe]
#
# patch "modules/es_dev/es_dev.cpp"
#  from [ed3b7853bec2f8209ebbef8967deee736adb4bd1]
#    to [acd61b1f42afe6f568b7b2a41eb127607b9ea254]
#
# patch "modules/es_dev/es_dev.h"
#  from [49d18e5b41e0a4c1d19b4d57c1b728def27e7f30]
#    to [d439b9ee836db1c3391af8f3361cc5e063ffae3a]
#
# patch "modules/es_egd/es_egd.cpp"
#  from [07a85d1b5ecd34f26853854c67c93305c80f8998]
#    to [3c6c392be72f172938f59cb15bb52df8b9d78234]
#
# patch "modules/es_egd/es_egd.h"
#  from [551d416dd05f8e5fb57eb2a71b836e3951699ac5]
#    to [cb168de2b1faacb2562d7f1f5f9c7ccc31b1e50f]
#
# patch "modules/es_ftw/es_ftw.cpp"
#  from [ff958551681f25b7218360804ba644c766a5ffd2]
#    to [4e8ea20f740269bb1f31006cbc0e1fddc6df9ebd]
#
# patch "modules/es_ftw/es_ftw.h"
#  from [0ced02bbbfe35d3288b9ee22ab7b89ffb43185f3]
#    to [a67548cad154cd36e804d0ce074471a4993663e0]
#
# patch "modules/es_unix/es_unix.cpp"
#  from [aff0f9506f4d6069ba3f17cef22f93e75262abd3]
#    to [3651405f2e856f548af6b47cae4e743d39b27e35]
#
# patch "modules/es_unix/es_unix.h"
#  from [c518d705572fd26869d54c03e1d705d701d70c2f]
#    to [c97e67a5d6c6839a7e8edb5458ceecbdad2eaade]
#
# patch "modules/es_unix/unix_cmd.cpp"
#  from [9eb60c7b01a354ebf19f20e3463b0b1f2e92c83a]
#    to [af597d1a990a222d9ca270611f1127e6c697a2ba]
#
# patch "modules/es_unix/unix_cmd.h"
#  from [3f555a750e77be814decaf0aebf93ae15cf62559]
#    to [a263955eab14d01a2c69366f0b3a9ad69430016a]
#
# patch "modules/es_win32/es_win32.cpp"
#  from [efcd4198ead0f8249c3514cc0595bbbc24125a7d]
#    to [a685ab16ff8e56a9a11846f7e52140d7ef70e997]
#
# patch "modules/fd_unix/fd_unix.cpp"
#  from [4c3e7a594380108931a2d17830c43e78a8d7f91a]
#    to [cfaabe8f7692a744ec372a2078c8a8739336a3ea]
#
# patch "modules/ml_unix/mlock.cpp"
#  from [4ede9ce5cd8ef05f4e42de8401f93bf8c104fa63]
#    to [1e1d81c19754c2e20e8fbb47462c60887797b586]
#
# patch "modules/ml_win32/mlock.cpp"
#  from [378693b640df26f4448f3f6e21696b88770da71b]
#    to [196d4d10653a5e6aef24cc125e92a55cf755168c]
#
# patch "modules/mp_amd64/bit_ops.h"
#  from [542b90c49004d6f5ee459b1b0bdf5db738da3a34]
#    to [8e7eba18a2bd92b51e9438d649607de39ea8da92]
#
# patch "modules/tm_hard/tm_hard.cpp"
#  from [37493c3c67c161e1709a2e4accd64eb8a6a4103e]
#    to [5861b10d4c5478873c2856fba6fee25eb9252117]
#
# patch "src/adler32.cpp"
#  from [1900c072822feeed9ad2d5f0272021fccfced218]
#    to [ac7575ffaf90ddb83fbb68389edf295520e57311]
#
# patch "src/aes.cpp"
#  from [ee57662b8c25279ccec727e53defdbeec940d5ae]
#    to [22591225123c1d1114935607eebfe8ce5813c0de]
#
# patch "src/arc4.cpp"
#  from [6bd2acf410cc71a9820b4f4ed56695853dc3fcd4]
#    to [005feb882cfd9e1560b102ac8c208b6b38b5db18]
#
# patch "src/asn1_alt.cpp"
#  from [5c4ea3683bf378899c4a505d332de226c2886dbb]
#    to [9452fbbb6fde67629abafe15a3e7e4fa818796b8]
#
# patch "src/asn1_ku.cpp"
#  from [9d71d5d75d8fce8eadc81989e0820e4c9cdf08dd]
#    to [e5baf92b22bac4de1df5700d4056b02f24c7bbe6]
#
# patch "src/asn1_oid.cpp"
#  from [fc53f9170d895639f3b23d5db2c17c2f43bfb49e]
#    to [14cac0beef4c40e1464045906cf798a4b94da6a7]
#
# patch "src/asn1_str.cpp"
#  from [4b98135647c802b5a3338638221ebbd04661cf50]
#    to [19a7d6c8e7ce44f96fa5afa862397437a6afa8eb]
#
# patch "src/asn1_tm.cpp"
#  from [0bbcca672756ac38f3d44eb8416a007d36009dc4]
#    to [0f794c0377a3d9bf1e3df80eeecba4e5a1429e2b]
#
# patch "src/base.cpp"
#  from [66946b725669401993ffdd7f4838b0715d91d6b5]
#    to [ff18ab61561ff95b7d1be4ef6490774afc233146]
#
# patch "src/base64.cpp"
#  from [178162b698183af4daf3b07ad533bf5480e8e811]
#    to [10b3f097528f02ccfcf31f1aebc2d7cc43c351c6]
#
# patch "src/basefilt.cpp"
#  from [06eac85a3c1e130d3bb94eb274dd68b0e85b082c]
#    to [b67201d69022ac7d0d82600139afb4db0e0ba23a]
#
# patch "src/ber_dec.cpp"
#  from [08fff81b2d7e419b3104a04c9d38311ba03c0488]
#    to [93f879530268dc360fdc5d9e839b93e182c1eff1]
#
# patch "src/big_base.cpp"
#  from [49d72ebee65b11eb77fa3b7bf209e9db372b6e04]
#    to [8f86f1303ae6f57e8021808425c2070ae325d577]
#
# patch "src/big_code.cpp"
#  from [dd4d17bf1561349dc289fc05fc32b4522cbf0f3b]
#    to [69e5437fa381fcad97ce066ceebc25f967114656]
#
# patch "src/big_io.cpp"
#  from [4f0d764838269e09272c9929576dad418c557288]
#    to [43ba94e0429f882013bcabbdf9262f3e2be0aa49]
#
# patch "src/big_ops2.cpp"
#  from [7767ae29c455ec1451c3dcdeb9b858081e856aa2]
#    to [f60cfc1b76ca9abf1de1b7c48ed211bbd7201d01]
#
# patch "src/big_ops3.cpp"
#  from [133e0183078e5f2fe6e8b51fb0e0360555470287]
#    to [d45479fb6f29e5f07840222db74d30bbd55228ad]
#
# patch "src/big_rand.cpp"
#  from [39572abe8e5f783ed4cf42de2c524f851215ce2e]
#    to [83b57eebf06343cccacd34c82f904b770b153058]
#
# patch "src/bit_ops.cpp"
#  from [2ba91b43b2dd429baa3dfef7290f5e40f7ae19fb]
#    to [4ef1323709b0fcf154f55d86c020eed6947ea4a7]
#
# patch "src/blowfish.cpp"
#  from [fddf7167914ab45f09eac78875fba52264c35aa3]
#    to [a894519b8b2e957d5570fc33375e4aa2f029c830]
#
# patch "src/buf_es.cpp"
#  from [aa507bb49b93b77a65b3cba83c3aeee1edf99026]
#    to [18bac32dfcdaa52d51e94a40119a7be2ca389bbb]
#
# patch "src/buf_filt.cpp"
#  from [782ee1538b69e34be41801402a84db6cc4768455]
#    to [998e486ddbacfc1c9291bedca280e9c7e7a0aa94]
#
# patch "src/cast128.cpp"
#  from [c6c53ec85bddb52351921a9e9a08fb0c340b2813]
#    to [7d9c396d78914d87c10d325920f0cbc6ed5262b4]
#
# patch "src/cast256.cpp"
#  from [6585b6baaac996f25b76a387c9cc00b49e056256]
#    to [46f510731039b06fad08634edf3c0ebfdd0e0dcd]
#
# patch "src/cbc.cpp"
#  from [33122cb0d77783a79d55322a5648591266c1765d]
#    to [53a91f61789ee4cac0995306f37b7728d6fd5c93]
#
# patch "src/cbc_mac.cpp"
#  from [96970348caef5cdb8d60f6c7dfefa050004b5178]
#    to [bd6cd94b62cb6b5ee6f033a22c1be27593d7c5a3]
#
# patch "src/cfb.cpp"
#  from [6e0107157eb3e92bf7a82d463c772f7677b7287e]
#    to [32acb3f5519c35a3f4bef891aecda0c0126135b2]
#
# patch "src/cmac.cpp"
#  from [24d5ca8f15037388761f94b9e0087dedd455d328]
#    to [93974b16a84b575ac34a7e40e80ee12683520a22]
#
# patch "src/crc24.cpp"
#  from [92d51be2f15019ce3d2bcd6eb6d9265a16fb9dc0]
#    to [e6514f918b58836cfbeca6c0449c17305ccf9e50]
#
# patch "src/crc32.cpp"
#  from [df505a4bd95b897c0badc30a7786aba7691a6dfa]
#    to [963d427500df830eedc25930356705b2933d5456]
#
# patch "src/ctr.cpp"
#  from [78262b094f35ee9092e248f1701368d3d5a85f34]
#    to [4405a1bac293c388c6ab667594b22dde73b7217d]
#
# patch "src/cts.cpp"
#  from [5fdb172ec30924590a61f9eb900eec313e397118]
#    to [d5b5490475765ded8348ffaf2e7bcccb3fb6d833]
#
# patch "src/data_snk.cpp"
#  from [d61e5704d19bbfa2d88f0cfab1e6a0392c9177e2]
#    to [101e11d3501fee48652b63aab8e921d8af34e3cb]
#
# patch "src/data_src.cpp"
#  from [c8ecd9c879111ffa411129176726c3f48dfc8adb]
#    to [2988d383686fb5b34103783e6c02dd70346ceb29]
#
# patch "src/datastor.cpp"
#  from [fcd6e9b334b5a03771e4571d6efacbd346a35e45]
#    to [82ec9d0a37cf7b9a17cb24206c134d77ed8ebf78]
#
# patch "src/def_mode.cpp"
#  from [65d042983b40ad0da1eecdb1be3c721469a3faee]
#    to [3f5c5a4c16c052474fff15bd392d0de5fc2c376e]
#
# patch "src/def_ops.cpp"
#  from [97a93b3320de74915d1e7c95024a4c2f37c79c08]
#    to [5a23741e8f6a22873b91df9a335d5644ce04ef04]
#
# patch "src/defalloc.cpp"
#  from [a8be063fbe8627163949e0e8d2f9ebe16404cb32]
#    to [493f451574729e4bb8ac78d5154a39df36847763]
#
# patch "src/der_enc.cpp"
#  from [0272c91aba0c734d0ed15bd589411b0461c865fb]
#    to [d2a8e80d68f9a547dff5a6e78ad2c0c197c0a030]
#
# patch "src/des.cpp"
#  from [0dcc4fe670b5d81990b4693999995001299d2da9]
#    to [58d1db189cc88696138c547466601a3522549476]
#
# patch "src/dh.cpp"
#  from [cf1af52cb61f1eb99adcfe3889779e5fe6c80ef9]
#    to [d06e0fa881bef6326f87a201c6d00ad4741bc718]
#
# patch "src/divide.cpp"
#  from [e12c670f9d0bb2595617974471f009a0770a9c34]
#    to [dad81699a0705e40c707f7e5e78cdaabbe50454f]
#
# patch "src/dl_group.cpp"
#  from [7b44e445b2bd88872ffccb09c4cd0e499820dff7]
#    to [d86c0e3fae2f569c7b968c6f182a80772ef06a6f]
#
# patch "src/dlies.cpp"
#  from [6da354556964f024365d740db603ba82ade44005]
#    to [256151991a3796622d7696e1d12ef5acf8b00d0e]
#
# patch "src/dsa.cpp"
#  from [dd9a66742ed10bde23a2f9b89fdb71a41d9b52f0]
#    to [96d26110d726530e0d2544d6b82e154036d4b540]
#
# patch "src/dsa_gen.cpp"
#  from [1f560b9c58461ea5dc96d1e92d45bb6b3e05f822]
#    to [318ae77ab1e8151acbba0357f59cefd77b7e0b4d]
#
# patch "src/eax.cpp"
#  from [2094aba50694d8729ef706893dece9038cc357eb]
#    to [ab1701f265aa43275550e302e318cc9a4b3320ba]
#
# patch "src/ecb.cpp"
#  from [d1259da89d119de24dddfecd08412fe28cc0d454]
#    to [6b5cf82f57b31038aee8e0714b0678fe072c5057]
#
# patch "src/elgamal.cpp"
#  from [91a56ee4c7785816c5e020d573da6bc63da754a5]
#    to [9efdd907de081416eab9be7bab2ffa7ece58a1e5]
#
# patch "src/eme1.cpp"
#  from [00d13c8afa26f93a0b45dc81946d8d6db10baf93]
#    to [5dda629dc3eefecbdf613e4753bd066669728643]
#
# patch "src/eme_pkcs.cpp"
#  from [957e51a698ddf990fec5d003064ff4eb4a28607a]
#    to [c16758543b34c60994dfa2e2540a625d14398c48]
#
# patch "src/emsa1.cpp"
#  from [823e8a445d3e5ae6a324a46a8e568a5494d0d312]
#    to [3a1b5068afd9f102bc9731c84c4cf2b6a1b6b89a]
#
# patch "src/emsa2.cpp"
#  from [03808f839e115cff3445538825aebbf744b364a6]
#    to [33817dabf325912da231f6aef843d22a9261d404]
#
# patch "src/emsa3.cpp"
#  from [09e25f8be7af5735d8132fd959973ce81cd5c310]
#    to [c75eda8be4d825477f0a1354b714f7ae099a2c1a]
#
# patch "src/emsa4.cpp"
#  from [dc0f0dbfdaed2ec2ae85bbeed3ff0303013c58fc]
#    to [c0e9d994a2623d6dfe28e1e77805d385b4418f01]
#
# patch "src/emsa_raw.cpp"
#  from [abd861ab8dafa0f9a68ae123b69ac69f63b038af]
#    to [33e0826cd45faded99e942880bdd00a1dd2788b5]
#
# patch "src/exceptn.cpp"
#  from [2fbca38627be7abf4b124211f1b5f9f28e63de2c]
#    to [f1f8b60e12b4cadfffc3ccf908ae9755b743833e]
#
# patch "src/filter.cpp"
#  from [ee4772bcc40c136c29204a37c94201de730999ad]
#    to [f22d22f40e28f156d84186d2ee77178ee3776320]
#
# patch "src/filters.cpp"
#  from [3e6e1c6ec8d0b8a838cab4b90a974281326fab19]
#    to [ac3873fbeef7eb2074907c4e0a89796815aeed67]
#
# patch "src/fork256.cpp"
#  from [81373fdd9cf569a8c5a860c6e5a0b69bc7f02ad0]
#    to [1e8503a212069b11965a3702f84ce782b8c1c5a9]
#
# patch "src/get_algo.cpp"
#  from [044b6c7d0fe1f71b772fb9f6f4735c210449b2cb]
#    to [ae4a5bc3cc5b57af959a5a6f7a12e73b0d90c1a4]
#
# patch "src/gost.cpp"
#  from [eeb0e148796ad5408c7d0d41a5b94c88a1a557fb]
#    to [d939f43e60055119a92db31c6cdb0ba9190de588]
#
# patch "src/has160.cpp"
#  from [1135db6b305a4eb4fea50cd0dbdb1459bef25f21]
#    to [2ae1801e4308c37416c5224929b99fee765d0c59]
#
# patch "src/hex.cpp"
#  from [47b0b27d714f5b73771e16ef41c42fcbced8a8f3]
#    to [5bf073ebf89c03af6750109b19da82ffeecfe547]
#
# patch "src/hmac.cpp"
#  from [95864b3c32b51ea57eecb60eaac4c7af77265d05]
#    to [ac1f4c02b07f96fa12e8cf63443b503ac6beb56a]
#
# patch "src/idea.cpp"
#  from [3f041b8f987c38475bc22c556521a2b5c63d64bb]
#    to [cf0aade207450f15a9d75e1bfa51921ad0f5697a]
#
# patch "src/if_algo.cpp"
#  from [e9a563aeac72763349e9f10591d7f8e3012906a6]
#    to [e896c64116c34c39c814ed5ceae07530b65d34fa]
#
# patch "src/init_opt.cpp"
#  from [e18a709589b4f86c78b0fc7a1761dba09cb8281f]
#    to [e33fe3a1ee25be654368a2657a27d1596becd5f0]
#
# patch "src/jacobi.cpp"
#  from [1fec0cd4aea0db57e7f41761abac72b46eba1f75]
#    to [85acecf40a05e534bdd803f7d1793d9bccf14431]
#
# patch "src/kasumi.cpp"
#  from [a22951a5f5de492aa3f09fac4041362e512f0626]
#    to [d9a395a9b3f1528adc08f428a1e4d45f70efc7eb]
#
# patch "src/kdf.cpp"
#  from [9e39aa9cdf145807981e40bb77872c2b2c62f3c3]
#    to [9d539bf33cbc84a51708e82539688f7fde3a7bba]
#
# patch "src/libstate.cpp"
#  from [46e21742f98783366ba944270205003f7b6e1707]
#    to [8ebb03f780c9e4994e0b74836a90a6f0695ac58f]
#
# patch "src/lion.cpp"
#  from [8c68ff7803e4fc7739687a162ecc09b48430b6ec]
#    to [4364d2f3da0edc46817b51011f2c72511ce3ab89]
#
# patch "src/lubyrack.cpp"
#  from [fe99d16e3b942f6b3aa4dc3245d1dc9c339699ec]
#    to [67021b7e0f46a83e38a8a88b40429f5e64b67ab1]
#
# patch "src/make_prm.cpp"
#  from [67084166fa8d39268b1743f5d5f1231d4265f427]
#    to [e41917771def844b38a28f2c9546b5401effa488]
#
# patch "src/mars.cpp"
#  from [227c2dd67813edf2f4653fa06bbfa688374500de]
#    to [7daf11fce78c41722a91c3367b6071678a6d50b2]
#
# patch "src/md2.cpp"
#  from [da6b5a48e34ad0092951891815d7852a4dcce3e0]
#    to [336418a353bb158b4f1037c215c3e52f6c52436e]
#
# patch "src/md4.cpp"
#  from [e8f790566bd2b72f9a12cc647ce7e4bba0bc2929]
#    to [1f26581c4adb40f9e390b0d933860f5b7ee8a908]
#
# patch "src/md5.cpp"
#  from [a0569dd5fd0751da3c896dc0c89d1f76248995df]
#    to [2f597a6acd6932de30ffa685666f6a424442d814]
#
# patch "src/mdx_hash.cpp"
#  from [cac7e2f52e2b72dcd0eb5d778b9de90d466e8960]
#    to [6e2d44256f52b83aeb6257b5e148bc62fdb9ec22]
#
# patch "src/mem_pool.cpp"
#  from [5842c42cb8fcde3eb6b47dd085c92c14f336a3cf]
#    to [48fdda7b62b6117d9479f8f06029255e9a56aef4]
#
# patch "src/mgf1.cpp"
#  from [70180df9bdb3539116bfdb8e90b94079d0ea70cd]
#    to [d809fe4b29cf0899af54c02a254db7bacdee259c]
#
# patch "src/misty1.cpp"
#  from [4cb3c52161ca1432d3b66ffe9a3d7099ef2fc89c]
#    to [9f05a474d749f91f4162ff8560dd2075975206f3]
#
# patch "src/mlock.cpp"
#  from [6d47d10e0eb3c4acef109b593dd9262013ad2f0d]
#    to [31e139b0b226828e079ca7511d0227c09e7748cb]
#
# patch "src/mode_pad.cpp"
#  from [7dd596fee813b8dd20e2f2d5aa3b4e7608e5a307]
#    to [d0bfa3e8ac8d4c3392dc23eaa2377116feb92f84]
#
# patch "src/modebase.cpp"
#  from [90848f4680d924c48d9ea3e6f8a54faede0709a2]
#    to [5f5aa437e98be2e8ce83f17e97c51e82a2bb445f]
#
# patch "src/mp_numth.cpp"
#  from [11c4c9d180e8b7ea13fae33816186a3217e39a94]
#    to [fd8a54eb832f841078ca745d9fbe7687d151154c]
#
# patch "src/nr.cpp"
#  from [edca7428f9ceb6baf74a8a1cd80643079af8d583]
#    to [f1085e62e56512572980483da03dbdc90f049e02]
#
# patch "src/numthry.cpp"
#  from [ce29bfd5f77b486f69081a6884cf35374480821d]
#    to [3b0147009afea8b95dc016a910bd15811eba1e81]
#
# patch "src/ofb.cpp"
#  from [2709b09b27e6a7bb97f2de2fd6d52147df2cce25]
#    to [8c13e02b1e615a65c13ac498c7311612ff93467c]
#
# patch "src/openpgp.cpp"
#  from [8c02bbc119af6c17c8219ae14c00e9215f0796a4]
#    to [fa2947754f7520775b6a3fd6359dc1e27a88fc2b]
#
# patch "src/out_buf.cpp"
#  from [2f1f70930912c616e0ab57712f3b88dae51c1f9a]
#    to [efda2b8b88987c533342153ce145589154f85c93]
#
# patch "src/par_hash.cpp"
#  from [53dee62a53d98bc8d99b972e25baeba5fae7f278]
#    to [9e1d243ed11c14cc5aac512dea3bce9aa4c13529]
#
# patch "src/parsing.cpp"
#  from [07004ffd721f7f70ccb2f50f0a1f4a7e98c028cb]
#    to [a9630871992b9d40d5be626724b1e2abc58c6c44]
#
# patch "src/pbes1.cpp"
#  from [4d0a544192358205f1728ff1387c6a3d9d6ccafa]
#    to [09212b8a7e5ecc9584e225ebb8e71a30f5c53fbb]
#
# patch "src/pbes2.cpp"
#  from [3f302e265f72dbf7081b62e777febdf4d5b468aa]
#    to [5e1aa91ca3a011e4a6c5f03cbf52e03405f2bdcf]
#
# patch "src/pem.cpp"
#  from [85e5972c5f43df1b311480fda4dcaeb321c9fbff]
#    to [c7cec56ffd844f639256576acecb6de36186e0cf]
#
# patch "src/pgp_s2k.cpp"
#  from [92a3abb920a2bfb98fec48783e2833d3521836a8]
#    to [e48aa86da8ad9fdcd2c1cb4eb7f37a4c3e8fbe42]
#
# patch "src/pipe.cpp"
#  from [98ecafb199b6f357e2f3e3d87b14fde70b2286be]
#    to [8026798f096a5f0a209d1f82556f21db40211733]
#
# patch "src/pipe_io.cpp"
#  from [1df9d4d60f010b16aeb6767c0513da600b2d2ff6]
#    to [028fc84d20b09686d479f633828790bf48b94a7f]
#
# patch "src/pipe_rw.cpp"
#  from [7aceb2a46da3ac66d93dce70b43a088768be67cb]
#    to [4a4dbddb726e23ae2bb391213272a6150041831a]
#
# patch "src/pk_core.cpp"
#  from [ea198f8f005131e6b0aec008caa2918ff8bdd236]
#    to [d8b9efee657610cb0132f816139b7724f52d7735]
#
# patch "src/pk_filts.cpp"
#  from [dd76c5a1f27f4c7389dfc5e3938184f20b5e394b]
#    to [c426ee166b869942ae6aa61f8c46de27e6a00e50]
#
# patch "src/pk_util.cpp"
#  from [3e48d6f17ce16176b39737467d48a18adc715a4f]
#    to [c2071caf54b667c19e862e1fa489b66310730a7e]
#
# patch "src/pkcs10.cpp"
#  from [a57a315dc85a9b8e996c57ec379fa18d06fa0cda]
#    to [1b015f84b2b7284640f01a6e7341f3e6e56bfc82]
#
# patch "src/pkcs5.cpp"
#  from [2e2f477f3f38ceae9f7fff0d52c12d4b32da6af1]
#    to [756263adc893716d8ad2909fd701c5e49ab7783b]
#
# patch "src/pkcs8.cpp"
#  from [48523b5da26036a05d4528e402f3fee4029c3df8]
#    to [c60f681a9ea6d7ddb79a83e420edbfb2354f5468]
#
# patch "src/pow_mod.cpp"
#  from [6a2546613ad26be4aa87563ac835323a5bbd7d62]
#    to [39af4011822d6961ea04b625490234a64412e14b]
#
# patch "src/powm_fw.cpp"
#  from [1da98d9989568ba6f1c92131c0acbf92061f2688]
#    to [2c9c8e6139451b8d5a03b07b63ff8938f6171f47]
#
# patch "src/powm_mnt.cpp"
#  from [3772af053bf040a4618e56187430580e6ed0d86b]
#    to [df737686482dacfcb9d874ea5c2e2c2728f28ad7]
#
# patch "src/prf_x942.cpp"
#  from [a3e5d2a1460566666f83ac69dea9cb33df670670]
#    to [c12631b9f2ba40bfbdf5f49be054375c3b03d7e6]
#
# patch "src/pubkey.cpp"
#  from [6778abd7d56d8325206ed29dd824c427a7e59114]
#    to [f807b0bebb0b7b85df92d4764f44ceb3288a34cd]
#
# patch "src/randpool.cpp"
#  from [ee4d60d4cf28a7075e1fc511de81f9af5494f8fa]
#    to [749394029c1a5a5842a5b5e7311c23e16aae3b0d]
#
# patch "src/rc2.cpp"
#  from [daf6467a4788d3f80b42dcfb7c7f21265c6c7506]
#    to [1f4aeb877a02de681298354d17ab4ed5d4a90d01]
#
# patch "src/rc5.cpp"
#  from [f66ff8658e8e5301543fc04dc2ff1c576f77f3c9]
#    to [aa4f4a0fdc4782cce00d8a9fdc5531f3da5a17db]
#
# patch "src/rc6.cpp"
#  from [48e88f3b56cd829fdab644e37191cfb4e9d63377]
#    to [1d9b70d546deaf81e03cf2ee051980fa64b40783]
#
# patch "src/rmd128.cpp"
#  from [efabe146b472df80fb5b3ef1c1176a3b818bb3e1]
#    to [fcaa2b2e2386de35219c4d745a617ef6ffc3cc9f]
#
# patch "src/rmd160.cpp"
#  from [fc75fc076fb5c1d7ecc0d7680eaf7e5a48580ec1]
#    to [cb596f9d4c13148ab73a76f18f07fcd3a80794ea]
#
# patch "src/rsa.cpp"
#  from [720c7ba05d5101b9551c089df09e4d6eb3c399cc]
#    to [78cc97ccf7579628f22f8fc56c1aa594dc8edeb5]
#
# patch "src/rw.cpp"
#  from [795bb7e106e083144339565fc2e91931f4a234d0]
#    to [277c7c4bc854b2e323f4ddca149a74b543495d09]
#
# patch "src/s2k.cpp"
#  from [0772628727b4f4a862aeba06213e5972397e3a35]
#    to [4174f3416725ed2200dd09df712c91cc31757ca2]
#
# patch "src/safer_sk.cpp"
#  from [cf76ccb4ee84b741695e327abed9fe5ba760f6fb]
#    to [96c13e3560144b4282fcdee022a50119fb035b0f]
#
# patch "src/secqueue.cpp"
#  from [b95333baf48308b0bb989e0aafe382ed635e47a9]
#    to [9e24ae54e92503cfc760f3364d34d38db0764664]
#
# patch "src/seed.cpp"
#  from [a70b6f3b4f41601e5dd19c601fcc5802f67e7f9a]
#    to [c8a03bae89521a528bde19a884d3f61c6bc070c7]
#
# patch "src/serpent.cpp"
#  from [2cffa38d43fd33081308d5db4f02e2d0ef841692]
#    to [086fe9d4274d1c49a6d34c63bd7b280cc7242323]
#
# patch "src/sha160.cpp"
#  from [390d5f3e3d52069e6a9c013202c8ac9ac39fbcbe]
#    to [81d415f413fb63f40ef2be9c9cf3ea49e08e5d92]
#
# patch "src/sha256.cpp"
#  from [7c0dab599037184c94d5e86fafd2078b27826852]
#    to [ad0fd82643f60f3403e883fb20f4a76d453d5411]
#
# patch "src/sha_64.cpp"
#  from [d8d14a303383cc19b008ec6dd6e085d4c09e9456]
#    to [1d7a576a0e067a2d2ef08853c47014d11ac76e15]
#
# patch "src/skipjack.cpp"
#  from [723cc4f99b4c0630658ca4e333c3bec604cd6bca]
#    to [30e27b4e64b2c44b39492c962b6c0b7673197957]
#
# patch "src/square.cpp"
#  from [c09bf083fbdf76ffebb91be5578c956457fc229c]
#    to [062c1b1f87f7185c7ffd40ce232ba119192678dc]
#
# patch "src/symkey.cpp"
#  from [585161d46a0cbfa100d6887b78449458cd115a7b]
#    to [95b25f0492f5cab42cda924a07913b84363e6209]
#
# patch "src/tea.cpp"
#  from [6ef7ee16fdd814d95a25f756816c2acb69606165]
#    to [a1d5aec16a88cf138a1ba6b3902ea48e547faef7]
#
# patch "src/tiger.cpp"
#  from [0bacacff887f3a4fba030166743ad7297e2b4856]
#    to [e9503fc086285cbe8fa32dd53e49da26fbd56eba]
#
# patch "src/timers.cpp"
#  from [dfdece2313e3e2501b6feb29fce75ede18f72d5d]
#    to [b5314c457c30215c074efa065c81270e888a00f8]
#
# patch "src/turing.cpp"
#  from [d8f567d2ebbb2e407c8d150ceb116ab26b78ff94]
#    to [ea71c2a47adad32855dbadda78c1729253fadb7e]
#
# patch "src/twofish.cpp"
#  from [e7da38c6d3de0ed63d1bf35c180f3e10dd9dbe7e]
#    to [e007d73f7fe47b8f03090ce34b631b2ceb52ab76]
#
# patch "src/util.cpp"
#  from [22c31923a7cfbe9a5f5d0ec9dcb8cfe2e4e9648d]
#    to [17168ec4dfda781e069e8c9b68a72cc5d265a91b]
#
# patch "src/whrlpool.cpp"
#  from [68fac7d0b6520e87d204cab4e9a8a083af1156ab]
#    to [7d518e5c68db3dee8f8fb4a7c2df439df848b2f9]
#
# patch "src/wid_wake.cpp"
#  from [b32594ffe4d593046989120abe9adee0aade4f06]
#    to [480c5dec916ca298fd599d1c9df7eb1745d35a65]
#
# patch "src/x509_ca.cpp"
#  from [5a17c13377859c9795b8938592fa9a49281f08db]
#    to [cd633dce7da2fd1df49343c8d8e9d91050ebccf3]
#
# patch "src/x509_crl.cpp"
#  from [0a7014db57c64061fc7ac8324821950badec0958]
#    to [e69bf1a6a44bdf7706e5a6f3119b4040f693b95a]
#
# patch "src/x509_ext.cpp"
#  from [5724ac53f27fc3f50ab9df3d44a1ed2f52b34517]
#    to [29fd55670025ead32ed1dd412576e88a821977cb]
#
# patch "src/x509_key.cpp"
#  from [ee2990d1d1a0a18131b0be9fef77b23feaec1c67]
#    to [e6a7733365dc8dbf7402b613a44901fcfa6a29f4]
#
# patch "src/x509cert.cpp"
#  from [8f3100a8ca618fb37192e50c46f16cc8f0bf2290]
#    to [42a8a7bd52debd4be66bf07e1640d26e0446489f]
#
# patch "src/x509find.cpp"
#  from [d30b12890fefc077b9f8e6b7b31feda251694792]
#    to [6ed6cb9afbe9192eb6ddb747aabe5c179c141d89]
#
# patch "src/x509opt.cpp"
#  from [93614bd8de6d04d64fbdb9eb819d0cd47771140b]
#    to [9d076b562aced9027d80cfc7ad7dbf2e79c04c9d]
#
# patch "src/x509self.cpp"
#  from [4c9a83e83630804cf9e863d56519bbef315980dc]
#    to [88a3d5170d095fd24228daa8b6b55bdf4d39c854]
#
# patch "src/x509stor.cpp"
#  from [18753c606cbad1e6b18ef3a9336acd0a88769ac6]
#    to [31ff30ce4a0502a77689f0cbeee00a7edfe07db6]
#
# patch "src/x919_mac.cpp"
#  from [ffc706a7957daa3623b5723ca1725c52d41607a0]
#    to [11ae7b3e539c7b5748ee89ebef121384790e3a5b]
#
# patch "src/x931_rng.cpp"
#  from [151cafcf1a12b908cff4e2d302ba2daf3bd8173a]
#    to [a64e0b0b16e26a7458a6c29e1cd3c47616a86cd9]
#
# patch "src/xtea.cpp"
#  from [56f9aa52a9a462a3878c503289aca7dcdc151d9a]
#    to [4267ec3fa96357de2dc1261f5a59b81937ec878d]
#
============================================================
--- checks/bench.cpp	194dc330534f8d0998eed9b5d92191844d30ea32
+++ checks/bench.cpp	95e10e9c7a3e1dc319431ffce5600dbae4d20ad9
@@ -15,7 +15,7 @@ struct BitBucket : public Botan::Filter
 /* Discard output to reduce overhead */
 struct BitBucket : public Botan::Filter
    {
-   void write(const byte[], u32bit) {}
+      void write(const byte[], Botan::length_type) {}
    };

 Botan::Filter* lookup(const std::string&,
============================================================
--- checks/block.cpp	f8ca4b45ff803f4d35d5ebf92874749a44beb1a3
+++ checks/block.cpp	ac69c8b14f59081d754b5755a15592849169143e
@@ -16,7 +16,7 @@ class ECB_Encryption_ErrorCheck : public
 class ECB_Encryption_ErrorCheck : public Filter
    {
    public:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
       ECB_Encryption_ErrorCheck(const std::string& cipher_name,
                                 const std::string&,
@@ -35,14 +35,14 @@ class ECB_Encryption_ErrorCheck : public
       ~ECB_Encryption_ErrorCheck()
          { delete cipher; delete input_hash; delete decrypt_hash; }
    private:
-      const u32bit BLOCKSIZE;
+      const length_type BLOCKSIZE;
       BlockCipher* cipher;
       SecureVector<byte> buffer;
-      u32bit position;
+      length_type position;
       HashFunction* input_hash, *decrypt_hash;
    };

-void ECB_Encryption_ErrorCheck::write(const byte input[], u32bit length)
+void ECB_Encryption_ErrorCheck::write(const byte input[], length_type length)
    {
    input_hash->update(input, length);
    buffer.copy(position, input, length);
============================================================
--- checks/dolook2.cpp	6e047326952c5f224d647e9e9407209728bc0627
+++ checks/dolook2.cpp	b4f02b94274689622abee4338141bad1d27bf8f2
@@ -18,7 +18,7 @@ class S2K_Filter : public Filter
 class S2K_Filter : public Filter
    {
    public:
-      void write(const byte in[], u32bit len)
+      void write(const byte in[], length_type len)
          { passphrase += std::string(reinterpret_cast<const char*>(in), len); }
       void end_msg()
          {
@@ -27,7 +27,7 @@ class S2K_Filter : public Filter
          SymmetricKey x = s2k->derive_key(outlen, passphrase);
          send(x.bits_of());
          }
-      S2K_Filter(S2K* algo, const SymmetricKey& s, u32bit o, u32bit i)
+      S2K_Filter(S2K* algo, const SymmetricKey& s, length_type o, length_type i)
          {
          s2k = algo;
          outlen = o;
@@ -39,14 +39,14 @@ class S2K_Filter : public Filter
       std::string passphrase;
       S2K* s2k;
       SecureVector<byte> salt;
-      u32bit outlen, iterations;
+      length_type outlen, iterations;
    };

 /* Not too useful generally; just dumps random bits for benchmarking */
 class RNG_Filter : public Filter
    {
    public:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       RNG_Filter(RandomNumberGenerator* r) : rng(r), buffer(1024)
          {
          global_state().randomize(buffer, buffer.size());
@@ -61,7 +61,7 @@ class KDF_Filter : public Filter
 class KDF_Filter : public Filter
    {
    public:
-      void write(const byte in[], u32bit len)
+      void write(const byte in[], length_type len)
          { secret.append(in, len); }
       void end_msg()
          {
@@ -70,7 +70,7 @@ class KDF_Filter : public Filter
                                           salt, salt.size());
          send(x.bits_of(), x.length());
          }
-      KDF_Filter(KDF* algo, const SymmetricKey& s, u32bit o)
+      KDF_Filter(KDF* algo, const SymmetricKey& s, length_type o)
          {
          kdf = algo;
          outlen = o;
@@ -81,7 +81,7 @@ class KDF_Filter : public Filter
       SecureVector<byte> secret;
       SecureVector<byte> salt;
       KDF* kdf;
-      u32bit outlen;
+      length_type outlen;
    };

 Filter* lookup_s2k(const std::string& algname,
@@ -100,11 +100,11 @@ Filter* lookup_s2k(const std::string& al
    return 0;
    }

-void RNG_Filter::write(const byte[], u32bit length)
+void RNG_Filter::write(const byte[], length_type length)
    {
    while(length)
       {
-      u32bit gen = std::min(buffer.size(), length);
+      length_type gen = std::min(buffer.size(), length);
       rng->randomize(buffer, gen);
       length -= gen;
       }
============================================================
--- checks/pk.cpp	29d3ee1e629ecb164b57caf11f80703043ec1bbe
+++ checks/pk.cpp	a41981a2cc7fa40e3c4f7ca92cdac8b0445d9961
@@ -46,14 +46,14 @@ class Fixed_Output_RNG : public RandomNu

          throw Botan::Invalid_State("Fixed_Output_RNG: out of bits");
          }
-      void randomize(byte out[], u32bit len) throw()
+      void randomize(byte out[], length_type len) throw()
          {
-         for(u32bit j = 0; j != len; j++)
+         for(length_type j = 0; j != len; j++)
             out[j] = random();
          }
       std::string name() const { return "Fixed_Output_RNG"; }
       void clear() throw() {}
-      void add_randomness(const byte[], u32bit) throw() {}
+      void add_randomness(const byte[], length_type) throw() {}
       Fixed_Output_RNG(const SecureVector<byte>& x)
          {
          output = x;
@@ -61,7 +61,7 @@ class Fixed_Output_RNG : public RandomNu
          }
    private:
       SecureVector<byte> output;
-      u32bit position;
+      length_type position;
    };

 void do_pk_keygen_tests();
============================================================
--- configure.pl	38686941749f2e7195e0588ad8640feec0fc8737
+++ configure.pl	67cfd85e0dbfa81027d1d88f0a33ed5d579fe4f6
@@ -903,15 +903,18 @@ sub find_mp_bits {
     my $seen_mp_module = undef;

     foreach my $modname (@modules_list) {
-        my %modinfo = %{ $MODULES{$modname} };
-        if($modinfo{'mp_bits'}) {
-            if(defined($seen_mp_module) and $modinfo{'mp_bits'} != $mp_bits) {
+        my $modinfo = $MODULES{$modname};
+
+        croak("Unknown module $modname") unless $modinfo;
+
+        if($$modinfo{'mp_bits'}) {
+            if(defined($seen_mp_module) and $$modinfo{'mp_bits'} != $mp_bits) {
                 croak('Inconsistent mp_bits requests from modules ',
                       $seen_mp_module, ' and ', $modname);
             }

             $seen_mp_module = $modname;
-            $mp_bits = $modinfo{'mp_bits'};
+            $mp_bits = $$modinfo{'mp_bits'};
         }
     }
     return $mp_bits;
============================================================
--- include/adler32.h	d0efdb2ca6a2312ef2e2abeba1c110fc15c888e8
+++ include/adler32.h	a4fcb8e47b572aef849e93ea736c29936fb46539
@@ -22,9 +22,9 @@ class BOTAN_DLL Adler32 : public HashFun
       Adler32() : HashFunction(4) { clear(); }
       ~Adler32() { clear(); }
    private:
-      void add_data(const byte[], u32bit);
+      void add_data(const byte[], length_type);
       void final_result(byte[]);
-      void hash(const byte[], u32bit);
+      void hash(const byte[], length_type);
       u16bit S1, S2;
    };

============================================================
--- include/aes.h	f21a206b14c737acaa124f04c104e1d5daaee5ae
+++ include/aes.h	2507806fff1155fc5030aea73b8b27129f13f045
@@ -20,11 +20,11 @@ class BOTAN_DLL AES : public BlockCipher
       std::string name() const { return "AES"; }
       BlockCipher* clone() const { return new AES; }
       AES() : BlockCipher(16, 16, 32, 8) { ROUNDS = 14; }
-      AES(u32bit);
+      AES(length_type);
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       static u32bit S(u32bit);

       static const byte SE[256];
@@ -33,7 +33,7 @@ class BOTAN_DLL AES : public BlockCipher
       static const u32bit TD[1024];
       SecureBuffer<u32bit, 52> EK, DK;
       SecureBuffer<byte, 32> ME, MD;
-      u32bit ROUNDS;
+      length_type ROUNDS;
    };

 /*************************************************
============================================================
--- include/allocate.h	0f4769a449df515dc1a468eb0b5d06d20fc02148
+++ include/allocate.h	d90ddecb8776b1e9610da928e3785ac283aa138c
@@ -19,8 +19,8 @@ class BOTAN_DLL Allocator
    public:
       static Allocator* get(bool);

-      virtual void* allocate(u32bit) = 0;
-      virtual void deallocate(void*, u32bit) = 0;
+      virtual void* allocate(length_type) = 0;
+      virtual void deallocate(void*, length_type) = 0;

       virtual std::string type() const = 0;

============================================================
--- include/arc4.h	01b224e18d457df1b42a24b30fee9a937dd84f13
+++ include/arc4.h	90f31fe35b4ff3e8110d0d7540dd4c1294c08c7e
@@ -19,14 +19,14 @@ class BOTAN_DLL ARC4 : public StreamCiph
       void clear() throw();
       std::string name() const;
       StreamCipher* clone() const { return new ARC4(SKIP); }
-      ARC4(u32bit = 0);
+      ARC4(length_type = 0);
       ~ARC4() { clear(); }
    private:
-      void cipher(const byte[], byte[], u32bit);
-      void key(const byte[], u32bit);
+      void cipher(const byte[], byte[], length_type);
+      void key(const byte[], length_type);
       void generate();

-      const u32bit SKIP;
+      const length_type SKIP;

       SecureBuffer<byte, DEFAULT_BUFFERSIZE> buffer;
       SecureBuffer<u32bit, 256> state;
============================================================
--- include/asn1_obj.h	9b3a66418d38fb540d52cc34266b806db4008b30
+++ include/asn1_obj.h	ce39c31e140c5da8703672d59ad7248a86244433
@@ -55,7 +55,7 @@ class BOTAN_DLL X509_Time : public ASN1_
       X509_Time(const std::string&, ASN1_Tag);
    private:
       bool passes_sanity_check() const;
-      u32bit year, month, day, hour, minute, second;
+      length_type year, month, day, hour, minute, second;
       ASN1_Tag tag;
    };

============================================================
--- include/base.h	54a99ec584afb04330ebe7b6c2baaca06a0c0246
+++ include/base.h	9c79d98b0200f9df8c3d92801aea4be63a5a0353
@@ -14,7 +14,7 @@ namespace Botan {
 /*************************************************
 * Constants                                      *
 *************************************************/
-static const u32bit DEFAULT_BUFFERSIZE = BOTAN_DEFAULT_BUFFER_SIZE;
+static const length_type DEFAULT_BUFFERSIZE = BOTAN_DEFAULT_BUFFER_SIZE;

 /*************************************************
 * Symmetric Algorithm                            *
@@ -22,17 +22,20 @@ class BOTAN_DLL SymmetricAlgorithm
 class BOTAN_DLL SymmetricAlgorithm
    {
    public:
-      const u32bit MAXIMUM_KEYLENGTH, MINIMUM_KEYLENGTH, KEYLENGTH_MULTIPLE;
+      const length_type MAXIMUM_KEYLENGTH,
+                        MINIMUM_KEYLENGTH,
+                        KEYLENGTH_MULTIPLE;

       virtual std::string name() const = 0;

       void set_key(const SymmetricKey&) throw(Invalid_Key_Length);
-      void set_key(const byte[], u32bit) throw(Invalid_Key_Length);
-      bool valid_keylength(u32bit) const;
-      SymmetricAlgorithm(u32bit, u32bit, u32bit);
+      void set_key(const byte[], length_type) throw(Invalid_Key_Length);
+      bool valid_keylength(length_type) const;
+
+      SymmetricAlgorithm(length_type, length_type, length_type);
       virtual ~SymmetricAlgorithm() {}
    private:
-      virtual void key(const byte[], u32bit) = 0;
+      virtual void key(const byte[], length_type) = 0;
    };

 /*************************************************
@@ -41,7 +44,7 @@ class BOTAN_DLL BlockCipher : public Sym
 class BOTAN_DLL BlockCipher : public SymmetricAlgorithm
    {
    public:
-      const u32bit BLOCK_SIZE;
+      const length_type BLOCK_SIZE;

       void encrypt(const byte in[], byte out[]) const { enc(in, out); }
       void decrypt(const byte in[], byte out[]) const { dec(in, out); }
@@ -51,7 +54,7 @@ class BOTAN_DLL BlockCipher : public Sym
       virtual BlockCipher* clone() const = 0;
       virtual void clear() throw() {};

-      BlockCipher(u32bit, u32bit, u32bit = 0, u32bit = 1);
+      BlockCipher(length_type, length_type, length_type = 0, length_type = 1);
       virtual ~BlockCipher() {}
    private:
       virtual void enc(const byte[], byte[]) const = 0;
@@ -64,22 +67,27 @@ class BOTAN_DLL StreamCipher : public Sy
 class BOTAN_DLL StreamCipher : public SymmetricAlgorithm
    {
    public:
-      const u32bit IV_LENGTH;
-      void encrypt(const byte i[], byte o[], u32bit len) { cipher(i, o, len); }
-      void decrypt(const byte i[], byte o[], u32bit len) { cipher(i, o, len); }
-      void encrypt(byte in[], u32bit len) { cipher(in, in, len); }
-      void decrypt(byte in[], u32bit len) { cipher(in, in, len); }
+      const length_type IV_LENGTH;

-      virtual void resync(const byte[], u32bit);
-      virtual void seek(u32bit);
+      void encrypt(const byte in[], byte out[], length_type length)
+         { cipher(in, out, length); }
+      void decrypt(const byte in[], byte out[], length_type length)
+         { cipher(in, out, length); }

+      void encrypt(byte in[], length_type length) { cipher(in, in, length); }
+      void decrypt(byte in[], length_type length) { cipher(in, in, length); }
+
+      virtual void resync(const byte[], length_type);
+      virtual void seek(length_type);
+
       virtual StreamCipher* clone() const = 0;
       virtual void clear() throw() {};

-      StreamCipher(u32bit, u32bit = 0, u32bit = 1, u32bit = 0);
+      StreamCipher(length_type, length_type = 0,
+                   length_type = 1, length_type = 0);
       virtual ~StreamCipher() {}
    private:
-      virtual void cipher(const byte[], byte[], u32bit) = 0;
+      virtual void cipher(const byte[], byte[], length_type) = 0;
    };

 /*************************************************
@@ -88,20 +96,24 @@ class BOTAN_DLL BufferedComputation
 class BOTAN_DLL BufferedComputation
    {
    public:
-      const u32bit OUTPUT_LENGTH;
-      void update(const byte[], u32bit);
+      const length_type OUTPUT_LENGTH;
+
+      void update(const byte[], length_type);
       void update(const MemoryRegion<byte>&);
       void update(const std::string&);
       void update(byte);
+
       void final(byte out[]) { final_result(out); }
       SecureVector<byte> final();
-      SecureVector<byte> process(const byte[], u32bit);
+
+      SecureVector<byte> process(const byte[], length_type);
       SecureVector<byte> process(const MemoryRegion<byte>&);
       SecureVector<byte> process(const std::string&);
-      BufferedComputation(u32bit);
+
+      BufferedComputation(length_type);
       virtual ~BufferedComputation() {}
    private:
-      virtual void add_data(const byte[], u32bit) = 0;
+      virtual void add_data(const byte[], length_type) = 0;
       virtual void final_result(byte[]) = 0;
    };

@@ -111,13 +123,13 @@ class BOTAN_DLL HashFunction : public Bu
 class BOTAN_DLL HashFunction : public BufferedComputation
    {
    public:
-      const u32bit HASH_BLOCK_SIZE;
+      const length_type HASH_BLOCK_SIZE;

       virtual HashFunction* clone() const = 0;
       virtual std::string name() const = 0;
       virtual void clear() throw() {};

-      HashFunction(u32bit, u32bit = 0);
+      HashFunction(length_type, length_type = 0);
       virtual ~HashFunction() {}
    };

@@ -128,13 +140,14 @@ class BOTAN_DLL MessageAuthenticationCod
                                   public SymmetricAlgorithm
    {
    public:
-      virtual bool verify_mac(const byte[], u32bit);
+      virtual bool verify_mac(const byte[], length_type);

       virtual MessageAuthenticationCode* clone() const = 0;
       virtual std::string name() const = 0;
       virtual void clear() throw() {};

-      MessageAuthenticationCode(u32bit, u32bit, u32bit = 0, u32bit = 1);
+      MessageAuthenticationCode(length_type, length_type,
+                                length_type = 0, length_type = 1);
       virtual ~MessageAuthenticationCode() {}
    };

@@ -144,8 +157,8 @@ class BOTAN_DLL EntropySource
 class BOTAN_DLL EntropySource
    {
    public:
-      virtual u32bit slow_poll(byte[], u32bit) = 0;
-      virtual u32bit fast_poll(byte[], u32bit);
+      virtual length_type slow_poll(byte[], length_type) = 0;
+      virtual length_type fast_poll(byte[], length_type);
       virtual ~EntropySource() {}
    };

@@ -155,16 +168,16 @@ class BOTAN_DLL RandomNumberGenerator
 class BOTAN_DLL RandomNumberGenerator
    {
    public:
-      virtual void randomize(byte[], u32bit) throw(PRNG_Unseeded) = 0;
+      virtual void randomize(byte[], length_type) throw(PRNG_Unseeded) = 0;
       virtual bool is_seeded() const = 0;
       virtual void clear() throw() {};

-      void add_entropy(const byte[], u32bit);
-      u32bit add_entropy(EntropySource&, bool = true);
+      void add_entropy(const byte[], length_type);
+      length_type add_entropy(EntropySource&, bool = true);

       virtual ~RandomNumberGenerator() {}
    private:
-      virtual void add_randomness(const byte[], u32bit) = 0;
+      virtual void add_randomness(const byte[], length_type) = 0;
    };

 }
============================================================
--- include/base64.h	3155e46ef5f905472ba75bfcf21a3347405175cf
+++ include/base64.h	6c8667bcb11fd103405eb804207747c5c5e15833
@@ -19,18 +19,18 @@ class BOTAN_DLL Base64_Encoder : public
    public:
       static void encode(const byte[3], byte[4]);

-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
-      Base64_Encoder(bool = false, u32bit = 72, bool = false);
+      Base64_Encoder(bool = false, length_type = 72, bool = false);
    private:
-      void encode_and_send(const byte[], u32bit);
-      void do_output(const byte[], u32bit);
+      void encode_and_send(const byte[], length_type);
+      void do_output(const byte[], length_type);
       static const byte BIN_TO_BASE64[64];

-      const u32bit line_length;
+      const length_type line_length;
       const bool trailing_newline;
       SecureVector<byte> in, out;
-      u32bit position, counter;
+      length_type position, counter;
    };

 /*************************************************
@@ -42,17 +42,17 @@ class BOTAN_DLL Base64_Decoder : public
       static void decode(const byte[4], byte[3]);
       static bool is_valid(byte);

-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
       Base64_Decoder(Decoder_Checking = NONE);
    private:
-      void decode_and_send(const byte[], u32bit);
+      void decode_and_send(const byte[], length_type);
       void handle_bad_char(byte);
       static const byte BASE64_TO_BIN[256];

       const Decoder_Checking checking;
       SecureVector<byte> in, out;
-      u32bit position;
+      length_type position;
    };

 }
============================================================
--- include/basefilt.h	efa2ea51c6eee5fd064a1f0b88084009313ce9e5
+++ include/basefilt.h	5bc1a79fd15fd63a878c43091564af4ca9a20568
@@ -16,10 +16,10 @@ class BOTAN_DLL Chain : public Fanout_Fi
 class BOTAN_DLL Chain : public Fanout_Filter
    {
    public:
-      void write(const byte input[], u32bit length) { send(input, length); }
+      void write(const byte input[], length_type length) { send(input, length); }

       Chain(Filter* = 0, Filter* = 0, Filter* = 0, Filter* = 0);
-      Chain(Filter*[], u32bit);
+      Chain(Filter*[], length_type);
    };

 /*************************************************
@@ -28,11 +28,11 @@ class BOTAN_DLL Fork : public Fanout_Fil
 class BOTAN_DLL Fork : public Fanout_Filter
    {
    public:
-      void write(const byte input[], u32bit length) { send(input, length); }
-      void set_port(u32bit n) { Fanout_Filter::set_port(n); }
+      void write(const byte input[], length_type length) { send(input, length); }
+      void set_port(length_type n) { Fanout_Filter::set_port(n); }

       Fork(Filter*, Filter*, Filter* = 0, Filter* = 0);
-      Fork(Filter*[], u32bit);
+      Fork(Filter*[], length_type);
    };

 /*************************************************
@@ -43,7 +43,7 @@ class BOTAN_DLL Keyed_Filter : public Fi
    public:
       virtual void set_key(const SymmetricKey&);
       virtual void set_iv(const InitializationVector&) {}
-      virtual bool valid_keylength(u32bit) const;
+      virtual bool valid_keylength(length_type) const;

       Keyed_Filter() { base_ptr = 0; }
    protected:
============================================================
--- include/ber_dec.h	754b0c94f34f9805ed0c722aed0ad78e50ae4106
+++ include/ber_dec.h	6c0195c371dc0cc3beb3780a9f1dd0c4a587a008
@@ -32,12 +32,12 @@ class BOTAN_DLL BER_Decoder

       BER_Decoder& decode_null();
       BER_Decoder& decode(bool&);
-      BER_Decoder& decode(u32bit&);
+      BER_Decoder& decode(length_type&);
       BER_Decoder& decode(class BigInt&);
       BER_Decoder& decode(MemoryRegion<byte>&, ASN1_Tag);

       BER_Decoder& decode(bool&, ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
-      BER_Decoder& decode(u32bit&, ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
+      BER_Decoder& decode(length_type&, ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
       BER_Decoder& decode(class BigInt&,
                           ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
       BER_Decoder& decode(MemoryRegion<byte>&, ASN1_Tag,
@@ -55,7 +55,7 @@ class BOTAN_DLL BER_Decoder
                                           ASN1_Tag, u16bit);

       BER_Decoder(DataSource&);
-      BER_Decoder(const byte[], u32bit);
+      BER_Decoder(const byte[], length_type);
       BER_Decoder(const MemoryRegion<byte>&);
       BER_Decoder(const BER_Decoder&);
       ~BER_Decoder();
============================================================
--- include/bigint.h	fb6bdbaf9256d243c2a40b877fbb572986b76b77
+++ include/bigint.h	3df18a5adf678327d5b0824a7c35a1d276c83ee7
@@ -32,8 +32,8 @@ class BOTAN_DLL BigInt
       BigInt& operator/=(const BigInt&);
       BigInt& operator%=(const BigInt&);
       word    operator%=(word);
-      BigInt& operator<<=(u32bit);
-      BigInt& operator>>=(u32bit);
+      BigInt& operator<<=(length_type);
+      BigInt& operator>>=(length_type);

       BigInt& operator++() { return (*this += 1); }
       BigInt& operator--() { return (*this -= 1); }
@@ -49,14 +49,14 @@ class BOTAN_DLL BigInt
       bool is_nonzero() const { return (!is_zero()); }
       bool is_zero() const;

-      void set_bit(u32bit);
-      void clear_bit(u32bit);
-      void mask_bits(u32bit);
+      void set_bit(length_type);
+      void clear_bit(length_type);
+      void mask_bits(length_type);

-      bool get_bit(u32bit) const;
+      bool get_bit(length_type) const;
       u32bit get_substring(u32bit, u32bit) const;
-      byte byte_at(u32bit) const;
-      word word_at(u32bit n) const
+      byte byte_at(length_type) const;
+      word word_at(length_type n) const
          { return ((n < size()) ? reg[n] : 0); }

       u32bit to_u32bit() const;
@@ -69,31 +69,31 @@ class BOTAN_DLL BigInt
       void set_sign(Sign);
       BigInt abs() const;

-      u32bit size() const { return reg.size(); }
-      u32bit sig_words() const;
-      u32bit bytes() const;
-      u32bit bits() const;
+      length_type size() const { return reg.size(); }
+      length_type sig_words() const;
+      length_type bytes() const;
+      length_type bits() const;

       const word* data() const { return reg.begin(); }
       SecureVector<word>& get_reg() { return reg; }
-      void grow_reg(u32bit) const;
+      void grow_reg(length_type) const;

-      word& operator[](u32bit);
-      word operator[](u32bit) const;
+      word& operator[](length_type);
+      word operator[](length_type) const;
       void clear() { reg.clear(); }

-      void randomize(u32bit = 0);
+      void randomize(length_type = 0);

       void binary_encode(byte[]) const;
-      void binary_decode(const byte[], u32bit);
+      void binary_decode(const byte[], length_type);
       void binary_decode(const MemoryRegion<byte>&);
-      u32bit encoded_size(Base = Binary) const;
+      length_type encoded_size(Base = Binary) const;

       static SecureVector<byte> encode(const BigInt&, Base = Binary);
       static void encode(byte[], const BigInt&, Base = Binary);
-      static BigInt decode(const byte[], u32bit, Base = Binary);
+      static BigInt decode(const byte[], length_type, Base = Binary);
       static BigInt decode(const MemoryRegion<byte>&, Base = Binary);
-      static SecureVector<byte> encode_1363(const BigInt&, u32bit);
+      static SecureVector<byte> encode_1363(const BigInt&, length_type);

       void swap(BigInt&);

@@ -101,11 +101,11 @@ class BOTAN_DLL BigInt
       BigInt(u64bit);
       BigInt(const BigInt&);
       BigInt(const std::string&);
-      BigInt(const byte[], u32bit, Base = Binary);
-      BigInt(Sign, u32bit);
-      BigInt(NumberType, u32bit);
+      BigInt(const byte[], length_type, Base = Binary);
+      BigInt(Sign, length_type);
+      BigInt(NumberType, length_type);
    private:
-      void grow_to(u32bit) const;
+      void grow_to(length_type) const;
       SecureVector<word> reg;
       Sign signedness;
    };
@@ -119,8 +119,8 @@ word   BOTAN_DLL operator%(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);
+BigInt BOTAN_DLL operator<<(const BigInt&, length_type);
+BigInt BOTAN_DLL operator>>(const BigInt&, length_type);

 /*************************************************
 * Comparison Operators                           *
============================================================
--- include/bit_ops.h	249e2d04932f769955d4053a0485f1763674ef3c
+++ include/bit_ops.h	ea49618e34ac5d31dca4084865397a2229d11996
@@ -1,4 +1,4 @@
-/*************************************************
+ r/*************************************************
 * Bit/Word Operations Header File                *
 * (C) 1999-2008 Jack Lloyd                       *
 *************************************************/
@@ -13,12 +13,12 @@ namespace Botan {
 /*************************************************
 * Word Rotation Functions                        *
 *************************************************/
-template<typename T> inline T rotate_left(T input, u32bit rot)
+template<typename T> inline T rotate_left(T input, length_type rot)
    {
    return static_cast<T>((input << rot) | (input >> (8*sizeof(T)-rot)));;
    }

-template<typename T> inline T rotate_right(T input, u32bit rot)
+template<typename T> inline T rotate_right(T input, length_type rot)
    {
    return static_cast<T>((input >> rot) | (input << (8*sizeof(T)-rot)));
    }
@@ -49,7 +49,7 @@ inline u64bit reverse_bytes(u64bit input
 /*************************************************
 * XOR Arrays                                     *
 *************************************************/
-inline void xor_buf(byte data[], const byte mask[], u32bit length)
+inline void xor_buf(byte data[], const byte mask[], length_type length)
    {
    while(length >= 8)
       {
@@ -59,7 +59,7 @@ inline void xor_buf(byte data[], const b
       data[6] ^= mask[6]; data[7] ^= mask[7];
       data += 8; mask += 8; length -= 8;
       }
-   for(u32bit j = 0; j != length; ++j)
+   for(length_type j = 0; j != length; ++j)
       data[j] ^= mask[j];
    }

@@ -67,7 +67,7 @@ inline void xor_buf(byte out[], const by
 * XOR Arrays                                     *
 *************************************************/
 inline void xor_buf(byte out[], const byte in[],
-                    const byte mask[], u32bit length)
+                    const byte mask[], length_type length)
    {
    while(length >= 8)
       {
@@ -77,7 +77,7 @@ inline void xor_buf(byte out[], const by
       out[6] = in[6] ^ mask[6]; out[7] = in[7] ^ mask[7];
       in += 8; out += 8; mask += 8; length -= 8;
       }
-   for(u32bit j = 0; j != length; ++j)
+   for(length_type j = 0; j != length; ++j)
       out[j] = in[j] ^ mask[j];
    }

@@ -85,10 +85,10 @@ bool power_of_2(u64bit);
 * Simple Bit Manipulation                        *
 *************************************************/
 bool power_of_2(u64bit);
-u32bit high_bit(u64bit);
-u32bit low_bit(u64bit);
-u32bit significant_bytes(u64bit);
-u32bit hamming_weight(u64bit);
+length_type high_bit(u64bit);
+length_type low_bit(u64bit);
+length_type significant_bytes(u64bit);
+length_type hamming_weight(u64bit);

 }

============================================================
--- include/blowfish.h	d910c2b54b87c511ac9f21f1254e72ed24e5fa82
+++ include/blowfish.h	6d2be3a651b06431ed9fb98be71620ae5c747271
@@ -23,7 +23,7 @@ class BOTAN_DLL Blowfish : public BlockC
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       void generate_sbox(u32bit[], u32bit, u32bit&, u32bit&) const;

       static const u32bit PBOX[18];
============================================================
--- include/buf_es.h	6d0b85ee23b95511cca43e7754a65494d8553b0c
+++ include/buf_es.h	7b16e3227ff3f6c443ac597b7433e506c51ccc1d
@@ -1,4 +1,4 @@
-/*************************************************
+/***r**********************************************
 * Buffered EntropySource Header File             *
 * (C) 1999-2007 Jack Lloyd                       *
 *************************************************/
@@ -16,20 +16,20 @@ class BOTAN_DLL Buffered_EntropySource :
 class BOTAN_DLL Buffered_EntropySource : public EntropySource
    {
    public:
-      u32bit slow_poll(byte[], u32bit);
-      u32bit fast_poll(byte[], u32bit);
+      length_type slow_poll(byte[], length_type);
+      length_type fast_poll(byte[], length_type);
    protected:
       Buffered_EntropySource();
-      u32bit copy_out(byte[], u32bit, u32bit);
+      length_type copy_out(byte[], length_type, length_type);

-      void add_bytes(const void*, u32bit);
+      void add_bytes(const void*, length_type);
       void add_bytes(u64bit);

       virtual void do_slow_poll() = 0;
       virtual void do_fast_poll();
    private:
       SecureVector<byte> buffer;
-      u32bit write_pos, read_pos;
+      length_type write_pos, read_pos;
       bool done_slow_poll;
    };

============================================================
--- include/buf_filt.h	a87ed4badce2ec906b1e048e3d876f629a525f10
+++ include/buf_filt.h	4b1758fa4cd3412cc7a5a46a95166ec77752a8f5
@@ -16,18 +16,18 @@ class BOTAN_DLL Buffering_Filter : publi
 class BOTAN_DLL Buffering_Filter : public Filter
    {
    public:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       virtual void end_msg();
       Buffering_Filter(u32bit, u32bit = 0);
       virtual ~Buffering_Filter() {}
    protected:
       virtual void initial_block(const byte[]) {}
       virtual void main_block(const byte[]) = 0;
-      virtual void final_block(const byte[], u32bit) = 0;
+      virtual void final_block(const byte[], length_type) = 0;
    private:
-      const u32bit INITIAL_BLOCK_SIZE, BLOCK_SIZE;
+      const length_type INITIAL_BLOCK_SIZE, BLOCK_SIZE;
       SecureVector<byte> initial, block;
-      u32bit initial_block_pos, block_pos;
+      length_type initial_block_pos, block_pos;
    };

 }
============================================================
--- include/cast128.h	3ab5011603389f700aa77e2b3b7d2529b8c3648e
+++ include/cast128.h	b213af1b4570ffcb4b8654dbfb99aaccf3decd7d
@@ -23,7 +23,7 @@ class BOTAN_DLL CAST_128 : public BlockC
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);

       static void key_schedule(u32bit[16], u32bit[4]);

============================================================
--- include/cast256.h	2a0689608d851aa9bd85a97dd38043fa89017a04
+++ include/cast256.h	a9be714bf9a0c6de4d68f2b6ee681a603ee68e78
@@ -23,7 +23,7 @@ class BOTAN_DLL CAST_256 : public BlockC
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);

       static const u32bit KEY_MASK[192];
       static const byte   KEY_ROT[32];
============================================================
--- include/cbc.h	df71821e246ae7b793787d4de94c1caae4659c5f
+++ include/cbc.h	054e1d86af7a140ce9cb4d256f284b7be8d4c7f3
@@ -22,7 +22,7 @@ class BOTAN_DLL CBC_Encryption : public
                      const SymmetricKey&, const InitializationVector&);
    private:
       std::string name() const;
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
       const BlockCipherModePaddingMethod* padder;
    };
@@ -38,7 +38,7 @@ class BOTAN_DLL CBC_Decryption : public
                      const SymmetricKey&, const InitializationVector&);
    private:
       std::string name() const;
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
       const BlockCipherModePaddingMethod* padder;
       SecureVector<byte> temp;
============================================================
--- include/cbc_mac.h	d27531534d83b3bb9b20177c27a03cc96acd858d
+++ include/cbc_mac.h	401b04443885bf0ee695f79452ffdbd19afa378c
@@ -22,13 +22,13 @@ class BOTAN_DLL CBC_MAC : public Message
       CBC_MAC(const std::string&);
       ~CBC_MAC();
    private:
-      void add_data(const byte[], u32bit);
+      void add_data(const byte[], length_type);
       void final_result(byte[]);
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);

       BlockCipher* e;
       SecureVector<byte> state;
-      u32bit position;
+      length_type position;
    };

 }
============================================================
--- include/cfb.h	d6fcd294c41d8665b191c69e4964ba79ac084b61
+++ include/cfb.h	96baa879069e7d8afb2520a5d23c2bb73daafe3d
@@ -16,13 +16,13 @@ class BOTAN_DLL CFB_Encryption : public
 class BOTAN_DLL CFB_Encryption : public BlockCipherMode
    {
    public:
-      CFB_Encryption(const std::string&, u32bit = 0);
+      CFB_Encryption(const std::string&, length_type = 0);
       CFB_Encryption(const std::string&, const SymmetricKey&,
-                     const InitializationVector&, u32bit = 0);
+                     const InitializationVector&, length_type = 0);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void feedback();
-      const u32bit FEEDBACK_SIZE;
+      const length_type FEEDBACK_SIZE;
    };

 /*************************************************
@@ -31,13 +31,13 @@ class BOTAN_DLL CFB_Decryption : public
 class BOTAN_DLL CFB_Decryption : public BlockCipherMode
    {
    public:
-      CFB_Decryption(const std::string&, u32bit = 0);
+      CFB_Decryption(const std::string&, length_type = 0);
       CFB_Decryption(const std::string&, const SymmetricKey&,
-                     const InitializationVector&, u32bit = 0);
+                     const InitializationVector&, length_type = 0);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void feedback();
-      const u32bit FEEDBACK_SIZE;
+      const length_type FEEDBACK_SIZE;
    };

 }
============================================================
--- include/cmac.h	4e32fba357c2b62e83e5316f47fc4d5c587a82b5
+++ include/cmac.h	7f731f9f753c260a08d7826562c31d13c5438555
@@ -22,13 +22,13 @@ class BOTAN_DLL CMAC : public MessageAut
       CMAC(const std::string&);
       ~CMAC() { delete e; }
    private:
-      void add_data(const byte[], u32bit);
+      void add_data(const byte[], length_type);
       void final_result(byte[]);
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);

       BlockCipher* e;
       SecureVector<byte> buffer, state, B, P;
-      u32bit position;
+      length_type position;
       byte polynomial;
    };

============================================================
--- include/crc24.h	05f71a16d271e548513abb74854b9f5da9dbbf24
+++ include/crc24.h	d7b34dad0fe0387eb066bd06ff0a262ca4baf2d5
@@ -22,7 +22,7 @@ class BOTAN_DLL CRC24 : public HashFunct
       CRC24() : HashFunction(3) { clear(); }
       ~CRC24() { clear(); }
    private:
-      void add_data(const byte[], u32bit);
+      void add_data(const byte[], length_type);
       void final_result(byte[]);
       u32bit crc;
    };
============================================================
--- include/crc32.h	ecffda4a723a75444b477e2e37bdd24d1c8656e1
+++ include/crc32.h	fa0d917a62ebb7d5167b189fbd0d4115c70ca26b
@@ -22,7 +22,7 @@ class BOTAN_DLL CRC32 : public HashFunct
       CRC32() : HashFunction(4) { clear(); }
       ~CRC32() { clear(); }
    private:
-      void add_data(const byte[], u32bit);
+      void add_data(const byte[], length_type);
       void final_result(byte[]);
       u32bit crc;
    };
============================================================
--- include/ctr.h	7783b5e3e59dd949a5c0a4af1cd8c3abe46a9c17
+++ include/ctr.h	1278781cce8576f14e7a2099d62c5ff8e94b770c
@@ -20,7 +20,7 @@ class BOTAN_DLL CTR_BE : public BlockCip
       CTR_BE(const std::string&,
              const SymmetricKey&, const InitializationVector&);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void increment_counter();
    };

============================================================
--- include/cts.h	77fdfabc32ea2a733a82947cca8c1795de7c49d4
+++ include/cts.h	cd895fcc884ed191b15505545479f1065e24f71d
@@ -20,7 +20,7 @@ class BOTAN_DLL CTS_Encryption : public
       CTS_Encryption(const std::string&,
                      const SymmetricKey&, const InitializationVector&);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
       void encrypt(const byte[]);
    };
@@ -35,7 +35,7 @@ class BOTAN_DLL CTS_Decryption : public
       CTS_Decryption(const std::string&,
                      const SymmetricKey&, const InitializationVector&);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
       void decrypt(const byte[]);
       SecureVector<byte> temp;
============================================================
--- include/data_snk.h	f5b662f62ade0945865ab4f9edb5a3bae9103b96
+++ include/data_snk.h	5bdd1824adb5352be128588285bb63abf75b20e7
@@ -31,7 +31,7 @@ class BOTAN_DLL DataSink_Stream : public
 class BOTAN_DLL DataSink_Stream : public DataSink
    {
    public:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);

       DataSink_Stream(std::ostream&, const std::string& = "");
       DataSink_Stream(const std::string&, bool = false);
============================================================
--- include/data_src.h	e021a46396a1b8fd0a933c115d53a8fa0543e225
+++ include/data_src.h	18bd2bfdec59d77c44a311eee5b47ab933877b84
@@ -17,14 +17,14 @@ class BOTAN_DLL DataSource
 class BOTAN_DLL DataSource
    {
    public:
-      virtual u32bit read(byte[], u32bit) = 0;
-      virtual u32bit peek(byte[], u32bit, u32bit) const = 0;
+      virtual length_type read(byte[], length_type) = 0;
+      virtual length_type peek(byte[], length_type, length_type) const = 0;
       virtual bool end_of_data() const = 0;
       virtual std::string id() const { return ""; }

-      u32bit read_byte(byte&);
-      u32bit peek_byte(byte&) const;
-      u32bit discard_next(u32bit);
+      length_type read_byte(byte&);
+      length_type peek_byte(byte&) const;
+      length_type discard_next(length_type);

       DataSource() {}
       virtual ~DataSource() {}
@@ -39,16 +39,16 @@ class BOTAN_DLL DataSource_Memory : publ
 class BOTAN_DLL DataSource_Memory : public DataSource
    {
    public:
-      u32bit read(byte[], u32bit);
-      u32bit peek(byte[], u32bit, u32bit) const;
+      length_type read(byte[], length_type);
+      length_type peek(byte[], length_type, length_type) const;
       bool end_of_data() const;

       DataSource_Memory(const std::string&);
-      DataSource_Memory(const byte[], u32bit);
+      DataSource_Memory(const byte[], length_type);
       DataSource_Memory(const MemoryRegion<byte>&);
    private:
       SecureVector<byte> source;
-      u32bit offset;
+      length_type offset;
    };

 /*************************************************
@@ -57,8 +57,8 @@ class BOTAN_DLL DataSource_Stream : publ
 class BOTAN_DLL DataSource_Stream : public DataSource
    {
    public:
-      u32bit read(byte[], u32bit);
-      u32bit peek(byte[], u32bit, u32bit) const;
+      length_type read(byte[], length_type);
+      length_type peek(byte[], length_type, length_type) const;
       bool end_of_data() const;
       std::string id() const;

@@ -70,7 +70,7 @@ class BOTAN_DLL DataSource_Stream : publ
       const bool owner;

       std::istream* source;
-      u32bit total_read;
+      length_type total_read;
    };

 }
============================================================
--- include/datastor.h	099bbbabbff92013990fdb0ac8e96dccddfb7732
+++ include/datastor.h	c61c09e5b7a942d024589e77b0c2bffbfc5cae6f
@@ -48,7 +48,7 @@ class BOTAN_DLL Data_Store

       void add(const std::multimap<std::string, std::string>&);
       void add(const std::string&, const std::string&);
-      void add(const std::string&, u32bit);
+      void add(const std::string&, length_type);
       void add(const std::string&, const MemoryRegion<byte>&);
    private:
       std::multimap<std::string, std::string> contents;
============================================================
--- include/def_powm.h	441262d6c635e3dc9678bb0fb1b725fb1cabca99
+++ include/def_powm.h	9711457fae176655478312e71be2c091f579cfd2
@@ -29,7 +29,7 @@ class BOTAN_DLL Fixed_Window_Exponentiat
    private:
       Modular_Reducer reducer;
       BigInt exp;
-      u32bit window_bits;
+      length_type window_bits;
       std::vector<BigInt> g;
       Power_Mod::Usage_Hints hints;
    };
@@ -53,7 +53,7 @@ class BOTAN_DLL Montgomery_Exponentiator
       BigInt R2, R_mod;
       std::vector<BigInt> g;
       word mod_prime;
-      u32bit mod_words, exp_bits, window_bits;
+      length_type mod_words, exp_bits, window_bits;
       Power_Mod::Usage_Hints hints;
    };

============================================================
--- include/defalloc.h	c983a1a75c83af8737ecfbe70770e22aed71d4c6
+++ include/defalloc.h	3cfda121ac921931af9c4b6df58ff4de93d6fd85
@@ -16,8 +16,8 @@ class BOTAN_DLL Malloc_Allocator : publi
 class BOTAN_DLL Malloc_Allocator : public Allocator
    {
    public:
-      void* allocate(u32bit);
-      void deallocate(void*, u32bit);
+      void* allocate(length_type);
+      void deallocate(void*, length_type);

       std::string type() const { return "malloc"; }
    };
@@ -30,8 +30,8 @@ class BOTAN_DLL Locking_Allocator : publ
    public:
       std::string type() const { return "locking"; }
    private:
-      void* alloc_block(u32bit);
-      void dealloc_block(void*, u32bit);
+      void* alloc_block(length_type);
+      void dealloc_block(void*, length_type);
    };

 }
============================================================
--- include/der_enc.h	b1f6c6128e409f1de66951eb53c755c29d3c39d6
+++ include/der_enc.h	b69590a968e36336261561be154af8463b4bb65a
@@ -25,23 +25,23 @@ class BOTAN_DLL DER_Encoder
       DER_Encoder& start_explicit(u16bit);
       DER_Encoder& end_explicit();

-      DER_Encoder& raw_bytes(const byte[], u32bit);
+      DER_Encoder& raw_bytes(const byte[], length_type);
       DER_Encoder& raw_bytes(const MemoryRegion<byte>&);

       DER_Encoder& encode_null();
       DER_Encoder& encode(bool);
-      DER_Encoder& encode(u32bit);
+      DER_Encoder& encode(length_type);
       DER_Encoder& encode(const class BigInt&);
       DER_Encoder& encode(const MemoryRegion<byte>&, ASN1_Tag);
-      DER_Encoder& encode(const byte[], u32bit, ASN1_Tag);
+      DER_Encoder& encode(const byte[], length_type, ASN1_Tag);

       DER_Encoder& encode(bool, ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
-      DER_Encoder& encode(u32bit, ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
+      DER_Encoder& encode(length_type, ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
       DER_Encoder& encode(const class BigInt&, ASN1_Tag,
                           ASN1_Tag = CONTEXT_SPECIFIC);
       DER_Encoder& encode(const MemoryRegion<byte>&, ASN1_Tag,
                           ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);
-      DER_Encoder& encode(const byte[], u32bit, ASN1_Tag,
+      DER_Encoder& encode(const byte[], length_type, ASN1_Tag,
                           ASN1_Tag, ASN1_Tag = CONTEXT_SPECIFIC);

       template<typename T>
@@ -55,7 +55,7 @@ class BOTAN_DLL DER_Encoder
       template<typename T>
       DER_Encoder& encode_list(const std::vector<T>& values)
          {
-         for(u32bit j = 0; j != values.size(); ++j)
+         for(length_type j = 0; j != values.size(); ++j)
             encode(values[j]);
          return (*this);
          }
@@ -63,7 +63,7 @@ class BOTAN_DLL DER_Encoder
       DER_Encoder& encode(const class ASN1_Object&);
       DER_Encoder& encode_if(bool, DER_Encoder&);

-      DER_Encoder& add_object(ASN1_Tag, ASN1_Tag, const byte[], u32bit);
+      DER_Encoder& add_object(ASN1_Tag, ASN1_Tag, const byte[], length_type);
       DER_Encoder& add_object(ASN1_Tag, ASN1_Tag, const MemoryRegion<byte>&);
       DER_Encoder& add_object(ASN1_Tag, ASN1_Tag, const std::string&);
       DER_Encoder& add_object(ASN1_Tag, ASN1_Tag, byte);
@@ -73,7 +73,7 @@ class BOTAN_DLL DER_Encoder
          public:
             ASN1_Tag tag_of() const;
             SecureVector<byte> get_contents();
-            void add_bytes(const byte[], u32bit);
+            void add_bytes(const byte[], length_type);
             DER_Sequence(ASN1_Tag, ASN1_Tag);
          private:
             ASN1_Tag type_tag, class_tag;
============================================================
--- include/des.h	bf36f106a5d21d182633280efaf4db5aca06517a
+++ include/des.h	6dc8d5954640ee175a81291d7eb7fc96b96ec4fd
@@ -25,7 +25,7 @@ class BOTAN_DLL DES : public BlockCipher

       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       void raw_encrypt(u32bit&, u32bit&) const;
       void raw_decrypt(u32bit&, u32bit&) const;
       void round(u32bit&, u32bit, u32bit) const;
@@ -62,7 +62,7 @@ class BOTAN_DLL TripleDES : public Block
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       DES des1, des2, des3;
    };

@@ -79,7 +79,7 @@ class BOTAN_DLL DESX : public BlockCiphe
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       SecureBuffer<byte, 8> K1, K2;
       DES des;
    };
============================================================
--- include/dh.h	1f8c9ae4e3e47eb54bf37dd5830feefe33fce1d3
+++ include/dh.h	e0723d6e99707282a5d84f0b42fed32b0411e390
@@ -20,7 +20,7 @@ class BOTAN_DLL DH_PublicKey : public vi
       std::string algo_name() const { return "DH"; }

       MemoryVector<byte> public_value() const;
-      u32bit max_input_bits() const;
+      length_type max_input_bits() const;

       DL_Group::Format group_format() const { return DL_Group::ANSI_X9_42; }

@@ -38,7 +38,7 @@ class BOTAN_DLL DH_PrivateKey : public D
                       public virtual DL_Scheme_PrivateKey
    {
    public:
-      SecureVector<byte> derive_key(const byte[], u32bit) const;
+      SecureVector<byte> derive_key(const byte[], length_type) const;
       SecureVector<byte> derive_key(const DH_PublicKey&) const;
       SecureVector<byte> derive_key(const BigInt&) const;

============================================================
--- include/dl_group.h	2402780054b58ab40f961f2600695a19461df17b
+++ include/dl_group.h	f3d5ba9c4a30928696c9ecc2f4ddef29f4bc5320
@@ -33,15 +33,16 @@ class BOTAN_DLL DL_Group

       DL_Group();
       DL_Group(const std::string&);
-      DL_Group(PrimeType, u32bit, u32bit = 0);
-      DL_Group(const MemoryRegion<byte>&, u32bit = 1024, u32bit = 0);
+      DL_Group(PrimeType, length_type, length_type = 0);
+      DL_Group(const MemoryRegion<byte>&, length_type = 1024, length_type = 0);
       DL_Group(const BigInt&, const BigInt&);
       DL_Group(const BigInt&, const BigInt&, const BigInt&);
    private:
       static BigInt make_dsa_generator(const BigInt&, const BigInt&);
       static SecureVector<byte> generate_dsa_primes(BigInt&, BigInt&,
-                                                    u32bit, u32bit);
-      static bool generate_dsa_primes(BigInt&, BigInt&, u32bit, u32bit,
+                                                    length_type, length_type);
+      static bool generate_dsa_primes(BigInt&, BigInt&,
+                                      length_type, length_type,
                                       const MemoryRegion<byte>&);

       void init_check() const;
============================================================
--- include/dlies.h	ba8018d6681f084e1fabfab66903260939bec948
+++ include/dlies.h	52281d898a521887a92b55acb061fb4a3201ec81
@@ -18,16 +18,16 @@ class BOTAN_DLL DLIES_Encryptor : public
    public:
       DLIES_Encryptor(const PK_Key_Agreement_Key&,
                       const std::string& = "KDF2(SHA-160)",
-                      const std::string& = "HMAC(SHA-160)", u32bit = 20);
+                      const std::string& = "HMAC(SHA-160)", length_type = 20);
       void set_other_key(const MemoryRegion<byte>&);
    private:
-      SecureVector<byte> enc(const byte[], u32bit) const;
-      u32bit maximum_input_size() const;
+      SecureVector<byte> enc(const byte[], length_type) const;
+      length_type maximum_input_size() const;
       const PK_Key_Agreement_Key& key;
       SecureVector<byte> other_key;
       const std::string kdf_algo;
       const std::string mac_algo;
-      const u32bit MAC_KEYLEN;
+      const length_type MAC_KEYLEN;
    };

 /*************************************************
@@ -38,13 +38,13 @@ class BOTAN_DLL DLIES_Decryptor : public
    public:
       DLIES_Decryptor(const PK_Key_Agreement_Key&,
                       const std::string& = "KDF2(SHA-160)",
-                      const std::string& = "HMAC(SHA-160)", u32bit = 20);
+                      const std::string& = "HMAC(SHA-160)", length_type = 20);
    private:
-      SecureVector<byte> dec(const byte[], u32bit) const;
+      SecureVector<byte> dec(const byte[], length_type) const;
       const PK_Key_Agreement_Key& key;
       const std::string kdf_algo;
       const std::string mac_algo;
-      const u32bit MAC_KEYLEN, PUBLIC_LEN;
+      const length_type MAC_KEYLEN, PUBLIC_LEN;
    };

 }
============================================================
--- include/dsa.h	03ca791b177eb9709d13a5f79181a157bca0aa4d
+++ include/dsa.h	5507e8f3bb3a7d517122df6a0a50baf255103979
@@ -21,11 +21,11 @@ class BOTAN_DLL DSA_PublicKey : public P
       std::string algo_name() const { return "DSA"; }

       DL_Group::Format group_format() const { return DL_Group::ANSI_X9_57; }
-      u32bit message_parts() const { return 2; }
-      u32bit message_part_size() const;
+      length_type message_parts() const { return 2; }
+      length_type message_part_size() const;

-      bool verify(const byte[], u32bit, const byte[], u32bit) const;
-      u32bit max_input_bits() const;
+      bool verify(const byte[], length_type, const byte[], length_type) const;
+      length_type max_input_bits() const;

       DSA_PublicKey() {}
       DSA_PublicKey(const DL_Group&, const BigInt&);
@@ -43,7 +43,7 @@ class BOTAN_DLL DSA_PrivateKey : public
                        public virtual DL_Scheme_PrivateKey
    {
    public:
-      SecureVector<byte> sign(const byte[], u32bit) const;
+      SecureVector<byte> sign(const byte[], length_type) const;

       bool check_key(bool) const;

============================================================
--- include/eax.h	66acdb5b8c0a5552f01ffd2127383864737801d1
+++ include/eax.h	1bfa9bbc16e37e08a1f48b51e3bf52962add0f45
@@ -18,22 +18,22 @@ class BOTAN_DLL EAX_Base : public Keyed_
    public:
       void set_key(const SymmetricKey&);
       void set_iv(const InitializationVector&);
-      void set_header(const byte[], u32bit);
+      void set_header(const byte[], length_type);
       std::string name() const;

-      bool valid_keylength(u32bit) const;
+      bool valid_keylength(length_type) const;

       ~EAX_Base() { delete cipher; delete mac; }
    protected:
-      EAX_Base(const std::string&, u32bit);
+      EAX_Base(const std::string&, length_type);
       void start_msg();
       void increment_counter();

-      const u32bit TAG_SIZE, BLOCK_SIZE;
+      const length_type TAG_SIZE, BLOCK_SIZE;
       BlockCipher* cipher;
       MessageAuthenticationCode* mac;
       SecureVector<byte> nonce_mac, header_mac, state, buffer;
-      u32bit position;
+      length_type position;
    };

 /*************************************************
@@ -42,11 +42,11 @@ class BOTAN_DLL EAX_Encryption : public
 class BOTAN_DLL EAX_Encryption : public EAX_Base
    {
    public:
-      EAX_Encryption(const std::string&, u32bit = 0);
+      EAX_Encryption(const std::string&, length_type = 0);
       EAX_Encryption(const std::string&, const SymmetricKey&,
-                     const InitializationVector&, u32bit = 0);
+                     const InitializationVector&, length_type = 0);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
    };

@@ -56,15 +56,15 @@ class BOTAN_DLL EAX_Decryption : public
 class BOTAN_DLL EAX_Decryption : public EAX_Base
    {
    public:
-      EAX_Decryption(const std::string&, u32bit = 0);
+      EAX_Decryption(const std::string&, length_type = 0);
       EAX_Decryption(const std::string&, const SymmetricKey&,
-                     const InitializationVector&, u32bit = 0);
+                     const InitializationVector&, length_type = 0);
    private:
-      void write(const byte[], u32bit);
-      void do_write(const byte[], u32bit);
+      void write(const byte[], length_type);
+      void do_write(const byte[], length_type);
       void end_msg();
       SecureVector<byte> queue;
-      u32bit queue_start, queue_end;
+      length_type queue_start, queue_end;
    };

 }
============================================================
--- include/ecb.h	f48d0a49b4d848d4707e93c4112aeea0620e4d25
+++ include/ecb.h	732944f22b8b4ea2344e3399f0222783f0bcdffb
@@ -21,7 +21,7 @@ class BOTAN_DLL ECB : public BlockCipher
       std::string name() const;
       const BlockCipherModePaddingMethod* padder;
    private:
-      bool valid_iv_size(u32bit) const;
+      bool valid_iv_size(length_type) const;
    };

 /*************************************************
@@ -34,7 +34,7 @@ class BOTAN_DLL ECB_Encryption : public
       ECB_Encryption(const std::string&, const std::string&,
                      const SymmetricKey&);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
    };

@@ -48,7 +48,7 @@ class BOTAN_DLL ECB_Decryption : public
       ECB_Decryption(const std::string&, const std::string&,
                      const SymmetricKey&);
    private:
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();
    };

============================================================
--- include/elgamal.h	ae94744be2a6ed1bad2c8485f49b77fb4423ed2d
+++ include/elgamal.h	d3fd52b48bc81f1fbe33483266a1df82ddab049a
@@ -20,8 +20,8 @@ class BOTAN_DLL ElGamal_PublicKey : publ
    public:
       std::string algo_name() const { return "ElGamal"; }

-      SecureVector<byte> encrypt(const byte[], u32bit) const;
-      u32bit max_input_bits() const;
+      SecureVector<byte> encrypt(const byte[], length_type) const;
+      length_type max_input_bits() const;

       DL_Group::Format group_format() const { return DL_Group::ANSI_X9_42; }

@@ -41,7 +41,7 @@ class BOTAN_DLL ElGamal_PrivateKey : pub
                            public virtual DL_Scheme_PrivateKey
    {
    public:
-      SecureVector<byte> decrypt(const byte[], u32bit) const;
+      SecureVector<byte> decrypt(const byte[], length_type) const;

       bool check_key(bool) const;

============================================================
--- include/eme.h	28df8ed20f752944ed6db8d8d4b240070381e358
+++ include/eme.h	1110279d40c517b576d3c9c0cf36439e2195640f
@@ -16,14 +16,14 @@ class BOTAN_DLL EME1 : public EME
 class BOTAN_DLL EME1 : public EME
    {
    public:
-      u32bit maximum_input_size(u32bit) const;
+      length_type maximum_input_size(length_type) const;

       EME1(const std::string&, const std::string&, const std::string& = "");
       ~EME1() { delete mgf; }
    private:
-      SecureVector<byte> pad(const byte[], u32bit, u32bit) const;
-      SecureVector<byte> unpad(const byte[], u32bit, u32bit) const;
-      const u32bit HASH_LENGTH;
+      SecureVector<byte> pad(const byte[], length_type, length_type) const;
+      SecureVector<byte> unpad(const byte[], length_type, length_type) const;
+      const length_type HASH_LENGTH;
       SecureVector<byte> Phash;
       MGF* mgf;
    };
@@ -34,10 +34,10 @@ class BOTAN_DLL EME_PKCS1v15 : public EM
 class BOTAN_DLL EME_PKCS1v15 : public EME
    {
    public:
-      u32bit maximum_input_size(u32bit) const;
+      length_type maximum_input_size(length_type) const;
    private:
-      SecureVector<byte> pad(const byte[], u32bit, u32bit) const;
-      SecureVector<byte> unpad(const byte[], u32bit, u32bit) const;
+      SecureVector<byte> pad(const byte[], length_type, length_type) const;
+      SecureVector<byte> unpad(const byte[], length_type, length_type) const;
    };

 }
============================================================
--- include/emsa.h	9a72ffbf9550acf6251278a4162adbc375afa7a2
+++ include/emsa.h	56f57023626148bdd385fb5b8b1511835debe0a0
@@ -19,11 +19,11 @@ class BOTAN_DLL EMSA1 : public EMSA
       EMSA1(const std::string&);
       ~EMSA1() { delete hash; }
    private:
-      void update(const byte[], u32bit);
-      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, u32bit);
+      void update(const byte[], length_type);
+      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, length_type);
       SecureVector<byte> raw_data();
       bool verify(const MemoryRegion<byte>&, const MemoryRegion<byte>&,
-                  u32bit) throw();
+                  length_type) throw();
       HashFunction* hash;
    };

@@ -36,8 +36,8 @@ class BOTAN_DLL EMSA2 : public EMSA
       EMSA2(const std::string&);
       ~EMSA2() { delete hash; }
    private:
-      void update(const byte[], u32bit);
-      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, u32bit);
+      void update(const byte[], length_type);
+      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, length_type);
       SecureVector<byte> raw_data();
       SecureVector<byte> empty_hash;
       HashFunction* hash;
@@ -53,8 +53,8 @@ class BOTAN_DLL EMSA3 : public EMSA
       EMSA3(const std::string&);
       ~EMSA3() { delete hash; }
    private:
-      void update(const byte[], u32bit);
-      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, u32bit);
+      void update(const byte[], length_type);
+      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, length_type);
       SecureVector<byte> raw_data();
       HashFunction* hash;
       SecureVector<byte> hash_id;
@@ -67,15 +67,15 @@ class BOTAN_DLL EMSA4 : public EMSA
    {
    public:
       EMSA4(const std::string&, const std::string&);
-      EMSA4(const std::string&, const std::string&, u32bit);
+      EMSA4(const std::string&, const std::string&, length_type);
       ~EMSA4() { delete hash; delete mgf; }
    private:
-      void update(const byte[], u32bit);
-      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, u32bit);
+      void update(const byte[], length_type);
+      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, length_type);
       SecureVector<byte> raw_data();
       bool verify(const MemoryRegion<byte>&, const MemoryRegion<byte>&,
-                  u32bit) throw();
-      const u32bit SALT_SIZE;
+                  length_type) throw();
+      const length_type SALT_SIZE;
       HashFunction* hash;
       const MGF* mgf;
    };
@@ -86,8 +86,8 @@ class BOTAN_DLL EMSA_Raw : public EMSA
 class BOTAN_DLL EMSA_Raw : public EMSA
    {
    private:
-      void update(const byte[], u32bit);
-      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, u32bit);
+      void update(const byte[], length_type);
+      SecureVector<byte> encoding_of(const MemoryRegion<byte>&, length_type);
       SecureVector<byte> raw_data();
       SecureVector<byte> message;
    };
============================================================
--- include/enums.h	68dbc74e69996937ec15c7cc13b99a04ae0f1d6d
+++ include/enums.h	fe6c2aa71286bb876438cf517e8fa34e0f38ac2e
@@ -60,7 +60,8 @@ enum Character_Set {
    LATIN1_CHARSET
 };

-static const u32bit NO_CERT_PATH_LIMIT = 0xFFFFFFF0;
+static const length_type NO_CERT_PATH_LIMIT =
+   static_cast<length_type>(-16);

 }

============================================================
--- include/exceptn.h	6c8eb39d95fc61a0a1bf2201f053811c61e9623d
+++ include/exceptn.h	f15231502935d54c3f0012439a20b8c1a6c136d8
@@ -40,7 +40,7 @@ struct BOTAN_DLL Invalid_Key_Length : pu
 *************************************************/
 struct BOTAN_DLL Invalid_Key_Length : public Invalid_Argument
    {
-   Invalid_Key_Length(const std::string&, u32bit);
+   Invalid_Key_Length(const std::string&, length_type);
    };

 /*************************************************
@@ -56,7 +56,7 @@ struct BOTAN_DLL Invalid_IV_Length : pub
 *************************************************/
 struct BOTAN_DLL Invalid_IV_Length : public Invalid_Argument
    {
-   Invalid_IV_Length(const std::string&, u32bit);
+   Invalid_IV_Length(const std::string&, length_type);
    };

 /*************************************************
@@ -160,7 +160,7 @@ struct BOTAN_DLL Config_Error : public F
    {
    Config_Error(const std::string& err) :
       Format_Error("Config error: " + err) {}
-   Config_Error(const std::string&, u32bit);
+   Config_Error(const std::string&, length_type);
    };

 /*************************************************
============================================================
--- include/filter.h	c36b3a90313dae0e423930a7249e36e9ca8742f0
+++ include/filter.h	19dc738c881c97f14f745b95868921da6774c1c4
@@ -17,7 +17,7 @@ class BOTAN_DLL Filter
 class BOTAN_DLL Filter
    {
    public:
-      virtual void write(const byte[], u32bit) = 0;
+      virtual void write(const byte[], length_type) = 0;
       virtual void start_msg() {}
       virtual void end_msg() {}
       virtual bool attachable() { return true; }
@@ -25,7 +25,7 @@ class BOTAN_DLL Filter
       void finish_msg();
       virtual ~Filter() {}
    protected:
-      void send(const byte[], u32bit);
+      void send(const byte[], length_type);
       void send(byte input) { send(&input, 1); }
       void send(const MemoryRegion<byte>& in) { send(in.begin(), in.size()); }
       Filter();
@@ -36,19 +36,19 @@ class BOTAN_DLL Filter
       friend class Pipe;
       friend class Fanout_Filter;

-      u32bit total_ports() const;
-      u32bit current_port() const { return port_num; }
-      void set_port(u32bit);
+      length_type total_ports() const;
+      length_type current_port() const { return port_num; }
+      void set_port(length_type);

-      u32bit owns() const { return filter_owns; }
+      length_type owns() const { return filter_owns; }

       void attach(Filter*);
-      void set_next(Filter*[], u32bit);
+      void set_next(Filter*[], length_type);
       Filter* get_next() const;

       SecureVector<byte> write_queue;
       std::vector<Filter*> next;
-      u32bit port_num, filter_owns;
+      length_type port_num, filter_owns;
       bool owned;
    };

@@ -60,8 +60,8 @@ class BOTAN_DLL Fanout_Filter : public F
    protected:
       void incr_owns() { ++filter_owns; }

-      void set_port(u32bit n) { Filter::set_port(n); }
-      void set_next(Filter* f[], u32bit n) { Filter::set_next(f, n); }
+      void set_port(length_type n) { Filter::set_port(n); }
+      void set_next(Filter* f[], length_type n) { Filter::set_next(f, n); }
       void attach(Filter* f) { Filter::attach(f); }
    };

============================================================
--- include/filters.h	50d68a0509271b1a7a27ebd741b9c12ce4491019
+++ include/filters.h	ddc418761def56e1ced728230ab6096c39ec6ee3
@@ -21,11 +21,11 @@ class BOTAN_DLL StreamCipher_Filter : pu
 class BOTAN_DLL StreamCipher_Filter : public Keyed_Filter
    {
    public:
-      void seek(u32bit position) { cipher->seek(position); }
+      void seek(length_type position) { cipher->seek(position); }
       bool supports_resync() const { return (cipher->IV_LENGTH != 0); }

       void set_iv(const InitializationVector&);
-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);

       StreamCipher_Filter(const std::string&);
       StreamCipher_Filter(const std::string&, const SymmetricKey&);
@@ -41,13 +41,13 @@ class BOTAN_DLL Hash_Filter : public Fil
 class BOTAN_DLL Hash_Filter : public Filter
    {
    public:
-      void write(const byte input[], u32bit len) { hash->update(input, len); }
+      void write(const byte input[], length_type len) { hash->update(input, len); }
       void end_msg();

-      Hash_Filter(const std::string&, u32bit = 0);
+      Hash_Filter(const std::string&, length_type = 0);
       ~Hash_Filter() { delete hash; }
    private:
-      const u32bit OUTPUT_LENGTH;
+      const length_type OUTPUT_LENGTH;
       HashFunction* hash;
    };

@@ -57,14 +57,14 @@ class BOTAN_DLL MAC_Filter : public Keye
 class BOTAN_DLL MAC_Filter : public Keyed_Filter
    {
    public:
-      void write(const byte input[], u32bit len) { mac->update(input, len); }
+      void write(const byte input[], length_type len) { mac->update(input, len); }
       void end_msg();

-      MAC_Filter(const std::string&, u32bit = 0);
-      MAC_Filter(const std::string&, const SymmetricKey&, u32bit = 0);
+      MAC_Filter(const std::string&, length_type = 0);
+      MAC_Filter(const std::string&, const SymmetricKey&, length_type = 0);
       ~MAC_Filter() { delete mac; }
    private:
-      const u32bit OUTPUT_LENGTH;
+      const length_type OUTPUT_LENGTH;
       MessageAuthenticationCode* mac;
    };

============================================================
--- include/gost.h	8bab6eb0bbff3ddda38f52bd1c373f63b4d94225
+++ include/gost.h	42021e2600ed0f46742437fa14c0dd51ab186934
@@ -23,7 +23,7 @@ class BOTAN_DLL GOST : public BlockCiphe
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);

       static const u32bit SBOX1[256];
       static const u32bit SBOX2[256];
============================================================
--- include/hex.h	462c74e4913e272f052a3fb27f3a7235ba54655a
+++ include/hex.h	eafa6328bedd9ae88ca58e4c68b14e8e359bbf81
@@ -20,20 +20,20 @@ class BOTAN_DLL Hex_Encoder : public Fil
       enum Case { Uppercase, Lowercase };
       static void encode(byte, byte[2], Case = Uppercase);

-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();

       Hex_Encoder(Case);
-      Hex_Encoder(bool = false, u32bit = 72, Case = Uppercase);
+      Hex_Encoder(bool = false, length_type = 72, Case = Uppercase);
    private:
-      void encode_and_send(const byte[], u32bit);
+      void encode_and_send(const byte[], length_type);
       static const byte BIN_TO_HEX_UPPER[16];
       static const byte BIN_TO_HEX_LOWER[16];

       const Case casing;
-      const u32bit line_length;
+      const length_type line_length;
       SecureVector<byte> in, out;
-      u32bit position, counter;
+      length_type position, counter;
    };

 /*************************************************
@@ -45,18 +45,18 @@ class BOTAN_DLL Hex_Decoder : public Fil
       static byte decode(const byte[2]);
       static bool is_valid(byte);

-      void write(const byte[], u32bit);
+      void write(const byte[], length_type);
       void end_msg();

       Hex_Decoder(Decoder_Checking = NONE);
    private:
-      void decode_and_send(const byte[], u32bit);
+      void decode_and_send(const byte[], length_type);
       void handle_bad_char(byte);
       static const byte HEX_TO_BIN[256];

       const Decoder_Checking checking;
       SecureVector<byte> in, out;
-      u32bit position;
+      length_type position;
    };

 }
============================================================
--- include/hmac.h	536a96d1baa456d63ea688d2304ea8c8f54b5f6e
+++ include/hmac.h	ab7e823e91b6344c2c1bee6722d4e71014884d15
@@ -22,9 +22,9 @@ class BOTAN_DLL HMAC : public MessageAut
       HMAC(const std::string&);
       ~HMAC() { delete hash; }
    private:
-      void add_data(const byte[], u32bit);
+      void add_data(const byte[], length_type);
       void final_result(byte[]);
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       HashFunction* hash;
       SecureVector<byte> i_key, o_key;
    };
============================================================
--- include/idea.h	f6b0ab5d54fb7a7f5e432feaa7e7cfa0da58753f
+++ include/idea.h	f9bac5b3005de949f4fd390a0a5c573cf762b3e8
@@ -23,7 +23,7 @@ class BOTAN_DLL IDEA : public BlockCiphe
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);
       SecureBuffer<u16bit, 52> EK, DK;
    };

============================================================
--- include/if_algo.h	72be1c5cf84e117cc018604a352f686dd18564c1
+++ include/if_algo.h	632456ce50f5a3b3f1d61f4c6e2677402e64c71d
@@ -23,7 +23,7 @@ class BOTAN_DLL IF_Scheme_PublicKey : pu
       const BigInt& get_n() const { return n; }
       const BigInt& get_e() const { return e; }

-      u32bit max_input_bits() const { return (n.bits() - 1); }
+      length_type max_input_bits() const { return (n.bits() - 1); }

       X509_Encoder* x509_encoder() const;
       X509_Decoder* x509_decoder();
============================================================
--- include/kasumi.h	c6a4b45d4a6401a2d07fca50f7617e18d9a14755
+++ include/kasumi.h	c9a5a63bee26950910b69f569b2915d25121859a
@@ -24,7 +24,7 @@ class BOTAN_DLL KASUMI : public BlockCip
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
+      void key(const byte[], length_type);

       SecureBuffer<u16bit, 64> EK;
    };
============================================================
--- include/kdf.h	a96cb1a3021c86215894c15c592eea114ce5463d
+++ include/kdf.h	2ba7cd57861e6c726312c785ef25c6ee1fa9c45a
@@ -18,8 +18,8 @@ class BOTAN_DLL KDF1 : public KDF
    public:
       KDF1(const std::string&);
    private:
-      SecureVector<byte> derive(u32bit, const byte[], u32bit,
-                                const byte[], u32bit) const;
+      SecureVector<byte> derive(length_type, const byte[], length_type,
+                                const byte[], length_type) const;

       const std::string hash_name;
    };
@@ -33,8 +33,8 @@ class BOTAN_DLL KDF2 : public KDF

       KDF2(const std::string&);
    private:
-      SecureVector<byte> derive(u32bit, const byte[], u32bit,
-                                const byte[], u32bit) const;
+      SecureVector<byte> derive(length_type, const byte[], length_type,
+                                const byte[], length_type) const;
       const std::string hash_name;
    };

@@ -46,8 +46,8 @@ class BOTAN_DLL X942_PRF : public KDF
    public:
       X942_PRF(const std::string&);
    private:
-      SecureVector<byte> derive(u32bit, const byte[], u32bit,
-                                const byte[], u32bit) const;
+      SecureVector<byte> derive(length_type, const byte[], length_type,
+                                const byte[], length_type) const;

       std::string key_wrap_oid;
    };
============================================================
--- include/libstate.h	cc522cb9ab803f77a13c05a42addb46e0272cdcc
+++ include/libstate.h	6ea2e6471ceac6e3fd0c9ae220b4098bebff9954
@@ -38,7 +38,7 @@ class BOTAN_DLL Library_State
             Engine_Iterator(const Library_State& l) : lib(l) { n = 0; }
          private:
             const Library_State& lib;
-            u32bit n;
+            length_type n;
          };
       friend class Engine_Iterator;

@@ -47,14 +47,14 @@ class BOTAN_DLL Library_State
       void set_default_allocator(const std::string&) const;

       bool rng_is_seeded() const { return rng->is_seeded(); }
-      void randomize(byte[], u32bit);
+      void randomize(byte[], length_type);
       byte random();

       void set_prng(RandomNumberGenerator*);
       void add_entropy_source(EntropySource*, bool = true);
-      void add_entropy(const byte[], u32bit);
+      void add_entropy(const byte[], length_type);
       void add_entropy(EntropySource&, bool);
-      u32bit seed_prng(bool, u32bit);
+      length_type seed_prng(bool, length_type);

       class Config& config() const;

@@ -63,7 +63,7 @@ class BOTAN_DLL Library_State
       Library_State(const Library_State&) {}
       Library_State& operator=(const Library_State&) { return (*this); }

-      class Engine* get_engine_n(u32bit) const;
+      class Engine* get_engine_n(length_type) const;

       class Mutex_Factory* mutex_factory;
       class Mutex* allocator_lock;
============================================================
--- include/lion.h	96827aa862aa07afdd27a66730801505cf09cfbb
+++ include/lion.h	15776da93cd661951577a3198183174aaf8360db
@@ -19,13 +19,13 @@ class BOTAN_DLL Lion : public BlockCiphe
       void clear() throw();
       std::string name() const;
       BlockCipher* clone() const;
-      Lion(const std::string&, const std::string&, u32bit);
+      Lion(const std::string&, const std::string&, length_type);
       ~Lion() { delete hash; delete cipher; }
    private:
       void enc(const byte[], byte[]) const;
       void dec(const byte[], byte[]) const;
-      void key(const byte[], u32bit);
-      const u32bit LEFT_SIZE, RIGHT_SIZE;
+      void key(const byte[], length_type);
+      const length_type LEFT_SIZE, RIGHT_SIZE;
       HashFunction* hash;
       StreamCipher* cipher;
       SecureVector<byte> key1, key2;
============================================================
--- include/loadstor.h	4dddb134024c8e16cbce6b72cbce823750146023
+++ include/loadstor.h	7efa4c5f38e258d9aa57c15ebd4286bc6261d27f
@@ -38,7 +38,7 @@ namespace Botan {
 /*************************************************
 * Byte Extraction Function                       *
 *************************************************/
-template<typename T> inline byte get_byte(u32bit byte_num, T input)
+template<typename T> inline byte get_byte(length_type byte_num, T input)
    {
    return (input >> ((sizeof(T)-1-(byte_num&(sizeof(T)-1))) << 3));
    }
@@ -76,27 +76,27 @@ template<typename T>
 * Endian-Specific Word Loading Operations        *
 *************************************************/
 template<typename T>
-inline T load_be(const byte in[], u32bit off)
+inline T load_be(const byte in[], length_type off)
    {
    in += off * sizeof(T);
    T out = 0;
-   for(u32bit j = 0; j != sizeof(T); j++)
+   for(length_type j = 0; j != sizeof(T); j++)
       out = (out << 8) | in[j];
    return out;
    }

 template<typename T>
-inline T load_le(const byte in[], u32bit off)
+inline T load_le(const byte in[], length_type off)
    {
    in += off * sizeof(T);
    T out = 0;
-   for(u32bit j = 0; j != sizeof(T); j++)
+   for(length_type j = 0; j != sizeof(T); j++)
       out = (out << 8) | in[sizeof(T)-1-j];
    return out;
    }

 template<>
-inline u16bit load_be<u16bit>(const byte in[], u32bit off)
+inline u16bit load_be<u16bit>(const byte in[], length_type off)
    {
 #if BOTAN_TARGET_UNALIGNED_LOADSTOR_OK
    return BOTAN_ENDIAN_N2B(*(reinterpret_cast<const u16bit*>(in) + off));
@@ -107,7 +107,7 @@ template<>
    }

 template<>
-inline u16bit load_le<u16bit>(const byte in[], u32bit off)
+inline u16bit load_le<u16bit>(const byte in[], length_type off)
    {
 #if BOTAN_TARGET_UNALIGNED_LOADSTOR_OK
    return BOTAN_ENDIAN_N2L(*(reinterpret_cast<const u16bit*>(in) + off));
@@ -118,7 +118,7 @@ template<>
    }

 template<>
-inline u32bit load_be<u32bit>(const byte in[], u32bit off)
+inline u32bit load_be<u32bit>(const byte in[], length_type off)
    {
 #if BOTAN_TARGET_UNALIGNED_LOADSTOR_OK
    return BOTAN_ENDIAN_N2B(*(reinterpret_cast<const u32bit*>(in) + off));
@@ -129,7 +129,7 @@ template<>
    }

 template<>
-inline u32bit load_le<u32bit>(const byte in[], u32bit off)
+inline u32bit load_le<u32bit>(const byte in[], length_type off)
    {
 #if BOTAN_TARGET_UNALIGNED_LOADSTOR_OK
    return BOTAN_ENDIAN_N2L(*(reinterpret_cast<const u32bit*>(in) + off));
@@ -140,7 +140,7 @@ template<>
    }

 template<>
-inline u64bit load_be<u64bit>(const byte in[], u32bit off)
+inline u64bit load_be<u64bit>(const byte in[], length_type off)
    {
 #if BOTAN_TARGET_UNALIGNED_LOADSTOR_OK
    return BOTAN_ENDIAN_N2B(*(reinterpret_cast<const u64bit*>(in) + off));
@@ -152,7 +152,7 @@ template<>
    }

 template<>
-inline u64bit load_le<u64bit>(const byte in[], u32bit off)
+inline u64bit load_le<u64bit>(const byte in[], length_type off)
    {
 #if BOTAN_TARGET_UNALIGNED_LOADSTOR_OK
    return BOTAN_ENDIAN_N2L(*(reinterpret_cast<const u64bit*>(in) + off));
============================================================
--- include/lookup.h	2dfd127a84eb9858a688b1ec0ba12a3fb5bd3e51
+++ include/lookup.h	35060f03b17f544151eac36c8e5318c692434611
@@ -76,13 +76,13 @@ BOTAN_DLL std::string deref_alias(const
 /*************************************************
 * Query information about an algorithm           *
 *************************************************/
-BOTAN_DLL u32bit block_size_of(const std::string&);
-BOTAN_DLL u32bit output_length_of(const std::string&);
+BOTAN_DLL length_type block_size_of(const std::string&);
+BOTAN_DLL length_type output_length_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&);
+BOTAN_DLL bool valid_keylength_for(length_type, const std::string&);
+BOTAN_DLL length_type min_keylength_of(const std::string&);
+BOTAN_DLL length_type max_keylength_of(const std::string&);
+BOTAN_DLL length_type keylength_multiple_of(const std::string&);

 }

============================================================
--- include/lubyrack.h	ecd39682fd0eaef7bedf6427511