| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
is based on an old implementation from the University of Michigan with lots of
changes and fixes by me and the addition of a Solaris-compatible API.
Sponsored by: Isilon Systems
Reviewed by: alfred
Notes:
svn path=/head/; revision=181344
|
|
|
|
| |
Notes:
svn path=/head/; revision=181341
|
|
|
|
|
|
|
| |
PR: 125746
Notes:
svn path=/head/; revision=181312
|
|
|
|
|
|
|
|
|
|
| |
this commit, sprintf("%s", "") could fail depending on what happened
to be on the stack.
Found by: LLVM/Clang Static Checker
Notes:
svn path=/head/; revision=181281
|
|
|
|
|
|
|
|
|
|
|
|
| |
to this commit, "env BLOCKSIZE=4X df" prints not only "4X: unknown
blocksize" as expected, but sometimes also "maximum blocksize is 1G"
and "minimum blocksize is 512" depending on what happened to be on
the stack.
Found by: LLVM/Clang Static Checker
Notes:
svn path=/head/; revision=181280
|
|
|
|
|
|
|
|
|
|
| |
understand which code paths aren't possible.
This commit eliminates 117 false positive bug reports of the form
"allocate memory; error out if pointer is NULL; use pointer".
Notes:
svn path=/head/; revision=181269
|
|
|
|
|
|
|
|
|
|
|
|
| |
environ[0] to be more obvious that environ is not NULL before environ[0]
is tested. Although I believe the previous code worked, this change
improves code maintainability.
Reviewed by: ache
MFC after: 3 days
Notes:
svn path=/head/; revision=181266
|
|
|
|
|
|
|
|
| |
PR: 125253
Submitted by: Mateusz Guzik <mjguzik@gmail.com> (original version)
Notes:
svn path=/head/; revision=181265
|
|
|
|
|
|
|
|
|
|
|
|
| |
assumed to be reviewd by them):
Stir directly from the kernel PRNG, without taking less random pid & time
bytes too (when it is possible).
The difference with OpenBSD code is that they have KERN_ARND sysctl for
that task, while we need to read /dev/random
Notes:
svn path=/head/; revision=181261
|
|
|
|
| |
Notes:
svn path=/head/; revision=181258
|
|
|
|
|
|
|
|
|
|
| |
- Improve the order of some tests.
- Fix style.
Submitted by: bde
Notes:
svn path=/head/; revision=181257
|
|
|
|
|
|
|
|
|
|
| |
- When y/x is huge, it's faster and more accurate to return pi/2
instead of pi - pi/2.
- There's no need for 3 lines of bit fiddling to compute -z.
- Fix a comment.
Notes:
svn path=/head/; revision=181204
|
|
|
|
|
|
|
| |
Submitted by: ed
Notes:
svn path=/head/; revision=181182
|
|
|
|
|
|
|
|
|
|
|
|
| |
wide string arguments.
Also simplify the code that handles length modifiers and make it
more conservative. For instance, be explicit about the modifiers
allowed for %d, rather than assuming that anything other than L,
q, t, or z implies an int argument.
Notes:
svn path=/head/; revision=181154
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
at compile time regardless of the dynamic precision, and there's
no way to disable this misfeature at compile time. Hence, it's
impossible to generate the appropriate tables of constants for the
long double inverse trig functions in a straightforward way on i386;
this change hacks around the problem by encoding the underlying bits
in the table.
Note that these functions won't pass the regression test on i386,
even with the FPU set to extended precision, because the regression
test is similarly damaged by gcc. However, the tests all pass when
compiled with a modified version of gcc.
Reported by: bde
Notes:
svn path=/head/; revision=181152
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the first value (environ[0]) to NULL. This is in addition to the
current detection of environ being replaced, which includes being set to
NULL. Without this fix, the environment is not truly wiped, but appears
to be by getenv() until an *env() call is made to alter the enviroment.
This change is necessary to support those applications that use this
method for clearing environ such as Dovecot and Postfix. Applications
such as Sendmail and the base system's env replace environ (already
detected). While neither of these methods are defined by SUSv3, it is
best to support them due to historic reasons and in lieu of a clean,
defined method.
Add extra units tests for clearing environ using four different methods:
1. Set environ to NULL pointer.
2. Set environ[0] to NULL pointer.
3. Set environ to calloc()'d NULL-terminated array.
4. Set environ to static NULL-terminated array.
Noticed by: Timo Sirainen
MFC after: 3 days
Notes:
svn path=/head/; revision=181150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adjust several constants for float precision. Some thresholds
that were appropriate for double precision were never changed
when these routines were converted to float precision. This
has an impact on performance but not accuracy. (Submitted by bde.)
- Reduce the degrees of the polynomials used. A smaller degree
suffices for float precision.
- In asinf(), use double arithmetic in part of the calculation to
avoid a corner case and some complicated arithmetic involving a
division and some buggy constants. This improves performance and
accuracy.
Max error (ulps):
asinf acosf atanf
before 0.925 0.782 0.852
after 0.743 0.804 0.852
As bde points out, it's cheaper for asin*() and acos*() to use
polynomials instead of rational functions, but that's a task for
another day.
Notes:
svn path=/head/; revision=181100
|
|
|
|
|
|
|
| |
PR: kern/126128
Notes:
svn path=/head/; revision=181099
|
|
|
|
|
|
|
|
|
|
| |
and cargl().
Reviewed by: bde
sparc64 testing resources from: remko
Notes:
svn path=/head/; revision=181074
|
|
|
|
|
|
|
|
| |
help abstract the sizes and endianness of the primary types of
the target. These currently use the native characteristics.
Notes:
svn path=/head/; revision=181065
|
|
|
|
|
|
|
|
| |
I believe I've committed all the bits necessary to make this compile
on all supported architectures. :crosses fingers:
Notes:
svn path=/head/; revision=181064
|
|
|
|
| |
Notes:
svn path=/head/; revision=181063
|
|
|
|
|
|
|
|
|
| |
spurious optimizations. gcc doesn't support FENV_ACCESS, so when it
folds constants, it assumes that the rounding mode is always the
default and floating point exceptions never matter.
Notes:
svn path=/head/; revision=181062
|
|
|
|
| |
Notes:
svn path=/head/; revision=181059
|
|
|
|
| |
Notes:
svn path=/head/; revision=181044
|
|
|
|
|
|
|
|
| |
type cannot be made wider to allow ILP32 platforms to target
LP64 platforms.
Notes:
svn path=/head/; revision=180982
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I guess the original author of the popen() code didn't want to use our
<sys/queue.h> macro's, because the single linked list macro's didn't
offer O(1) deletion. Because I introduced SLIST_REMOVE_NEXT() some time
ago, we can now use the macro's here.
By converting the code to an SLIST, it is more consistent with other
parts of the C library and the operating system.
Reviewed by: csjp
Approved by: philip (mentor, implicit)
Notes:
svn path=/head/; revision=180963
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mkstemps(), and mkdtemp().
- Add proper range checking for the 'slen' parameter passed to mkstemps().
- Try all possible permutations of a template if a collision is encountered.
Previously, once a single template character reached 'z', it would not wrap
around to '0' and keep going until it encountered the original starting
letter. In the edge case that the randomly generated starting name used
all 'z' characters, only that single name would be tried before giving up.
PR: standards/66531
Submitted by: Jim Luther
Obtained from: Apple
MFC after: 1 week
Notes:
svn path=/head/; revision=180938
|
|
|
|
|
|
|
|
|
|
|
| |
It seems I made a small bug when writing some of the posix_spawn(3)
manpages. Remove the redundant "Ed Schouten", which broke the AUTHORS
section.
Approved by: philip (mentor, implicit)
Notes:
svn path=/head/; revision=180876
|
|
|
|
|
|
|
| |
PR: standards/122051
Notes:
svn path=/head/; revision=180867
|
|
|
|
|
|
|
| |
sessions to be pinned to cpus by login class.
Notes:
svn path=/head/; revision=180815
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"If you don't get a review within a day or two, I would firmly recommend
backing out the changes"
back out all my changes, i.e. not comes from merging from OpenBSD as
unreviewed by secteam@ yet.
(OpenBSD changes stays in assumption they are reviewd by OpenBSD)
Yes, it means some old bugs returned, like not setted rs_stired = 1 in
arc4random_stir(3) causing double stirring.
Notes:
svn path=/head/; revision=180804
|
|
|
|
|
|
|
| |
Submitted by: Kostik Belousov
Notes:
svn path=/head/; revision=180792
|
|
|
|
|
|
|
| |
Obtained from: gonzo@
Notes:
svn path=/head/; revision=180734
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Unindent and sort variables.
2) Indent struct members.
3) Remove _packed, use guaranteed >128 bytes size and only first 128
bytes from the structure.
4) Reword comment.
Obtained from: bde
Notes:
svn path=/head/; revision=180713
|
|
|
|
|
|
|
|
| |
XXX Deprecated
alias in /sys/dev/random/randomdev.c
Notes:
svn path=/head/; revision=180700
|
|
|
|
| |
Notes:
svn path=/head/; revision=180696
|
|
|
|
|
|
|
| |
return just (arc4random() % upper_bound)
Notes:
svn path=/head/; revision=180690
|
|
|
|
|
|
|
| |
Obtained from: OpenBSD
Notes:
svn path=/head/; revision=180688
|
|
|
|
|
|
|
|
|
|
|
| |
suggested in the Ilya Mironov's article). 768 taken from another
research where it treats as default for RC4-drop(768):
http://www.users.zetnet.co.uk/hopwood/crypto/scan/cs.html#RC4-drop
Minor style tweak.
Notes:
svn path=/head/; revision=180687
|
|
|
|
| |
Notes:
svn path=/head/; revision=180677
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2) Use gettimeofday() and getpid() only if reading from /dev/urandom
fails or impossible.
3) Discard N bytes on very first initialization only (i.e. don't
discard on re-stir).
4) Reduce N from 1024 to 512 as really suggested in the
"(Not So) Random Shuffles of RC4" paper:
http://research.microsoft.com/users/mironov/papers/rc4full.pdf
Notes:
svn path=/head/; revision=180676
|
|
|
|
|
|
|
|
|
|
|
|
| |
2) Eliminate "struct arc4_stream *as" arg since only single arg is
possible.
3) Set rs.j = rs.i after arc4random key schedule to be more like arc4
stream cipher.
Obtained from: OpenBSD
Notes:
svn path=/head/; revision=180672
|
|
|
|
| |
Notes:
svn path=/head/; revision=180665
|
|
|
|
| |
Notes:
svn path=/head/; revision=180659
|
|
|
|
|
|
|
| |
Obtained from: OpenBSD
Notes:
svn path=/head/; revision=180657
|
|
|
|
|
|
|
| |
Obtained from: OpenBSD
Notes:
svn path=/head/; revision=180656
|
|
|
|
|
|
|
|
|
|
| |
2) Increase arc4_count to the limit OpenBSD use.
Submitted by: Thorsten Glaser <tg@mirbsd.de> (1)
Obtained from: OpenBSD (2)
Notes:
svn path=/head/; revision=180655
|
|
|
|
|
|
|
|
|
|
| |
the chunk map instead of red-black trees where possible. Remove the
red-black trees and node objects that are obsoleted by this change. The
net result is a ~1-2% memory savings, and a substantial allocation speed
improvement.
Notes:
svn path=/head/; revision=180599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. architecture-specific files
2. long double format-specific files
3. bsdsrc
4. src
5. man
The original order was virtually the opposite of this.
This should not cause any functional changes at this time. The
difference is only significant when one wants to override, say, a
generic foo.c with a more specialized foo.c (as opposed to foo.S).
Notes:
svn path=/head/; revision=180581
|