summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Assorted spelling, punctuation and mdoc fixes.brueffer2007-09-255-36/+39
| | | | Approved by: re (blanket)
* The precision for a string argument in a call to warnx() needs to be castscf2007-09-221-1/+2
| | | | | | | | | to an int to remove the warning from using a size_t variable on 64-bit platforms. Submitted by: Xin LI <delphij@FreeBSD.org> Approved by: wes Approved by: re (kensmith)
* Add FreeBSD history.obrien2007-09-211-1/+3
| | | | Approved by: re(ken)
* Fix some improper handling of malloc failuresmatteo2007-09-205-30/+53
| | | | | | | PR: bin/83344 , kern/81987 Reviewed by: alfred Approved by: re (kensmith) MFC after: 1 week
* - Fix description to say "receive" instead of "send"gabor2007-09-201-2/+2
| | | | | | PR: docs/115466 Submitted by: Bruce Cran <bruce@cran.org.uk> Approved by: re (bmah)
* Skip rebuilding environ in setenv() only upon reuse of an active variable;scf2007-09-151-2/+2
| | | | | | | | | | | inactive variables should cause a rebuild of environ, otherwise, exec()'d processes will be missing a variable in environ that has been unset then set. Submitted by: Taku Yamamoto <taku@tackymt.homeip.net> Reviewed by: ache Approved by: wes (mentor) Approved by: re (kensmith)
* Use better manuals for these ntp system calls. These were replaced byimp2007-09-153-201/+258
| | | | | | | the netbsd versions, and tweaked by me with suggestions from phk. Reviewed by: phk Approved by: re@
* We've been able to support EVFILT_VNODE filtering on non-UFSru2007-09-071-6/+1
| | | | | | | | file systems since 2005. Submitted by: Igor Sysoev Approved by: re (bmah) MFC after: 3 days
* ensure the head entry of addrinfo chain has non-NULL ai_canonname to bejinmei2007-09-051-2/+19
| | | | | | | | | compliant with RFC3493. PR: standards/114910 Approved by: ume (mentor) Approved by: re MFC after: 1 week
* Add thr_kill2 syscall.davidxu2007-08-221-0/+3
| | | | | Submitted by: Tijl Coosemans tijl at ulyssis dot org Approved by: re (kensmith)
* - Getipnodebyname() and getipnodebyaddr() reimplemented throughbushman2007-07-311-1387/+72
| | | | | | gethostbyname() and gethostbyaddr() accordingly Approved by: re (kensmith), brooks (mentor)
* - take out a needless panic under invariants for sctp_output.crrs2007-07-241-6/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix addrs's error checking of sctp_sendx(3) when addrcnt is less than SCTP_SMALL_IOVEC_SIZE - re-add back inpcb_bind local address check bypass capability - Fix it so sctp_opt_info is independant of assoc_id postion. - Fix cookie life set to use MSEC_TO_TICKS() macro. - asconf changes o More comment changes/clarifications related to the old local address "not" list which is now an explicit restricted list. o Rename some functions for clarity: - sctp_add/del_local_addr_assoc to xxx_local_addr_restricted() - asconf related iterator functions to sctp_asconf_iterator_xxx() o Fix bug when the same address is deleted and added (and removed from the asconf queue) where the ifa is "freed" twice refcount wise, possibly freeing it completely. o Fix bug in output where the first ASCONF would not go out after the last address is changed (e.g. only goes out when retransmitted). o Fix bug where multiple ASCONFs can be bundled in the same packet with the and with the same serial numbers. o Fix asconf stcb iterator to not send ASCONF until after all work queue entries have been processed. o Change behavior so that when the last address is deleted (auto asconf on a bound all endpoint) no action is taken until an address is added; at that time, an ASCONF add+delete is sent (if the assoc is still up). o Fix local address counting so that address scoping is taken into account. o #ifdef SCTP_TIMER_BASED_ASCONF the old timer triggered sending of ASCONF (after an RTO). The default now is to send ASCONF immediately (except for the case of changing/deleting the last usable address). Approved by: re(ken smith)@freebsd.org
* Set timeout for all NIS RPC requests to 1 second and not just forsimon2007-07-241-8/+8
| | | | | | | | | | | | yp_next as revision 1.50 did. This should fix, or at least very much reduce the risk of, NIS timing out due to UDP packet loss for NIS functions. See also revision 1.50 for more details about the general problem. Tested by: nosedive, freefall, hub, mx1, brooks MFC after: 1 week Approved by: re (mux)
* Added environ-replacement detection. For programs that "clean" (i.e., su)scf2007-07-201-78/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | or replace (i.e., zdump) the environment after a call to setenv(), putenv() or unsetenv() has been made, a few changes were made. - getenv() will return the value from the new environ array. - setenv() was split into two functions: __setenv() which is most of the previous setenv() without checks on the name and setenv() which contains the checks before calling __setenv(). - setenv(), putenv() and unsetenv() will unset all previous values and call __setenv() on all entries in the new environ array which in turn adds them to the end of the envVars array. Calling __setenv() instead of setenv() is done to avoid the temporary replacement of the '=' in a string with a NUL byte. Some strings may be read-only data. Added more regression checks for clearing the environment array. Replaced gettimeofday() with getrusage() in timing regression check for better accuracy. Fixed an off-by-one bug in __remove_putenv() in the use of memmove(). This went unnoticed due to the allocation of double the number of environ entries when building envVars. Fixed a few spelling mistakes in the comments. Reviewed by: ache Approved by: wes Approved by: re (kensmith)
* Take a sentence into the present by removing a reference to FreeBSD 3.0.brueffer2007-07-141-4/+2
| | | | | Approved by: re (blanket) MFC after: 3 days
* - Modular congestion control, with RFC2581 being the default.rrs2007-07-141-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | - CMT_PF states added (w/sysctl to turn the PF version on) - sctp_input.c had a missing incr of cookie case when the auth was bad. This meant a free was called without an increment to refcnt, added increment like rest of code. - There was a case, unlikely, when the scope of the destination changed (this is a TSNH case). In that case, it would not free the alloc'ed asoc (in sctp_input.c). - When listed addresses found a colliding cookie/Init, then the collided upon tcb was not unlocked in sctp_pcb.c - Add error checking on arguments of sctp_sendx(3) to prevent it from referencing a NULL pointer. - Fix an error return of sctp_sendx(3), it was returing ENOMEM not -1. - Get assoc id was changed to use the sanctified socket api method for getting a assoc id (PEER_ADDR_INFO instead of PEER_ADDR_PARAMS). - Fix it so a peeled off socket will get a proper error return if it trys to send to a different address then it is connected to. - Fix so that select_a_stream can avoid an endless loop that could hang a caller. - time_entered (state set time) was not being set in all cases to the time we went established. Approved by: re(ken smith)
* Fix a typo that prevented the quad symbols from being exporteddeischen2007-07-061-1/+1
| | | | | | | (s/SYM_MAP/SYM_MAPS/). Reported by: kan Approved by: re@ (Ken Smith)
* Fix remaining syntax errors (missing semicolons)peter2007-07-051-2/+2
| | | | | Submitted by: Björn König <bkoenig@cs.tu-berlin.de> Approved by: re (kensmith, followup commits)
* Add missing \ characters in PSEUDO() macro on arm. Oops.peter2007-07-041-2/+2
| | | | | Submitted by: cognet Approved by: re (kensmith)
* Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate topeter2007-07-049-9/+119
| | | | | | | | | call the pad-less versions of the corresponding syscalls if the running kernel supports it. Check kern.osreldate once per program and cache the result to select the appropriate syscall. This maintains userland compatability with kernel.old's from quite a while back. Approved by: re (kensmith)
* Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudopeter2007-07-047-22/+35
| | | | | | | | | | syscalls, unless WITHOUT_SYSCALL_COMPAT is defined. The default case will have the .c wrappers still. If you define WITHOUT_SYSCALL_COMPAT, the .c wrappers will go away and libc will make direct syscalls. After 7-stable starts, the direct syscall method will be default. Approved by: re (kensmith)
* Adjust the syscall stub macros to be consistent in their meaning. Inpeter2007-07-045-34/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | particular: SYSCALL() makes a syscall, with errno handling, and continues execution directly after the macro in the non-error case. RSYSCALL() is just like SYSCALL(), but returns after success. Both SYSCALL(name) and RSYSCALL(name) export "__sys_name" as a strong symbol, with "_name" and "name" as weak aliases. PSEUDO() is just like RSYSCALL(), but skipping the "name" weak alias. It still does "__sys_name" and "_name". Change i386 to add errno handling to PSEUDO. The same for amd64 and sparc64, with appear to have copied the behavior. ia64 was correct (as was alpha). Just remove some apparently unused variants of the macros. (untested!) I believe powerpc is correct. Fix arm to not export "name" from the PSEUDO case. Remove apparently extra unused variants. (untested!) The errno problem manifested on i386/amd64/sparc64 by having "PSEUDO" classified syscalls return without setting errno. eg: "addr = mmap()" could return with "addr" = 22 instead of setting errno to 22 and returning -1. Approved by: re (kensmith)
* Fix missing prototype warnings. (Compile errors with -Werror on)peter2007-07-041-2/+2
| | | | | | | When using namespace.h/un-namespace.h, you use _ versions of syscalls. Change getsockopt() to _getsockopt() and same for setsockopt(). Approved by: re
* Significantly reduce the memory leak as noted in BUGS section forscf2007-07-045-259/+622
| | | | | | | | | | | | | | | | | | | | | | | | | | setenv(3) by tracking the size of the memory allocated instead of using strlen() on the current value. Convert all calls to POSIX from historic BSD API: - unsetenv returns an int. - putenv takes a char * instead of const char *. - putenv no longer makes a copy of the input string. - errno is set appropriately for POSIX. Exceptions involve bad environ variable and internal initialization code. These both set errno to EFAULT. Several patches to base utilities to handle the POSIX changes from Andrey Chernov's previous commit. A few I re-wrote to use setenv() instead of putenv(). New regression module for tools/regression/environ to test these functions. It also can be used to test the performance. Bump __FreeBSD_version to 700050 due to API change. PR: kern/99826 Approved by: wes Approved by: re (kensmith)
* - Removes some incorrect error returns (errno was being overriden inrrs2007-07-021-4/+2
| | | | | | | | one of the functions) - Fixes the error return of sctp_get_opt, it was returning the errno not -1. Approved by: re@freebsd.org (Robert Watson) Obtained from: Weongyo Jeong (weongyo.jeong@gmail.com)
* Fix sbrk.S to use _end symbol the same way brk.s was fixed some timekan2007-06-271-2/+2
| | | | | | | ago. sbrk.S should have gotten the same change then but was forgotten. Approved by: re (bmah) PR: kern/114049
* Add missing semi-colon.mjacob2007-06-261-1/+1
| | | | Approved by: re (not really, but it's better to have things compile than not for right now. Sorry)
* - Fix wrong error return (the errno was being returned and not placedrrs2007-06-251-10/+24
| | | | | | | | | in errno) - Found by Weongyo Jeong - Remove two extra un-needed memset() after calloc()'s - Found by Weongyo Jeong - Tightened up parameter requirement checking on input to bindx/connectx per socket api spec. Approved by: re@freebsd.org(Ken Smith)
* - Fix incorrect error return on sctp_getaddrlenrrs2007-06-221-3/+3
| | | | | | | | | - Fix a memory leak when a non v4/v6 address was passed in. - Take out strange line that copy's back to the src array incorrectly (corrupting the input array). Approved by: re(bmah@freebsd.org) Obtained from: Weongyo Jeong(weongyo.jeong@gmail.com)
* Clean up after previous commit: new sentence -> new line, no empty lines,brueffer2007-06-191-4/+6
| | | | | | .Fa macro usage. Approved by: re (blanket)
* - Fix the signature of sctp_connectx to match the function and adds somerrs2007-06-191-2/+6
| | | | | text about the last argument. Approved by: re (bmah@freebsd.org)
* Major cleanup: mdoc macros, style, typos etc.brueffer2007-06-1810-216/+320
|
* Add rewind() to the list of functions which may fail and set errnoache2007-06-181-1/+2
|
* Add mbstate clear missed in one of the cases.ache2007-06-181-5/+6
| | | | Move overflow check for fseek as early as needed.
* Fix library names.davidxu2007-06-1810-10/+10
|
* Add information about the implications of using mmap(2) instead of sbrk(2).jasone2007-06-151-1/+19
| | | | Submitted by: bmah, jhb
* Fix junk/zero filling for realloc(). Junk filling was missing in one case,jasone2007-06-151-36/+48
| | | | | | and zero filling was broken in a way that could cause memory corruption. Update comments.
* Use an array of size NGROUP_MAX for the getgroups() call instead of NGRP.harti2007-06-141-2/+4
| | | | | When NGROUP_MAX is larger than NGRP the call used to fail. Now the call succeedes, but only the first NGRP groups are actually used for authentication.
* Require users to provide a length information for inet_ntoa_r,delphij2007-06-142-5/+6
| | | | | | this is common on other platforms. Reported by: pointyhat via kris
* Catch up with the code.brueffer2007-06-131-2/+2
| | | | Submitted by: peter
* Fix yet another (make install) stopper with wrong sourcefilter.3 linksache2007-06-121-2/+2
|
* Fix typo in filename from mismerged earlier rev of this file.bms2007-06-121-1/+1
|
* Fix a typo which crept in from an earlier version of this file.bms2007-06-121-2/+2
|
* Add missing userland support files from previous commit for the newbms2007-06-122-0/+587
| | | | multicast source filter API functions.
* Import rewrite of IPv4 socket multicast layer to support source-specificbms2007-06-122-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and protocol-independent host mode multicast. The code is written to accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work. This change only pertains to FreeBSD's use as a multicast end-station and does not concern multicast routing; for an IGMPv3/MLDv2 router implementation, consider the XORP project. The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6, which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html Summary * IPv4 multicast socket processing is now moved out of ip_output.c into a new module, in_mcast.c. * The in_mcast.c module implements the IPv4 legacy any-source API in terms of the protocol-independent source-specific API. * Source filters are lazy allocated as the common case does not use them. They are part of per inpcb state and are covered by the inpcb lock. * struct ip_mreqn is now supported to allow applications to specify multicast joins by interface index in the legacy IPv4 any-source API. * In UDP, an incoming multicast datagram only requires that the source port matches the 4-tuple if the socket was already bound by source port. An unbound socket SHOULD be able to receive multicasts sent from an ephemeral source port. * The UDP socket multicast filter mode defaults to exclusive, that is, sources present in the per-socket list will be blocked from delivery. * The RFC 3678 userland functions have been added to libc: setsourcefilter, getsourcefilter, setipv4sourcefilter, getipv4sourcefilter. * Definitions for IGMPv3 are merged but not yet used. * struct sockaddr_storage is now referenced from <netinet/in.h>. It is therefore defined there if not already declared in the same way as for the C99 types. * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF which are then interpreted as interface indexes) is now deprecated. * A patch for the Rhyolite.com routed in the FreeBSD base system is available in the -net archives. This only affects individuals running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces. * Make IPv6 detach path similar to IPv4's in code flow; functionally same. * Bump __FreeBSD_version to 700048; see UPDATING. This work was financially supported by another FreeBSD committer. Obtained from: p4://bms_netdev Submitted by: Wilbert de Graaf (original work) Reviewed by: rwatson (locking), silence from fenner, net@ (but with encouragement)
* - Validate incoming addresses and sizes for connectx and bindx.rrs2007-06-111-5/+16
| | | | - For non-sys call version pass the msg_flags.
* Add inet_ntoa_r, a reentrant version of inet_ntoa. This isdelphij2007-06-114-2/+23
| | | | | | available on a lot of platforms, as well as libkern for years. Submitted by: "MQ"
* Diff reduction against other *BSDs: ANSIfy functiondelphij2007-06-114-141/+66
| | | | prototypes. No function changes.
* Fix bogon in previous commit: <machine/cpu.h> is still needed.marcel2007-06-101-0/+1
|
* The definition of CACHELINESIZE moved from <machine/cpu.h> tomarcel2007-06-101-1/+1
| | | | <machine/md_var.h>.
OpenPOWER on IntegriCloud