Re: CVS commit: src/lib/libedit
On Wed, Aug 28, 2013 at 04:05:21AM -0400, Christos Zoulas wrote: Modified Files: src/lib/libedit: readline.c Log Message: get rid of PATH_MAX. ...by leaking memory? -- David A. Holland dholl...@netbsd.org
CVS commit: src/doc
Module Name:src Committed By: wiz Date: Wed Aug 28 07:34:13 UTC 2013 Modified Files: src/doc: 3RDPARTY Log Message: sqlite-3.8.0 out To generate a diff of this commit: cvs rdiff -u -r1.1051 -r1.1052 src/doc/3RDPARTY Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/3RDPARTY diff -u src/doc/3RDPARTY:1.1051 src/doc/3RDPARTY:1.1052 --- src/doc/3RDPARTY:1.1051 Wed Aug 21 21:17:37 2013 +++ src/doc/3RDPARTY Wed Aug 28 07:34:13 2013 @@ -1,4 +1,4 @@ -# $NetBSD: 3RDPARTY,v 1.1051 2013/08/21 21:17:37 tron Exp $ +# $NetBSD: 3RDPARTY,v 1.1052 2013/08/28 07:34:13 wiz Exp $ # # This file contains a list of the software that has been integrated into # NetBSD where we are not the primary maintainer. @@ -1160,7 +1160,7 @@ original. Package: sqlite Version: pre-3.6.9 snapshot -Current Vers: 3.7.15 +Current Vers: 3.8.0 Maintainer: Richard Hipp d...@sqlite.org Home Page: http://www.sqlite.org Responsible: joerg
CVS commit: src/lib/libedit
Module Name:src Committed By: christos Date: Wed Aug 28 08:05:21 UTC 2013 Modified Files: src/lib/libedit: readline.c Log Message: get rid of PATH_MAX. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/lib/libedit/readline.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libedit/readline.c diff -u src/lib/libedit/readline.c:1.108 src/lib/libedit/readline.c:1.109 --- src/lib/libedit/readline.c:1.108 Mon May 27 20:10:34 2013 +++ src/lib/libedit/readline.c Wed Aug 28 04:05:21 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: readline.c,v 1.108 2013/05/28 00:10:34 christos Exp $ */ +/* $NetBSD: readline.c,v 1.109 2013/08/28 08:05:21 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include config.h #if !defined(lint) !defined(SCCSID) -__RCSID($NetBSD: readline.c,v 1.108 2013/05/28 00:10:34 christos Exp $); +__RCSID($NetBSD: readline.c,v 1.109 2013/08/28 08:05:21 christos Exp $); #endif /* not lint not SCCSID */ #include sys/types.h @@ -236,13 +236,20 @@ static const char * _default_history_file(void) { struct passwd *p; - static char path[PATH_MAX]; + static char *path; + size_t len; - if (*path) + if (path) return path; + if ((p = getpwuid(getuid())) == NULL) return NULL; - (void)snprintf(path, sizeof(path), %s/.history, p-pw_dir); + + len = strlen(p-pw_dir) + sizeof(/.history); + if ((path = malloc(len)) == NULL) + return NULL; + + (void)snprintf(path, len, %s/.history, p-pw_dir); return path; }
CVS commit: src/sys/kern
Module Name:src Committed By: riastradh Date: Wed Aug 28 12:50:18 UTC 2013 Modified Files: src/sys/kern: init_main.c kern_rndq.c Log Message: Tighten initialization of rnd softints. - Do rnd_init_softint as early as possible in main, after configure2, and before networking is initialized. - Initialize the rnd_wakeup softint in rnd_init_softint, not lazily in rnd_schedule_wakeup. ok tls To generate a diff of this commit: cvs rdiff -u -r1.452 -r1.453 src/sys/kern/init_main.c cvs rdiff -u -r1.18 -r1.19 src/sys/kern/kern_rndq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/init_main.c diff -u src/sys/kern/init_main.c:1.452 src/sys/kern/init_main.c:1.453 --- src/sys/kern/init_main.c:1.452 Tue Aug 27 19:30:10 2013 +++ src/sys/kern/init_main.c Wed Aug 28 12:50:18 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: init_main.c,v 1.452 2013/08/27 19:30:10 riastradh Exp $ */ +/* $NetBSD: init_main.c,v 1.453 2013/08/28 12:50:18 riastradh Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -97,7 +97,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: init_main.c,v 1.452 2013/08/27 19:30:10 riastradh Exp $); +__KERNEL_RCSID(0, $NetBSD: init_main.c,v 1.453 2013/08/28 12:50:18 riastradh Exp $); #include opt_ddb.h #include opt_ipsec.h @@ -519,6 +519,9 @@ main(void) /* Now timer is working. Enable preemption. */ kpreempt_enable(); + /* Enable deferred processing of RNG samples */ + rnd_init_softint(); + #ifdef SYSVSHM /* Initialize System V style shared memory. */ shminit(); @@ -565,8 +568,6 @@ main(void) if_attachdomain(); splx(s); - rnd_init_softint(); - #ifdef GPROF /* Initialize kernel profiling. */ kmstartup(); Index: src/sys/kern/kern_rndq.c diff -u src/sys/kern/kern_rndq.c:1.18 src/sys/kern/kern_rndq.c:1.19 --- src/sys/kern/kern_rndq.c:1.18 Tue Aug 27 19:30:10 2013 +++ src/sys/kern/kern_rndq.c Wed Aug 28 12:50:18 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_rndq.c,v 1.18 2013/08/27 19:30:10 riastradh Exp $ */ +/* $NetBSD: kern_rndq.c,v 1.19 2013/08/28 12:50:18 riastradh Exp $ */ /*- * Copyright (c) 1997-2013 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_rndq.c,v 1.18 2013/08/27 19:30:10 riastradh Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_rndq.c,v 1.19 2013/08/28 12:50:18 riastradh Exp $); #include sys/param.h #include sys/ioctl.h @@ -168,6 +168,8 @@ void rnd_init_softint(void) { rnd_process = softint_establish(SOFTINT_SERIAL|SOFTINT_MPSAFE, rnd_intr, NULL); + rnd_wakeup = softint_establish(SOFTINT_CLOCK|SOFTINT_MPSAFE, + rnd_wake, NULL); } /* @@ -220,10 +222,6 @@ rnd_schedule_wakeup(void) rnd_schedule_softint(rnd_wakeup); return; } - if (!cold) { - rnd_wakeup = softint_establish(SOFTINT_CLOCK|SOFTINT_MPSAFE, - rnd_wake, NULL); - } rnd_wakeup_readers(); }
CVS commit: src
Module Name:src Committed By: riastradh Date: Wed Aug 28 15:24:41 UTC 2013 Modified Files: src/common/lib/libc/string: consttime_memequal.c src/crypto/external/bsd/openssh/dist: dns.c src/lib/libc/string: consttime_memequal.3 src/sys/netipsec: xform_ah.c xform_esp.c Log Message: Fix sense of consttime_memequal and update all callers. Now it returns true (nonzero) to mean equal and false (zero) to mean inequal, as the name suggests. As promised on tech-userlevel back in June: https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/string/consttime_memequal.c cvs rdiff -u -r1.6 -r1.7 src/crypto/external/bsd/openssh/dist/dns.c cvs rdiff -u -r1.1 -r1.2 src/lib/libc/string/consttime_memequal.3 cvs rdiff -u -r1.40 -r1.41 src/sys/netipsec/xform_ah.c cvs rdiff -u -r1.43 -r1.44 src/sys/netipsec/xform_esp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/string/consttime_memequal.c diff -u src/common/lib/libc/string/consttime_memequal.c:1.1 src/common/lib/libc/string/consttime_memequal.c:1.2 --- src/common/lib/libc/string/consttime_memequal.c:1.1 Mon Jun 24 04:21:19 2013 +++ src/common/lib/libc/string/consttime_memequal.c Wed Aug 28 15:24:41 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: consttime_memequal.c,v 1.1 2013/06/24 04:21:19 riastradh Exp $ */ +/* $NetBSD: consttime_memequal.c,v 1.2 2013/08/28 15:24:41 riastradh Exp $ */ #if !defined(_KERNEL) !defined(_STANDALONE) #include string.h @@ -15,5 +15,5 @@ consttime_memequal(const void *b1, const while (len --) res |= *c1++ ^ *c2++; - return res; + return !res; } Index: src/crypto/external/bsd/openssh/dist/dns.c diff -u src/crypto/external/bsd/openssh/dist/dns.c:1.6 src/crypto/external/bsd/openssh/dist/dns.c:1.7 --- src/crypto/external/bsd/openssh/dist/dns.c:1.6 Mon Jun 24 04:21:19 2013 +++ src/crypto/external/bsd/openssh/dist/dns.c Wed Aug 28 15:24:41 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: dns.c,v 1.6 2013/06/24 04:21:19 riastradh Exp $ */ +/* $NetBSD: dns.c,v 1.7 2013/08/28 15:24:41 riastradh Exp $ */ /* $OpenBSD: dns.c,v 1.28 2012/05/23 03:28:28 djm Exp $ */ /* @@ -27,7 +27,7 @@ */ #include includes.h -__RCSID($NetBSD: dns.c,v 1.6 2013/06/24 04:21:19 riastradh Exp $); +__RCSID($NetBSD: dns.c,v 1.7 2013/08/28 15:24:41 riastradh Exp $); #include sys/types.h #include sys/socket.h @@ -279,7 +279,7 @@ verify_host_key_dns(const char *hostname hostkey_digest_type == dnskey_digest_type) { if (hostkey_digest_len == dnskey_digest_len __consttime_memequal(hostkey_digest, dnskey_digest, - hostkey_digest_len) == 0) + hostkey_digest_len)) *flags |= DNS_VERIFY_MATCH; } xfree(dnskey_digest); Index: src/lib/libc/string/consttime_memequal.3 diff -u src/lib/libc/string/consttime_memequal.3:1.1 src/lib/libc/string/consttime_memequal.3:1.2 --- src/lib/libc/string/consttime_memequal.3:1.1 Mon Jun 24 04:21:20 2013 +++ src/lib/libc/string/consttime_memequal.3 Wed Aug 28 15:24:41 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: consttime_memequal.3,v 1.1 2013/06/24 04:21:20 riastradh Exp $ +.\ $NetBSD: consttime_memequal.3,v 1.2 2013/08/28 15:24:41 riastradh Exp $ .\ .\ Copyright (c) 2013 The NetBSD Foundation, Inc. .\ All rights reserved. @@ -27,7 +27,7 @@ .\ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\ POSSIBILITY OF SUCH DAMAGE. .\ -.Dd June 23, 2013 +.Dd August 28, 2013 .Dt CONSTTIME_MEMEQUAL 3 .Os .Sh NAME @@ -48,8 +48,8 @@ bytes of memory at .Fa b1 and .Fa b2 -for equality, returning zero if they are identical and nonzero -otherwise. +for equality, returning zero if they are distinct and nonzero if they +are identical. .Pp The time taken by .Fn consttime_memequal Index: src/sys/netipsec/xform_ah.c diff -u src/sys/netipsec/xform_ah.c:1.40 src/sys/netipsec/xform_ah.c:1.41 --- src/sys/netipsec/xform_ah.c:1.40 Mon Jun 24 04:21:20 2013 +++ src/sys/netipsec/xform_ah.c Wed Aug 28 15:24:41 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: xform_ah.c,v 1.40 2013/06/24 04:21:20 riastradh Exp $ */ +/* $NetBSD: xform_ah.c,v 1.41 2013/08/28 15:24:41 riastradh Exp $ */ /* $FreeBSD: src/sys/netipsec/xform_ah.c,v 1.1.4.1 2003/01/24 05:11:36 sam Exp $ */ /* $OpenBSD: ip_ah.c,v 1.63 2001/06/26 06:18:58 angelos Exp $ */ /* @@ -39,7 +39,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: xform_ah.c,v 1.40 2013/06/24 04:21:20 riastradh Exp $); +__KERNEL_RCSID(0, $NetBSD: xform_ah.c,v 1.41 2013/08/28 15:24:41 riastradh Exp $); #include opt_inet.h #ifdef __FreeBSD__ @@ -910,7 +910,7 @@ ah_input_cb(struct cryptop *crp) ptr = (char *) (tc + 1); /* Verify authenticator. */ - if (consttime_memequal(ptr + skip + rplen, calc, authsize)) { + if (!consttime_memequal(ptr + skip + rplen, calc, authsize)) { u_int8_t * = ptr + skip+rplen;
CVS commit: src/distrib/notes/common
Module Name:src Committed By: slp Date: Wed Aug 28 15:39:30 UTC 2013 Modified Files: src/distrib/notes/common: main Log Message: Added slp@ to NetBSD Developers list. To generate a diff of this commit: cvs rdiff -u -r1.496 -r1.497 src/distrib/notes/common/main Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/notes/common/main diff -u src/distrib/notes/common/main:1.496 src/distrib/notes/common/main:1.497 --- src/distrib/notes/common/main:1.496 Fri Jun 21 10:05:52 2013 +++ src/distrib/notes/common/main Wed Aug 28 15:39:30 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: main,v 1.496 2013/06/21 10:05:52 shm Exp $ +.\ $NetBSD: main,v 1.497 2013/08/28 15:39:30 slp Exp $ .\ .\ Copyright (c) 1999-2012 The NetBSD Foundation, Inc. .\ All rights reserved. @@ -1272,6 +1272,7 @@ If you're one of them, and would like to .It Ta Joel Lindholm Ta Mt j...@netbsd.org .It Ta Tonnerre Lombard Ta Mt tonne...@netbsd.org .It Ta Mike Long Ta Mt mi...@netbsd.org +.It Ta Sergio Lopez Ta Mt s...@netbsd.org .It Ta Michael Lorenz Ta Mt macal...@netbsd.org .It Ta Warner Losh Ta Mt i...@netbsd.org .It Ta Tomasz Luchowski Ta Mt zun...@netbsd.org
CVS commit: src
Module Name:src Committed By: riastradh Date: Wed Aug 28 15:46:23 UTC 2013 Modified Files: src/common/lib/libc/string: explicit_memset.c src/include: string.h src/lib/libc/string: explicit_memset.3 Log Message: Make explicit_memset match memset's return value. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/string/explicit_memset.c cvs rdiff -u -r1.46 -r1.47 src/include/string.h cvs rdiff -u -r1.1 -r1.2 src/lib/libc/string/explicit_memset.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/string/explicit_memset.c diff -u src/common/lib/libc/string/explicit_memset.c:1.1 src/common/lib/libc/string/explicit_memset.c:1.2 --- src/common/lib/libc/string/explicit_memset.c:1.1 Mon Jun 24 04:21:19 2013 +++ src/common/lib/libc/string/explicit_memset.c Wed Aug 28 15:46:23 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: explicit_memset.c,v 1.1 2013/06/24 04:21:19 riastradh Exp $ */ +/* $NetBSD: explicit_memset.c,v 1.2 2013/08/28 15:46:23 riastradh Exp $ */ #if !defined(_KERNEL) !defined(_STANDALONE) #include string.h @@ -14,9 +14,9 @@ */ void *(* volatile explicit_memset_impl)(void *, int, size_t) = memset; -void +void * explicit_memset(void *b, int c, size_t len) { - (*explicit_memset_impl)(b, c, len); + return (*explicit_memset_impl)(b, c, len); } Index: src/include/string.h diff -u src/include/string.h:1.46 src/include/string.h:1.47 --- src/include/string.h:1.46 Tue Aug 27 18:29:28 2013 +++ src/include/string.h Wed Aug 28 15:46:23 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: string.h,v 1.46 2013/08/27 18:29:28 joerg Exp $ */ +/* $NetBSD: string.h,v 1.47 2013/08/28 15:46:23 riastradh Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -103,7 +103,7 @@ char *strsep(char **, const char *); char *stresep(char **, const char *, int); char *strndup(const char *, size_t); void *memrchr(const void *, int, size_t); -void __explicit_memset(void *, int, size_t); +void *__explicit_memset(void *, int, size_t); int __consttime_memequal(const void *, const void *, size_t); __END_DECLS #endif Index: src/lib/libc/string/explicit_memset.3 diff -u src/lib/libc/string/explicit_memset.3:1.1 src/lib/libc/string/explicit_memset.3:1.2 --- src/lib/libc/string/explicit_memset.3:1.1 Mon Jun 24 04:21:20 2013 +++ src/lib/libc/string/explicit_memset.3 Wed Aug 28 15:46:23 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: explicit_memset.3,v 1.1 2013/06/24 04:21:20 riastradh Exp $ +.\ $NetBSD: explicit_memset.3,v 1.2 2013/08/28 15:46:23 riastradh Exp $ .\ .\ Copyright (c) 2013 The NetBSD Foundation, Inc. .\ All rights reserved. @@ -27,7 +27,7 @@ .\ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\ POSSIBILITY OF SUCH DAMAGE. .\ -.Dd June 23, 2013 +.Dd August 28, 2013 .Dt EXPLICIT_MEMSET 3 .Os .Sh NAME @@ -37,7 +37,7 @@ .Lb libc .Sh SYNOPSIS .In string.h -.Ft void +.Ft void * .Fn explicit_memset void *b int c size_t len .Sh DESCRIPTION The @@ -51,6 +51,11 @@ bytes of value It is guaranteed not to be optimized away by the compiler even if .Fa b is no longer used and is about to be freed or go out of scope. +.Sh RETURN VALUES +The +.Fn explicit_memset +function returns the original value of +.Fa b . .Sh EXAMPLES Create a buffer on the stack for a secret key, use it, and then zero it in memory before throwing it away.
CVS commit: src/sys/lib/libkern
Module Name:src Committed By: riastradh Date: Wed Aug 28 16:20:38 UTC 2013 Modified Files: src/sys/lib/libkern: libkern.h Log Message: Fix libkern's prototype for explicit_memset. To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.108 src/sys/lib/libkern/libkern.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/lib/libkern/libkern.h diff -u src/sys/lib/libkern/libkern.h:1.107 src/sys/lib/libkern/libkern.h:1.108 --- src/sys/lib/libkern/libkern.h:1.107 Mon Jun 24 04:21:20 2013 +++ src/sys/lib/libkern/libkern.h Wed Aug 28 16:20:38 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: libkern.h,v 1.107 2013/06/24 04:21:20 riastradh Exp $ */ +/* $NetBSD: libkern.h,v 1.108 2013/08/28 16:20:38 riastradh Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -346,6 +346,6 @@ unsigned int popcountll(unsigned long lo unsigned int popcount32(uint32_t) __constfunc; unsigned int popcount64(uint64_t) __constfunc; -void explicit_memset(void *, int, size_t); +void *explicit_memset(void *, int, size_t); int consttime_memequal(const void *, const void *, size_t); #endif /* !_LIB_LIBKERN_LIBKERN_H_ */
CVS commit: src
Module Name:src Committed By: riastradh Date: Wed Aug 28 17:47:08 UTC 2013 Modified Files: src/common/lib/libc/string: consttime_memequal.c explicit_memset.c src/crypto/external/bsd/libsaslc/dist/src: dict.c src/crypto/external/bsd/openssh/dist: dns.c src/include: string.h src/lib/libc/include: namespace.h src/lib/libcrypt: bcrypt.c crypt-sha1.c md5crypt.c Log Message: Publish explicit_memset and consttime_memequal in userland libc. Remove the double-underscore from the userland versions, and do the weak alias dance instead, now that these are public parts of libc. As discussed on tech-userlevel: https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html (option 3) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/string/consttime_memequal.c \ src/common/lib/libc/string/explicit_memset.c cvs rdiff -u -r1.8 -r1.9 src/crypto/external/bsd/libsaslc/dist/src/dict.c cvs rdiff -u -r1.7 -r1.8 src/crypto/external/bsd/openssh/dist/dns.c cvs rdiff -u -r1.47 -r1.48 src/include/string.h cvs rdiff -u -r1.168 -r1.169 src/lib/libc/include/namespace.h cvs rdiff -u -r1.18 -r1.19 src/lib/libcrypt/bcrypt.c cvs rdiff -u -r1.7 -r1.8 src/lib/libcrypt/crypt-sha1.c cvs rdiff -u -r1.13 -r1.14 src/lib/libcrypt/md5crypt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/string/consttime_memequal.c diff -u src/common/lib/libc/string/consttime_memequal.c:1.2 src/common/lib/libc/string/consttime_memequal.c:1.3 --- src/common/lib/libc/string/consttime_memequal.c:1.2 Wed Aug 28 15:24:41 2013 +++ src/common/lib/libc/string/consttime_memequal.c Wed Aug 28 17:47:07 2013 @@ -1,8 +1,11 @@ -/* $NetBSD: consttime_memequal.c,v 1.2 2013/08/28 15:24:41 riastradh Exp $ */ +/* $NetBSD: consttime_memequal.c,v 1.3 2013/08/28 17:47:07 riastradh Exp $ */ #if !defined(_KERNEL) !defined(_STANDALONE) +#include namespace.h #include string.h -#define consttime_memequal __consttime_memequal +#ifdef __weak_alias +__weak_alias(consttime_memequal,_consttime_memequal) +#endif #else #include lib/libkern/libkern.h #endif Index: src/common/lib/libc/string/explicit_memset.c diff -u src/common/lib/libc/string/explicit_memset.c:1.2 src/common/lib/libc/string/explicit_memset.c:1.3 --- src/common/lib/libc/string/explicit_memset.c:1.2 Wed Aug 28 15:46:23 2013 +++ src/common/lib/libc/string/explicit_memset.c Wed Aug 28 17:47:07 2013 @@ -1,8 +1,11 @@ -/* $NetBSD: explicit_memset.c,v 1.2 2013/08/28 15:46:23 riastradh Exp $ */ +/* $NetBSD: explicit_memset.c,v 1.3 2013/08/28 17:47:07 riastradh Exp $ */ #if !defined(_KERNEL) !defined(_STANDALONE) +#include namespace.h #include string.h -#define explicit_memset __explicit_memset +#ifdef __weak_alias +__weak_alias(explicit_memset,_explicit_memset) +#endif #define explicit_memset_impl __explicit_memset_impl #else #include lib/libkern/libkern.h Index: src/crypto/external/bsd/libsaslc/dist/src/dict.c diff -u src/crypto/external/bsd/libsaslc/dist/src/dict.c:1.8 src/crypto/external/bsd/libsaslc/dist/src/dict.c:1.9 --- src/crypto/external/bsd/libsaslc/dist/src/dict.c:1.8 Mon Jun 24 04:21:19 2013 +++ src/crypto/external/bsd/libsaslc/dist/src/dict.c Wed Aug 28 17:47:07 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: dict.c,v 1.8 2013/06/24 04:21:19 riastradh Exp $ */ +/* $NetBSD: dict.c,v 1.9 2013/08/28 17:47:07 riastradh Exp $ */ /* Copyright (c) 2010 The NetBSD Foundation, Inc. * All rights reserved. @@ -35,7 +35,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__RCSID($NetBSD: dict.c,v 1.8 2013/06/24 04:21:19 riastradh Exp $); +__RCSID($NetBSD: dict.c,v 1.9 2013/08/28 17:47:07 riastradh Exp $); #include sys/queue.h @@ -136,7 +136,7 @@ saslc__dict_list_node_destroy(saslc__dic free(node-key); /* zero value, it may contain sensitive data */ - __explicit_memset(node-value, 0, node-value_len); + explicit_memset(node-value, 0, node-value_len); free(node-value); LIST_REMOVE(node, nodes); free(node); Index: src/crypto/external/bsd/openssh/dist/dns.c diff -u src/crypto/external/bsd/openssh/dist/dns.c:1.7 src/crypto/external/bsd/openssh/dist/dns.c:1.8 --- src/crypto/external/bsd/openssh/dist/dns.c:1.7 Wed Aug 28 15:24:41 2013 +++ src/crypto/external/bsd/openssh/dist/dns.c Wed Aug 28 17:47:07 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: dns.c,v 1.7 2013/08/28 15:24:41 riastradh Exp $ */ +/* $NetBSD: dns.c,v 1.8 2013/08/28 17:47:07 riastradh Exp $ */ /* $OpenBSD: dns.c,v 1.28 2012/05/23 03:28:28 djm Exp $ */ /* @@ -27,7 +27,7 @@ */ #include includes.h -__RCSID($NetBSD: dns.c,v 1.7 2013/08/28 15:24:41 riastradh Exp $); +__RCSID($NetBSD: dns.c,v 1.8 2013/08/28 17:47:07 riastradh Exp $); #include sys/types.h #include sys/socket.h @@ -278,7 +278,7 @@ verify_host_key_dns(const char *hostname if (hostkey_algorithm == dnskey_algorithm hostkey_digest_type == dnskey_digest_type) {
CVS commit: src/lib/libc
Module Name:src Committed By: riastradh Date: Wed Aug 28 18:01:22 UTC 2013 Modified Files: src/lib/libc: shlib_version Log Message: Bump libc minor for consttime_memequal and explicit_memset. To generate a diff of this commit: cvs rdiff -u -r1.240 -r1.241 src/lib/libc/shlib_version Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/shlib_version diff -u src/lib/libc/shlib_version:1.240 src/lib/libc/shlib_version:1.241 --- src/lib/libc/shlib_version:1.240 Tue Apr 16 21:44:07 2013 +++ src/lib/libc/shlib_version Wed Aug 28 18:01:22 2013 @@ -1,4 +1,4 @@ -# $NetBSD: shlib_version,v 1.240 2013/04/16 21:44:07 joerg Exp $ +# $NetBSD: shlib_version,v 1.241 2013/08/28 18:01:22 riastradh Exp $ # Remember to update distrib/sets/lists/base/shl.* when changing # # things we wish to do on next major version bump: @@ -36,4 +36,4 @@ # - remove ruserok() and friends to libcompat (or entirely) # - remove alloca fallback and expect compiler to provide a builtin version. major=12 -minor=185 +minor=186
CVS commit: src/sys/arch/arm/broadcom
Module Name:src Committed By: riastradh Date: Wed Aug 28 18:32:45 UTC 2013 Modified Files: src/sys/arch/arm/broadcom: bcm2835_rng.c Log Message: Get some entropy early on bcm2835_rng attach. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/broadcom/bcm2835_rng.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/arm/broadcom/bcm2835_rng.c diff -u src/sys/arch/arm/broadcom/bcm2835_rng.c:1.7 src/sys/arch/arm/broadcom/bcm2835_rng.c:1.8 --- src/sys/arch/arm/broadcom/bcm2835_rng.c:1.7 Sun Aug 25 17:08:41 2013 +++ src/sys/arch/arm/broadcom/bcm2835_rng.c Wed Aug 28 18:32:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm2835_rng.c,v 1.7 2013/08/25 17:08:41 tls Exp $ */ +/* $NetBSD: bcm2835_rng.c,v 1.8 2013/08/28 18:32:45 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: bcm2835_rng.c,v 1.7 2013/08/25 17:08:41 tls Exp $); +__KERNEL_RCSID(0, $NetBSD: bcm2835_rng.c,v 1.8 2013/08/28 18:32:45 riastradh Exp $); #include sys/param.h #include sys/systm.h @@ -117,6 +117,9 @@ bcmrng_attach(device_t parent, device_t ctrl = bus_space_read_4(sc-sc_iot, sc-sc_ioh, RNG_CTRL); ctrl |= RNG_CTRL_EN; bus_space_write_4(sc-sc_iot, sc-sc_ioh, RNG_CTRL, ctrl); + + /* get some initial entropy ASAP */ + bcmrng_get(RND_POOLBITS / NBBY, sc); } static void
CVS commit: src/distrib/sets/lists
Module Name:src Committed By: riastradh Date: Wed Aug 28 19:04:12 UTC 2013 Modified Files: src/distrib/sets/lists/base: ad.arm ad.mips md.amd64 md.sparc64 shl.mi src/distrib/sets/lists/debug: ad.arm ad.mips md.amd64 md.sparc64 shl.mi Log Message: Update set lists after libc minor bump. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/distrib/sets/lists/base/ad.arm cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/base/ad.mips cvs rdiff -u -r1.209 -r1.210 src/distrib/sets/lists/base/md.amd64 cvs rdiff -u -r1.196 -r1.197 src/distrib/sets/lists/base/md.sparc64 cvs rdiff -u -r1.671 -r1.672 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.11 -r1.12 src/distrib/sets/lists/debug/ad.arm cvs rdiff -u -r1.6 -r1.7 src/distrib/sets/lists/debug/ad.mips cvs rdiff -u -r1.27 -r1.28 src/distrib/sets/lists/debug/md.amd64 cvs rdiff -u -r1.28 -r1.29 src/distrib/sets/lists/debug/md.sparc64 cvs rdiff -u -r1.31 -r1.32 src/distrib/sets/lists/debug/shl.mi Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/base/ad.arm diff -u src/distrib/sets/lists/base/ad.arm:1.19 src/distrib/sets/lists/base/ad.arm:1.20 --- src/distrib/sets/lists/base/ad.arm:1.19 Sun Aug 11 22:29:02 2013 +++ src/distrib/sets/lists/base/ad.arm Wed Aug 28 19:04:12 2013 @@ -1,4 +1,4 @@ -# $NetBSD: ad.arm,v 1.19 2013/08/11 22:29:02 joerg Exp $ +# $NetBSD: ad.arm,v 1.20 2013/08/28 19:04:12 riastradh Exp $ ./lib/oabi base-compat-shlib compat ./lib/oabi/npf base-npf-shlib compat ./lib/oabi/npf/ext_log.so base-npf-shlib compat,pic @@ -92,7 +92,7 @@ ./usr/lib/oabi/libc++.so.1 base-compat-shlib compat,pic,libcxx ./usr/lib/oabi/libc++.so.1.0 base-compat-shlib compat,pic,libcxx ./usr/lib/oabi/libc.so.12 base-compat-shlib compat,pic -./usr/lib/oabi/libc.so.12.185 base-compat-shlib compat,pic +./usr/lib/oabi/libc.so.12.186 base-compat-shlib compat,pic ./usr/lib/oabi/libc_vfp.so.0 base-compat-shlib compat,pic ./usr/lib/oabi/libc_vfp.so.0.0 base-compat-shlib compat,pic ./usr/lib/oabi/libcom_err.so.7 base-compat-shlib compat,pic,kerberos Index: src/distrib/sets/lists/base/ad.mips diff -u src/distrib/sets/lists/base/ad.mips:1.14 src/distrib/sets/lists/base/ad.mips:1.15 --- src/distrib/sets/lists/base/ad.mips:1.14 Sun Aug 11 22:29:02 2013 +++ src/distrib/sets/lists/base/ad.mips Wed Aug 28 19:04:12 2013 @@ -1,4 +1,4 @@ -# $NetBSD: ad.mips,v 1.14 2013/08/11 22:29:02 joerg Exp $ +# $NetBSD: ad.mips,v 1.15 2013/08/28 19:04:12 riastradh Exp $ ./lib/64 base-compat-shlib compat,arch64 ./lib/64/npf base-npf-shlib compat,arch64 ./lib/64/npf/ext_log.sobase-npf-shlib compat,pic,arch64 @@ -94,7 +94,7 @@ ./usr/lib/64/libc++.so.1 base-compat-shlib compat,pic,libcxx,arch64 ./usr/lib/64/libc++.so.1.0 base-compat-shlib compat,pic,libcxx,arch64 ./usr/lib/64/libc.so.12base-compat-shlib compat,pic,arch64 -./usr/lib/64/libc.so.12.185 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libc.so.12.186 base-compat-shlib compat,pic,arch64 ./usr/lib/64/libcom_err.so.7 base-compat-shlib compat,pic,kerberos,arch64 ./usr/lib/64/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos,arch64 ./usr/lib/64/libcrypt.so.1 base-compat-shlib compat,pic,arch64 @@ -424,7 +424,7 @@ ./usr/lib/o32/libc++.so.1 base-compat-shlib compat,pic,libcxx,arch64 ./usr/lib/o32/libc++.so.1.0 base-compat-shlib compat,pic,libcxx,arch64 ./usr/lib/o32/libc.so.12 base-compat-shlib compat,pic,arch64 -./usr/lib/o32/libc.so.12.185 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libc.so.12.186 base-compat-shlib compat,pic,arch64 ./usr/lib/o32/libcom_err.so.7 base-compat-shlib compat,pic,kerberos,arch64 ./usr/lib/o32/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos,arch64 ./usr/lib/o32/libcrypt.so.1 base-compat-shlib compat,pic,arch64 Index: src/distrib/sets/lists/base/md.amd64 diff -u src/distrib/sets/lists/base/md.amd64:1.209 src/distrib/sets/lists/base/md.amd64:1.210 --- src/distrib/sets/lists/base/md.amd64:1.209 Sun Aug 11 22:29:02 2013 +++ src/distrib/sets/lists/base/md.amd64 Wed Aug 28 19:04:12 2013 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.209 2013/08/11 22:29:02 joerg Exp $ +# $NetBSD: md.amd64,v 1.210 2013/08/28 19:04:12 riastradh Exp $ ./dev/lms0 base-obsolete obsolete ./dev/mms0 base-obsolete obsolete ./lib/i386 base-compat-shlib compat @@ -86,7 +86,7 @@ ./usr/lib/i386/libc++.so.1 base-compat-shlib compat,pic,libcxx ./usr/lib/i386/libc++.so.1.0 base-compat-shlib compat,pic,libcxx ./usr/lib/i386/libc.so.12 base-compat-shlib compat,pic -./usr/lib/i386/libc.so.12.185 base-compat-shlib compat,pic +./usr/lib/i386/libc.so.12.186 base-compat-shlib compat,pic ./usr/lib/i386/libcom_err.so.7 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libcrypt.so.1
CVS commit: src/common/lib/libc/string
Module Name:src Committed By: riastradh Date: Wed Aug 28 19:31:14 UTC 2013 Modified Files: src/common/lib/libc/string: consttime_memequal.c Log Message: Comment on possible data-dependent branch in `!res'. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/string/consttime_memequal.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/string/consttime_memequal.c diff -u src/common/lib/libc/string/consttime_memequal.c:1.3 src/common/lib/libc/string/consttime_memequal.c:1.4 --- src/common/lib/libc/string/consttime_memequal.c:1.3 Wed Aug 28 17:47:07 2013 +++ src/common/lib/libc/string/consttime_memequal.c Wed Aug 28 19:31:14 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: consttime_memequal.c,v 1.3 2013/08/28 17:47:07 riastradh Exp $ */ +/* $NetBSD: consttime_memequal.c,v 1.4 2013/08/28 19:31:14 riastradh Exp $ */ #if !defined(_KERNEL) !defined(_STANDALONE) #include namespace.h @@ -18,5 +18,15 @@ consttime_memequal(const void *b1, const while (len --) res |= *c1++ ^ *c2++; + + /* + * If the compiler for your favourite architecture generates a + * conditional branch for `!res', it will be a data-dependent + * branch, in which case this should be replaced by + * + * return (1 - (1 ((res - 1) 8))); + * + * or rewritten in assembly. + */ return !res; }
CVS commit: src/usr.bin/make
Module Name:src Committed By: sjg Date: Wed Aug 28 21:56:50 UTC 2013 Modified Files: src/usr.bin/make: parse.c src/usr.bin/make/unit-tests: Makefile test.exp Added Files: src/usr.bin/make/unit-tests: sunshcmd Log Message: Fix parsing of SUNSHCMD style :sh = assigments. Submitted by: Will Andrews at freebsd.org To generate a diff of this commit: cvs rdiff -u -r1.190 -r1.191 src/usr.bin/make/parse.c cvs rdiff -u -r1.37 -r1.38 src/usr.bin/make/unit-tests/Makefile cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/sunshcmd cvs rdiff -u -r1.42 -r1.43 src/usr.bin/make/unit-tests/test.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.190 src/usr.bin/make/parse.c:1.191 --- src/usr.bin/make/parse.c:1.190 Sat Aug 10 21:20:03 2013 +++ src/usr.bin/make/parse.c Wed Aug 28 21:56:49 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.190 2013/08/10 21:20:03 sjg Exp $ */ +/* $NetBSD: parse.c,v 1.191 2013/08/28 21:56:49 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = $NetBSD: parse.c,v 1.190 2013/08/10 21:20:03 sjg Exp $; +static char rcsid[] = $NetBSD: parse.c,v 1.191 2013/08/28 21:56:49 sjg Exp $; #else #include sys/cdefs.h #ifndef lint #if 0 static char sccsid[] = @(#)parse.c 8.3 (Berkeley) 3/19/94; #else -__RCSID($NetBSD: parse.c,v 1.190 2013/08/10 21:20:03 sjg Exp $); +__RCSID($NetBSD: parse.c,v 1.191 2013/08/28 21:56:49 sjg Exp $); #endif #endif /* not lint */ #endif @@ -1741,6 +1741,12 @@ Parse_IsVar(char *line) ch = *line++; wasSpace = TRUE; } +#ifdef SUNSHCMD + if (ch == ':' strncmp(line, sh, 2) == 0) { + line += 2; + continue; + } +#endif if (ch == '=') return TRUE; if (*line == '=' ISEQOPERATOR(ch)) Index: src/usr.bin/make/unit-tests/Makefile diff -u src/usr.bin/make/unit-tests/Makefile:1.37 src/usr.bin/make/unit-tests/Makefile:1.38 --- src/usr.bin/make/unit-tests/Makefile:1.37 Tue Jul 16 19:59:28 2013 +++ src/usr.bin/make/unit-tests/Makefile Wed Aug 28 21:56:50 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.37 2013/07/16 19:59:28 sjg Exp $ +# $NetBSD: Makefile,v 1.38 2013/08/28 21:56:50 sjg Exp $ # # Unit tests for make(1) # The main targets are: @@ -41,6 +41,7 @@ SUBFILES= \ phony-end \ posix \ qequals \ + sunshcmd \ sysv \ ternary \ unexport \ Index: src/usr.bin/make/unit-tests/test.exp diff -u src/usr.bin/make/unit-tests/test.exp:1.42 src/usr.bin/make/unit-tests/test.exp:1.43 --- src/usr.bin/make/unit-tests/test.exp:1.42 Fri Mar 22 16:36:46 2013 +++ src/usr.bin/make/unit-tests/test.exp Wed Aug 28 21:56:50 2013 @@ -349,6 +349,9 @@ Now we expect an error... *** Error code 1 (continuing) `all' not remade because of errors. V.i386 ?= OK +TEST1=hello +TEST2=bye +TEST3=later FOOBAR = FOOBAR = foobar fubar fun Added files: Index: src/usr.bin/make/unit-tests/sunshcmd diff -u /dev/null src/usr.bin/make/unit-tests/sunshcmd:1.1 --- /dev/null Wed Aug 28 21:56:50 2013 +++ src/usr.bin/make/unit-tests/sunshcmd Wed Aug 28 21:56:50 2013 @@ -0,0 +1,10 @@ +BYECMD = echo bye +LATERCMD = echo later +TEST1 :sh = echo hello +TEST2 :sh = ${BYECMD} +TEST3 = ${LATERCMD:sh} + +all: + @echo TEST1=${TEST1} + @echo TEST2=${TEST2} + @echo TEST3=${TEST3}
CVS commit: src/sys/kern
Module Name:src Committed By: tls Date: Wed Aug 28 23:40:43 UTC 2013 Modified Files: src/sys/kern: kern_rndq.c Log Message: Schedule the softint to run once when it's first registered. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/kern/kern_rndq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/kern_rndq.c diff -u src/sys/kern/kern_rndq.c:1.19 src/sys/kern/kern_rndq.c:1.20 --- src/sys/kern/kern_rndq.c:1.19 Wed Aug 28 12:50:18 2013 +++ src/sys/kern/kern_rndq.c Wed Aug 28 23:40:43 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_rndq.c,v 1.19 2013/08/28 12:50:18 riastradh Exp $ */ +/* $NetBSD: kern_rndq.c,v 1.20 2013/08/28 23:40:43 tls Exp $ */ /*- * Copyright (c) 1997-2013 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_rndq.c,v 1.19 2013/08/28 12:50:18 riastradh Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_rndq.c,v 1.20 2013/08/28 23:40:43 tls Exp $); #include sys/param.h #include sys/ioctl.h @@ -150,6 +150,7 @@ static void rnd_process_events(voi u_int32_t rnd_extract_data_locked(void *, u_int32_t, u_int32_t); /* XXX */ static void rnd_add_data_ts(krndsource_t *, const void *const, uint32_t, uint32_t, uint32_t); +static inline void rnd_schedule_process(void); int rnd_ready = 0; int rnd_initial_entropy = 0; @@ -170,6 +171,7 @@ rnd_init_softint(void) { rnd_intr, NULL); rnd_wakeup = softint_establish(SOFTINT_CLOCK|SOFTINT_MPSAFE, rnd_wake, NULL); + rnd_schedule_process(); } /*
CVS commit: src/sys/kern
Module Name:src Committed By: tls Date: Thu Aug 29 01:05:29 UTC 2013 Modified Files: src/sys/kern: kern_todr.c Log Message: Mix in boot time (wherever we may find it). Helps avoid predictable output on young systems. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/kern/kern_todr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/kern_todr.c diff -u src/sys/kern/kern_todr.c:1.34 src/sys/kern/kern_todr.c:1.35 --- src/sys/kern/kern_todr.c:1.34 Tue Feb 8 20:20:27 2011 +++ src/sys/kern/kern_todr.c Thu Aug 29 01:05:29 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_todr.c,v 1.34 2011/02/08 20:20:27 rmind Exp $ */ +/* $NetBSD: kern_todr.c,v 1.35 2013/08/29 01:05:29 tls Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_todr.c,v 1.34 2011/02/08 20:20:27 rmind Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_todr.c,v 1.35 2013/08/29 01:05:29 tls Exp $); #include sys/param.h #include sys/kernel.h @@ -47,6 +47,7 @@ __KERNEL_RCSID(0, $NetBSD: kern_todr.c, #include sys/device.h #include sys/timetc.h #include sys/intr.h +#include sys/rnd.h #include dev/clock_subr.h /* hmm.. this should probably move to sys */ @@ -82,6 +83,8 @@ inittodr(time_t base) struct timespec ts; struct timeval tv; + rnd_add_data(NULL, base, sizeof(base), 0); + if (base 5 * SECYR) { struct clock_ymdhms basedate; @@ -143,6 +146,8 @@ inittodr(time_t base) } else { goodtime = true; } + + rnd_add_data(NULL, tv, sizeof(tv), 0); } /* if the rtc time is bad, use the filesystem time */
CVS commit: src/sys
Module Name:src Committed By: tls Date: Thu Aug 29 01:04:49 UTC 2013 Modified Files: src/sys/kern: kern_rndpool.c kern_rndq.c src/sys/sys: rnd.h Log Message: Fix rnd_add_* to conform to manual page: allow addition of entropy with NULL source. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/kern/kern_rndpool.c cvs rdiff -u -r1.20 -r1.21 src/sys/kern/kern_rndq.c cvs rdiff -u -r1.39 -r1.40 src/sys/sys/rnd.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/kern_rndpool.c diff -u src/sys/kern/kern_rndpool.c:1.4 src/sys/kern/kern_rndpool.c:1.5 --- src/sys/kern/kern_rndpool.c:1.4 Thu Jun 13 19:18:00 2013 +++ src/sys/kern/kern_rndpool.c Thu Aug 29 01:04:49 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_rndpool.c,v 1.4 2013/06/13 19:18:00 tls Exp $*/ +/* $NetBSD: kern_rndpool.c,v 1.5 2013/08/29 01:04:49 tls Exp $*/ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_rndpool.c,v 1.4 2013/06/13 19:18:00 tls Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_rndpool.c,v 1.5 2013/08/29 01:04:49 tls Exp $); #include sys/param.h #include sys/systm.h @@ -187,15 +187,16 @@ rndpool_add_one_word(rndpool_t *rp, u_in * Add a buffer's worth of data to the pool. */ void -rndpool_add_data(rndpool_t *rp, void *p, u_int32_t len, u_int32_t entropy) +rndpool_add_data(rndpool_t *rp, + const void * const p, u_int32_t len, u_int32_t entropy) { u_int32_t val; - u_int8_t *buf; + const u_int8_t * buf; buf = p; for (; len 3; len -= 4) { - val = *((u_int32_t *)buf); + val = *((const u_int32_t *)buf); rndpool_add_one_word(rp, val); buf += 4; Index: src/sys/kern/kern_rndq.c diff -u src/sys/kern/kern_rndq.c:1.20 src/sys/kern/kern_rndq.c:1.21 --- src/sys/kern/kern_rndq.c:1.20 Wed Aug 28 23:40:43 2013 +++ src/sys/kern/kern_rndq.c Thu Aug 29 01:04:49 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_rndq.c,v 1.20 2013/08/28 23:40:43 tls Exp $ */ +/* $NetBSD: kern_rndq.c,v 1.21 2013/08/29 01:04:49 tls Exp $ */ /*- * Copyright (c) 1997-2013 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_rndq.c,v 1.20 2013/08/28 23:40:43 tls Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_rndq.c,v 1.21 2013/08/29 01:04:49 tls Exp $); #include sys/param.h #include sys/ioctl.h @@ -651,7 +651,13 @@ rnd_add_data(krndsource_t *rs, const voi * itself, random. Don't estimate entropy based on * timestamp, just directly add the data. */ - rnd_add_data_ts(rs, data, len, entropy, rnd_counter()); + if (__predict_false(rs == NULL)) { + mutex_spin_enter(rndpool_mtx); + rndpool_add_data(rnd_pool, data, len, entropy); + mutex_spin_exit(rndpool_mtx); + } else { + rnd_add_data_ts(rs, data, len, entropy, rnd_counter()); + } } static void Index: src/sys/sys/rnd.h diff -u src/sys/sys/rnd.h:1.39 src/sys/sys/rnd.h:1.40 --- src/sys/sys/rnd.h:1.39 Mon Jul 1 15:22:00 2013 +++ src/sys/sys/rnd.h Thu Aug 29 01:04:49 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rnd.h,v 1.39 2013/07/01 15:22:00 riastradh Exp $ */ +/* $NetBSD: rnd.h,v 1.40 2013/08/29 01:04:49 tls Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -155,7 +155,8 @@ void rndpool_get_stats(rndpool_t *, voi void rndpool_increment_entropy_count(rndpool_t *, uint32_t); uint32_t *rndpool_get_pool(rndpool_t *); uint32_t rndpool_get_poolsize(void); -void rndpool_add_data(rndpool_t *, void *, uint32_t, uint32_t); +void rndpool_add_data(rndpool_t *, + const void *const , uint32_t, uint32_t); uint32_t rndpool_extract_data(rndpool_t *, void *, uint32_t, uint32_t); void rnd_init(void); void rnd_init_softint(void); @@ -173,8 +174,10 @@ void rnd_seed(void *, size_t); static inline void rnd_add_uint32(krndsource_t *kr, uint32_t val) { - if (RND_ENABLED(kr)) { + if (__predict_true(kr) RND_ENABLED(kr)) { _rnd_add_uint32(kr, val); + } else { + rnd_add_data(NULL, val, sizeof(val), 0); } }
CVS commit: src/doc
Module Name:src Committed By: wiz Date: Wed Aug 28 07:34:13 UTC 2013 Modified Files: src/doc: 3RDPARTY Log Message: sqlite-3.8.0 out To generate a diff of this commit: cvs rdiff -u -r1.1051 -r1.1052 src/doc/3RDPARTY Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/libedit
Module Name:src Committed By: christos Date: Wed Aug 28 08:05:21 UTC 2013 Modified Files: src/lib/libedit: readline.c Log Message: get rid of PATH_MAX. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/lib/libedit/readline.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/kern
Module Name:src Committed By: riastradh Date: Wed Aug 28 12:50:18 UTC 2013 Modified Files: src/sys/kern: init_main.c kern_rndq.c Log Message: Tighten initialization of rnd softints. - Do rnd_init_softint as early as possible in main, after configure2, and before networking is initialized. - Initialize the rnd_wakeup softint in rnd_init_softint, not lazily in rnd_schedule_wakeup. ok tls To generate a diff of this commit: cvs rdiff -u -r1.452 -r1.453 src/sys/kern/init_main.c cvs rdiff -u -r1.18 -r1.19 src/sys/kern/kern_rndq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: riastradh Date: Wed Aug 28 15:24:41 UTC 2013 Modified Files: src/common/lib/libc/string: consttime_memequal.c src/crypto/external/bsd/openssh/dist: dns.c src/lib/libc/string: consttime_memequal.3 src/sys/netipsec: xform_ah.c xform_esp.c Log Message: Fix sense of consttime_memequal and update all callers. Now it returns true (nonzero) to mean equal and false (zero) to mean inequal, as the name suggests. As promised on tech-userlevel back in June: https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/string/consttime_memequal.c cvs rdiff -u -r1.6 -r1.7 src/crypto/external/bsd/openssh/dist/dns.c cvs rdiff -u -r1.1 -r1.2 src/lib/libc/string/consttime_memequal.3 cvs rdiff -u -r1.40 -r1.41 src/sys/netipsec/xform_ah.c cvs rdiff -u -r1.43 -r1.44 src/sys/netipsec/xform_esp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [rmind-smpnet] src/sys
Module Name:src Committed By: rmind Date: Wed Aug 28 15:21:49 UTC 2013 Modified Files: src/sys/compat/common [rmind-smpnet]: if_43.c src/sys/dev [rmind-smpnet]: kttcp.c src/sys/kern [rmind-smpnet]: kern_malloc.c sys_socket.c uipc_proto.c uipc_socket.c uipc_socket2.c uipc_syscalls.c uipc_usrreq.c src/sys/miscfs/fifofs [rmind-smpnet]: fifo_vnops.c src/sys/net [rmind-smpnet]: if.c if_gre.c if_stf.c link_proto.c raw_cb.c raw_cb.h raw_usrreq.c rtsock.c src/sys/netatalk [rmind-smpnet]: at_extern.h at_proto.c ddp_usrreq.c src/sys/netbt [rmind-smpnet]: bluetooth.h bt_proto.c hci.h hci_socket.c l2cap.h l2cap_socket.c l2cap_upper.c rfcomm.h rfcomm_socket.c rfcomm_upper.c sco.h sco_socket.c sco_upper.c src/sys/netinet [rmind-smpnet]: if_arp.c in_gif.c in_pcb.c in_proto.c ip_icmp.c ip_mroute.c ip_var.h raw_ip.c tcp_usrreq.c tcp_var.h udp_usrreq.c udp_var.h src/sys/netinet6 [rmind-smpnet]: icmp6.c in6_gif.c in6_proto.c ip6_var.h ip6protosw.h raw_ip6.c udp6_usrreq.c udp6_var.h src/sys/netipsec [rmind-smpnet]: keysock.c keysock.h xform_ipip.c src/sys/netmpls [rmind-smpnet]: mpls_proto.c src/sys/netnatm [rmind-smpnet]: natm.c natm.h natm_pcb.c natm_proto.c src/sys/netsmb [rmind-smpnet]: smb_trantcp.c src/sys/nfs [rmind-smpnet]: nfs_socket.c src/sys/sys [rmind-smpnet]: malloc.h mbuf.h protosw.h socketvar.h un.h Log Message: Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.20.1 src/sys/compat/common/if_43.c cvs rdiff -u -r1.30 -r1.30.10.1 src/sys/dev/kttcp.c cvs rdiff -u -r1.142 -r1.142.4.1 src/sys/kern/kern_malloc.c cvs rdiff -u -r1.65 -r1.65.10.1 src/sys/kern/sys_socket.c cvs rdiff -u -r1.22 -r1.22.18.1 src/sys/kern/uipc_proto.c cvs rdiff -u -r1.215 -r1.215.4.1 src/sys/kern/uipc_socket.c cvs rdiff -u -r1.112 -r1.112.2.1 src/sys/kern/uipc_socket2.c cvs rdiff -u -r1.161 -r1.161.2.1 src/sys/kern/uipc_syscalls.c cvs rdiff -u -r1.142 -r1.142.2.1 src/sys/kern/uipc_usrreq.c cvs rdiff -u -r1.73 -r1.73.4.1 src/sys/miscfs/fifofs/fifo_vnops.c cvs rdiff -u -r1.264.2.1 -r1.264.2.2 src/sys/net/if.c cvs rdiff -u -r1.150 -r1.150.14.1 src/sys/net/if_gre.c cvs rdiff -u -r1.77 -r1.77.16.1 src/sys/net/if_stf.c cvs rdiff -u -r1.7 -r1.7.16.1 src/sys/net/link_proto.c cvs rdiff -u -r1.20 -r1.20.44.1 src/sys/net/raw_cb.c cvs rdiff -u -r1.20 -r1.20.94.1 src/sys/net/raw_cb.h cvs rdiff -u -r1.37 -r1.37.16.1 src/sys/net/raw_usrreq.c cvs rdiff -u -r1.141 -r1.141.6.1 src/sys/net/rtsock.c cvs rdiff -u -r1.16 -r1.16.66.1 src/sys/netatalk/at_extern.h cvs rdiff -u -r1.17 -r1.17.18.1 src/sys/netatalk/at_proto.c cvs rdiff -u -r1.40 -r1.40.18.1 src/sys/netatalk/ddp_usrreq.c cvs rdiff -u -r1.11 -r1.11.18.1 src/sys/netbt/bluetooth.h cvs rdiff -u -r1.12 -r1.12.26.1 src/sys/netbt/bt_proto.c cvs rdiff -u -r1.35 -r1.35.16.1 src/sys/netbt/hci.h cvs rdiff -u -r1.20 -r1.20.18.1 src/sys/netbt/hci_socket.c cvs rdiff -u -r1.10 -r1.10.18.1 src/sys/netbt/l2cap.h cvs rdiff -u -r1.9 -r1.9.44.1 src/sys/netbt/l2cap_socket.c cvs rdiff -u -r1.11 -r1.11.26.1 src/sys/netbt/l2cap_upper.c cvs rdiff -u -r1.9 -r1.9.26.1 src/sys/netbt/rfcomm.h \ src/sys/netbt/sco_upper.c cvs rdiff -u -r1.10 -r1.10.44.1 src/sys/netbt/rfcomm_socket.c cvs rdiff -u -r1.13 -r1.13.26.1 src/sys/netbt/rfcomm_upper.c cvs rdiff -u -r1.3 -r1.3.44.1 src/sys/netbt/sco.h cvs rdiff -u -r1.11 -r1.11.44.1 src/sys/netbt/sco_socket.c cvs rdiff -u -r1.154 -r1.154.10.1 src/sys/netinet/if_arp.c cvs rdiff -u -r1.63 -r1.63.6.1 src/sys/netinet/in_gif.c cvs rdiff -u -r1.145.2.1 -r1.145.2.2 src/sys/netinet/in_pcb.c cvs rdiff -u -r1.106.2.1 -r1.106.2.2 src/sys/netinet/in_proto.c cvs rdiff -u -r1.131 -r1.131.2.1 src/sys/netinet/ip_icmp.c cvs rdiff -u -r1.127 -r1.127.2.1 src/sys/netinet/ip_mroute.c cvs rdiff -u -r1.97.18.1 -r1.97.18.2 src/sys/netinet/ip_var.h cvs rdiff -u -r1.116.2.1 -r1.116.2.2 src/sys/netinet/raw_ip.c cvs rdiff -u -r1.166.4.1 -r1.166.4.2 src/sys/netinet/tcp_usrreq.c cvs rdiff -u -r1.170.4.1 -r1.170.4.2 src/sys/netinet/tcp_var.h cvs rdiff -u -r1.190.2.1 -r1.190.2.2 src/sys/netinet/udp_usrreq.c cvs rdiff -u -r1.38.4.1 -r1.38.4.2 src/sys/netinet/udp_var.h cvs rdiff -u -r1.162.2.1 -r1.162.2.2 src/sys/netinet6/icmp6.c cvs rdiff -u -r1.59 -r1.59.6.1 src/sys/netinet6/in6_gif.c cvs rdiff -u -r1.99 -r1.99.2.1 src/sys/netinet6/in6_proto.c cvs rdiff -u -r1.59 -r1.59.4.1
CVS commit: src/distrib/notes/common
Module Name:src Committed By: slp Date: Wed Aug 28 15:39:30 UTC 2013 Modified Files: src/distrib/notes/common: main Log Message: Added slp@ to NetBSD Developers list. To generate a diff of this commit: cvs rdiff -u -r1.496 -r1.497 src/distrib/notes/common/main Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/lib/libkern
Module Name:src Committed By: riastradh Date: Wed Aug 28 16:20:38 UTC 2013 Modified Files: src/sys/lib/libkern: libkern.h Log Message: Fix libkern's prototype for explicit_memset. To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.108 src/sys/lib/libkern/libkern.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: riastradh Date: Wed Aug 28 17:47:08 UTC 2013 Modified Files: src/common/lib/libc/string: consttime_memequal.c explicit_memset.c src/crypto/external/bsd/libsaslc/dist/src: dict.c src/crypto/external/bsd/openssh/dist: dns.c src/include: string.h src/lib/libc/include: namespace.h src/lib/libcrypt: bcrypt.c crypt-sha1.c md5crypt.c Log Message: Publish explicit_memset and consttime_memequal in userland libc. Remove the double-underscore from the userland versions, and do the weak alias dance instead, now that these are public parts of libc. As discussed on tech-userlevel: https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html (option 3) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/string/consttime_memequal.c \ src/common/lib/libc/string/explicit_memset.c cvs rdiff -u -r1.8 -r1.9 src/crypto/external/bsd/libsaslc/dist/src/dict.c cvs rdiff -u -r1.7 -r1.8 src/crypto/external/bsd/openssh/dist/dns.c cvs rdiff -u -r1.47 -r1.48 src/include/string.h cvs rdiff -u -r1.168 -r1.169 src/lib/libc/include/namespace.h cvs rdiff -u -r1.18 -r1.19 src/lib/libcrypt/bcrypt.c cvs rdiff -u -r1.7 -r1.8 src/lib/libcrypt/crypt-sha1.c cvs rdiff -u -r1.13 -r1.14 src/lib/libcrypt/md5crypt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/libc
Module Name:src Committed By: riastradh Date: Wed Aug 28 18:01:22 UTC 2013 Modified Files: src/lib/libc: shlib_version Log Message: Bump libc minor for consttime_memequal and explicit_memset. To generate a diff of this commit: cvs rdiff -u -r1.240 -r1.241 src/lib/libc/shlib_version Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/arm/broadcom
Module Name:src Committed By: riastradh Date: Wed Aug 28 18:32:45 UTC 2013 Modified Files: src/sys/arch/arm/broadcom: bcm2835_rng.c Log Message: Get some entropy early on bcm2835_rng attach. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/broadcom/bcm2835_rng.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/distrib/sets/lists
Module Name:src Committed By: riastradh Date: Wed Aug 28 19:04:12 UTC 2013 Modified Files: src/distrib/sets/lists/base: ad.arm ad.mips md.amd64 md.sparc64 shl.mi src/distrib/sets/lists/debug: ad.arm ad.mips md.amd64 md.sparc64 shl.mi Log Message: Update set lists after libc minor bump. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/distrib/sets/lists/base/ad.arm cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/base/ad.mips cvs rdiff -u -r1.209 -r1.210 src/distrib/sets/lists/base/md.amd64 cvs rdiff -u -r1.196 -r1.197 src/distrib/sets/lists/base/md.sparc64 cvs rdiff -u -r1.671 -r1.672 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.11 -r1.12 src/distrib/sets/lists/debug/ad.arm cvs rdiff -u -r1.6 -r1.7 src/distrib/sets/lists/debug/ad.mips cvs rdiff -u -r1.27 -r1.28 src/distrib/sets/lists/debug/md.amd64 cvs rdiff -u -r1.28 -r1.29 src/distrib/sets/lists/debug/md.sparc64 cvs rdiff -u -r1.31 -r1.32 src/distrib/sets/lists/debug/shl.mi Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/common/lib/libc/string
Module Name:src Committed By: riastradh Date: Wed Aug 28 19:31:14 UTC 2013 Modified Files: src/common/lib/libc/string: consttime_memequal.c Log Message: Comment on possible data-dependent branch in `!res'. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/string/consttime_memequal.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: sjg Date: Wed Aug 28 21:56:50 UTC 2013 Modified Files: src/usr.bin/make: parse.c src/usr.bin/make/unit-tests: Makefile test.exp Added Files: src/usr.bin/make/unit-tests: sunshcmd Log Message: Fix parsing of SUNSHCMD style :sh = assigments. Submitted by: Will Andrews at freebsd.org To generate a diff of this commit: cvs rdiff -u -r1.190 -r1.191 src/usr.bin/make/parse.c cvs rdiff -u -r1.37 -r1.38 src/usr.bin/make/unit-tests/Makefile cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/sunshcmd cvs rdiff -u -r1.42 -r1.43 src/usr.bin/make/unit-tests/test.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/kern
Module Name:src Committed By: tls Date: Wed Aug 28 23:40:43 UTC 2013 Modified Files: src/sys/kern: kern_rndq.c Log Message: Schedule the softint to run once when it's first registered. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/kern/kern_rndq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys
Module Name:src Committed By: tls Date: Thu Aug 29 01:04:49 UTC 2013 Modified Files: src/sys/kern: kern_rndpool.c kern_rndq.c src/sys/sys: rnd.h Log Message: Fix rnd_add_* to conform to manual page: allow addition of entropy with NULL source. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/kern/kern_rndpool.c cvs rdiff -u -r1.20 -r1.21 src/sys/kern/kern_rndq.c cvs rdiff -u -r1.39 -r1.40 src/sys/sys/rnd.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/kern
Module Name:src Committed By: tls Date: Thu Aug 29 01:05:29 UTC 2013 Modified Files: src/sys/kern: kern_todr.c Log Message: Mix in boot time (wherever we may find it). Helps avoid predictable output on young systems. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/kern/kern_todr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.