summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Add EPERM to the ERRORS section.trhodes2008-08-041-1/+3
| | | | PR: 125746
* Initialize "nconv" to a reasonable value in all code paths. Prior tocperciva2008-08-041-1/+3
| | | | | | | this commit, sprintf("%s", "") could fail depending on what happened to be on the stack. Found by: LLVM/Clang Static Checker
* Set "max" to a reasonable value if BLOCKSIZE has a bogus unit. Priorcperciva2008-08-041-0/+1
| | | | | | | | | 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
* Restructure and use different variables in the tests that involvescf2008-08-031-13/+15
| | | | | | | | | 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
* Add EAGAIN to the ERRORS list, as found in kern_jail.c.trhodes2008-08-031-1/+3
| | | | | PR: 125253 Submitted by: Mateusz Guzik <mjguzik@gmail.com> (original version)
* Restored from previous backing out (because that is OpenBSD way, soache2008-08-031-12/+16
| | | | | | | | | 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
* remove whitespace bug (8 spaces into one tab)remko2008-08-021-1/+1
| | | | Submitted by: ed
* Teach fmtcheck() about wint_t, intmax_t, char *, intmax_t *, anddas2008-08-022-37/+99
| | | | | | | | | 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.
* Detect if the application has cleared the environ variable by settingscf2008-08-021-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Convert popen()'s `pidlist' to a SLIST, for consistency.ed2008-07-291-11/+13
| | | | | | | | | | | | | 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)
* Fix a few bugs with the _gettemp() routine which implements mkstemp(),jhb2008-07-281-11/+26
| | | | | | | | | | | | | | | 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
* Fix the email address formats in some posix_spawn(3) manpages.ed2008-07-282-2/+2
| | | | | | | | 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)
* Add manual pages for posix_spawn() functions.davidxu2008-07-2811-1/+1483
| | | | PR: standards/122051
* Per rwatson's request:ache2008-07-251-29/+17
| | | | | | | | | | | | "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.
* Fix cut-n-paste-ojulian2008-07-251-1/+1
| | | | Submitted by: Kostik Belousov
* Fixes based on bde's feedback.ache2008-07-221-9/+9
| | | | | | | | | | 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
* Change /dev/urandom to /dev/random since urandom marked asache2008-07-221-1/+1
| | | | | XXX Deprecated alias in /sys/dev/random/randomdev.c
* Use arc4random_uniform(3) since modulo size is not power of 2ache2008-07-221-1/+1
|
* In arc4random_uniform() detect simple "power of two" case andache2008-07-221-1/+5
| | | | return just (arc4random() % upper_bound)
* Add arc4random_uniform() function (to avoid "modulo bias")ache2008-07-224-1/+58
| | | | Obtained from: OpenBSD
* Increase initially dropped bytes from 512 to 768 (768 is alsoache2008-07-221-3/+3
| | | | | | | | 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.
* Add feature_present(3) to the FBSD 1.1 symbol map.jhb2008-07-211-0/+1
|
* 1) Use __packed attr on rdat structure to make it exact 128 bytes.ache2008-07-211-10/+17
| | | | | | | | | | 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
* 1) Update copyright notice.ache2008-07-211-43/+53
| | | | | | | | | 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
* Add arc4random_buf to FBSD_1.1 spaceache2008-07-211-0/+1
|
* Add arc4random_buf.3 to MLINKSache2008-07-211-1/+2
|
* Implement arc4random_buf() functionache2008-07-212-4/+28
| | | | Obtained from: OpenBSD
* Decrease arc4_count only when needed and with proper bytes amount.ache2008-07-211-1/+2
| | | | Obtained from: OpenBSD
* 1) Set stired flag after forced initialization.ache2008-07-211-1/+2
| | | | | | | 2) Increase arc4_count to the limit OpenBSD use. Submitted by: Thorsten Glaser <tg@mirbsd.de> (1) Obtained from: OpenBSD (2)
* Enhance arena_chunk_map_t to directly support run coalescing, and usejasone2008-07-181-394/+338
| | | | | | | 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.
* Make it more clear what it means that SA_RESTART is set for signalsimon2008-07-171-3/+5
| | | | | | | handlers added with signal(3). Submitted by: gnn (slightly modified by me) MFC after: 1 week
* Update the definition of modspecific structuredanger2008-07-151-3/+3
| | | | PR: docs/125630
* The libc acl_valid(3) function validates the contents of a POSIX.1e ACL.rwatson2008-07-131-8/+2
| | | | | | | | | | This change removes the requirement that an ACL contain no ACL_USER entries with a uid the same as those of a file, or ACL_GROUP entries with a gid the same as those of a file. This requirement is not in the specification, and not enforced by the kernel's ACL implementation. Reported by: Iustin Pop <iusty at k1024 dot org> MFC after: 1 week
* Update the ktr_header structure, which changed over time.remko2008-07-131-4/+4
| | | | | | PR: 125546 Submitted by: Mateusz Guzik <mjguzik at gmail dot com> MFC after: 3 days
* Put the _cpuset* symbols in FBSDprivate_1.0 instead of trying to putbrooks2008-07-111-5/+5
| | | | nonexistant __cpuset* there.
* - This code was intially obtained from NetBSD, but it's missing licencedanger2008-07-061-1/+29
| | | | | | | | | statement. Add the one from the current NetBSD version. - Also bump a date to reflect my content changes I have done in previous revision Approved by: imp MFC after: 3 days
* - Add description about a missing return valuedanger2008-07-061-2/+6
| | | | | | PR: docs/75995 Submitted by: Tarc <tarc@po.cs.msu.su> MFC after: 3 days
* - remove superfluous worddanger2008-07-061-3/+3
| | | | | | - remove contractions MFC after: 3 days
* - AI_ALL and AI_V4MAPPED flags are currently not supporteddanger2008-07-011-1/+18
| | | | | PR: docs/120248 Submitted by: Heiko Wundram <wundram (a) beenic.net>
* - Forgot to bump a date after last changedanger2008-06-301-1/+1
|
* Fix a bogon in the previous commit and add some missing error checks.das2008-06-291-9/+12
|
* Correctly handle malloc() failure. While here, reduce the code size adas2008-06-294-103/+162
| | | | bit by removing some calls to the inline function addtype().
* Factor out the code that builds the argument table. We don't need separatedas2008-06-291-130/+47
| | | | | | normal and wide character versions of it. No functional change.
* Reduce the level of duplication between vfprintf() and vfwprintf()das2008-06-295-975/+888
| | | | | | by moving the positional argument handling code to a new file, printf-pos.c, and moving common definitions to printflocal.h. No functional change intended.
* Begin de-spaghettifying the code that handles positional arguments.das2008-06-292-188/+306
| | | | | | | | | | | | | | In particular, encapsulate the state of the type table in a struct, and add inline functions to initialize, free, and manipulate that state. This replaces some ugly macros that made proper error handling impossible. While here, remove an unneeded test for NULL and a variable that is initialized (many times!) but never used. The compiler didn't catch these because of rampant use of the same variable to mean different things in different places. This commit should not cause any changes in functionality.
* Make it clearer that it is possible to disable the generation ofdas2008-06-291-4/+4
| | | | | | SIGPIPE for individual sockets (PR: kern/118626). While here, s/insure/ensure/.
* We should also save and restore the MXCSR as on amd64, but detectingdas2008-06-282-2/+0
| | | | whether the CPU supports SSE or not here is rather odious.
* Two FP-related setjmp/longjmp changes:das2008-06-282-2/+20
| | | | | | | | | | | | | | | 1. Save and restore the control part of the MXCSR in addition to the i387 control word to ensure that the two are consistent. Note that standards don't require longjmp to restore either control word, and none of Linux, MacOS X 10.3 and earlier, NetBSD, OpenBSD, or Solaris do it. However, it is historical FreeBSD behavior, and bde points out that it is needed to make longjmping out of a signal handler work properly, given the way FreeBSD clobbers the FPU state on signal handler entry. 2. Don't clobber the FPU exception flags in longjmp. C99 requires them to remain unchanged.
* - add description of the MLINK errordanger2008-06-261-0/+3
| | | | | PR: docs/123019 MFC after: 3 days
* Mark the section describing return values with an appropriate section flag.danger2008-06-261-1/+1
| | | | | PR: docs/122818 MFC after: 3 days
OpenPOWER on IntegriCloud