@ -49,9 +49,14 @@ static void pptp_nat_expected(struct nf_conn *ct,
const struct nf_ct_pptp_master * ct_pptp_info ;
const struct nf_nat_pptp * nat_pptp_info ;
struct nf_nat_range range ;
struct nf_conn_nat * nat ;
nat = nf_ct_nat_ext_add ( ct ) ;
if ( WARN_ON_ONCE ( ! nat ) )
return ;
nat_pptp_info = & nat - > help . nat_pptp_info ;
ct_pptp_info = nfct_help_data ( master ) ;
nat_pptp_info = & nfct_nat ( master ) - > help . nat_pptp_info ;
/* And here goes the grand finale of corrosion... */
if ( exp - > dir = = IP_CT_DIR_ORIGINAL ) {
@ -120,13 +125,17 @@ pptp_outbound_pkt(struct sk_buff *skb,
{
struct nf_ct_pptp_master * ct_pptp_info ;
struct nf_conn_nat * nat = nfct_nat ( ct ) ;
struct nf_nat_pptp * nat_pptp_info ;
u_int16_t msg ;
__be16 new_callid ;
unsigned int cid_off ;
if ( WARN_ON_ONCE ( ! nat ) )
return NF_DROP ;
nat_pptp_info = & nat - > help . nat_pptp_info ;
ct_pptp_info = nfct_help_data ( ct ) ;
nat_pptp_info = & nfct_nat ( ct ) - > help . nat_pptp_info ;
new_callid = ct_pptp_info - > pns_call_id ;
@ -191,11 +200,15 @@ pptp_exp_gre(struct nf_conntrack_expect *expect_orig,
struct nf_conntrack_expect * expect_reply )
{
const struct nf_conn * ct = expect_orig - > master ;
struct nf_conn_nat * nat = nfct_nat ( ct ) ;
struct nf_ct_pptp_master * ct_pptp_info ;
struct nf_nat_pptp * nat_pptp_info ;
if ( WARN_ON_ONCE ( ! nat ) )
return ;
nat_pptp_info = & nat - > help . nat_pptp_info ;
ct_pptp_info = nfct_help_data ( ct ) ;
nat_pptp_info = & nfct_nat ( ct ) - > help . nat_pptp_info ;
/* save original PAC call ID in nat_info */
nat_pptp_info - > pac_call_id = ct_pptp_info - > pac_call_id ;
@ -223,11 +236,15 @@ pptp_inbound_pkt(struct sk_buff *skb,
union pptp_ctrl_union * pptpReq )
{
const struct nf_nat_pptp * nat_pptp_info ;
struct nf_conn_nat * nat = nfct_nat ( ct ) ;
u_int16_t msg ;
__be16 new_pcid ;
unsigned int pcid_off ;
nat_pptp_info = & nfct_nat ( ct ) - > help . nat_pptp_info ;
if ( WARN_ON_ONCE ( ! nat ) )
return NF_DROP ;
nat_pptp_info = & nat - > help . nat_pptp_info ;
new_pcid = nat_pptp_info - > pns_call_id ;
switch ( msg = ntohs ( ctlh - > messageType ) ) {