>> I asked for mainstream use-cases for algorithms whose removal could >> cause widespread pain. Some individual users, undoubtedly, will be hit >> by this, and I acknowledge that they may not be reading this list. But I >> wanted to know if I'd missed something endemic. I also asked elsewhere: >> Adam Langley pointed me to the MD4 use-case and Steve confirmed that RC2 >> must stay. >> >> There is a tradeoff: by attempting to accommodate every single use-case, >> we will weaken the library for a substantial amount of our user base, by >> offering them bad defaults, or simply by virtue of the fact that our >> developer resources are not infinite. (Near)-dead code is a liability. > > We can significantly reduce that liability by removing any assembler > optimisations. Also just because something is available doesn't mean it > has to be "default". We can have good defaults whilst keeping old crypto. Zooko Wilcox O'Hearn recently gave a talk at a software assurance conference on the downsides of assembly language routines in software. I'm trying to locate it now. All in all, this is probably a move in the right direction, especially for non-contemporary algorithms, to help sunset them and maintain them with minimal effort. Its probably a good idea for mainstream algorithms, too. But the guys I know who provide the highest-performance implementations probably won't want to leave it to a compiler. Jeff