Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / net / ipv4 / netfilter / ip_nat_helper_h323.c
index 419b878..d45663d 100644 (file)
@@ -486,80 +486,6 @@ static int nat_q931(struct sk_buff **pskb, struct ip_conntrack *ct,
        return 0;
 }
 
-/****************************************************************************/
-static void ip_nat_callforwarding_expect(struct ip_conntrack *new,
-                                        struct ip_conntrack_expect *this)
-{
-       struct ip_nat_range range;
-
-       /* This must be a fresh one. */
-       BUG_ON(new->status & IPS_NAT_DONE_MASK);
-
-       /* Change src to where master sends to */
-       range.flags = IP_NAT_RANGE_MAP_IPS;
-       range.min_ip = range.max_ip = new->tuplehash[!this->dir].tuple.src.ip;
-
-       /* hook doesn't matter, but it has to do source manip */
-       ip_nat_setup_info(new, &range, NF_IP_POST_ROUTING);
-
-       /* For DST manip, map port here to where it's expected. */
-       range.flags = (IP_NAT_RANGE_MAP_IPS | IP_NAT_RANGE_PROTO_SPECIFIED);
-       range.min = range.max = this->saved_proto;
-       range.min_ip = range.max_ip = this->saved_ip;
-
-       /* hook doesn't matter, but it has to do destination manip */
-       ip_nat_setup_info(new, &range, NF_IP_PRE_ROUTING);
-
-       ip_conntrack_q931_expect(new, this);
-}
-
-/****************************************************************************/
-static int nat_callforwarding(struct sk_buff **pskb, struct ip_conntrack *ct,
-                             enum ip_conntrack_info ctinfo,
-                             unsigned char **data, int dataoff,
-                             TransportAddress * addr, u_int16_t port,
-                             struct ip_conntrack_expect *exp)
-{
-       int dir = CTINFO2DIR(ctinfo);
-       u_int16_t nated_port;
-
-       /* Set expectations for NAT */
-       exp->saved_ip = exp->tuple.dst.ip;
-       exp->tuple.dst.ip = ct->tuplehash[!dir].tuple.dst.ip;
-       exp->saved_proto.tcp.port = exp->tuple.dst.u.tcp.port;
-       exp->expectfn = ip_nat_callforwarding_expect;
-       exp->dir = !dir;
-
-       /* Try to get same port: if not, try to change it. */
-       for (nated_port = port; nated_port != 0; nated_port++) {
-               exp->tuple.dst.u.tcp.port = htons(nated_port);
-               if (ip_conntrack_expect_related(exp) == 0)
-                       break;
-       }
-
-       if (nated_port == 0) {  /* No port available */
-               if (net_ratelimit())
-                       printk("ip_nat_q931: out of TCP ports\n");
-               return 0;
-       }
-
-       /* Modify signal */
-       if (!set_h225_addr(pskb, data, dataoff, addr,
-                          ct->tuplehash[!dir].tuple.dst.ip,
-                          nated_port) == 0) {
-               ip_conntrack_unexpect_related(exp);
-               return -1;
-       }
-
-       /* Success */
-       DEBUGP("ip_nat_q931: expect Call Forwarding "
-              "%u.%u.%u.%u:%hu->%u.%u.%u.%u:%hu\n",
-              NIPQUAD(exp->tuple.src.ip), ntohs(exp->tuple.src.u.tcp.port),
-              NIPQUAD(exp->tuple.dst.ip), ntohs(exp->tuple.dst.u.tcp.port));
-
-       return 0;
-}
-
 /****************************************************************************/
 static int __init init(void)
 {
@@ -570,7 +496,6 @@ static int __init init(void)
        BUG_ON(nat_rtp_rtcp_hook != NULL);
        BUG_ON(nat_t120_hook != NULL);
        BUG_ON(nat_h245_hook != NULL);
-       BUG_ON(nat_callforwarding_hook != NULL);
        BUG_ON(nat_q931_hook != NULL);
 
        set_h245_addr_hook = set_h245_addr;
@@ -580,7 +505,6 @@ static int __init init(void)
        nat_rtp_rtcp_hook = nat_rtp_rtcp;
        nat_t120_hook = nat_t120;
        nat_h245_hook = nat_h245;
-       nat_callforwarding_hook = nat_callforwarding;
        nat_q931_hook = nat_q931;
 
        DEBUGP("ip_nat_h323: init success\n");
@@ -597,7 +521,6 @@ static void __exit fini(void)
        nat_rtp_rtcp_hook = NULL;
        nat_t120_hook = NULL;
        nat_h245_hook = NULL;
-       nat_callforwarding_hook = NULL;
        nat_q931_hook = NULL;
        synchronize_net();
 }