History log of /openbsd-src/lib/libc/crypt/bcrypt.c (Results 1 – 25 of 58)
Revision Date Author Comments
# d82e6535 06-Jul-2020 pirofti <pirofti@openbsd.org>

Add support for timeconting in userland.

This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they

Add support for timeconting in userland.

This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.

If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.

The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.

Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.

This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).

Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!

OK from at least kettenis@, cheloha@, naddy@, sthen@

show more ...


# 0ccb1e69 26-Aug-2016 guenther <guenther@openbsd.org>

Pull in <time.h> for clock_gettime()

ok deraadt@


# 0d28cf8d 26-Jun-2016 tedu <tedu@openbsd.org>

increase the minimum for auto rounds to 6. that was the previous low bound
for login.conf, and we don't want to go lower.


# f3415991 13-Sep-2015 guenther <guenther@openbsd.org>

Wrap <pwd.h> so that calls go direct and the symbols are all weak.
Hide bcrypt_autorounds(), prefixing with an underbar for static builds.


# df22808a 13-Sep-2015 millert <millert@openbsd.org>

The number of rounds is just two digits in the salt. We've already
verified that they are there via isdigit() so we can convert from
ASCII to an int without using atoi(). OK guenther@ deraadt@


# 8d29ece6 18-Jul-2015 tedu <tedu@openbsd.org>

standards compliant error return (null). will make ruby happier, at least.
ok deraadt jeremy


# 6c34c853 28-Jan-2015 tedu <tedu@openbsd.org>

dial the time back to about 0.1s, closer to the original targets and
friendlier for users. requested by deraadt


# c6555c4f 12-Jan-2015 tedu <tedu@openbsd.org>

rename blocks to words. bcrypt "blocks" are unrelated to blowfish blocks,
nor are they the same size.


# 77fd6317 07-Jan-2015 tedu <tedu@openbsd.org>

stupid me. need errno.h


# 2ae21647 07-Jan-2015 tedu <tedu@openbsd.org>

set errno = EINVAL for invalid salts and hashes in most functions.
remember to set EACCES in bcrypt_checkpass for hash differences.
the higher level crypt_checkpass function will reset errno to EACCE

set errno = EINVAL for invalid salts and hashes in most functions.
remember to set EACCES in bcrypt_checkpass for hash differences.
the higher level crypt_checkpass function will reset errno to EACCES in
all cases, which is probably the right behavior, but this change gives code
working with the lower level functions the correct errno if they care.

show more ...


# 87c89173 05-Jan-2015 tedu <tedu@openbsd.org>

convert clock() to clock_gettime() for improved precision (and accuracy?)
guenther suggested using thread time, which actually may improve accuracy
if somebody puts this in a threaded program.


# e08a42f8 30-Dec-2014 tedu <tedu@openbsd.org>

copy bcrypt autotune from encrypt(1) and expose via crypt_newhash
ok deraadt miod


# 5105d936 24-Nov-2014 tedu <tedu@openbsd.org>

introduce a hashspace define and check that there's enough space to
write out a hash. also simplify writing out the hash.


# 1a0ab620 20-Jul-2014 guenther <guenther@openbsd.org>

From ISO/IEC 9899:1999 and 9899:201x,
6.11.5 - Storage-class specifiers:
The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration

From ISO/IEC 9899:1999 and 9899:201x,
6.11.5 - Storage-class specifiers:
The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is
an obsolescent feature.

Diff from Jean-Philippe Ouellet (jean-philippe (at) ouellet.biz)

show more ...


# d0288240 17-May-2014 chl <chl@openbsd.org>

Add missing header needed by isdigit().
While there, sort headers.

ok tedu@


# 2d36deba 06-May-2014 tedu <tedu@openbsd.org>

fix stupid commit


# ecf9b0bc 06-May-2014 tedu <tedu@openbsd.org>

use explicit_bzero


# 6b630d86 03-May-2014 tedu <tedu@openbsd.org>

now that 5.5 has been released with compatibility for 2b hashes,
switch to generating them by default. prodded by deraadt and sthen


# 2c4c53c9 03-May-2014 tedu <tedu@openbsd.org>

1. Drop support for no minor. This variant doesn't exist anymore.
2. Pull up the actual minor processing code into the switch that
parses it.
3. atoi is actually simpler than strtonum in this case, b

1. Drop support for no minor. This variant doesn't exist anymore.
2. Pull up the actual minor processing code into the switch that
parses it.
3. atoi is actually simpler than strtonum in this case, but check the
input beforehand so we don't get unexpected results.
4. Slightly more consistent style between various parse and check and
increment operations on salt.
ok deraadt

show more ...


# 7b5a7360 19-Apr-2014 tedu <tedu@openbsd.org>

one small tweak to avoid ever going off the end of a string.


# 7708e05b 19-Apr-2014 tedu <tedu@openbsd.org>

improved checking for invalid hashes. from solar designer


# ad45bbcf 08-Apr-2014 tedu <tedu@openbsd.org>

use char * for strings, saving casts. add return codes to base64 functions


# 58406b89 24-Mar-2014 tedu <tedu@openbsd.org>

oops, merge error


# 90e74185 23-Mar-2014 tedu <tedu@openbsd.org>

clear stack variables, suggested by djm


# 8391e028 23-Mar-2014 tedu <tedu@openbsd.org>

some improvements suggested by djm.
use better constant for salt size.
always copy ":" to gerror, in case somebody is dumb enough to overwrite it
timingsafe_bcmp before somebody whines about strcmp


123