| Commit message (Expand) | Author | Age | Files | Lines |
| * | netinet/in.h: add INADDR_ALLSNOOPERS_GROUP from linux v5.1•••RFC 4286: "The IPv4 multicast address for All-Snoopers is 224.0.0.106."
from
linux commit 4effd28c1245303dce7fd290c501ac2c11052114
bridge: join all-snoopers multicast address
| Szabolcs Nagy | 2019-07-01 | 1 | -0/+1 |
| * | netinet/in.h: add IPV6_ROUTER_ALERT_ISOLATE from linux v5.1•••restricts router alert packets received by the socket to the
socket's namespace only. see
linux commit 9036b2fe092a107856edd1a3bad48b83f2b45000
net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE
| Szabolcs Nagy | 2019-07-01 | 1 | -0/+1 |
| * | netinet/in.h add IPV6_MULTICAST_ALL from linux v4.20•••ipv6 analogue of IP_MULTICAST_ALL sockopt.
added in linux commit 15033f0457dca569b284bef0c8d3ad55fb37eacb
| Szabolcs Nagy | 2019-03-13 | 1 | -0/+1 |
| * | netinet/in.h: add new IPV6_FREEBIND from linux v4.15•••new socekt option for AF_INET6 SOL_RAW sockets, added in linux commit
84e14fe353de7624872e582887712079ba0b2d56
| Szabolcs Nagy | 2018-02-22 | 1 | -0/+1 |
| * | add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10•••added in linux commit 70ecc24841326396a827deb55c3fefac582a729d
| Szabolcs Nagy | 2017-11-05 | 1 | -0/+2 |
| * | move IPPORT_RESERVED from netdb.h to netinet/in.h•••it's in the reserved namespace for the latter, where it seems it was
historically defined, and some programs expect to find it there.
| Rich Felker | 2017-08-29 | 1 | -0/+2 |
| * | make netinet/in.h suppress clashing definitions from kernel headers•••the linux kernel uapi headers provide their own definitions of the
structures from netinet/in.h, resulting in errors when a program
includes both the standard libc header and one or more of the
networking-related kernel headers that pull in the kernel definitions.
as before, we do not attempt to support the case where kernel headers
are included before the libc ones, since the kernel definitions may
have subtly incorrect types, namespace violations, etc. however, we
can easily support the inclusion of the kernel headers after the libc
ones, since the kernel headers provide a public interface for
suppressing their definitions. this patch adds the necessary macro
definitions for such suppression.
| Rich Felker | 2016-11-07 | 1 | -0/+15 |
| * | make brace placement in public header struct definitions consistent•••placing the opening brace on the same line as the struct keyword/tag
is the style I prefer and seems to be the prevailing practice in more
recent additions.
these changes were generated by the command:
find include/ arch/*/bits -name '*.h' \
-exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} +
and subsequently checked by hand to ensure that the regex did not pick
up any false positives.
| Rich Felker | 2016-07-03 | 1 | -20/+10 |
| * | add IPV6_HDRINCL socket option from linux v4.5•••new in linux commit 715f504b118998c41a2079a17e16bf5a8a114885
same as IP_HDRINCL but for SOL_IPV6 sockets.
| Szabolcs Nagy | 2016-03-19 | 1 | -0/+1 |
| * | add new IP_BIND_ADDRESS_NO_PORT and IPPROTO_MPLS to netinet/in.h•••IP_BIND_ADDRESS_NO_PORT is a SOL_IP socket option to delay src port
allocation until connect in case src ip is set with bind(port=0).
new in linux v4.2, commit 90c337da1524863838658078ec34241f45d8394d
IPPROTO_MPLS protocol number for mpls over ip.
new in linux v4.2, commit 730fc4371333636a00fed32c587fc1e85c5367e2
| Szabolcs Nagy | 2016-01-24 | 1 | -0/+2 |
| * | add IP_CHECKSUM socket option to netinet/in.h•••new in linux v4.0, commit ad6f939ab193750cc94a265f58e007fb598c97b7
| Szabolcs Nagy | 2015-04-17 | 1 | -0/+1 |
| * | add new IPV6_AUTOFLOWLABEL socket option in netinet/in.h•••added in linux v3.17 commit 753a2ad54ef45e3417a9d49537c2b42b04a2e1be
enables automatic flow label generation on transmit
| Szabolcs Nagy | 2014-10-08 | 1 | -0/+1 |
| * | update netinet/in.h to match the current kernel uapi•••from linux/in.h and linux/in6.h uapi headers the following
missing socket options were added:
IP_NODEFRAG - used with customized ipv4 headers
IPV6_RECVPATHMTU - for ipv6 path mtu
IPV6_PATHMTU - for ipv6 path mtu
IPV6_DONTFRAG - for ipv6 path mtu
IPV6_ADDR_PREFERENCES - RFC5014 Source Address Selection
IPV6_MINHOPCOUNT - RFC5082 Generalized TTL Security Mechanism
IPV6_ORIGDSTADDR - used by tproxy
IPV6_RECVORIGDSTADDR - used by tproxy
IPV6_TRANSPARENT - used by tproxy
IPV6_UNICAST_IF - ipv6 version of IP_UNICAST_IF
and socket option values:
IP_PMTUDISC_OMIT - value for IP_MTU_DISCOVER option, new in linux 3.14
IPV6_PMTUDISC_OMIT - same for IPV6_MTU_DISCOVER
IPV6_PMTUDISC_INTERFACE - ipv6 version of IP_PMTUDISC_INTERFACE
IPV6_PREFER_* - flags for IPV6_ADDR_PREFERENCES
not added: ipv6 flow info and flow label related definitions.
(it's unclear if libc should define these and namespace polluting
type name is involved so they are not provided for now)
| Szabolcs Nagy | 2014-05-30 | 1 | -1/+21 |
| * | in.h: new IP_MTU_DISCOVER mode IP_PMTUDISC_INTERFACE•••introduced in linux v3.13, 482fc6094afad572a4ea1fd722e7b11ca72022a0
to mitigate dns cache poisoning via fragmentation
| Szabolcs Nagy | 2014-02-25 | 1 | -0/+1 |
| * | add parens when bit and arith ops are mixed in macros in public headers•••another commit to silence gcc warnings (-Wparentheses) for standard headers.
changed macros: LOG_UPTO, IN6_ARE_ADDR_EQUAL
| Szabolcs Nagy | 2014-02-11 | 1 | -1/+1 |
| * | fix remaining known namespace violations for netinet/in.h•••the imr_, imsf_, ip6_, ip6m_, ipi_, ipi6_, SCM_, and SOL_ prefixes are
not in the reserved namespace for this header. thus the constants and
structures using them need to be protected under appropriate feature
test macros.
this also affects some headers which are permitted to include
netinet/in.h, particularly netdb.h and arpa/inet.h.
the SOL_ macros are moved to sys/socket.h where they are in the
reserved namespace (SO*). they are still accessible via netinet/in.h
since it includes sys/socket.h implicitly (which is permitted).
the SCM_SRCRT macro is simply removed, since the definition used for
it, IPV6_RXSRCRT is not defined anywhere. it could be re-added, this
time in sys/socket.h, if the appropriate value can be determined;
however, given that the erroneous definition was not caught, it is
unlikely that any software actually attempts to use SCM_SRCRT.
| Rich Felker | 2014-01-08 | 1 | -22/+14 |
| * | add netinet/igmp.h and multicast groups to netinet/in.h•••based on patch by Timo Teräs.
| Rich Felker | 2013-12-20 | 1 | -0/+5 |
| * | add multicast structures from RFC 3678 to netinet/in.h•••and use _GNU_SOURCE || _BSD_SOURCE guards for all of the RFC 3678
namespace polluting things like glibc/uclibc does.
| Timo Teräs | 2013-11-23 | 1 | -1/+42 |
| * | netinet/in.h: add missing IP protocol numbers from the linux uapi headers | Szabolcs Nagy | 2013-09-15 | 1 | -0/+2 |
| * | refactor headers, especially alltypes.h, and improve C++ ABI compat•••the arch-specific bits/alltypes.h.sh has been replaced with a generic
alltypes.h.in and minimal arch-specific bits/alltypes.h.in.
this commit is intended to have no functional changes except:
- exposing additional symbols that POSIX allows but does not require
- changing the C++ name mangling for some types
- fixing the signedness of blksize_t on powerpc (POSIX requires signed)
- fixing the limit macros for sig_atomic_t on x86_64
- making dev_t an unsigned type (ABI matching goal, and more logical)
in addition, some types that were wrongly defined with long on 32-bit
archs were changed to int, and vice versa; this change is
non-functional except for the possibility of making pointer types
mismatch, and only affects programs that were using them incorrectly,
and only at build-time, not runtime.
the following changes were made in the interest of moving
non-arch-specific types out of the alltypes system and into the
headers they're associated with, and also will tend to improve
application compatibility:
- netdb.h now includes netinet/in.h (for socklen_t and uint32_t)
- netinet/in.h now includes sys/socket.h and inttypes.h
- sys/resource.h now includes sys/time.h (for struct timeval)
- sys/wait.h now includes signal.h (for siginfo_t)
- langinfo.h now includes nl_types.h (for nl_item)
for the types in stdint.h:
- types which are of no interest to other headers were moved out of
the alltypes system.
- fast types for 8- and 64-bit are hard-coded (at least for now); only
the 16- and 32-bit ones have reason to vary by arch.
and the following types have been changed for C++ ABI purposes;
- mbstate_t now has a struct tag, __mbstate_t
- FILE's struct tag has been changed to _IO_FILE
- DIR's struct tag has been changed to __dirstream
- locale_t's struct tag has been changed to __locale_struct
- pthread_t is defined as unsigned long in C++ mode only
- fpos_t now has a struct tag, _G_fpos64_t
- fsid_t's struct tag has been changed to __fsid_t
- idtype_t has been made an enum type (also required by POSIX)
- nl_catd has been changed from long to void *
- siginfo_t's struct tag has been removed
- sigset_t's has been given a struct tag, __sigset_t
- stack_t has been given a struct tag, sigaltstack
- suseconds_t has been changed to long on 32-bit archs
- [u]intptr_t have been changed from long to int rank on 32-bit archs
- dev_t has been made unsigned
summary of tests that have been performed against these changes:
- nsz's libc-test (diff -u before and after)
- C++ ABI check symbol dump (diff -u before, after, glibc)
- grepped for __NEED, made sure types needed are still in alltypes
- built gcc 3.4.6
| Rich Felker | 2013-07-22 | 1 | -9/+5 |
| * | add missing multicast socket options to netinet/in.h•••based on linux headers add the missing MCAST_* options
under _GNU_SOURCE as they are not in the reserved namespace
(this api was originally specified by RFC 3678)
| Szabolcs Nagy | 2013-01-12 | 1 | -0/+17 |
| * | add some new-ish IPPROTO constants that were missing | Rich Felker | 2013-01-01 | 1 | -0/+3 |
| * | add IPPROTO_HOPOPTS to in.h | Rich Felker | 2012-09-08 | 1 | -0/+1 |
| * | add IPPROTO_MAX to in.h | Rich Felker | 2012-09-08 | 1 | -0/+1 |
| * | add missing IN6_ARE_ADDR_EQUAL•••written to avoid multiple conditional jumps and avoid ugly repetitive
lines in the header file.
| Rich Felker | 2012-05-11 | 1 | -0/+5 |
| * | add additional compatibility union member for ipv6 addresses•••in6_* is in the reserved namespace, so this is valid
| Rich Felker | 2012-05-03 | 1 | -0/+2 |
| * | fix all missing instances of __cplusplus checks/extern "C" in headers•••patch by Arvid Picciani (aep)
| Rich Felker | 2011-11-10 | 1 | -0/+8 |
| * | fix some header typos | Rich Felker | 2011-09-20 | 1 | -1/+1 |
| * | move invariant netinet/in.h stuff out of bits/in.h | Rich Felker | 2011-09-18 | 1 | -2/+147 |
| * | add IN_LOOPBACKNET constant (nonstandard but in reserved namespace) | Rich Felker | 2011-04-06 | 1 | -0/+2 |
| * | resolve some header namespace non-issues•••after re-reading 2.2.2 of POSIX 2008, all of these are in the correct
reserved namespaces and do not need protection.
| Rich Felker | 2011-02-20 | 1 | -2/+0 |
| * | initial check-in, version 0.5.0 | Rich Felker | 2011-02-12 | 1 | -0/+158 |