summaryrefslogtreecommitdiff
path: root/src/crypt/crypt_sha256.c
AgeCommit message (Collapse)AuthorFilesLines
2016-02-16in crypt-sha*, reject excessive rounds as error rather than clampingRich Felker1-1/+1
the reference implementation clamps rounds to [1000,999999999]. we further limited rounds to at most 9999999 as a defense against extreme run times, but wrongly clamped instead of treating out-of-bounds values as an error, thereby producing implementation-specific hash results. fixing this should not break anything since values of rounds this high are not useful anyway.
2013-02-02make some arrays constrofl0r1-1/+1
this way they'll go into .rodata, decreasing memory pressure.
2013-01-13crypt: fix the prototype of md5_sum, sha256_sum and sha512_sumSzabolcs Nagy1-1/+1
the internal sha2 hash sum functions had incorrect array size in the prototype for the message digest argument, fixed by using pointer so it is not misleading
2012-09-15revert low rounds-count limits in crypt hashesRich Felker1-1/+1
it was determined in discussion that these kind of limits are not sufficient to protect single-threaded servers against denial of service attacks from maliciously large round counts. the time scales simply vary too much; many users will want login passwords with rounds counts on a scale that gives decisecond latency, while highly loaded webservers will need millisecond latency or shorter. still some limit is left in place; the idea is not to protect against attacks, but to avoid the runtime of a single call to crypt being, for all practical purposes, infinite, so that configuration errors can be caught and fixed without bringing down whole systems. these limits are very high, on the order of minute-long runtimes for modest systems.
2012-09-07cleanup src/linux and src/misc trees, etc.Rich Felker1-0/+322
previously, it was pretty much random which one of these trees a given function appeared in. they have now been organized into: src/linux: non-POSIX linux syscalls (possibly shard with other nixen) src/legacy: various obsolete/legacy functions, mostly wrappers src/misc: still mostly uncategorized; some misc POSIX, some nonstd src/crypt: crypt hash functions further cleanup will be done later.