The branch main has been updated by tuexen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=cee09bda03c8be540f1c02d933db714ee2bd6ec7

commit cee09bda03c8be540f1c02d933db714ee2bd6ec7
Author:     Michael Tuexen <tue...@freebsd.org>
AuthorDate: 2023-03-15 21:55:23 +0000
Commit:     Michael Tuexen <tue...@freebsd.org>
CommitDate: 2023-03-15 21:55:23 +0000

    sctp: allow disabling of SCTP_ACCEPT_ZERO_CHECKSUM socket option
---
 sys/netinet/sctp_usrreq.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c
index 57d5abdebd30..65edfb49a955 100644
--- a/sys/netinet/sctp_usrreq.c
+++ b/sys/netinet/sctp_usrreq.c
@@ -6840,18 +6840,10 @@ sctp_setopt(struct socket *so, int optname, void 
*optval, size_t optsize,
 
                        SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize);
                        SCTP_INP_WLOCK(inp);
-                       if (*value == 0) {
-                               /*
-                                * Do not allow turning zero checksum
-                                * acceptance off again, since this could
-                                * result in inconsistent behaviour for
-                                * listeners.
-                                */
-                               if (inp->zero_checksum > 0) {
-                                       error = EINVAL;
-                               }
-                       } else {
+                       if (*value != 0) {
                                inp->zero_checksum = 1;
+                       } else {
+                               inp->zero_checksum = 0;
                        }
                        SCTP_INP_WUNLOCK(inp);
                        break;

Reply via email to