aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/netfilter/ip_conntrack_helper_pptp.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_helper_pptp.c b/net/ipv4/netfilter/ip_conntrack_helper_pptp.c
index 57637ca2b82c..0510ee50dc65 100644
--- a/net/ipv4/netfilter/ip_conntrack_helper_pptp.c
+++ b/net/ipv4/netfilter/ip_conntrack_helper_pptp.c
@@ -220,7 +220,6 @@ static void pptp_destroy_siblings(struct ip_conntrack *ct)
220/* expect GRE connections (PNS->PAC and PAC->PNS direction) */ 220/* expect GRE connections (PNS->PAC and PAC->PNS direction) */
221static inline int 221static inline int
222exp_gre(struct ip_conntrack *master, 222exp_gre(struct ip_conntrack *master,
223 u_int32_t seq,
224 __be16 callid, 223 __be16 callid,
225 __be16 peer_callid) 224 __be16 peer_callid)
226{ 225{
@@ -336,7 +335,6 @@ pptp_inbound_pkt(struct sk_buff **pskb,
336 struct ip_ct_pptp_master *info = &ct->help.ct_pptp_info; 335 struct ip_ct_pptp_master *info = &ct->help.ct_pptp_info;
337 u_int16_t msg; 336 u_int16_t msg;
338 __be16 *cid, *pcid; 337 __be16 *cid, *pcid;
339 u_int32_t seq;
340 338
341 ctlh = skb_header_pointer(*pskb, nexthdr_off, sizeof(_ctlh), &_ctlh); 339 ctlh = skb_header_pointer(*pskb, nexthdr_off, sizeof(_ctlh), &_ctlh);
342 if (!ctlh) { 340 if (!ctlh) {
@@ -432,12 +430,7 @@ pptp_inbound_pkt(struct sk_buff **pskb,
432 430
433 info->cstate = PPTP_CALL_OUT_CONF; 431 info->cstate = PPTP_CALL_OUT_CONF;
434 432
435 seq = ntohl(tcph->seq) + sizeof(struct pptp_pkt_hdr) 433 exp_gre(ct, *cid, *pcid);
436 + sizeof(struct PptpControlHeader)
437 + ((void *)pcid - (void *)pptpReq);
438
439 if (exp_gre(ct, seq, *cid, *pcid) != 0)
440 printk("ip_conntrack_pptp: error during exp_gre\n");
441 break; 434 break;
442 435
443 case PPTP_IN_CALL_REQUEST: 436 case PPTP_IN_CALL_REQUEST:
@@ -488,13 +481,7 @@ pptp_inbound_pkt(struct sk_buff **pskb,
488 info->cstate = PPTP_CALL_IN_CONF; 481 info->cstate = PPTP_CALL_IN_CONF;
489 482
490 /* we expect a GRE connection from PAC to PNS */ 483 /* we expect a GRE connection from PAC to PNS */
491 seq = ntohl(tcph->seq) + sizeof(struct pptp_pkt_hdr) 484 exp_gre(ct, *cid, *pcid);
492 + sizeof(struct PptpControlHeader)
493 + ((void *)pcid - (void *)pptpReq);
494
495 if (exp_gre(ct, seq, *cid, *pcid) != 0)
496 printk("ip_conntrack_pptp: error during exp_gre\n");
497
498 break; 485 break;
499 486
500 case PPTP_CALL_DISCONNECT_NOTIFY: 487 case PPTP_CALL_DISCONNECT_NOTIFY: