summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Re-do r192913 in less intrusive way. Only do IP_RECVDSTADDR/IP_SENDSRCADDRkan2009-06-181-0/+1
| | | | | | | | | | | | | dace for UPDv4 sockets bound to INADDR_ANY. Move the code to set IP_RECVDSTADDR/IP_SENDSRCADDR into svc_dg.c, so that both TLI and non-TLI users will be using it. Back out my previous commit to mountd. Turns out the problem was affecting more than one binary so it needs to me addressed in generic rpc code in libc in order to fix them all. Reported by: lstewart Tested by: lstewart
* Add a new 'void closefrom(int lowfd)' system call. When called, it closesjhb2009-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | any open file descriptors >= 'lowfd'. It is largely identical to the same function on other operating systems such as Solaris, DFly, NetBSD, and OpenBSD. One difference from other *BSD is that this closefrom() does not fail with any errors. In practice, while the manpages for NetBSD and OpenBSD claim that they return EINTR, they ignore internal errors from close() and never return EINTR. DFly does return EINTR, but for the common use case (closing fd's prior to execve()), the caller really wants all fd's closed and returning EINTR just forces callers to call closefrom() in a loop until it stops failing. Note that this implementation of closefrom(2) does not make any effort to resolve userland races with open(2) in other threads. As such, it is not multithread safe. Submitted by: rwatson (initial version) Reviewed by: rwatson MFC after: 2 weeks
* Delete the old USB stack. The new stack has settled in and has all thethompsa2009-05-271-1/+1
| | | | drivers/functionality and then some.
* Modify src/etc/mtree/BSD.include.dist and src/include/Makefilermacklem2009-05-211-1/+1
| | | | | | | | | | | | | | | | | so that the .h files in src/sys/fs/nfs will be installed under /usr/include/fs/nfs. This will allow the following utilities to build, once additions and changes for the experimental nfs subsystem are committed: usr.sbin/mountd - Once modified to add support for the experimental nfs subsystem. ur.sbin/nfsstat - Once modified to add support for the experimental nfs subsystem. usr.sbin/nfscbd - The client side callback daemon for NFSv4. usr.sbin/nfsuserd - The NFSv4 user/group name<->uid/gid mapping daemon. usr.sbin/nfsdumpstate - The NFSv4 utility for dumping open/lock state. usr.sbin/nfsrevoke - The sysadmin command for revoking NFSv4 state. Approved by: kib (mentor)
* Revert r190943, since the problem in ports seems to be fixed now.das2009-04-171-2/+0
| | | | | It's amazing how a well-placed eyesore generates more motivation in a day than email generates in three weeks.
* GNU Pth has some fragile kludges that were broken by r189828.das2009-04-111-0/+2
| | | | | | I've discussed this with the Pth maintainer and no clear solution has emerged on the ports side of things, so for now, hack around the issue in signal.h.
* Implement support for RTLD_NODELETE flag for dlopen() and -z nodeletekib2009-03-301-0/+1
| | | | | | | static linker option. Do it by incrementing reference count on the loaded object and its dependencies. Reviewed by: davidxu, kan
* Minor changes from Berkeley DB 1.86 and further improvements from OpenBSD.delphij2009-03-281-15/+23
| | | | | | | | | | This does not include the new hash routines since they will cause problems when reading old hash files. Since mpool(3) has been changed, provide a compatibility shim for older binaries. Obtained from: OpenBSD
* Make programs that define a macro called `dprintf' more likely to work.das2009-03-251-1/+1
|
* Fix the visibility of several prototypes. Also move pthread_kill() anddas2009-03-142-3/+16
| | | | | | | | | | pthread_sigmask() to signal.h. In principle, this shouldn't break anything, since they're already in signal.h on other systems, and the FreeBSD manpage says that both pthread.h and signal.h need to be included to get these functions. Add a hack to declare pthread_t in the P1003.1-2008 namespace in signal.h.
* Hide dbopen() in the POSIX namespace, and use standard type namesdas2009-03-141-33/+35
| | | | throughout so that this compiles in strict POSIX mode.
* Hide numerous BSD extensions in the POSIX namespace.das2009-03-141-24/+30
|
* Namespace: abort2() is a BSD extension.das2009-03-141-1/+1
|
* Namespace: endpwent, getpwent, and setpwent are XSI extensions.das2009-03-141-1/+4
|
* Namespace: dprintf() and getline() are in P1003.1-2008.das2009-03-141-2/+2
|
* Various namespace cleanups, including exposing fchmod() and fchmodat()das2009-03-141-5/+4
| | | | | | | in the POSIX namespace, and hiding eaccess() and setproctitle(). Also move mknodat() from unistd.h to sys/stat.h where it belongs. The *at() syscalls are only in CURRENT, so this shouldn't cause problems.
* Namespace: setgrent() is an XSI extension.das2009-03-141-1/+3
|
* Don't prototype _tolower() and _toupper(). They're not supposed to bedas2009-03-141-2/+0
| | | | functions, and there's no implementation of them in any case.
* Namespace: memccpy() and memchr() are XSI, and memrchr() is a BSD extension.das2009-03-141-1/+3
|
* Namespace: dbm_forder() and dbm_dirfno() are BSD extensions.das2009-03-141-0/+4
|
* Namespace: _setjmp() and _longjmp() are XSI extensions.das2009-03-141-1/+1
|
* Namespace: inet_ntoa_r() is a BSD extension.das2009-03-141-1/+1
|
* r189349 removed mktemp() from the XSI namespace whendas2009-03-141-1/+1
| | | | | | | __XOPEN_SOURCE >= 700, since mktemp() was withdrawn from the standard. However, __XSI_VISIBLE is set to 700 in the default BSD envrionment, where mktemp() should still exist; hence, check for this.
* Put the restrict qualifiers in the right place in the wcp[n]cpy prototypes.das2009-03-041-2/+2
| | | | Submitted by: Pawel Worach <pawel.worach@gmail.com>
* Add wcpcpy(3) and wcpncpy(3).das2009-03-041-0/+2
|
* Add dprintf() and vdprintf() from POSIX.1-2008. Like getline(),das2009-03-041-4/+20
| | | | | | dprintf() is a simple wrapper around another function, so we may as well implement it. But also like getline(), we can't prototype it by default right now because it would break too many ports.
* Add renameat to the POSIX.1-2008 namespace.das2009-03-041-1/+1
|
* Add psignal to the POSIX.1-2008 namespace.das2009-03-041-1/+4
|
* - Add getsid, fchdir, getpgid, lchown, pread, pwrite, truncate,das2009-03-041-26/+38
| | | | | | *at, and fexecve to the POSIX.1-2008 namespace. - Remove getwd, ualarm, usleep, and vfork from the XSI namespace. - Remove mkdtemp from the POSIX.1-2008 namespace (should be in stdlib.h).
* - Remove bcmp, bcopy, bzero, index, and rindex from the POSIX.1-2008das2009-03-041-0/+6
| | | | | namespace. - Add ffs to the XSI namespace.
* - Add getsubopt and mkdtemp to the POSIX.1-2008 namespace.das2009-03-041-6/+13
| | | | | - Add mkstemp to the POSIX.1-2008 and BSD namespaces. - Remove mktemp from the XSI namespace.
* - Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(),das2009-02-283-4/+57
| | | | | | | | | | | | wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qualifiers in stpcpy(). - Declare off_t and size_t in stdio.h. - Bump __FreeBSD_version in case the new symbols (particularly getline()) cause issues with ports. Reviewed by: standards@
* Add restrict qualifiers to the parameters to strlcpy() and strlcat().das2009-02-281-2/+2
| | | | | The annotation mainly just serves as a hint that they're not intended for use with overlapping strings.
* Mark memmem() __pure.das2009-02-281-1/+1
|
* Install the old usb headers under /usr/include/legacy/dev/usb as they arethompsa2009-02-241-1/+1
| | | | | | | | needed by the hal port. This will be removed before 8.0. Add an exclusion to kdump as some structs will be redefined. Requested by: marcus
* Build fixups for the new USB stack.thompsa2009-02-231-1/+1
|
* sys/pccard is gone.nyan2009-02-151-1/+1
|
* Add two new routines: fdevname() and fdevname_r().ed2009-02-111-0/+2
| | | | | | | | | | | | | | A more elegant way of obtaining a name of a character device by its file descriptor on FreeBSD, is to use the FIODGNAME ioctl. Because a valid file descriptor implies a file descriptor is visible in /dev, it will always resolve a valid device name. I'm adding a more friendly wrapper for this ioctl, called fdevname(). It is a lot easier to use than devname() and also has better error handling. When a device name cannot be resolved, it will just return NULL instead of a generated device name that makes no sense. Discussed with: kib
* Also un-split _PATH_STDPATH for grepability.obrien2009-02-011-4/+3
| | | | While I'm here, fix other style bugs reported to me.
* Add a function attribute called `__malloc_like', which informs gccdas2009-01-313-5/+5
| | | | | | | | | | | | | | that the annotated function returns a pointer that doesn't alias any extant pointer. This results in a 50%+ speedup in microbenchmarks such as the following: char *cp = malloc(1), *buf = malloc(BUF); for (i = 0; i < BUF; i++) buf[i] = *cp; In real programs, your mileage will vary. Note that gcc already performs this optimization automatically for any function called `malloc', `calloc', `strdup', or `strndup' unless -fno-builtins is used.
* No need to wrap _PATH_SYSPATH. It makes it harder to grep(1) for itsobrien2009-01-261-2/+1
| | | | value. (also unwrapping better matches existing style)
* Merge the resolver part of BIND 9.4.3 into HEAD.ume2008-12-142-3/+8
| | | | | | | | | | It includes the following fix: 2426. [bug] libbind: inet_net_pton() can sometimes return the wrong value if excessively large netmasks are supplied. [RT #18512] Reported by: Maksymilian Arciemowicz <cxib__at__securityreason.com>
* Add strndup(3) prototype to string.h.kib2008-12-081-0/+1
| | | | | | | | | | | This change was erronously ommitted from the r185690, and attempt to simply add the prototype to string.h has revealed that several contributed programs defined local prototypes for strndup(), controlled by autoconfed config.h. So, manually change #undef HAVE_STRNDUP to #define HAVE_STRNDUP 1. Next import of the corresponding program would regenerate config.h, overriding the changes in this commit. No objections from: kan
* src/sys/dev/usb2/controller/uss820dci_pccard.calfred2008-11-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/sys/dev/usb2/core/usbdevs src/sys/dev/usb2/include/urio2_ioctl.h src/sys/dev/usb2/storage/ustorage2_fs.h These files are not used any more. src/usr.sbin/Makefile src/etc/mtree/BSD.include.dist src/include/Makefile src/lib/Makefile src/share/man/man7/hier.7 src/share/mk/bsd.libnames.mk src/etc/mtree/BSD.include.dist Make "usbconfig" and "libusb20" a part of the default build. src/sys/dev/usb/rio500_usb.h src/sys/dev/usb2/storage/urio2.c Use common include file. src/sys/dev/usb2/bluetooth/ng_ubt2.c Make USB bluetooth depend on "ng_hci" module. src/sys/dev/usb2/controller/ehci2.c src/sys/dev/usb2/controller/ehci2.h Patches for Marvell EHCI. src/sys/dev/usb2/core/usb2_busdma.c Bugfix for 64-bit platforms. Need to unload the previously loaded DMA map and some cleanup regarding some corner cases. src/sys/dev/usb2/core/usb2_core.h src/sys/dev/usb2/core/usb2_dev.c src/sys/dev/usb2/core/usb2_dev.h Bugfix for libusb filesystem interface. New feature: Add support for filtering device data at the expense of the userland process. Add some more comments. Some minor code styling. Remove unused function, usb2_fifo_get_data_next(). Fix an issue about "fifo_index" being used instead of "ep_index". src/sys/dev/usb2/core/usb2_device.c src/sys/dev/usb2/core/usb2_generic.c Bugfix for Linux USB compat layer. Do not free non-generic FIFOs when doing an alternate setting. Cleanup USB IOCTL and USB reference handling. Fix a corner case where USB-FS was left initialised after setting a new configuration or alternate setting. src/sys/dev/usb2/core/usb2_hub.c Improvement: Check all USB HUB ports by default at least one time. src/sys/dev/usb2/core/usb2_request.c Bugfix: Make sure destination ASCII string is properly zero terminated in all cases. Improvement: Skip invalid characters instead of replacing with a dot. src/sys/dev/usb2/core/usb2_util.c src/sys/dev/usb2/image/uscanner2.c Spelling. src/sys/dev/usb2/include/Makefile Share "usbdevs" with the old USB stack. src/sys/dev/usb2/include/usb2_devid.h src/sys/dev/usb2/include/usb2_devtable.h Regenerate files. Alfred: Please fix the RCS tag at the top. src/sys/dev/usb2/include/usb2_ioctl.h Fix compilation of "kdump". src/sys/dev/usb2/serial/ubsa2.c src/sys/dev/usb2/serial/ugensa2.c Remove device ID's which will end up in a new 3G driver. src/sys/dev/usb2/sound/uaudio2.c Correct a debug printout. src/sys/dev/usb2/storage/umass2.c Sync with old USB stack. src/lib/libusb20/libusb20.3 Add more documentation. src/lib/libusb20/libusb20.c Various bugfixes and improvements. src/usr.sbin/usbconfig/dump.c src/usr.sbin/usbconfig/usbconfig.c New commands for dumping strings and doing custom USB requests from the command line. Remove keyword requirements from generated files: "head/sys/dev/usb2/include/usb2_devid.h" "head/sys/dev/usb2/include/usb2_devtable.h"
* Add a comment to utmp.h about the sizes of UT_HOSTSIZE and UT_LINESIZE.ed2008-11-161-0/+7
| | | | | | | | | UT_HOSTSIZE and UT_LINESIZE are too small right now. If we ever bump UT_HOSTSIZE, we must not forget to increase UT_LINESIZE as well. If we add a comment, we're pretty sure we increase both values at the same time. PR: bin/108743 (maybe others)
* Implement support for RPCSEC_GSS authentication to both the NFS clientdfr2008-11-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and server. This replaces the RPC implementation of the NFS client and server with the newer RPC implementation originally developed (actually ported from the userland sunrpc code) to support the NFS Lock Manager. I have tested this code extensively and I believe it is stable and that performance is at least equal to the legacy RPC implementation. The NFS code currently contains support for both the new RPC implementation and the older legacy implementation inherited from the original NFS codebase. The default is to use the new implementation - add the NFS_LEGACYRPC option to fall back to the old code. When I merge this support back to RELENG_7, I will probably change this so that users have to 'opt in' to get the new code. To use RPCSEC_GSS on either client or server, you must build a kernel which includes the KGSSAPI option and the crypto device. On the userland side, you must build at least a new libc, mountd, mount_nfs and gssd. You must install new versions of /etc/rc.d/gssd and /etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf. As long as gssd is running, you should be able to mount an NFS filesystem from a server that requires RPCSEC_GSS authentication. The mount itself can happen without any kerberos credentials but all access to the filesystem will be denied unless the accessing user has a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There is currently no support for situations where the ticket file is in a different place, such as when the user logged in via SSH and has delegated credentials from that login. This restriction is also present in Solaris and Linux. In theory, we could improve this in future, possibly using Brooks Davis' implementation of variant symlinks. Supporting RPCSEC_GSS on a server is nearly as simple. You must create service creds for the server in the form 'nfs/<fqdn>@<REALM>' and install them in /etc/krb5.keytab. The standard heimdal utility ktutil makes this fairly easy. After the service creds have been created, you can add a '-sec=krb5' option to /etc/exports and restart both mountd and nfsd. The only other difference an administrator should notice is that nfsd doesn't fork to create service threads any more. In normal operation, there will be two nfsd processes, one in userland waiting for TCP connections and one in the kernel handling requests. The latter process will create as many kthreads as required - these should be visible via 'top -H'. The code has some support for varying the number of service threads according to load but initially at least, nfsd uses a fixed number of threads according to the value supplied to its '-n' option. Sponsored by: Isilon Systems MFC after: 1 month
* Add the ffsll and flsll functions. These are ffs and fls operatingkib2008-11-031-0/+2
| | | | | | | | on long long arguments. Reviewed by: bde (previous version, that included asm implementation for all ffs and fls functions on i386 and amd64) MFC after: 2 weeks
* Move getosreldate(3) prototype from the machine generated <osreldate.h>peter2008-09-262-10/+2
| | | | | | to <unistd.h> in the BSD section. Suggested by: kib
* Re-add getosreldate(3) function prototype in the form that I've been usingpeter2008-09-261-1/+10
| | | | | | for quite some time now. While I'm not sure if it'll break IA64 again, this way doesn't cause problems with my builds of XFree86/Xorg and the way they #include <osreldate.h> via cpp in the imake system.
* Add missing prototypes for uuid_enc,dec_le,be() functions.emax2008-09-151-0/+4
| | | | | | Pointy hat goes to me. MFC after: 3 days
OpenPOWER on IntegriCloud