summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* ``Strong typing is a crutch for people with weak memories.''nectar2003-04-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | Correct a bug that should have wreaked havoc everywhere, but for some reason only bit unlucky people who use `-march' optimizations. The compiler cannot assist one in distinguishing between the two function calls below. int nsdispatch(void *, ...); void *discard; nsdispatch(&discard, ...); /* correct .. no, really! */ nsdispatch(discard, ...); /* Boom */ Robin provided me with a debugging environment in which I could see what was going on. Badness when using CPUTYPE was Reported by: "Robin P. Blanchard" <Robin.Blanchard@gactr.uga.edu> Reported by: nork Sponsored by: DARPA, Network Associates Laboratories
* Correct a bug that was somehow both obvious and hard-to-see. :-)nectar2003-04-211-1/+1
| | | | | | | | | | | | An incorrectly-sized allocation was being made due to an incorrect argument to the `sizeof' operator. Obvious, because it violated the `foo = malloc(sizeof(*foo))' idiom. Hard-to-see, because it was a missing `*' (`*p' versus `**p'). Resulting failure was Reported by: ache Sponsored by: DARPA, Network Associates Laboratories
* Don't try to access the NIS `master' maps unless we have superusernectar2003-04-211-7/+9
| | | | | | | | privileges. To do so may cause the NIS server to log spurious and annoying `access denied' messages. Reported by: Philip Paeps <philip@paeps.cx> Sponsored by: DARPA, Network Associates Laboratories
* Add FILES section to mac.3 and mac.conf.5. Properly Xref mac.conf.5rwatson2003-04-203-1/+22
| | | | | | | from mac.3; likewise, mac.conf.5 from mac_prepare.3. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add a man page for the mac.conf MAC library configuration file.rwatson2003-04-202-0/+105
| | | | | Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add the mac_prepare{,_*}() functions to the high-level function listrwatson2003-04-201-0/+11
| | | | | | | | in the mac.3 library man page. They were already cross-referenced at the end of the man page, just not explicitly listed here. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Repair a bug in which a faulty group entry (one with only 2 colons)nectar2003-04-201-8/+6
| | | | | | | | would result in an incorrectly terminated grouplist. login(1) crashes Reported by: Morten Rodal <morten@rodal.no>, Matthias Schuendehuette <msch@snafu.de>
* %E-like %g and %G conversions should remove trailing zeroes unlessdas2003-04-192-0/+14
| | | | | | | | the # flag is present. Implement this behavior and add a comment describing it. Noticed by: Enache Adrian <enache@rdslink.ro> Pointy hat to: das
* Follow-up to revision 1.74: Using the result buffer to store our emptynectar2003-04-181-22/+16
| | | | | | | string was an incredibly dumb idea (of course it will be changed by an NSS module on success!). Use a static empty string instead. Sponsored by: DARPA, Network Associates Laboratories
* Follow-up to revision 1.73: set _PWF_FILES when `compat' source is usednectar2003-04-181-4/+13
| | | | | | | but user is found in local file. Reported by: Shizuka Kudo <shizukakudo_99@yahoo.com> Sponsored by: DARPA, Network Associates Laboratories
* Don't use `memset' to initialize a struct passwd. A modulenectar2003-04-181-6/+31
| | | | | | | | | | | | | | | | may not fill in all fields, and in the case of string fields, this could cause trouble for applications. (The only likely example is `pw_class', because this field is not used by all modules in all cases.) Move initialization of struct passwd from module-specific code to the dispatch code. The problem of a NULL pw_class was Noticed by: Philip Paeps <philip@paeps.cx> and the c^Htrusty ssh(1) command. Déjà vu by: getpwent.c revision 1.56 Sponsored by: DARPA, Network Associates Laboratories
* Correctly set _PWF_FILES in pw_fields when appropriate.nectar2003-04-181-2/+6
| | | | | | | (_PWF_NIS and _PWF_HESIOD were already being set.) Reported by: Shizuka Kudo <shizukakudo_99@yahoo.com> Sponsored by: DARPA, Network Associates Laboratories
* Revert the definitions of _PW_KEY* to their previous values. There isnectar2003-04-181-2/+2
| | | | | | | | | | at least one consumer outside of libc and pwd_mkdb. Adjust the versioning in libc and pwd_mkdb accordingly. named was the application affected, and that fact was first Reported by: Zherdev Anatoly <tolyar@mx.ru> Sponsored by: DARPA, Network Associates Laboratories
* The default if nsswitch.conf(5) is not present is supposed to be thenectar2003-04-182-2/+2
| | | | | | | hated `compat' source, not `files'. Reported by: Philip Paeps <philip@paeps.cx> Sponsored by: DARPA, Network Associates Laboratories
* Add a manual page for the ntp_gettime syscall.trhodes2003-04-172-2/+106
| | | | Reviewed by: ru, phk (older version).
* = Implement thread-safe versions of the getpwent(3) and getgrent(3)nectar2003-04-174-1542/+2604
| | | | | | | | | | | | | | | | | | | | | | family of functions using the new nsdispatch(3) core. Remove arbitrary size limits when using the thread-safe versions. = Re-implement the traditional getpwent(3)/getgrent(3) functions on top of the thread-safe versions. = Update the on-disk format of the hashed version of the passwd(5) databases to allow for versioned entries. The legacy version is `3'. (Don't ask.) = Add support for version `4' entries in the passwd(5) database. Entries in this format are identical to version 3 entries except that all integers are stored as 32-bit integers in network byte order (big endian). = pwd_mkdb is updated to generate both version 3 and version 4 entries. Sponsored by: DARPA, Network Associates Laboratories
* = Implement name service switch modules (NSS modules). NSS modulesnectar2003-04-1711-205/+970
| | | | | | | | | | | | | | | | | | | | | may be built into libc (`static NSS modules') or dynamically loaded via dlopen (`dynamic NSS modules'). Modules are loaded/initialized at configuration time (i.e. when nsdispatch is called and nsswitch.conf is read or re-read). = Make the nsdispatch(3) core thread-safe. = New status code for nsdispatch(3) `NS_RETURN', currently used to signal ERANGE-type issues. = syslog(3) problems, don't warn/err/abort. = Try harder to avoid namespace pollution. = Implement some shims to assist in porting NSS modules written for the GNU C Library nsswitch interface. Sponsored by: DARPA, Network Associates Laboratories
* Clarify the relationship between the MAC library APIs and POSIX.1e:rwatson2003-04-161-2/+6
| | | | | | | | they resemble one another, but POSIX.1e interfaces were not sufficiently expressive to do what we needed. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add a manual page for the ntp_adjtime syscall.trhodes2003-04-152-1/+148
| | | | | PR: 32674 Reviewed by: phk, ru
* Merge in vfprintf.c rev. 1.58.tjr2003-04-141-9/+11
|
* Fix a bug where printf was erroneously printing a decimal point fordas2003-04-141-8/+10
| | | | | | | | | %f and sufficiently short %g specifiers where the precision was explicitly zero, no '#' flag was specified, and the floating point argument was > 0 and <= 0.5. While at it, add some comments to better explain the relevant bits of code. Noticed by: Christoph Kukulies <kuku@physik.rwth-aachen.de>
* Return "/boot/kernel/kernel" instead of "/kernel" if the sysctl() calltjr2003-04-111-1/+1
| | | | fails. The documentation was incorrectly updated in getbootfile.3 rev. 1.10.
* When called with s == NULL, behave as if wc == L'\0' as required by thetjr2003-04-101-1/+3
| | | | standard.
* /strtopx/ s/result/&result/das2003-04-092-2/+2
| | | | This is the version I *meant* to commit last week.
* o In struct prison, add an allprison linked list of prisons (protectedmike2003-04-092-3/+30
| | | | | | | | | | | | | | | by allprison_mtx), a unique prison/jail identifier field, two path fields (pr_path for reporting and pr_root vnode instance) to store the chroot() point of each jail. o Add jail_attach(2) to allow a process to bind to an existing jail. o Add change_root() to perform the chroot operation on a specified vnode. o Generalize change_dir() to accept a vnode, and move namei() calls to callers of change_dir(). o Add a new sysctl (security.jail.list) which is a group of struct xprison instances that represent a snapshot of active jails. Reviewed by: rwatson, tjr
* Bump the date.mdodd2003-04-071-1/+1
|
* Clarify the behavior of PATH_FSTAB with regard to 'tainted' execution.mdodd2003-04-071-0/+7
| | | | Requested by: ru
* - Add setfstab() and getfstab().mdodd2003-04-073-4/+71
| | | | | - Use the environment variable 'PATH_FSTAB' if set rather than the hardcoded '/etc/fstab' (fstab.h:_PATH_FSTAB)
* Catch up with recent vfprintf.c changes.tjr2003-04-071-175/+215
|
* __wcsconv(): free(convbuf) before returning NULLache2003-04-071-2/+4
|
* Today just isn't my day. Remove some old commented out code that snuckdas2003-04-071-1/+1
| | | | | | into the last commit. Noticed by: mike
* - %e conversions with precision 0 should not cause a decimal point todas2003-04-071-18/+22
| | | | | | | | be printed. - Fix %f conversions where the number of significant digits is < expt. This would be a one-line change were it not for thousands separators. Noticed by tjr. - Remove some unnecessary code in the parsing of precision specifiers.
* Rework the floating point code in printf(). Significant changes:das2003-04-052-151/+191
| | | | | | | | | | | | | | | | | | - We used to round long double arguments to double. Now we print them properly. - Bugs involving '%F', corner cases of '#' and 'g' format specifiers, and the '.*' precision specifier have been fixed. - Added support for the "'" specifier to print thousands' grouping characters in a locale-dependent manner. - Implement the __vfprintf() side of hexadecimal floating point support. All that is still needed is a routine to convert the mantissa to hex digits one nibble at a time in the style of ultoa(). Reviewed by: silence on standards@
* Add __ldtoa(), a wrapper around gdtoa() to make it look like dtoa().das2003-04-058-1/+135
| | | | | | | In support of this, add some MD macros to assist in converting long doubles to the format expected by gdtoa(). Reviewed by: silence on standards@
* Add missing #include to unbreak previous commit.das2003-04-051-0/+1
|
* Correct some buffer sizes.das2003-04-053-23/+42
| | | | | | | | | | - __vfprintf()'s 'buf' has never been used for floating point, so don't define it in terms of (incorrect) constants describing floating point numbers. The actual size needed depends on sizeof(uintmax_t) and locale details, so I slightly overestimated. - We don't need a 308-character buffer to store the string "308". With long doubles and %a we need more than three characters, though.
* MFp4: Link strtof.3 and strtold.3 to strtod.3.tjr2003-04-051-0/+1
|
* Zero out the struct tm supplied by the caller. Otherwise,mtm2003-04-051-0/+1
| | | | | | | | strange things might happen when garbage values in the struct get passed in to localtime_r() and family. Noticed by: marcus Approved by: markm (mentor)(implicit)
* MFp4: Pentium/Athlon-optimised implementation of wcschr().tjr2003-04-052-1/+78
|
* Implement makecontext.jake2003-04-013-3/+129
|
* [1] - Document EHOSTUNREACH as a possible errorceri2003-04-011-1/+3
| | | | | | | | [2] - Remove a contraction PR: docs/50401 Submitted by: [1] Slaven Rezic <slaven@rezic.de> MFC after: 1 week
* Add a facility allowing processes to inform the VM subsystem they arewes2003-03-311-0/+9
| | | | | | | | critical and should not be killed when pageout is looking for more memory pages in all the wrong places. Reviewed by: arch@ Sponsored by: St. Bernard Software
* BDE'ifyfjoe2003-03-291-79/+89
|
* fix truncation check and buffer overflow checkfjoe2003-03-291-11/+11
|
* Align signal frame placed on stack to 16 bytes so that SSE FPU registerdeischen2003-03-291-1/+2
| | | | | | restores can work. Also correct allocation for signal frame size. Reviewed by: mini
* Fill in the rest of the fields in the resulting struct tmmtm2003-03-291-2/+3
| | | | | | | | | | from strptime(3). Previously, they would get filled only for the %s specifier and as a side effect of using the the %Z specifier with a GMT time zone. PR: misc/48993 Approved by: markm (mentor) Silence on: -standards
* - MAXPATHLEN -> PATH_MAX (pass correct buffer size to readlink as well)fjoe2003-03-281-17/+17
| | | | Requested by: bde
* Make realpath() thread-safe. New implementation does not use chdir(2) at all.fjoe2003-03-272-111/+128
| | | | Submitted by: Constantin S. Svintsoff <kostik (at) iclub.nsu.ru>
* - Define a _spinunlock() function so that threading implementations may dojeff2003-03-262-1/+11
| | | | | | more complicated things than just setting the lock to 0. - Implement stubs for this function in libc and the two threading libraries that are currently in the tree.
* The .Fn functioncharnier2003-03-244-7/+11
| | | | The ... 2 system call
OpenPOWER on IntegriCloud