Harald Welte has submitted this change and it was merged.
Change subject: SCTP: Fix PPID byte width
......................................................................
SCTP: Fix PPID byte width
In a659590e29412588bca2243b8329e82286244b00 we fixed endianness issues
with the Stream ID field, but at the same time mistook the PPID field
for 16bits. In reality it is 32bits, and hence our 'htons' is rendering
wrong PPID values.
Change-Id: I1b60523044835ee630dba9a43d26af4f1ebd1ced
---
M src/stream.c
1 file changed, 3 insertions(+), 3 deletions(-)
Approvals:
Harald Welte: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/stream.c b/src/stream.c
index 3bc36a3..591cd06 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -185,7 +185,7 @@
#ifdef HAVE_LIBSCTP
case IPPROTO_SCTP:
memset(&sinfo, 0, sizeof(sinfo));
- sinfo.sinfo_ppid = htons(msgb_sctp_ppid(msg));
+ sinfo.sinfo_ppid = htonl(msgb_sctp_ppid(msg));
sinfo.sinfo_stream = msgb_sctp_stream(msg);
ret = sctp_send(cli->ofd.fd, msg->data, msgb_length(msg),
&sinfo, MSG_NOSIGNAL);
@@ -752,7 +752,7 @@
#ifdef HAVE_LIBSCTP
case IPPROTO_SCTP:
memset(&sinfo, 0, sizeof(sinfo));
- sinfo.sinfo_ppid = htons(msgb_sctp_ppid(msg));
+ sinfo.sinfo_ppid = htonl(msgb_sctp_ppid(msg));
sinfo.sinfo_stream = msgb_sctp_stream(msg);
ret = sctp_send(conn->ofd.fd, msg->data, msgb_length(msg),
&sinfo, MSG_NOSIGNAL);
@@ -931,7 +931,7 @@
}
return -EAGAIN;
}
- msgb_sctp_ppid(msg) = ntohs(sinfo.sinfo_ppid);
+ msgb_sctp_ppid(msg) = ntohl(sinfo.sinfo_ppid);
msgb_sctp_stream(msg) = sinfo.sinfo_stream;
break;
#endif
--
To view, visit https://gerrit.osmocom.org/2309
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1b60523044835ee630dba9a43d26af4f1ebd1ced
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder