aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2021-02-07 17:21:18 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-11 13:19:29 +0200
commit2ba2e1e052fee6fcde09efc1aacd29a83de366a3 (patch)
tree56c9aa18ff81cec5de81c7656c7ed9dafcdfe0be
parent8054ce555fdcd5fe9c2ad75cff6cd80218c9d0b1 (diff)
downloadnewlib-2ba2e1e052fee6fcde09efc1aacd29a83de366a3.zip
newlib-2ba2e1e052fee6fcde09efc1aacd29a83de366a3.tar.gz
newlib-2ba2e1e052fee6fcde09efc1aacd29a83de366a3.tar.bz2
SO_RERROR indicates that receive buffer overflows
should be handled as errors. Historically receive buffer overflows have been ignored and programs could not tell if they missed messages or messages had been truncated because of overflows. Since programs historically do not expect to get receive overflow errors, this behavior is not the default. This is really really important for programs that use route(4) to keep in sync with the system. If we loose a message then we need to reload the full system state, otherwise the behaviour from that point is undefined and can lead to chasing bogus bug reports.
-rw-r--r--newlib/libc/sys/rtems/include/sys/socket.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/newlib/libc/sys/rtems/include/sys/socket.h b/newlib/libc/sys/rtems/include/sys/socket.h
index 4079b3e..54cd0be 100644
--- a/newlib/libc/sys/rtems/include/sys/socket.h
+++ b/newlib/libc/sys/rtems/include/sys/socket.h
@@ -139,6 +139,7 @@ typedef __uintptr_t uintptr_t;
#define SO_NO_OFFLOAD 0x00004000 /* socket cannot be offloaded */
#define SO_NO_DDP 0x00008000 /* disable direct data placement */
#define SO_REUSEPORT_LB 0x00010000 /* reuse with load balancing */
+#define SO_RERROR 0x00020000 /* keep track of receive errors */
/*
* Additional options, not kept in so_options.