History log of /openbsd-current/lib/libskey/skeysubr.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.36 08-Mar-2023 guenther

Delete obsolete /* ARGSUSED */ lint comments.

ok miod@ millert@


Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.35 25-Jan-2019 millert

I am retiring my old email address; replace it with my OpenBSD one.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.34 06-Oct-2015 tim

Don't burden keycrunch_{md5,sha1,rmd160}() with identical code to prepare a
buffer based on whether they are called by keycrunch() or f(). Instead let
keycrunch() and f() take care of this themselves.

OK millert@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.33 25-Mar-2014 lteo

Fix two bugs introduced after MD4 removal: Change the default algorithm
back to md5 (as documented on the man pages), and do not let
skey_set_algorithm() cause a segfault if an unsupported algorithm is
specified.

earlier version ok tedu@
help/ok millert@, ok naddy@


# 1.32 20-Mar-2014 naddy

Remove the (non-default) MD4 hash algorithm from S/Key.
ok millert, man pages ok jmc@


Revision tags: OPENBSD_5_5_BASE
# 1.31 29-Nov-2013 deraadt

fairly simple unsigned char casts for ctype
ok krw


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.30 17-May-2007 ray

Check fgets return value, from Charles Longeau.

OK millert@.


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.29 10-Apr-2006 deraadt

minimal cleanups lint begs for


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE
# 1.28 28-Jul-2004 millert

Use SHA1Pad() instead of relying on unspecified behavior.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.27 26-Jun-2003 deraadt

simple protos


# 1.26 03-Apr-2003 millert

Use snprintf() and strlcpy() throughout.


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.25 29-May-2002 deraadt

strlcat bounds


# 1.24 24-May-2002 deraadt

replace strcpy with strlcpy


Revision tags: OPENBSD_3_1_BASE
# 1.23 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


# 1.22 24-Jan-2002 millert

Fix `necesary' typos; Alexander Yurchenko

Alas many of these were introduced by yours truly as necessary
just doesn't look right to me for some reason ;-)


# 1.21 14-Nov-2001 deraadt

avoid stdio in a signal handler; millert ok


Revision tags: OPENBSD_3_0_BASE
# 1.20 23-Jun-2001 millert

Get rid of f_HASH() and fold its functionality into keycrunch_HASH().
This means we now only need to add one new function when adding a
new hash type.

Somehow missed from last S/Key commit (changes are static to skeysubr.c).


Revision tags: OPENBSD_2_9_BASE
# 1.19 26-Jan-2001 millert

SHA1 is a big endian algorithm but RFC2289 mandates that results be
stored in little endian form (like MD4/MD5). So, instead of having
SHA1Final copy the result buffer, we do it ourselves with a loop
stolen from RFC2289, Appendix A. Closes PR1650.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.18 03-Jul-1998 angelos

Remove user existance disclosure through "s/key" challenges.


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.17 27-Jul-1997 millert

- Do coarse locking on /etc/skeykeys. Fixes a race that could allow
a replay attempt to succeed.
- OpenBSD tags


# 1.16 24-Jul-1997 millert

Fix one instance of bad strncpy() usage and some KNF.


# 1.15 17-Jul-1997 millert

Add RIPEMD-160 (rmd160) support to OTP (s/key).


# 1.14 11-Jul-1997 millert

Remove #if 0'd code


# 1.13 10-Jul-1997 millert

Use new SHA1* functions.


Revision tags: OPENBSD_2_1_BASE
# 1.12 03-Nov-1996 millert

Add a bunch of length/size macros and use them.


# 1.11 22-Oct-1996 millert

Don't need the extra newline since we never turn off echo for s/key


# 1.10 14-Oct-1996 millert

htoi now takes an int, not char.
Only skey_set_algorithm() for the record that matches target user.


Revision tags: OPENBSD_2_0_BASE
# 1.9 30-Sep-1996 millert

Added missing static's.


# 1.8 30-Sep-1996 millert

Fix byte order problem with sha1.


# 1.7 30-Sep-1996 millert

More RFC 1938 compliance--convert seed to lower case internally.


# 1.6 30-Sep-1996 millert

__ARGS -> __P (why does everyone have to do this differently?)


# 1.5 29-Sep-1996 millert

check skey_set_algorithm() ret val + pedantry.


# 1.4 29-Sep-1996 millert

Towards RFC 1938 compliance. Also, now supports SHA (secure hash algorithm).


# 1.3 27-Sep-1996 millert

Nicer echo on/off in its own function.


# 1.2 27-Sep-1996 millert

Deal with both MD4 and MD5 s/key's


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.35 25-Jan-2019 millert

I am retiring my old email address; replace it with my OpenBSD one.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.34 06-Oct-2015 tim

Don't burden keycrunch_{md5,sha1,rmd160}() with identical code to prepare a
buffer based on whether they are called by keycrunch() or f(). Instead let
keycrunch() and f() take care of this themselves.

OK millert@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.33 25-Mar-2014 lteo

Fix two bugs introduced after MD4 removal: Change the default algorithm
back to md5 (as documented on the man pages), and do not let
skey_set_algorithm() cause a segfault if an unsupported algorithm is
specified.

earlier version ok tedu@
help/ok millert@, ok naddy@


# 1.32 20-Mar-2014 naddy

Remove the (non-default) MD4 hash algorithm from S/Key.
ok millert, man pages ok jmc@


Revision tags: OPENBSD_5_5_BASE
# 1.31 29-Nov-2013 deraadt

fairly simple unsigned char casts for ctype
ok krw


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.30 17-May-2007 ray

Check fgets return value, from Charles Longeau.

OK millert@.


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.29 10-Apr-2006 deraadt

minimal cleanups lint begs for


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE
# 1.28 28-Jul-2004 millert

Use SHA1Pad() instead of relying on unspecified behavior.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.27 26-Jun-2003 deraadt

simple protos


# 1.26 03-Apr-2003 millert

Use snprintf() and strlcpy() throughout.


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.25 29-May-2002 deraadt

strlcat bounds


# 1.24 24-May-2002 deraadt

replace strcpy with strlcpy


Revision tags: OPENBSD_3_1_BASE
# 1.23 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


# 1.22 24-Jan-2002 millert

Fix `necesary' typos; Alexander Yurchenko

