summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Gcc barfs in glob.c when run with -O3. To fix this make g_strchr() work onmtm2008-06-261-5/+5
| | | | | | | and return (const Char *) pointers instead of just (Char *) and get rid of all the type casting. PR: kern/124334
* Enable GCC stack protection (aka Propolice) for userland:ru2008-06-251-0/+6
| | | | | | | | | | | | | | | | | | | | | - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64. Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work. Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
* Turn execvpe() into an internal libc routine.ed2008-06-236-19/+12
| | | | | | | | | | | | Adding exevpe() has caused some ports to break. Even though execvpe() is a useful routine, it does not conform to any standards. This patch is a little bit different from the patch sent to the mailing list. I forgot to remove execvpe from the Symbol.map (which does not seem to miscompile libc, though). Reviewed by: davidxu Approved by: philip
* Add Xr to getsockname(2)phk2008-06-201-0/+1
|
* Process spawn attributes in POSIX document order.davidxu2008-06-191-21/+22
|
* Don't export the unused __use_pts() routine.ed2008-06-172-2/+1
| | | | | | | | | | The __use_pts() routine was once probably used by libutil to determine if we are using BSD or UNIX98 style PTY device names. It doesn't seem to be used outside grantpt.c, which means we can make it static and remove it from the Symbol.map. Reviewed by: cognet, kib Approved by: philip (mentor)
* Style fix.davidxu2008-06-171-1/+2
|
* Change my email address to the one from the FreeBSD project.ed2008-06-171-1/+1
| | | | Approved by: philip (mentor, implicit), davidxu
* Add POSIX routines called posix_spawn() and posix_spawnp(), whichdavidxu2008-06-175-14/+532
| | | | | | | | | can be used as replacements for exec/fork in a lot of cases. This change also added execvpe() which allows environment variable PATH to be used for searching executable file, it is used for implementing posix_spawnp(). PR: standards/122051
OpenPOWER on IntegriCloud