aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2005-09-23 02:45:24 -0400
committerDavid S. Miller <davem@davemloft.net>2005-09-23 02:45:24 -0400
commit67497205b12e3cb408259cc09b50c3a9d12cd935 (patch)
treeb06cc4b76736ca7df03717f30ff57cab8848ab2a
parent0ae5d253adcc467b1c52b512bbca9419eb438409 (diff)
[NETFILTER] Fix sparse endian warnings in pptp helper
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/netfilter_ipv4/ip_conntrack_pptp.h118
-rw-r--r--include/linux/netfilter_ipv4/ip_conntrack_tuple.h6
-rw-r--r--net/ipv4/netfilter/ip_conntrack_helper_pptp.c14
3 files changed, 70 insertions, 68 deletions
diff --git a/include/linux/netfilter_ipv4/ip_conntrack_pptp.h b/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
index 389e3851d52f..50a761db5a04 100644
--- a/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
+++ b/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
@@ -60,8 +60,8 @@ struct ip_ct_pptp_expect {
60 60
61struct pptp_pkt_hdr { 61struct pptp_pkt_hdr {
62 __u16 packetLength; 62 __u16 packetLength;
63 __u16 packetType; 63 __be16 packetType;
64 __u32 magicCookie; 64 __be32 magicCookie;
65}; 65};
66 66
67/* PptpControlMessageType values */ 67/* PptpControlMessageType values */
@@ -93,7 +93,7 @@ struct pptp_pkt_hdr {
93#define PPTP_REMOVE_DEVICE_ERROR 6 93#define PPTP_REMOVE_DEVICE_ERROR 6
94 94
95struct PptpControlHeader { 95struct PptpControlHeader {
96 __u16 messageType; 96 __be16 messageType;
97 __u16 reserved; 97 __u16 reserved;
98}; 98};
99 99
@@ -106,13 +106,13 @@ struct PptpControlHeader {
106#define PPTP_BEARER_CAP_DIGITAL 0x2 106#define PPTP_BEARER_CAP_DIGITAL 0x2
107 107
108struct PptpStartSessionRequest { 108struct PptpStartSessionRequest {
109 __u16 protocolVersion; 109 __be16 protocolVersion;
110 __u8 reserved1; 110 __u8 reserved1;
111 __u8 reserved2; 111 __u8 reserved2;
112 __u32 framingCapability; 112 __be32 framingCapability;
113 __u32 bearerCapability; 113 __be32 bearerCapability;
114 __u16 maxChannels; 114 __be16 maxChannels;
115 __u16 firmwareRevision; 115 __be16 firmwareRevision;
116 __u8 hostName[64]; 116 __u8 hostName[64];
117 __u8 vendorString[64]; 117 __u8 vendorString[64];
118}; 118};
@@ -125,13 +125,13 @@ struct PptpStartSessionRequest {
125#define PPTP_START_UNKNOWN_PROTOCOL 5 125#define PPTP_START_UNKNOWN_PROTOCOL 5
126 126
127struct PptpStartSessionReply { 127struct PptpStartSessionReply {
128 __u16 protocolVersion; 128 __be16 protocolVersion;
129 __u8 resultCode; 129 __u8 resultCode;
130 __u8 generalErrorCode; 130 __u8 generalErrorCode;
131 __u32 framingCapability; 131 __be32 framingCapability;
132 __u32 bearerCapability; 132 __be32 bearerCapability;
133 __u16 maxChannels; 133 __be16 maxChannels;
134 __u16 firmwareRevision; 134 __be16 firmwareRevision;
135 __u8 hostName[64]; 135 __u8 hostName[64];
136 __u8 vendorString[64]; 136 __u8 vendorString[64];
137}; 137};
@@ -155,7 +155,7 @@ struct PptpStopSessionReply {
155}; 155};
156 156
157struct PptpEchoRequest { 157struct PptpEchoRequest {
158 __u32 identNumber; 158 __be32 identNumber;
159}; 159};
160 160
161/* PptpEchoReplyResultCode */ 161/* PptpEchoReplyResultCode */
@@ -163,7 +163,7 @@ struct PptpEchoRequest {
163#define PPTP_ECHO_GENERAL_ERROR 2 163#define PPTP_ECHO_GENERAL_ERROR 2
164 164
165struct PptpEchoReply { 165struct PptpEchoReply {
166 __u32 identNumber; 166 __be32 identNumber;
167 __u8 resultCode; 167 __u8 resultCode;
168 __u8 generalErrorCode; 168 __u8 generalErrorCode;
169 __u16 reserved; 169 __u16 reserved;
@@ -180,16 +180,16 @@ struct PptpEchoReply {
180#define PPTP_DONT_CARE_BEARER_TYPE 3 180#define PPTP_DONT_CARE_BEARER_TYPE 3
181 181
182struct PptpOutCallRequest { 182struct PptpOutCallRequest {
183 __u16 callID; 183 __be16 callID;
184 __u16 callSerialNumber; 184 __be16 callSerialNumber;
185 __u32 minBPS; 185 __be32 minBPS;
186 __u32 maxBPS; 186 __be32 maxBPS;
187 __u32 bearerType; 187 __be32 bearerType;
188 __u32 framingType; 188 __be32 framingType;
189 __u16 packetWindow; 189 __be16 packetWindow;
190 __u16 packetProcDelay; 190 __be16 packetProcDelay;
191 __u16 reserved1; 191 __u16 reserved1;
192 __u16 phoneNumberLength; 192 __be16 phoneNumberLength;
193 __u16 reserved2; 193 __u16 reserved2;
194 __u8 phoneNumber[64]; 194 __u8 phoneNumber[64];
195 __u8 subAddress[64]; 195 __u8 subAddress[64];
@@ -205,24 +205,24 @@ struct PptpOutCallRequest {
205#define PPTP_OUTCALL_DONT_ACCEPT 7 205#define PPTP_OUTCALL_DONT_ACCEPT 7
206 206
207struct PptpOutCallReply { 207struct PptpOutCallReply {
208 __u16 callID; 208 __be16 callID;
209 __u16 peersCallID; 209 __be16 peersCallID;
210 __u8 resultCode; 210 __u8 resultCode;
211 __u8 generalErrorCode; 211 __u8 generalErrorCode;
212 __u16 causeCode; 212 __be16 causeCode;
213 __u32 connectSpeed; 213 __be32 connectSpeed;
214 __u16 packetWindow; 214 __be16 packetWindow;
215 __u16 packetProcDelay; 215 __be16 packetProcDelay;
216 __u32 physChannelID; 216 __be32 physChannelID;
217}; 217};
218 218
219struct PptpInCallRequest { 219struct PptpInCallRequest {
220 __u16 callID; 220 __be16 callID;
221 __u16 callSerialNumber; 221 __be16 callSerialNumber;
222 __u32 callBearerType; 222 __be32 callBearerType;
223 __u32 physChannelID; 223 __be32 physChannelID;
224 __u16 dialedNumberLength; 224 __be16 dialedNumberLength;
225 __u16 dialingNumberLength; 225 __be16 dialingNumberLength;
226 __u8 dialedNumber[64]; 226 __u8 dialedNumber[64];
227 __u8 dialingNumber[64]; 227 __u8 dialingNumber[64];
228 __u8 subAddress[64]; 228 __u8 subAddress[64];
@@ -234,54 +234,54 @@ struct PptpInCallRequest {
234#define PPTP_INCALL_DONT_ACCEPT 3 234#define PPTP_INCALL_DONT_ACCEPT 3
235 235
236struct PptpInCallReply { 236struct PptpInCallReply {
237 __u16 callID; 237 __be16 callID;
238 __u16 peersCallID; 238 __be16 peersCallID;
239 __u8 resultCode; 239 __u8 resultCode;
240 __u8 generalErrorCode; 240 __u8 generalErrorCode;
241 __u16 packetWindow; 241 __be16 packetWindow;
242 __u16 packetProcDelay; 242 __be16 packetProcDelay;
243 __u16 reserved; 243 __u16 reserved;
244}; 244};
245 245
246struct PptpInCallConnected { 246struct PptpInCallConnected {
247 __u16 peersCallID; 247 __be16 peersCallID;
248 __u16 reserved; 248 __u16 reserved;
249 __u32 connectSpeed; 249 __be32 connectSpeed;
250 __u16 packetWindow; 250 __be16 packetWindow;
251 __u16 packetProcDelay; 251 __be16 packetProcDelay;
252 __u32 callFramingType; 252 __be32 callFramingType;
253}; 253};
254 254
255struct PptpClearCallRequest { 255struct PptpClearCallRequest {
256 __u16 callID; 256 __be16 callID;
257 __u16 reserved; 257 __u16 reserved;
258}; 258};
259 259
260struct PptpCallDisconnectNotify { 260struct PptpCallDisconnectNotify {
261 __u16 callID; 261 __be16 callID;
262 __u8 resultCode; 262 __u8 resultCode;
263 __u8 generalErrorCode; 263 __u8 generalErrorCode;
264 __u16 causeCode; 264 __be16 causeCode;
265 __u16 reserved; 265 __u16 reserved;
266 __u8 callStatistics[128]; 266 __u8 callStatistics[128];
267}; 267};
268 268
269struct PptpWanErrorNotify { 269struct PptpWanErrorNotify {
270 __u16 peersCallID; 270 __be16 peersCallID;
271 __u16 reserved; 271 __u16 reserved;
272 __u32 crcErrors; 272 __be32 crcErrors;
273 __u32 framingErrors; 273 __be32 framingErrors;
274 __u32 hardwareOverRuns; 274 __be32 hardwareOverRuns;
275 __u32 bufferOverRuns; 275 __be32 bufferOverRuns;
276 __u32 timeoutErrors; 276 __be32 timeoutErrors;
277 __u32 alignmentErrors; 277 __be32 alignmentErrors;
278}; 278};
279 279
280struct PptpSetLinkInfo { 280struct PptpSetLinkInfo {
281 __u16 peersCallID; 281 __be16 peersCallID;
282 __u16 reserved; 282 __u16 reserved;
283 __u32 sendAccm; 283 __be32 sendAccm;
284 __u32 recvAccm; 284 __be32 recvAccm;
285}; 285};
286 286
287 287
diff --git a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
index 14dc0f7b6556..20e43f018b7c 100644
--- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
+++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
@@ -17,7 +17,7 @@ union ip_conntrack_manip_proto
17 u_int16_t all; 17 u_int16_t all;
18 18
19 struct { 19 struct {
20 u_int16_t port; 20 __be16 port;
21 } tcp; 21 } tcp;
22 struct { 22 struct {
23 u_int16_t port; 23 u_int16_t port;
@@ -29,7 +29,7 @@ union ip_conntrack_manip_proto
29 u_int16_t port; 29 u_int16_t port;
30 } sctp; 30 } sctp;
31 struct { 31 struct {
32 u_int16_t key; /* key is 32bit, pptp only uses 16 */ 32 __be16 key; /* key is 32bit, pptp only uses 16 */
33 } gre; 33 } gre;
34}; 34};
35 35
@@ -65,7 +65,7 @@ struct ip_conntrack_tuple
65 u_int16_t port; 65 u_int16_t port;
66 } sctp; 66 } sctp;
67 struct { 67 struct {
68 u_int16_t key; /* key is 32bit, 68 __be16 key; /* key is 32bit,
69 * pptp only uses 16 */ 69 * pptp only uses 16 */
70 } gre; 70 } gre;
71 } u; 71 } u;
diff --git a/net/ipv4/netfilter/ip_conntrack_helper_pptp.c b/net/ipv4/netfilter/ip_conntrack_helper_pptp.c
index 117587978700..8236ee0fb090 100644
--- a/net/ipv4/netfilter/ip_conntrack_helper_pptp.c
+++ b/net/ipv4/netfilter/ip_conntrack_helper_pptp.c
@@ -223,8 +223,8 @@ static void pptp_destroy_siblings(struct ip_conntrack *ct)
223static inline int 223static inline int
224exp_gre(struct ip_conntrack *master, 224exp_gre(struct ip_conntrack *master,
225 u_int32_t seq, 225 u_int32_t seq,
226 u_int16_t callid, 226 __be16 callid,
227 u_int16_t peer_callid) 227 __be16 peer_callid)
228{ 228{
229 struct ip_conntrack_tuple inv_tuple; 229 struct ip_conntrack_tuple inv_tuple;
230 struct ip_conntrack_tuple exp_tuples[] = { 230 struct ip_conntrack_tuple exp_tuples[] = {
@@ -263,7 +263,7 @@ exp_gre(struct ip_conntrack *master,
263 exp_orig->mask.src.ip = 0xffffffff; 263 exp_orig->mask.src.ip = 0xffffffff;
264 exp_orig->mask.src.u.all = 0; 264 exp_orig->mask.src.u.all = 0;
265 exp_orig->mask.dst.u.all = 0; 265 exp_orig->mask.dst.u.all = 0;
266 exp_orig->mask.dst.u.gre.key = 0xffff; 266 exp_orig->mask.dst.u.gre.key = htons(0xffff);
267 exp_orig->mask.dst.ip = 0xffffffff; 267 exp_orig->mask.dst.ip = 0xffffffff;
268 exp_orig->mask.dst.protonum = 0xff; 268 exp_orig->mask.dst.protonum = 0xff;
269 269
@@ -340,7 +340,8 @@ pptp_inbound_pkt(struct sk_buff **pskb,
340 unsigned int reqlen; 340 unsigned int reqlen;
341 union pptp_ctrl_union _pptpReq, *pptpReq; 341 union pptp_ctrl_union _pptpReq, *pptpReq;
342 struct ip_ct_pptp_master *info = &ct->help.ct_pptp_info; 342 struct ip_ct_pptp_master *info = &ct->help.ct_pptp_info;
343 u_int16_t msg, *cid, *pcid; 343 u_int16_t msg;
344 __be16 *cid, *pcid;
344 u_int32_t seq; 345 u_int32_t seq;
345 346
346 ctlh = skb_header_pointer(*pskb, nexthdr_off, sizeof(_ctlh), &_ctlh); 347 ctlh = skb_header_pointer(*pskb, nexthdr_off, sizeof(_ctlh), &_ctlh);
@@ -551,7 +552,8 @@ pptp_outbound_pkt(struct sk_buff **pskb,
551 unsigned int reqlen; 552 unsigned int reqlen;
552 union pptp_ctrl_union _pptpReq, *pptpReq; 553 union pptp_ctrl_union _pptpReq, *pptpReq;
553 struct ip_ct_pptp_master *info = &ct->help.ct_pptp_info; 554 struct ip_ct_pptp_master *info = &ct->help.ct_pptp_info;
554 u_int16_t msg, *cid, *pcid; 555 u_int16_t msg;
556 __be16 *cid, *pcid;
555 557
556 ctlh = skb_header_pointer(*pskb, nexthdr_off, sizeof(_ctlh), &_ctlh); 558 ctlh = skb_header_pointer(*pskb, nexthdr_off, sizeof(_ctlh), &_ctlh);
557 if (!ctlh) 559 if (!ctlh)
@@ -755,7 +757,7 @@ static struct ip_conntrack_helper pptp = {
755 } 757 }
756 }, 758 },
757 .mask = { .src = { .ip = 0, 759 .mask = { .src = { .ip = 0,
758 .u = { .tcp = { .port = 0xffff } } 760 .u = { .tcp = { .port = __constant_htons(0xffff) } }
759 }, 761 },
760 .dst = { .ip = 0, 762 .dst = { .ip = 0,
761 .u = { .all = 0 }, 763 .u = { .all = 0 },