Alas many of these were introduced by yours truly as necessary
just doesn't look right to me for some reason ;-)


# 1.21 14-Nov-2001 deraadt

avoid stdio in a signal handler; millert ok


Revision tags: OPENBSD_3_0_BASE
# 1.20 23-Jun-2001 millert

Get rid of f_HASH() and fold its functionality into keycrunch_HASH().
This means we now only need to add one new function when adding a
new hash type.

Somehow missed from last S/Key commit (changes are static to skeysubr.c).


Revision tags: OPENBSD_2_9_BASE
# 1.19 26-Jan-2001 millert

SHA1 is a big endian algorithm but RFC2289 mandates that results be
stored in little endian form (like MD4/MD5). So, instead of having
SHA1Final copy the result buffer, we do it ourselves with a loop
stolen from RFC2289, Appendix A. Closes PR1650.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.18 03-Jul-1998 angelos

Remove user existance disclosure through "s/key" challenges.


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.17 27-Jul-1997 millert

- Do coarse locking on /etc/skeykeys. Fixes a race that could allow
a replay attempt to succeed.
- OpenBSD tags


# 1.16 24-Jul-1997 millert

Fix one instance of bad strncpy() usage and some KNF.


# 1.15 17-Jul-1997 millert

Add RIPEMD-160 (rmd160) support to OTP (s/key).


# 1.14 11-Jul-1997 millert

Remove #if 0'd code


# 1.13 10-Jul-1997 millert

Use new SHA1* functions.


Revision tags: OPENBSD_2_1_BASE
# 1.12 03-Nov-1996 millert

Add a bunch of length/size macros and use them.


# 1.11 22-Oct-1996 millert

Don't need the extra newline since we never turn off echo for s/key


# 1.10 14-Oct-1996 millert

htoi now takes an int, not char.
Only skey_set_algorithm() for the record that matches target user.


Revision tags: OPENBSD_2_0_BASE
# 1.9 30-Sep-1996 millert

Added missing static's.


# 1.8 30-Sep-1996 millert

Fix byte order problem with sha1.


# 1.7 30-Sep-1996 millert

More RFC 1938 compliance--convert seed to lower case internally.


# 1.6 30-Sep-1996 millert

__ARGS -> __P (why does everyone have to do this differently?)


# 1.5 29-Sep-1996 millert

check skey_set_algorithm() ret val + pedantry.


# 1.4 29-Sep-1996 millert

Towards RFC 1938 compliance. Also, now supports SHA (secure hash algorithm).


# 1.3 27-Sep-1996 millert

