ggsn.c: Fix byte order of IPCP IPv4 DNS servers
... this probably didn't show up as 8.8.8.8 is dual-endian. doh!
The address was already in network byte order, but msgb_put_u32 "of
course" expects host byte order, ending up the wrong way in the actual
packets :/
Change-Id: Ia4bcac5fcebfc24760432eb66be258a01d78f65f
Closes: OS#2685
diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c
index 4b4a01f..1507c96 100644
--- a/ggsn/ggsn.c
+++ b/ggsn/ggsn.c
@@ -436,13 +436,13 @@
if (dns1 && dns1->len == 4) {
msgb_put_u8(msg, 0x81); /* DNS1 Tag */
msgb_put_u8(msg, 2 + dns1->len);/* DNS1 Length, incl. TL */
- msgb_put_u32(msg, dns1->v4.s_addr);
+ msgb_put_u32(msg, ntohl(dns1->v4.s_addr));
}
if (dns2 && dns2->len == 4) {
msgb_put_u8(msg, 0x83); /* DNS2 Tag */
msgb_put_u8(msg, 2 + dns2->len);/* DNS2 Length, incl. TL */
- msgb_put_u32(msg, dns2->v4.s_addr);
+ msgb_put_u32(msg, ntohl(dns2->v4.s_addr));
}
/* patch in length values */