summaryrefslogtreecommitdiff
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Fix the email address formats in some posix_spawn(3) manpages.Ed Schouten2008-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) Notes: svn path=/head/; revision=180876
* Add manual pages for posix_spawn() functions.David Xu2008-07-2811-1/+1483
| | | | | | | PR: standards/122051 Notes: svn path=/head/; revision=180867
* Per rwatson's request:Andrey A. Chernov2008-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. Notes: svn path=/head/; revision=180804
* Fix cut-n-paste-oJulian Elischer2008-07-251-1/+1
| | | | | | | Submitted by: Kostik Belousov Notes: svn path=/head/; revision=180792
* Fixes based on bde's feedback.Andrey A. Chernov2008-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 Notes: svn path=/head/; revision=180713
* Change /dev/urandom to /dev/random since urandom marked asAndrey A. Chernov2008-07-221-1/+1
| | | | | | | | XXX Deprecated alias in /sys/dev/random/randomdev.c Notes: svn path=/head/; revision=180700
* Use arc4random_uniform(3) since modulo size is not power of 2Andrey A. Chernov2008-07-221-1/+1
| | | | Notes: svn path=/head/; revision=180696
* In arc4random_uniform() detect simple "power of two" case andAndrey A. Chernov2008-07-221-1/+5
| | | | | | | return just (arc4random() % upper_bound) Notes: svn path=/head/; revision=180690
* Add arc4random_uniform() function (to avoid "modulo bias")Andrey A. Chernov2008-07-224-1/+58
| | | | | | | Obtained from: OpenBSD Notes: svn path=/head/; revision=180688
* Increase initially dropped bytes from 512 to 768 (768 is alsoAndrey A. Chernov2008-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. Notes: svn path=/head/; revision=180687
* Add feature_present(3) to the FBSD 1.1 symbol map.John Baldwin2008-07-211-0/+1
| | | | Notes: svn path=/head/; revision=180677
* 1) Use __packed attr on rdat structure to make it exact 128 bytes.Andrey A. Chernov2008-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 Notes: svn path=/head/; revision=180676
* 1) Update copyright notice.Andrey A. Chernov2008-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 Notes: svn path=/head/; revision=180672
* Add arc4random_buf to FBSD_1.1 spaceAndrey A. Chernov2008-07-211-0/+1
| | | | Notes: svn path=/head/; revision=180665
* Add arc4random_buf.3 to MLINKSAndrey A. Chernov2008-07-211-1/+2
| | | | Notes: svn path=/head/; revision=180659
* Implement arc4random_buf() functionAndrey A. Chernov2008-07-212-4/+28
| | | | | | | Obtained from: OpenBSD Notes: svn path=/head/; revision=180657
* Decrease arc4_count only when needed and with proper bytes amount.Andrey A. Chernov2008-07-211-1/+2
| | | | | | | Obtained from: OpenBSD Notes: svn path=/head/; revision=180656
* 1) Set stired flag after forced initialization.Andrey A. Chernov2008-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) Notes: svn path=/head/; revision=180655
* Enhance arena_chunk_map_t to directly support run coalescing, and useJason Evans2008-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. Notes: svn path=/head/; revision=180599
* Make it more clear what it means that SA_RESTART is set for signalSimon L. B. Nielsen2008-07-171-3/+5
| | | | | | | | | | handlers added with signal(3). Submitted by: gnn (slightly modified by me) MFC after: 1 week Notes: svn path=/head/; revision=180578
* Update the definition of modspecific structureDaniel Gerzo2008-07-151-3/+3
| | | | | | | PR: docs/125630 Notes: svn path=/head/; revision=180534
* The libc acl_valid(3) function validates the contents of a POSIX.1e ACL.Robert Watson2008-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 Notes: svn path=/head/; revision=180493
* Update the ktr_header structure, which changed over time.Remko Lodder2008-07-131-4/+4
| | | | | | | | | PR: 125546 Submitted by: Mateusz Guzik <mjguzik at gmail dot com> MFC after: 3 days Notes: svn path=/head/; revision=180491
* Put the _cpuset* symbols in FBSDprivate_1.0 instead of trying to putBrooks Davis2008-07-111-5/+5
| | | | | | | nonexistant __cpuset* there. Notes: svn path=/head/; revision=180448
* - This code was intially obtained from NetBSD, but it's missing licenceDaniel Gerzo2008-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 Notes: svn path=/head/; revision=180329
* - Add description about a missing return valueDaniel Gerzo2008-07-061-2/+6
| | | | | | | | | PR: docs/75995 Submitted by: Tarc <tarc@po.cs.msu.su> MFC after: 3 days Notes: svn path=/head/; revision=180325
* - remove superfluous wordDaniel Gerzo2008-07-061-3/+3
| | | | | | | | | - remove contractions MFC after: 3 days Notes: svn path=/head/; revision=180323
* - AI_ALL and AI_V4MAPPED flags are currently not supportedDaniel Gerzo2008-07-011-1/+18
| | | | | | | | PR: docs/120248 Submitted by: Heiko Wundram <wundram (a) beenic.net> Notes: svn path=/head/; revision=180162
* - Forgot to bump a date after last changeDaniel Gerzo2008-06-301-1/+1
| | | | Notes: svn path=/head/; revision=180113
* Fix a bogon in the previous commit and add some missing error checks.David Schultz2008-06-291-9/+12
| | | | Notes: svn path=/head/; revision=180107
* Correctly handle malloc() failure. While here, reduce the code size aDavid Schultz2008-06-294-103/+162
| | | | | | | bit by removing some calls to the inline function addtype(). Notes: svn path=/head/; revision=180106
* Factor out the code that builds the argument table. We don't need separateDavid Schultz2008-06-291-130/+47
| | | | | | | | | normal and wide character versions of it. No functional change. Notes: svn path=/head/; revision=180105
* Reduce the level of duplication between vfprintf() and vfwprintf()David Schultz2008-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. Notes: svn path=/head/; revision=180104
* Begin de-spaghettifying the code that handles positional arguments.David Schultz2008-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. Notes: svn path=/head/; revision=180102
* Make it clearer that it is possible to disable the generation ofDavid Schultz2008-06-291-4/+4
| | | | | | | | | SIGPIPE for individual sockets (PR: kern/118626). While here, s/insure/ensure/. Notes: svn path=/head/; revision=180097
* We should also save and restore the MXCSR as on amd64, but detectingDavid Schultz2008-06-282-2/+0
| | | | | | | whether the CPU supports SSE or not here is rather odious. Notes: svn path=/head/; revision=180081
* Two FP-related setjmp/longjmp changes:David Schultz2008-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. Notes: svn path=/head/; revision=180080
* - add description of the MLINK errorDaniel Gerzo2008-06-261-0/+3
| | | | | | | | PR: docs/123019 MFC after: 3 days Notes: svn path=/head/; revision=180030
* Mark the section describing return values with an appropriate section flag.Daniel Gerzo2008-06-261-1/+1
| | | | | | | | PR: docs/122818 MFC after: 3 days Notes: svn path=/head/; revision=180024
* Gcc barfs in glob.c when run with -O3. To fix this make g_strchr() work onMike Makonnen2008-06-261-5/+5
| | | | | | | | | | and return (const Char *) pointers instead of just (Char *) and get rid of all the type casting. PR: kern/124334 Notes: svn path=/head/; revision=180021
* Enable GCC stack protection (aka Propolice) for userland:Ruslan Ermilov2008-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> Notes: svn path=/head/; revision=180012
* Turn execvpe() into an internal libc routine.Ed Schouten2008-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 Notes: svn path=/head/; revision=179947
* Add Xr to getsockname(2)Poul-Henning Kamp2008-06-201-0/+1
| | | | Notes: svn path=/head/; revision=179892
* Process spawn attributes in POSIX document order.David Xu2008-06-191-21/+22
| | | | Notes: svn path=/head/; revision=179866
* Don't export the unused __use_pts() routine.Ed Schouten2008-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) Notes: svn path=/head/; revision=179846
* Style fix.David Xu2008-06-171-1/+2
| | | | Notes: svn path=/head/; revision=179841
* Change my email address to the one from the FreeBSD project.Ed Schouten2008-06-171-1/+1
| | | | | | | Approved by: philip (mentor, implicit), davidxu Notes: svn path=/head/; revision=179840
* Add POSIX routines called posix_spawn() and posix_spawnp(), whichDavid Xu2008-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 Notes: svn path=/head/; revision=179838
* Make it clearer that privilege is needed to reduce as well asTony Finch2008-06-161-1/+1
| | | | | | | increase group membership. Notes: svn path=/head/; revision=179823
* Bring missing getsockopt(2) options: SO_LABEL SO_PEERLABEL SO_LISTENQLIMITWojciech A. Koszek2008-06-121-2/+29
| | | | | | | | | | | SO_LISTENQLEN SO_LISTENINCQLEN to the manual page. Till now those were only present in sys/socket.h file. Reviewed by: rwatson, gnn, keramida (with mdoc hat) Notes: svn path=/head/; revision=179768