Nicer echo on/off in its own function.


# 1.2 27-Sep-1996 millert

Deal with both MD4 and MD5 s/key's


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.34 06-Oct-2015 tim

Don't burden keycrunch_{md5,sha1,rmd160}() with identical code to prepare a
buffer based on whether they are called by keycrunch() or f(). Instead let
keycrunch() and f() take care of this themselves.

OK millert@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.33 25-Mar-2014 lteo

Fix two bugs introduced after MD4 removal: Change the default algorithm
back to md5 (as documented on the man pages), and do not let
skey_set_algorithm() cause a segfault if an unsupported algorithm is
specified.

earlier version ok tedu@
help/ok millert@, ok naddy@


# 1.32 20-Mar-2014 naddy

Remove the (non-default) MD4 hash algorithm from S/Key.
ok millert, man pages ok jmc@


Revision tags: OPENBSD_5_5_BASE
# 1.31 29-Nov-2013 deraadt

fairly simple unsigned char casts for ctype
ok krw


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.30 17-May-2007 ray

Check fgets return value, from Charles Longeau.

OK millert@.


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.29 10-Apr-2006 deraadt

minimal cleanups lint begs for


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE
# 1.28 28-Jul-2004 millert

Use SHA1Pad() instead of relying on unspecified behavior.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.27 26-Jun-2003 deraadt

simple protos


# 1.26 03-Apr-2003 millert

Use snprintf() and strlcpy() throughout.


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.25 29-May-2002 deraadt

strlcat bounds


# 1.24 24-May-2002 deraadt

replace strcpy with strlcpy


Revision tags: OPENBSD_3_1_BASE
# 1.23 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


# 1.22 24-Jan-2002 millert

Fix `necesary' typos; Alexander Yurchenko

Alas many of these were introduced by yours truly as necessary
just doesn't look right to me for some reason ;-)


# 1.21 14-Nov-2001 deraadt

avoid stdio in a signal handler; millert ok


Revision tags: OPENBSD_3_0_BASE
# 1.20 23-Jun-2001 millert

Get rid of f_HASH() and fold its functionality into keycrunch_HASH().
This means we now only need to add one new function when adding a
new hash type.

Somehow missed from last S/Key commit (changes are static to skeysubr.c).


Revision tags: OPENBSD_2_9_BASE
# 1.19 26-Jan-2001 millert

SHA1 is a big endian algorithm but RFC2289 mandates that results be
stored in little endian form (like MD4/MD5). So, instead of having
SHA1Final copy the result buffer, we do it ourselves with a loop
stolen from RFC2289, Appendix A. Closes PR1650.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.18 03-Jul-1998 angelos

Remove user existance disclosure through "s/key" challenges.


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.17 27-Jul-1997 millert

- Do coarse locking on /etc/skeykeys. Fixes a race that could allow
a replay attempt to succeed.
- OpenBSD tags


# 1.16 24-Jul-1997 millert

Fix one instance of bad strncpy() usage and some KNF.


# 1.15 17-Jul-1997 millert

Add RIPEMD-160 (rmd160) support to OTP (s/key).


# 1.14 11-Jul-1997 millert

Remove #if 0'd code


# 1.13 10-Jul-1997 millert

Use new SHA1* functions.


Revision tags: OPENBSD_2_1_BASE
# 1.12 03-Nov-1996 millert

Add a bunch of length/size macros and use them.


# 1.11 22-Oct-1996 millert

Don't need the extra newline since we never turn off echo for s/key


# 1.10 14-Oct-1996 millert

htoi now takes an int, not char.
Only skey_set_algorithm() for the record that matches target user.


Revision tags: OPENBSD_2_0_BASE
# 1.9 30-Sep-1996 millert

Added missing static's.


# 1.8 30-Sep-1996 millert

Fix byte order problem with sha1.


# 1.7 30-Sep-1996 millert

More RFC 1938 compliance--convert seed to lower case internally.


# 1.6 30-Sep-1996 millert

__ARGS -> __P (why does everyone have to do this differently?)


# 1.5 29-Sep-1996 millert

check skey_set_algorithm() ret val + pedantry.


# 1.4 29-Sep-1996 millert

Towards RFC 1938 compliance. Also, now supports SHA (secure hash algorithm).


# 1.3 27-Sep-1996 millert

Nicer echo on/off in its own function.


# 1.2 27-Sep-1996 millert

Deal with both MD4 and MD5 s/key's


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision