When talking about this with mulander@ it came out that the docs could use a touch.
The commit message for the diff that didn't update the docs was: permit "bcrypt" as an alias for "blowfish". this is, after all, what 99% of the world calls it. allow just "bcrypt" without params to mean auto-tune ("bcrypt,a"). default remains 8 rounds (for now) Comments? OK? Index: lib/libc/crypt/crypt_checkpass.3 =================================================================== RCS file: /cvs/src/lib/libc/crypt/crypt_checkpass.3,v retrieving revision 1.9 diff -u -p -r1.9 crypt_checkpass.3 --- lib/libc/crypt/crypt_checkpass.3 23 Jul 2015 22:20:02 -0000 1.9 +++ lib/libc/crypt/crypt_checkpass.3 6 Jun 2017 19:06:59 -0000 @@ -58,17 +58,29 @@ The provided .Fa password is randomly salted and hashed and stored in .Fa hash . +.Fa hash +must already be allocated, and +.Fa hashsize +must contain its size, which cannot be less than 61 bytes. The .Fa pref argument identifies the preferred hashing algorithm and parameters. +If set to +.Dv NULL +it defaults to +.Dq bcrypt,8 . Possible values are: .Bl -tag -width Ds -.It Dq bcrypt,<rounds> +.It Dq bcrypt[,<rounds>] The bcrypt algorithm, where the value of rounds can be between 4 and 31 and specifies the base 2 logarithm of the number of rounds. The special rounds value .Sq a automatically selects rounds based on system performance. +This is the default if rounds is omitted. +.Dq blowfish +can be used as an alias for +.Dq bcrypt . .El .Sh RETURN VALUES .Rv -std crypt_checkpass crypt_newhash @@ -89,7 +101,9 @@ to .Er EINVAL if .Fa pref -is unsupported. +is unsupported, or the value of +.Fa hashsize +is insufficient. .Sh SEE ALSO .Xr crypt 3 , .Xr login.conf 5 , -- Michal Mazurek