Home | History | Annotate | only in /src/lib/libskey
History log of /src/lib/libskey
RevisionDateAuthorComments
 1.6 28-May-2007  tls Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
 1.5 10-Nov-2001  gmcgarry Add and install skey(3).
 1.4 23-Oct-1997  lukem remove superfluous CFLAGS line; WARNS=1 provides the same thing
 1.3 18-Jun-1997  christos branches: 1.3.2;
- pass gcc -Wall
- use the standard md4
- install skey.h in /usr/include
 1.2 19-Sep-1996  thorpej RCS id police.
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.3.2.1 09-Nov-1997  lukem sync with trunk (approved by thorpej)
 1.1 02-Apr-2013  agc branches: 1.1.2;
file Version.map was initially added on branch agc-symver.
 1.1.2.1 02-Apr-2013  agc add symbol versioning info for:

libcrypt
libcurses
libedit
libmenu
libossaudio
libposix
libskey
 1.6 18-Jun-1997  christos - pass gcc -Wall
- use the standard md4
- install skey.h in /usr/include
 1.5 19-Sep-1996  thorpej RCS id police.
 1.4 19-Sep-1996  thorpej Make a quick 64-bit safeness sweep. S/Key now works on the Alpha.
 1.3 05-Jun-1995  pk Prototypes (PR#1105) + some misc. reorganisation.
 1.2 26-May-1994  deraadt solve byte order problem
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.4 18-Jun-1997  christos - pass gcc -Wall
- use the standard md4
- install skey.h in /usr/include
 1.3 19-Sep-1996  thorpej RCS id police.
 1.2 19-Sep-1996  thorpej Make a quick 64-bit safeness sweep. S/Key now works on the Alpha.
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.15 12-Apr-2021  mrg avoid an unlikely buffer truncation.
 1.14 03-Oct-2019  christos use strlcpy here; the destination string is passed to strtok_r, and if it
is not NUL terminated, bad things can happen.
 1.13 04-Feb-2005  perry branches: 1.13.90;
de-__P
 1.12 28-Oct-2004  dsl Use (unsigned char) cast to sanitise arguments to ctype functions.
 1.11 27-Oct-2004  dsl Fix a load of international alphabet problems with isxxx() and toupper()
Change isspace(*char_ptr) to isspace(*char_ptr & 0xff) so that the correct
piece of memory is looked at for the bit mask.
gcc optimises out the '& 0xff' (on i386 at least).
Fixes problems found by gcc when the splurious (int) cast is removed
from the #defines in ctype.h
 1.10 09-Mar-2003  lukem use __RCSID()
 1.9 23-Jun-2002  itojun use strtok_r, as strtok can interfere with outside users.
 1.8 06-Jul-2000  mjl Bring s/key closer to RFC2289 conformance by pulling in changes
from OpenBSD to make use of different hash functions possible.
Also factored out some common code pieces, ANSIfied and
corrected SHA1 hash to make the result match up with the
regression examples in above RFC.
 1.7 02-Jul-1999  simonb branches: 1.7.8;
More trailing white space.
 1.6 26-Jul-1998  mycroft const poisoning.
 1.5 03-Feb-1998  perry remove obsolete register declarations
 1.4 23-Jan-1997  mrg - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.
 1.3 19-Sep-1996  thorpej RCS id police.
 1.2 19-Sep-1996  thorpej Make a quick 64-bit safeness sweep. S/Key now works on the Alpha.
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.7.8.1 17-Jul-2000  mjl Pull up S/Key overhaul (RFC2289 compliance, new hash types,
ctype clean up) from current. Approved by thorpej.
 1.13.90.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7 11-Jan-2009  christos bump shared libraries.
 1.6 12-Mar-2001  mjl Revert minor to 0 since there is no abi change on request of thorpej.
 1.5 11-Mar-2001  mjl Fix incorrect SHA1 calculation on big endian machines reported
in PR/12045 by John Valdes, who also provided the problem's
solution and a patch.

XXX This problem could have been caught about a year ago if we
XXX just ran the regression tests on every build!
 1.4 06-Jul-2000  mjl Bring s/key closer to RFC2289 conformance by pulling in changes
from OpenBSD to make use of different hash functions possible.
Also factored out some common code pieces, ANSIfied and
corrected SHA1 hash to make the result match up with the
regression examples in above RFC.
 1.3 25-Feb-1999  abs branches: 1.3.10;
Add a note to update src/distrib/sets/lists/base/shl.*, and add a missing
RCS Id.
 1.2 05-Jan-1998  perry RCSID Police.
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.3.10.1 17-Jul-2000  mjl Pull up S/Key overhaul (RFC2289 compliance, new hash types,
ctype clean up) from current. Approved by thorpej.
 1.11 03-Jul-2017  wiz Remove workaround for ancient HTML generation code.
 1.10 08-Oct-2012  njoly Kill some extra spaces in function arguments.
 1.9 30-Apr-2008  martin branches: 1.9.4; 1.9.26;
Convert TNF licenses to new 2 clause variant
 1.8 06-Jun-2003  wiz branches: 1.8.30;
Grammar, spelling, markup fixes from jmc@openbsd.
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 03-Jan-2003  wiz Use \-1 instead of -1.
 1.5 03-Jan-2003  mjl repsonse -> response (from PR 19649)
 1.4 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 10-Nov-2001  wiz Misc. improvements, sort SEE ALSO.
 1.1 10-Nov-2001  gmcgarry Add and install skey(3).
 1.8.30.1 18-May-2008  yamt sync with head.
 1.9.26.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.4.1 30-Oct-2012  yamt sync with head
 1.1 21-Nov-2024  riastradh branches: 1.1.4;
libskey: Add expected symbols list.

NOTE: There are some rather odd symbols in here like `Wp', `f', and
`rip'. Intentional? Should we slap on a version map to nix 'em?

PR lib/58838: shared libraries in base should all have expsym lists
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 21-Nov-2024  perseant file skey.expsym was added on branch perseant-exfatfs on 2025-08-02 05:54:58 +0000
 1.10 22-Jan-2016  dholland Uses FILE *, needs stdio.h.
 1.9 04-Feb-2005  perry de-__P, slightly KNF, and make a bit of the formatting more consistent.
 1.8 28-Jul-2000  thorpej skey_keyinfo() returns a pointer to a static buffer, so
const'ify it.
 1.7 06-Jul-2000  mjl Bring s/key closer to RFC2289 conformance by pulling in changes
from OpenBSD to make use of different hash functions possible.
Also factored out some common code pieces, ANSIfied and
corrected SHA1 hash to make the result match up with the
regression examples in above RFC.
 1.6 23-Jan-2000  mycroft branches: 1.6.4;
Delint.
 1.5 26-Jul-1998  mycroft const poisoning.
 1.4 23-Jan-1997  mrg - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.
 1.3 19-Sep-1996  thorpej RCS id police.
 1.2 05-Jun-1995  pk Prototypes (PR#1105) + some misc. reorganisation.
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.6.4.1 17-Jul-2000  mjl Pull up S/Key overhaul (RFC2289 compliance, new hash types,
ctype clean up) from current. Approved by thorpej.
 1.19 04-Feb-2005  perry remove a spurious space in a function declaration
 1.18 09-Mar-2003  lukem use __RCSID()
 1.17 22-Jun-2002  itojun use strtok_r, as strtok can interfere with other callers. from openbsd
 1.16 28-Jul-2000  thorpej skey_keyinfo() returns a pointer to a static buffer, so
const'ify it.
 1.15 11-Jul-2000  itohy Correct ctype(3) usage.
Passing "char" value is wrong. Use "unsigned char" instead.
 1.14 06-Jul-2000  mjl Bring s/key closer to RFC2289 conformance by pulling in changes
from OpenBSD to make use of different hash functions possible.
Also factored out some common code pieces, ANSIfied and
corrected SHA1 hash to make the result match up with the
regression examples in above RFC.
 1.13 13-Apr-2000  is branches: 1.13.4;
In skeyverify(), don't "restore" priority to 0, but restore it to the
previous priority. If we can't read the previous priority, leave it alone.
By Chris Jones, PR 4891.
 1.12 23-Jan-2000  mycroft Delint.
 1.11 24-Aug-1999  mrg remove an incorrect comment and add another one.
 1.10 02-Jul-1999  simonb More trailing white space.
 1.9 26-Jul-1998  mycroft branches: 1.9.2;
const poisoning.
 1.8 18-Jun-1997  christos - pass gcc -Wall
- use the standard md4
- install skey.h in /usr/include
 1.7 23-Jan-1997  mrg - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.
 1.6 19-Sep-1996  thorpej RCS id police.
 1.5 05-Jun-1995  pk Prototypes (PR#1105) + some misc. reorganisation.
 1.4 17-May-1995  cgd from PR 952, by Thor Lancelot Simon: don't turn off echo when
inputting an S/KEY one-time password.
 1.3 31-May-1994  deraadt in a word, whoops
 1.2 31-May-1994  deraadt create file with nice mode
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.9.2.1 30-Apr-2000  he Pull up revision 1.13 (via patch, requested by is):
In skeyverify(), don't restore priority to 0, but to previous
priority. Fixes PR#4891.
 1.13.4.1 17-Jul-2000  mjl Pull up S/Key overhaul (RFC2289 compliance, new hash types,
ctype clean up) from current. Approved by thorpej.
 1.29 17-Jan-2023  msaitoh s/charater/character/ in comment.
 1.28 22-Mar-2012  joerg Add some more __dead as exposed by the recent WARN bumps.
 1.27 21-Mar-2012  matt Use C89 function definition
 1.26 28-Oct-2006  agc branches: 1.26.40; 1.26.42;
catch up with new location for rmd160.h header file
 1.25 05-Dec-2005  christos fix lint warning (assignment in conditional context)
 1.24 25-Sep-2005  elad Use crypto/rmd160.h.
 1.23 04-Feb-2005  perry de-__P
 1.22 09-Mar-2003  lukem use __RCSID()
 1.21 24-Jul-2001  wiz s/necesary/necessary/
 1.20 06-Apr-2001  wiz Negative exit code cleanup: Replace exit(-x) with exit(x).
As seen on tech-userlevel.
 1.19 11-Mar-2001  mjl Fix incorrect SHA1 calculation on big endian machines reported
in PR/12045 by John Valdes, who also provided the problem's
solution and a patch.

XXX This problem could have been caught about a year ago if we
XXX just ran the regression tests on every build!
 1.18 11-Jul-2000  itohy Correct ctype(3) usage.
Passing "char" value is wrong. Use "unsigned char" instead.
 1.17 08-Jul-2000  kleink size_t != unsigned int; from Motoyuki Konno in PR lib/10538.
 1.16 06-Jul-2000  mjl Bring s/key closer to RFC2289 conformance by pulling in changes
from OpenBSD to make use of different hash functions possible.
Also factored out some common code pieces, ANSIfied and
corrected SHA1 hash to make the result match up with the
regression examples in above RFC.
 1.15 23-Jan-2000  mycroft branches: 1.15.4;
Delint.
 1.14 02-Jul-1999  simonb More trailing white space.
 1.13 26-Jul-1998  mycroft const poisoning.
 1.12 18-Mar-1998  christos PR/4941: Greg Oster: Don't byte swap; it is not needed. This broke big
endian machines.
 1.11 03-Feb-1998  perry remove obsolete register declarations
 1.10 28-Jun-1997  christos branches: 1.10.2;
fix my own bugs :-) When I updated this to use the libc md4 library, I
did not account for the interface changes.
 1.9 18-Jun-1997  christos - pass gcc -Wall
- use the standard md4
- install skey.h in /usr/include
 1.8 23-Jan-1997  mrg - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.
 1.7 19-Sep-1996  thorpej RCS id police.
 1.6 19-Sep-1996  thorpej Make a quick 64-bit safeness sweep. S/Key now works on the Alpha.
 1.5 19-Jun-1995  jtc sys/termios.h -> termios.h
 1.4 05-Jun-1995  pk Prototypes (PR#1105) + some misc. reorganisation.
 1.3 17-May-1995  cgd from PR 952, by Thor Lancelot Simon: don't turn off echo when
inputting an S/KEY one-time password.
 1.2 24-May-1994  deraadt get rid of some horrible assumptions
 1.1 21-May-1994  deraadt skey, by <tsarna@endicor.com> and me
 1.10.2.1 14-Jul-1998  mellon Pull up 1.11 and 1.12 (tsarna)
 1.15.4.2 13-Mar-2001  he Pull up revision 1.19 (requested by mjl):
Fix SHA1 calculation on big-endian machines. Fixes PR#12045.
 1.15.4.1 17-Jul-2000  mjl Pull up S/Key overhaul (RFC2289 compliance, new hash types,
ctype clean up) from current. Approved by thorpej.
 1.26.42.2 23-Apr-2012  riz Back out changes committed as part of ticket #195 which were apparently
not intended as part of the pullup request. Should fix netbsd-6 build.
 1.26.42.1 23-Apr-2012  riz Pull up following revision(s) (requested by manu in ticket #195):
lib/libskey/skeysubr.c: revision 1.27
lib/libkvm/kvm_getloadavg.c: revision 1.11
lib/libwrap/update.c: revision 1.9
lib/liby/yyerror.c: revision 1.9
lib/libpuffs/puffs_ops.3: revision 1.30
lib/libwrap/misc.c: revision 1.10
lib/libwrap/hosts_access.c: revision 1.20
lib/libpuffs/pnode.c: revision 1.11
lib/libperfuse/subr.c: revision 1.17
lib/libpuffs/pnode.c: revision 1.12
lib/libperfuse/subr.c: revision 1.18
lib/libwrap/options.c: revision 1.15
lib/libwrap/fix_options.c: revision 1.11
lib/libperfuse/ops.c: revision 1.52
lib/libperfuse/ops.c: revision 1.53
lib/libperfuse/ops.c: revision 1.54
lib/libwrap/hosts_ctl.c: revision 1.5
lib/libintl/gettext.c: revision 1.27
lib/libwrap/shell_cmd.c: revision 1.6
lib/libpuffs/dispatcher.c: revision 1.39
lib/libperfuse/perfuse_priv.h: revision 1.27
lib/libwrap/socket.c: revision 1.19
lib/libpuffs/puffs.3: revision 1.50
lib/libperfuse/perfuse_priv.h: revision 1.28
lib/libpuffs/puffs_priv.h: revision 1.45
lib/libpuffs/puffs.3: revision 1.51
lib/libperfuse/perfuse_priv.h: revision 1.29
lib/libwrap/percent_x.c: revision 1.5
lib/libpuffs/puffs.3: revision 1.52
lib/libperfuse/debug.c: revision 1.11
sys/fs/puffs/puffs_vnops.c: revision 1.165
lib/libwrap/tcpd.h: revision 1.13
sys/fs/puffs/puffs_vnops.c: revision 1.166
lib/libwrap/eval.c: revision 1.7
sys/fs/puffs/puffs_msgif.h: revision 1.78
sys/fs/puffs/puffs_vfsops.c: revision 1.101
lib/libwrap/rfc931.c: revision 1.9
lib/libwrap/clean_exit.c: revision 1.5
lib/libpuffs/puffs.h: revision 1.120
lib/libc/stdlib/jemalloc.c: revision 1.27
lib/librmt/rmtlib.c: revision 1.26
lib/libpuffs/puffs.h: revision 1.121
sys/fs/puffs/puffs_sys.h: revision 1.79
lib/librumpclient/rumpclient.c: revision 1.48
lib/libwrap/refuse.c: revision 1.5
lib/libperfuse/perfuse.c: revision 1.26
lib/libperfuse/perfuse.c: revision 1.27
tests/fs/puffs/t_fuzz.c: revision 1.5
lib/libperfuse/perfuse.c: revision 1.28
lib/libpuffs/dispatcher.c: revision 1.40
sys/fs/puffs/puffs_node.c: revision 1.24
lib/libwrap/diag.c: revision 1.9
lib/libintl/textdomain.c: revision 1.13
Use C89 function definition
Add name and atttribute cache with filesytem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.
Add PUFFS_KFLAG_CACHE_FS_TTL flag to puffs_init(3) to use name and
attribute cache with filesystem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.
The filesystem updates attributes and TTL using
puffs_pn_getvap(3), puffs_pn_getvattl(3), and puffs_pn_getcnttl(3)
Use new PUFFS_KFLAG_CACHE_FS_TTL option to puffs_init(3) so that
FUSE TTL on name and attributes are used. This save many PUFFS
operations and improves performances.
PUFFS_KFLAG_CACHE_FS_TTL is #ifdef'ed in many places for now so that
libperfuse can still be used on netbsd-5.
Split file system.
Comma fixes.
Remove dangling &quot;and&quot;.
Bump date for previous.
- Makesure update_va does not change vnode size when it should not. For
instance when doing a fault-issued VOP_GETPAGES within VOP_WRITE, changing
size leads to panic: genfs_getpages: past eof.
-Handle ticks wrap around for vnode name andattribute timeout
- When using PUFFS_KFLAG_CACHE_FS_TTL, do not use puffs_node to carry
attribute and TTL fora newly created node. Instead extend puffs_newinfo
and add puffs_newinfo_setva() and puffs_newinfo_setttl()
- Remove node_mk_common_final in libperfuse. It used to set uid/gid for
a newly created vnode but has been made redundant along time ago since
uid and gid are properly set in FUSE header.
- In libperfuse, check for corner case where opc = 0 on INACTIVE and RECLAIM
(how is it possible? Check for it to avoid a crash anyway)
- In libperfuse, make sure we unlimit RLIMIT_AS and RLIMIT_DATA so that
we do notrun out of memory because the kernel is lazy at reclaiming vnodes.
- In libperfuse, cleanup style of perfuse_destroy_pn()
Do not set PUFFS_KFLAG_CACHE_FS_TTL for PUFFS tests
 1.26.40.1 17-Apr-2012  yamt sync with head

RSS XML Feed