Commit Graph

39 Commits

Author SHA1 Message Date
lukem 88c3eadbfa Add missing __RCSID() 2005-06-12 05:21:25 +00:00
kleink fd5cb0acea A little libc namespace housekeeping exercise:
* Make vfprintf_unlocked() an internal function, c.f. __svfscanf_unlocked().
* Add internal names for arc4random(), endnetpath(), fhstatvfs(),
  fstatvfs(), mkstemp(), shquote(), statvfs(), taddr2uaddr(), uaddr2taddr(),
  uuid_create_nil(), uuid_is_nil(), and wcwidth().
* Include namespace.h where supposed to.
2005-02-09 21:35:46 +00:00
sjg 3a0c68edfd Add support for SHA1 hashed passwords.
The algorithm used is essentially PBKDF1 from RFC 2898 but using
hmac_sha1 rather than SHA1 directly (suggested by smb@research.att.com).

 * The format of the encrypted password is:
 * $<tag>$<iterations>$<salt>$<digest>
 *
 * where:
 *      <tag>           is "sha1"
 *      <iterations>    is an unsigned int identifying how many rounds
 *                      have been applied to <digest>.  The number
 *                      should vary slightly for each password to make
 *                      it harder to generate a dictionary of
 *                      pre-computed hashes.  See crypt_sha1_iterations.
 *      <salt>          up to 64 bytes of random data, 8 bytes is
 *                      currently considered more than enough.
 *      <digest>        the hashed password.

hmac.c implementes HMAC as defined in RFC 2104 and includes a unit
test for both hmac_sha1 and hmac_sha1 using a selection of the Known
Answer Tests from RFC 2202.

It is worth noting that to be FIPS compliant the hmac key (password)
should be 10-20 chars.
2004-07-02 00:05:23 +00:00
lukem 171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
martin 4df9d6555a Bring back previous sparc64 hack, but only #ifdef old gcc.
This is used when building libnbcompat for host tools - why it is included
when building on NetBSD is beyound me.
2003-09-21 17:15:36 +00:00
martin 55acdca8c5 No more sparc64 compiler workarounds 2003-09-19 16:30:31 +00:00
wiz 472351e13d 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.
2003-04-16 13:34:34 +00:00
wiz 867416748b VAX, not vax. Igor Sobrado in PR 19678. 2003-03-30 21:01:58 +00:00
wiz 3225ede1d3 New sentence, new line. From Robert Elz. 2002-10-01 17:02:56 +00:00
bjh21 3eb7aa7171 In userland, use <sha1.h>, not <sys/sha1.h>. 2002-03-31 14:17:19 +00:00
bjh21 45c48aceb2 Shuffle config.h #iffery so as to wrap the __RCSID, as is done in several
other files.
This makes the rmd160 code compile on Linux as part of libnbcompat.
2002-03-31 13:55:14 +00:00
bjh21 bcaedc129c Add the md[245], sha1 and rmd160 functions to libnbcompat, conditional on their
not being in the host libc.
This will be necessary to make cksum into a host tool.
2002-03-31 12:58:54 +00:00
ross 9856438e91 generate & symbolically 2002-02-07 09:24:04 +00:00
ross 814f296b77 Generate <>& symbolically. 2002-02-07 07:00:09 +00:00
wiz 2beb113a1b Standardize and sort sections, remove some whitespace. 2001-09-16 02:28:09 +00:00
kleink ad8586ad2d Fix printf format used in example; from Jim Bernard in PR lib/12496. 2001-03-29 18:50:59 +00:00
simonb 7512af6e5b Don't use a u_char array for a workspace that will be cast then accessed
as int's, as the array is not guaranteed to be int-aligned on the stack.
Use a CHAR64LONG16 type instead for the workspace, since the workspace
is accessed through that type anyway.

Fixes PR pkg/12417 from Andrew Brown.
2001-03-19 03:14:00 +00:00
lukem a976c8e346 sprinkle _DIAGASSERT() around 2001-01-04 03:56:17 +00:00
wiz 5c594236a9 Note that sha1 has been there since 1.4. 2001-01-02 16:16:48 +00:00
ad ea1b0bdc3e Argh. Use __weak_alias on the RMD160 functions. 2000-12-11 19:12:35 +00:00
ad c15d1647fc The second argument to xxData() is a size_t. 2000-12-11 18:57:46 +00:00
ad 82759dbdf5 Use .{B,Bs,F,N,O}x and fix miscellaneous errors. 2000-09-21 10:43:49 +00:00
eeh 264b1139cd Prevent the compiler from blowing up on sparc64. From mrg. 2000-09-17 19:55:28 +00:00
christos f277b22775 fix non-portable shift. 2000-07-06 02:50:35 +00:00
christos 3974a782d3 explicitly cast to u_char 2000-07-06 02:50:22 +00:00
cyber 6dbf0c76e9 fix typo: rmd160l.c -> rmd160hl.c 2000-07-05 16:10:36 +00:00
ad a3c934e555 - Need to #include <sys/endian.h>.
- ANSIfy.
2000-07-05 13:51:32 +00:00
ad 2e5803c734 - No need to include <sys/uio.h>.
- ANSIfy.
2000-07-05 13:49:25 +00:00
ad 90517b417b Pull in RIPEMD-160 functions from OpenBSD - this has the same API as our MD4,
MD5 and SHA1 stuff.
2000-07-05 11:44:01 +00:00
ad e402955a88 Insert newline after RCS ID line. 2000-07-05 11:35:36 +00:00
mycroft 605490369c Delint.
Remove trailing ; from uses of __weak_alias().  The macro inserts this if
needed.
2000-01-22 22:19:07 +00:00
lukem d896261208 back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
1999-09-20 04:38:56 +00:00
lukem b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
christos 1542ec61f2 Avoid non portable shifts. 1999-05-03 15:00:40 +00:00
christos 627b1a9458 fix unaligned access lint warning. 1999-05-03 14:37:25 +00:00
ross 548ab086f2 Urk, .Nx doesn't DTRT either. 1999-02-28 00:00:03 +00:00
ross a502b55bc2 Don't .Xr sha1(1) until we get such a thing, but do .Xr md5(1).
Also, don't .Ox (?) 2.0, but do .Nx 1.4.
1999-02-27 23:11:56 +00:00
drochner a34eb7c1b7 use ${ARCHDIR} instead of ${.CURDIR}/arch/${MACHINE_ARCH} where appropriate
libc builds on pmax again
1999-02-24 15:05:20 +00:00
explorer b131132411 add sha1 functions, like md5/4 1999-02-04 05:08:58 +00:00