IABSD.fr/src/lib/libc/net

Branch :


Log

Author Commit Date CI Message
d82e6535 2020-07-06 13:33:05 Add support for timeconting in userland. This diff exposes parts of clock_gettime(2) and gettimeofday(2) to userland via libc eliberating processes from the need for a context switch everytime they want to count the passage of time. If a timecounter clock can be exposed to userland than it needs to set its tc_user member to a non-zero value. Tested with one or multiple counters per architecture. The timing data is shared through a pointer found in the new ELF auxiliary vector AUX_openbsd_timekeep containing timehands information that is frequently updated by the kernel. Timing differences between the last kernel update and the current time are adjusted in userland by the tc_get_timecount() function inside the MD usertc.c file. This permits a much more responsive environment, quite visible in browsers, office programs and gaming (apparently one is are able to fly in Minecraft now). Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others! OK from at least kettenis@, cheloha@, naddy@, sthen@
a5f7f9bd 2020-04-25 21:06:17 A comma is not appropriate here, use a semicolon Suggested by Evan Silberman, confirmed by jmc@
5659aa87 2020-04-25 16:23:59 Discourage use of RES_USE_INET6 Suggested by eric@, input from deraadt@, ok deraadt@ eric@
a91ae7ef 2020-04-25 14:30:05 Fix RES_USE_INET6 description The previous wording implied this option does nothing, which is wrong. This option does affect the way gethostbyname(3) works on OpenBSD (return IPv6 addresses if available). On some systems, it also introduces IPv4-mapped IPv6 addresses, a "feature" that we don't support. ok deraadt@ eric@
ab8e3451 2020-01-22 07:52:37 delete wasteful ;; ok tedu
f8a44a67 2019-08-30 20:20:50 mop up resolver.3 rename; ok deraadt
b51b5e42 2019-08-30 20:06:07 mop up for inet_net rename; ok deraadt
4d9461fa 2019-08-30 18:33:17 Move 4 manual pages from not-a-function filenames to a correct filename, and correct Xr. ok jmc
515e489c 2019-07-03 03:24:01 snprintf/vsnprintf return < 0 on error, rather than -1.
df69c215 2019-06-28 13:32:41 When system calls indicate an error they return -1, not some arbitrary value < 0. errno is only updated in this case. Change all (most?) callers of syscalls to follow this better, and let's see if this strictness helps us in the future.
7c7da336 2019-06-20 14:19:25 sockatmark(3), recv(2), getsockopt(2), and connect(2) return specifically -1 to mark failure, not arbitrary values < 0. I believe manual pages should follow the described contract precisely and accurately.
f7aca9b8 2019-05-13 14:11:20 explicitly mention that RES_NOALIASES has no effect; jmc@ noticed that the text wasn't completely clear; OK jmc@
ecd8a787 2019-02-13 07:02:09 Xr the byteorder funcs; from tim kuijsten
bf198cc6 2019-01-25 00:19:25 I am retiring my old email address; replace it with my OpenBSD one.
3d657e16 2019-01-14 06:23:06 There are cases where a program doing dns requests wants to set the Checking Disabled flag. Introduce a RES flag to do so. ok krw@ deraadt@ eric@
a33788ce 2018-11-09 17:49:32 Remove ethers(5) YP support bits from libc as it makes it difficult to effectively use pledge(2) in some programs. approval from many, thanks! idea by & ok deraadt@
53529b02 2018-05-10 13:44:43 Fix typo in RFC number. ok benno
264a1649 2018-04-28 20:29:18 reference hosts(5) instead of networks(5)
342ed90e 2018-04-28 16:03:43 Remove references to the obsolete getnetent(3) and networks(5).
0eb4c796 2018-04-28 15:37:43 Stop talking about /etc/networks, which is no longer used, and reference gethostby*(3) and /etc/hosts instead. Say that setnetent(3), getnetent(3), and endnetent(3) now do nothing. With feedback from guenther and significant help from deraadt@.
4371f190 2018-04-28 15:28:25 Say that sethostent(3), gethostent(3), and endhostent(3) do nothing. While here, stop implying plans to support additional address families in the future, and do not call gethostbyname2(3) "advanced". OK deraadt@ guenther@
43cc0616 2018-04-28 15:05:40 To allow us to get rid of /etc/networks, make setnetent(3), getnetent(3), and endnetent(3) do nothing, just like sethostent(3), gethostent(3), and endhostent(3) years ago. OK deraadt@ guenther@
aaeccf36 2018-01-12 04:36:44 Adjust references for sysctl(3) to sysctl(2)
93ca0b48 2017-11-28 18:10:59 Add the missing STANDARDS section (kettenis@ noticed that these are POSIX functions) and turn the weird DIAGNOSTICS section into a normal RETURN VALUES section while here.
ecbfaa9d 2017-07-08 21:45:35 update the little endian processor list to give it a chance of matching what the reader is using.
547a0405 2017-05-03 01:58:33 make the description strings match the code
ad502734 2017-04-27 23:52:35 Remove "len < 0" check; len is socklen_t (uint32_t) so can't be negative. Quiets a warning from clang. OK bluhm@
e6226167 2017-03-06 18:16:27 size is unsigned so using ==0 not <=0 when checking for buffer exhaustion
842312c3 2017-03-06 18:14:41 Pull in a change from the bind 8 resolver that fixes a potential crash when given a large hex number as part of the dotted quad. OK deraadt@ jsg@
d4d39a6f 2017-02-27 11:38:08 Add support for RES_USE_DNSSEC RES_USE_DNSSEC is implemented by setting the DNSSEC DO bit in outgoing queries. The resolver is then supposed to set the AD bit in the reply if it managed to validate the answer through DNSSEC. Useful when the application doesn't implement validation internally. This scheme assumes that the validating resolver is trusted and that the communication channel between the validating resolver and and the client is secure. ok eric@ gilles@
2aa4cd21 2017-02-18 19:23:05 Add EDNS0 support. EDNS allows for various DNS extensions, among which UDP DNS packets size bigger than 512 bytes. The default is still to not advertize anything. ok eric@
2a484a1d 2017-01-24 12:43:00 in resolver(3), document that _EDNS0 and _DNSSEC are no ops; diff from kirill miazine while here, bump all the no op texts to one standard blurb; help/ok jca
1c6ffb17 2016-12-16 17:44:59 Eliminate some gcc warnings about 'unused variables', mostly by adding appropriate #ifdef's around declarations. ok millert@ (with a tweak I will commit separately)
f118cb77 2016-12-15 20:50:36 Nuke some trailing tabs.
7a8c33b7 2016-12-08 03:20:50 Fix regressions introduce in the fix for CVE-2016-6559. From FreeBSD (glebius)
7ac5027a 2016-12-07 01:05:47 Fix a typo, decrement rem, don't increment for single digit hex bytes. From Henri Kemppainen
997bb033 2016-12-06 22:32:58 CVE-2016-6559: fix potential buffer overflow(s) in link_ntoa(3). A specially crafted struct sockaddr_dl argument can trigger a stack overflow of a static buffer in libc. An attacker may be able to use this to write to arbitrary locations in the data segment. From FreeBSD (glebius); OK deraadt@ mestre@
3240e6a8 2016-09-21 04:38:56 Delete casts to off_t and size_t that are implied by assignments or prototypes. Ditto for some of the char* and void* casts too. verified no change to instructions on ILP32 (i386) and LP64 (amd64) ok natano@ abluhm@ deraadt@ millert@
1e8286dd 2016-08-05 16:16:06 Obvious minor fixes: * Add missing .Dv, .Ev, and .Fa macros. * Delete deprecated .Tn macros. * Mark up global variable names with .Va, not with .Fa or .Li. * Mark up config file commands with .Ic, not with .Fa. * Fix HISTORY, trivial to verify from the CSRG archive CD.
f3dac246 2016-08-05 07:54:15 Make RES_OPTIONS point directly to resolv.conf(5) instead of going through resolver(3). OK jmc@
4cf415dd 2016-05-29 06:01:24 Prefer AF_* over PF_* and 'address family' over 'protocol family' ok jung@
36bf49e7 2016-05-28 15:48:30 rcmd(3) and rcmdsh(3) use getaddrinfo(3) not gethostbyname(3).
eeba2ff2 2016-05-28 15:46:00 Use getaddrinfo() instead of the non-standard gethostbyname2(). OK deraadt@ jca@ jung@ florian@
df1557eb 2016-05-23 00:12:58 Remove iruserok(_sa)? and __ivaliduser(sa)? ok millert@ deraadt@
e3b47d8e 2016-05-23 00:08:23 Eliminate __check_rhosts_file and __rcmd_errstr: they were only used by rlogind and rshd (remember them?) ok deraadt@
f984146c 2016-05-01 15:17:29 Remove old NeXT-specific cruft. From mmcc@
c6cbd355 2016-04-05 04:29:21 Prefer _MUTEX_*LOCK over _THREAD_PRIVATE_MUTEX_*LOCK() when thread-specific data isn't necessary. ok mpi@, ok&tweak natano@
faa33665 2016-03-30 06:38:40 for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base; authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades; ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
6fa15522 2016-03-10 08:42:26 un-vax;
b4c66e9d 2015-12-28 22:08:18 Remove NULL-checks before free() and a few related dead assignments. ok and valuable input from millert@
c02cbb38 2015-12-19 18:59:10 gethostbyname2() and gethostbyaddr() need <sys/socket.h>; discussed with millert@
e4e52157 2015-12-16 18:12:42 tweak previous;
c126605f 2015-12-16 16:32:30 Remove support for HOSTALIASES from the resolver. This "open and parse any file indicated by an environment variable" feature inside the resolver is incompatible with what pledge "dns" is trying to be. It is a misguided "feature" added way back in history which almost noone uses, but everyone has to assume the risk from. ok eric florian kettenis
5dbcbdb5 2015-12-14 03:25:59 s/begining/beginning/g
8bcf3129 2015-11-25 02:18:04 syslog() here is pointless; ok millert
cd245bca 2015-11-24 22:03:33 Use reentrant versions of getpw{nam,uid} and getgr{nam,gid} within libc to avoid reusing the static buffers returned by the non-reentrant versions. Since this is inside libc we can use constants for the buffer sizes instead of having to call sysconf(). OK guenther@ deraadt@
22cd8fe1 2015-11-21 07:48:10 point to netintro(4) rather than (now removed) networking(4);
d04ba2cc 2015-11-10 23:48:17 update NAME section to include all documented functions, or otherwise change Dt to reflect the name of an existing function; feedback/ok schwarze
b174a32c 2015-11-08 14:22:11 inet(4), not inet(3);
10632a79 2015-11-01 03:45:28 delete old lint ARGSUSED comments
864f048c 2015-10-23 13:09:19 Switch if_nameindex(3) to use the new NET_RT_IFNAMES sysctl to get the list of interface names. At the same time switch if_nametoindex(3) and if_indextoname(3) to use if_nameindex(3) instead of getifaddrs(3). if_nameindex(3) exposes much less then getifaddrs(3) and is allowed by pledge(2). With and OK deraadt@
5b6c92c3 2015-10-23 04:45:32 Use waitpid() instead of wait() to avoid returning early from another child exiting, and loop the waitpid() on EINTR ok deraadt@ millert@
fb6201af 2015-10-22 23:55:51 Cast ctype function arguments to unsigned char. ok guenther@
c8503c07 2015-10-05 02:57:16 Wrap <resolv.h> so that internal calls go direct ok millert@
a9f15adb 2015-10-04 07:34:34 wrap __ivaliduser_sa() so the internal call is direct (at least until we stop exporting it)
bd745da3 2015-10-04 07:17:27 recv() and send() aren't overriden by libpthread (vs recvfrom() and sendto()!) so wrap them to make internal calls go direct
92a24078 2015-09-14 11:01:47 Wrap <ifaddrs.h>, <netinet/in.h>, and <netinet/if_ether.h> so internal calls go direct and all the symbols are weak
fbd37677 2015-09-14 10:47:01 Wrap <net/if.h> and <net/if_dl.h> so internal calls go direct and all the symbols are weak
06201dd4 2015-09-14 07:38:37 Finish wrapping <netdb.h> so that calls go direct and the symbols are all weak
b2d13c95 2015-09-13 21:36:08 Wrap <arpa/inet.h> and <arpa/nameser.h> so that calls go direct and the symbols without underbar prefix are all weak
0e3c6306 2015-09-12 14:56:50 Wrap <unistd.h> so that internal calls go direct and they're all weak symbols Delete unused 'fd' argument from internal function oldttyname()
11044840 2015-09-11 09:54:00 _getnetbyaddr and _getnetbyname appear to be historical accidents in our tree. ok guenther miod
fb6aaed3 2015-09-10 10:14:20 tweak Nd after previous; ok mpi
af64ca04 2015-09-10 08:55:03 Remove link_addr(3). A function to encode the name of an interface in a sockaddr_dl is a questionnable interface. But now it makes it harder to properly reference ifp becauses of this. Set sdl_index to the index of the corresponding interface when constructing a routing message. Ridding previous libc crank. ok guenther@, deraadt@, dlg@
83dc3a58 2015-08-30 05:45:43 Use nanosleep instead of sleep to avoid the extra layer and simplify later symbol hiding ok w/tweak deraadt@
1f346333 2015-06-04 19:26:39 force reseeding if pid has changed. ok deraadt@
a3f3006b 2015-05-14 11:52:43 rev 1.3 introduced a check to an if statement without adding braces. Claudio points out the size is checked by an earlier test so just remove it to restore the original handling of the partial octet case. Discussed with claudio and gilles.
934fc14b 2015-03-23 22:29:32 Make rcmdsh(3) not fail if it is passed a non resolvable hostname. Instead, silently ignore the fact and instead let the underlying ssh (or $RSH) command handle it. ok millert@
e12686f2 2015-03-22 22:32:03 differentiate between a failed read, returning -1, and encountering end-of-file, returning 0, in order not to print an unrelated strerror(errno) in the latter case ok millert@
0791ac16 2015-03-22 00:58:16 unmute rcmd hostname lookup failure ok millert@ jung@
4d066c79 2015-03-19 22:05:28 zap #if 0'd code that's been dead since '96 ok todd@
294425e4 2015-02-16 18:26:56 Amend documentation for AI_ADDRCONFIG ok jmc@
ee10762e 2015-01-29 01:46:30 Use .Rv where appropriate, and move it to RETURN VALUES; remove .Tn, and a few minor macro adjustments. Patch from Kaspars at Bankovskis dot net.
8e029146 2015-01-16 18:20:14 Use ">", not ">=" when comparing length to HOST_NAME_MAX since otherwise we end up needlessly replacing a NUL with a NUL. OK deraadt@
8cdb393c 2015-01-16 18:18:58 Replace HOST_NAME_MAX+1-1 with HOST_NAME_MAX. OK deraad@
9b6be490 2015-01-16 18:10:31 Replace check for ">= HOST_NAME_MAX+1" with "> HOST_NAME_MAX". OK deraadt@
aea60bee 2015-01-16 16:48:51 Move to the <limits.h> universe. review by millert, binary checking process with doug, concept with guenther
a43df328 2014-11-05 15:12:23 edns0 is not currently supported: confirmed by sthen and eric diff From: Mike Burns (though my fix differs a bit)
a46e67d3 2014-10-11 04:22:03 Userland reallocarray() audit. Avoid potential integer overflow in the size argument of malloc() and realloc() by using reallocarray() to avoid unchecked multiplication. ok deraadt@
804909e4 2014-10-11 03:12:13 Userland reallocarray() audit. Avoid potential integer overflow in the size argument of malloc() and realloc() by using reallocarray() to avoid unchecked multiplication. ok deraadt@
b510a672 2014-10-10 13:14:50 replace select with equiv poll usage. looks good deraadt@ tweaks and ok millert@
241db059 2014-09-15 06:15:48 When fopen()ing internal to libc (the API doesn't support the use of the resulting FILE *), then pass fopen() the 'e' mode letter to mark it close-on-exec. ok miod@
0899d950 2014-09-04 13:51:54 POSIX specifies arpa/inet.h as the include file for these. OK aja@ mikeb@
8ad7fb44 2014-08-31 19:20:44 Make the in6addr constant declarations and definitions consistent in kernel and user land. OK florian@ mpi@
eb4e8c1e 2014-08-31 02:27:37 Add sockatmark() ok millert@ manpage feedback jmc@
eeecef55 2014-08-23 07:25:54 unbind;
be9b7050 2014-07-21 01:51:10 Switch from <sys/endian.h> or <machine/endian.h> to the new, being-standardized <endian.h> ok deraadt@ millert@ beck@
1a0ab620 2014-07-20 04:22:34 From ISO/IEC 9899:1999 and 9899:201x, 6.11.5 - Storage-class specifiers: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Diff from Jean-Philippe Ouellet (jean-philippe (at) ouellet.biz)
d3c624a9 2014-07-13 20:42:33 tweak previous;
678448c8 2014-07-13 20:40:34 missing bracket in previous;