[NETFILTER]: Convert DEBUGP to pr_debug
Convert DEBUGP to pr_debug and fix lots of non-compiling debug statements. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
342b7e3c8a
commit
0d53778e81
@@ -40,12 +40,6 @@
|
||||
|
||||
#define NF_CONNTRACK_VERSION "0.5.0"
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
DEFINE_RWLOCK(nf_conntrack_lock);
|
||||
EXPORT_SYMBOL_GPL(nf_conntrack_lock);
|
||||
|
||||
@@ -141,7 +135,7 @@ EXPORT_SYMBOL_GPL(nf_ct_invert_tuple);
|
||||
static void
|
||||
clean_from_lists(struct nf_conn *ct)
|
||||
{
|
||||
DEBUGP("clean_from_lists(%p)\n", ct);
|
||||
pr_debug("clean_from_lists(%p)\n", ct);
|
||||
hlist_del(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode);
|
||||
hlist_del(&ct->tuplehash[IP_CT_DIR_REPLY].hnode);
|
||||
|
||||
@@ -155,7 +149,7 @@ destroy_conntrack(struct nf_conntrack *nfct)
|
||||
struct nf_conn *ct = (struct nf_conn *)nfct;
|
||||
struct nf_conntrack_l4proto *l4proto;
|
||||
|
||||
DEBUGP("destroy_conntrack(%p)\n", ct);
|
||||
pr_debug("destroy_conntrack(%p)\n", ct);
|
||||
NF_CT_ASSERT(atomic_read(&nfct->use) == 0);
|
||||
NF_CT_ASSERT(!timer_pending(&ct->timeout));
|
||||
|
||||
@@ -194,7 +188,7 @@ destroy_conntrack(struct nf_conntrack *nfct)
|
||||
if (ct->master)
|
||||
nf_ct_put(ct->master);
|
||||
|
||||
DEBUGP("destroy_conntrack: returning ct=%p to slab\n", ct);
|
||||
pr_debug("destroy_conntrack: returning ct=%p to slab\n", ct);
|
||||
nf_conntrack_free(ct);
|
||||
}
|
||||
|
||||
@@ -313,7 +307,7 @@ __nf_conntrack_confirm(struct sk_buff **pskb)
|
||||
/* No external references means noone else could have
|
||||
confirmed us. */
|
||||
NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
|
||||
DEBUGP("Confirming conntrack %p\n", ct);
|
||||
pr_debug("Confirming conntrack %p\n", ct);
|
||||
|
||||
write_lock_bh(&nf_conntrack_lock);
|
||||
|
||||
@@ -446,7 +440,7 @@ struct nf_conn *nf_conntrack_alloc(const struct nf_conntrack_tuple *orig,
|
||||
|
||||
conntrack = kmem_cache_zalloc(nf_conntrack_cachep, GFP_ATOMIC);
|
||||
if (conntrack == NULL) {
|
||||
DEBUGP("nf_conntrack_alloc: Can't alloc conntrack.\n");
|
||||
pr_debug("nf_conntrack_alloc: Can't alloc conntrack.\n");
|
||||
atomic_dec(&nf_conntrack_count);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
@@ -485,27 +479,27 @@ init_conntrack(const struct nf_conntrack_tuple *tuple,
|
||||
struct nf_conntrack_expect *exp;
|
||||
|
||||
if (!nf_ct_invert_tuple(&repl_tuple, tuple, l3proto, l4proto)) {
|
||||
DEBUGP("Can't invert tuple.\n");
|
||||
pr_debug("Can't invert tuple.\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
conntrack = nf_conntrack_alloc(tuple, &repl_tuple);
|
||||
if (conntrack == NULL || IS_ERR(conntrack)) {
|
||||
DEBUGP("Can't allocate conntrack.\n");
|
||||
pr_debug("Can't allocate conntrack.\n");
|
||||
return (struct nf_conntrack_tuple_hash *)conntrack;
|
||||
}
|
||||
|
||||
if (!l4proto->new(conntrack, skb, dataoff)) {
|
||||
nf_conntrack_free(conntrack);
|
||||
DEBUGP("init conntrack: can't track with proto module\n");
|
||||
pr_debug("init conntrack: can't track with proto module\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
write_lock_bh(&nf_conntrack_lock);
|
||||
exp = nf_ct_find_expectation(tuple);
|
||||
if (exp) {
|
||||
DEBUGP("conntrack: expectation arrives ct=%p exp=%p\n",
|
||||
conntrack, exp);
|
||||
pr_debug("conntrack: expectation arrives ct=%p exp=%p\n",
|
||||
conntrack, exp);
|
||||
/* Welcome, Mr. Bond. We've been expecting you... */
|
||||
__set_bit(IPS_EXPECTED_BIT, &conntrack->status);
|
||||
conntrack->master = exp->master;
|
||||
@@ -568,7 +562,7 @@ resolve_normal_ct(struct sk_buff *skb,
|
||||
if (!nf_ct_get_tuple(skb, skb_network_offset(skb),
|
||||
dataoff, l3num, protonum, &tuple, l3proto,
|
||||
l4proto)) {
|
||||
DEBUGP("resolve_normal_ct: Can't get tuple\n");
|
||||
pr_debug("resolve_normal_ct: Can't get tuple\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -591,13 +585,14 @@ resolve_normal_ct(struct sk_buff *skb,
|
||||
} else {
|
||||
/* Once we've had two way comms, always ESTABLISHED. */
|
||||
if (test_bit(IPS_SEEN_REPLY_BIT, &ct->status)) {
|
||||
DEBUGP("nf_conntrack_in: normal packet for %p\n", ct);
|
||||
pr_debug("nf_conntrack_in: normal packet for %p\n", ct);
|
||||
*ctinfo = IP_CT_ESTABLISHED;
|
||||
} else if (test_bit(IPS_EXPECTED_BIT, &ct->status)) {
|
||||
DEBUGP("nf_conntrack_in: related packet for %p\n", ct);
|
||||
pr_debug("nf_conntrack_in: related packet for %p\n",
|
||||
ct);
|
||||
*ctinfo = IP_CT_RELATED;
|
||||
} else {
|
||||
DEBUGP("nf_conntrack_in: new packet for %p\n", ct);
|
||||
pr_debug("nf_conntrack_in: new packet for %p\n", ct);
|
||||
*ctinfo = IP_CT_NEW;
|
||||
}
|
||||
*set_reply = 0;
|
||||
@@ -629,7 +624,7 @@ nf_conntrack_in(int pf, unsigned int hooknum, struct sk_buff **pskb)
|
||||
l3proto = __nf_ct_l3proto_find((u_int16_t)pf);
|
||||
|
||||
if ((ret = l3proto->prepare(pskb, hooknum, &dataoff, &protonum)) <= 0) {
|
||||
DEBUGP("not prepared to track yet or error occured\n");
|
||||
pr_debug("not prepared to track yet or error occured\n");
|
||||
return -ret;
|
||||
}
|
||||
|
||||
@@ -665,7 +660,7 @@ nf_conntrack_in(int pf, unsigned int hooknum, struct sk_buff **pskb)
|
||||
if (ret < 0) {
|
||||
/* Invalid: inverse of the return code tells
|
||||
* the netfilter core what to do */
|
||||
DEBUGP("nf_conntrack_in: Can't track with proto module\n");
|
||||
pr_debug("nf_conntrack_in: Can't track with proto module\n");
|
||||
nf_conntrack_put((*pskb)->nfct);
|
||||
(*pskb)->nfct = NULL;
|
||||
NF_CT_STAT_INC_ATOMIC(invalid);
|
||||
@@ -706,7 +701,7 @@ void nf_conntrack_alter_reply(struct nf_conn *ct,
|
||||
/* Should be unconfirmed, so not in hash table yet */
|
||||
NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
|
||||
|
||||
DEBUGP("Altering reply tuple of %p to ", ct);
|
||||
pr_debug("Altering reply tuple of %p to ", ct);
|
||||
NF_CT_DUMP_TUPLE(newreply);
|
||||
|
||||
ct->tuplehash[IP_CT_DIR_REPLY].tuple = *newreply;
|
||||
|
@@ -51,12 +51,6 @@ unsigned int (*nf_nat_ftp_hook)(struct sk_buff **pskb,
|
||||
struct nf_conntrack_expect *exp);
|
||||
EXPORT_SYMBOL_GPL(nf_nat_ftp_hook);
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
static int try_rfc959(const char *, size_t, struct nf_conntrack_man *, char);
|
||||
static int try_eprt(const char *, size_t, struct nf_conntrack_man *, char);
|
||||
static int try_epsv_response(const char *, size_t, struct nf_conntrack_man *,
|
||||
@@ -138,13 +132,13 @@ static int try_number(const char *data, size_t dlen, u_int32_t array[],
|
||||
if (*data == term && i == array_size - 1)
|
||||
return len;
|
||||
|
||||
DEBUGP("Char %u (got %u nums) `%u' unexpected\n",
|
||||
len, i, *data);
|
||||
pr_debug("Char %u (got %u nums) `%u' unexpected\n",
|
||||
len, i, *data);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
DEBUGP("Failed to fill %u numbers separated by %c\n", array_size, sep);
|
||||
|
||||
pr_debug("Failed to fill %u numbers separated by %c\n",
|
||||
array_size, sep);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -178,13 +172,13 @@ static int get_port(const char *data, int start, size_t dlen, char delim,
|
||||
if (tmp_port == 0)
|
||||
break;
|
||||
*port = htons(tmp_port);
|
||||
DEBUGP("get_port: return %d\n", tmp_port);
|
||||
pr_debug("get_port: return %d\n", tmp_port);
|
||||
return i + 1;
|
||||
}
|
||||
else if (data[i] >= '0' && data[i] <= '9')
|
||||
tmp_port = tmp_port*10 + data[i] - '0';
|
||||
else { /* Some other crap */
|
||||
DEBUGP("get_port: invalid char.\n");
|
||||
pr_debug("get_port: invalid char.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -201,22 +195,22 @@ static int try_eprt(const char *data, size_t dlen, struct nf_conntrack_man *cmd,
|
||||
/* First character is delimiter, then "1" for IPv4 or "2" for IPv6,
|
||||
then delimiter again. */
|
||||
if (dlen <= 3) {
|
||||
DEBUGP("EPRT: too short\n");
|
||||
pr_debug("EPRT: too short\n");
|
||||
return 0;
|
||||
}
|
||||
delim = data[0];
|
||||
if (isdigit(delim) || delim < 33 || delim > 126 || data[2] != delim) {
|
||||
DEBUGP("try_eprt: invalid delimitter.\n");
|
||||
pr_debug("try_eprt: invalid delimitter.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((cmd->l3num == PF_INET && data[1] != '1') ||
|
||||
(cmd->l3num == PF_INET6 && data[1] != '2')) {
|
||||
DEBUGP("EPRT: invalid protocol number.\n");
|
||||
pr_debug("EPRT: invalid protocol number.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEBUGP("EPRT: Got %c%c%c\n", delim, data[1], delim);
|
||||
pr_debug("EPRT: Got %c%c%c\n", delim, data[1], delim);
|
||||
|
||||
if (data[1] == '1') {
|
||||
u_int32_t array[4];
|
||||
@@ -234,7 +228,7 @@ static int try_eprt(const char *data, size_t dlen, struct nf_conntrack_man *cmd,
|
||||
|
||||
if (length == 0)
|
||||
return 0;
|
||||
DEBUGP("EPRT: Got IP address!\n");
|
||||
pr_debug("EPRT: Got IP address!\n");
|
||||
/* Start offset includes initial "|1|", and trailing delimiter */
|
||||
return get_port(data, 3 + length + 1, dlen, delim, &cmd->u.tcp.port);
|
||||
}
|
||||
@@ -267,7 +261,7 @@ static int find_pattern(const char *data, size_t dlen,
|
||||
{
|
||||
size_t i;
|
||||
|
||||
DEBUGP("find_pattern `%s': dlen = %u\n", pattern, dlen);
|
||||
pr_debug("find_pattern `%s': dlen = %Zu\n", pattern, dlen);
|
||||
if (dlen == 0)
|
||||
return 0;
|
||||
|
||||
@@ -282,17 +276,17 @@ static int find_pattern(const char *data, size_t dlen,
|
||||
#if 0
|
||||
size_t i;
|
||||
|
||||
DEBUGP("ftp: string mismatch\n");
|
||||
pr_debug("ftp: string mismatch\n");
|
||||
for (i = 0; i < plen; i++) {
|
||||
DEBUGP("ftp:char %u `%c'(%u) vs `%c'(%u)\n",
|
||||
i, data[i], data[i],
|
||||
pattern[i], pattern[i]);
|
||||
pr_debug("ftp:char %u `%c'(%u) vs `%c'(%u)\n",
|
||||
i, data[i], data[i],
|
||||
pattern[i], pattern[i]);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEBUGP("Pattern matches!\n");
|
||||
pr_debug("Pattern matches!\n");
|
||||
/* Now we've found the constant string, try to skip
|
||||
to the 'skip' character */
|
||||
for (i = plen; data[i] != skip; i++)
|
||||
@@ -301,14 +295,14 @@ static int find_pattern(const char *data, size_t dlen,
|
||||
/* Skip over the last character */
|
||||
i++;
|
||||
|
||||
DEBUGP("Skipped up to `%c'!\n", skip);
|
||||
pr_debug("Skipped up to `%c'!\n", skip);
|
||||
|
||||
*numoff = i;
|
||||
*numlen = getnum(data + i, dlen - i, cmd, term);
|
||||
if (!*numlen)
|
||||
return -1;
|
||||
|
||||
DEBUGP("Match succeeded!\n");
|
||||
pr_debug("Match succeeded!\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -373,7 +367,7 @@ static int help(struct sk_buff **pskb,
|
||||
/* Until there's been traffic both ways, don't look in packets. */
|
||||
if (ctinfo != IP_CT_ESTABLISHED
|
||||
&& ctinfo != IP_CT_ESTABLISHED+IP_CT_IS_REPLY) {
|
||||
DEBUGP("ftp: Conntrackinfo = %u\n", ctinfo);
|
||||
pr_debug("ftp: Conntrackinfo = %u\n", ctinfo);
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
|
||||
@@ -384,8 +378,8 @@ static int help(struct sk_buff **pskb,
|
||||
dataoff = protoff + th->doff * 4;
|
||||
/* No data? */
|
||||
if (dataoff >= (*pskb)->len) {
|
||||
DEBUGP("ftp: dataoff(%u) >= skblen(%u)\n", dataoff,
|
||||
(*pskb)->len);
|
||||
pr_debug("ftp: dataoff(%u) >= skblen(%u)\n", dataoff,
|
||||
(*pskb)->len);
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
datalen = (*pskb)->len - dataoff;
|
||||
@@ -400,11 +394,11 @@ static int help(struct sk_buff **pskb,
|
||||
/* Look up to see if we're just after a \n. */
|
||||
if (!find_nl_seq(ntohl(th->seq), ct_ftp_info, dir)) {
|
||||
/* Now if this ends in \n, update ftp info. */
|
||||
DEBUGP("nf_conntrack_ftp_help: wrong seq pos %s(%u) or %s(%u)\n",
|
||||
ct_ftp_info->seq_aft_nl_num[dir] > 0 ? "" : "(UNSET)",
|
||||
ct_ftp_info->seq_aft_nl[dir][0],
|
||||
ct_ftp_info->seq_aft_nl_num[dir] > 1 ? "" : "(UNSET)",
|
||||
ct_ftp_info->seq_aft_nl[dir][1]);
|
||||
pr_debug("nf_conntrack_ftp: wrong seq pos %s(%u) or %s(%u)\n",
|
||||
ct_ftp_info->seq_aft_nl_num[dir] > 0 ? "" : "(UNSET)",
|
||||
ct_ftp_info->seq_aft_nl[dir][0],
|
||||
ct_ftp_info->seq_aft_nl_num[dir] > 1 ? "" : "(UNSET)",
|
||||
ct_ftp_info->seq_aft_nl[dir][1]);
|
||||
ret = NF_ACCEPT;
|
||||
goto out_update_nl;
|
||||
}
|
||||
@@ -442,9 +436,9 @@ static int help(struct sk_buff **pskb,
|
||||
goto out_update_nl;
|
||||
}
|
||||
|
||||
DEBUGP("conntrack_ftp: match `%.*s' (%u bytes at %u)\n",
|
||||
(int)matchlen, fb_ptr + matchoff,
|
||||
matchlen, ntohl(th->seq) + matchoff);
|
||||
pr_debug("conntrack_ftp: match `%.*s' (%u bytes at %u)\n",
|
||||
matchlen, fb_ptr + matchoff,
|
||||
matchlen, ntohl(th->seq) + matchoff);
|
||||
|
||||
exp = nf_ct_expect_alloc(ct);
|
||||
if (exp == NULL) {
|
||||
@@ -466,14 +460,16 @@ static int help(struct sk_buff **pskb,
|
||||
different IP address. Simply don't record it for
|
||||
NAT. */
|
||||
if (cmd.l3num == PF_INET) {
|
||||
DEBUGP("conntrack_ftp: NOT RECORDING: " NIPQUAD_FMT " != " NIPQUAD_FMT "\n",
|
||||
NIPQUAD(cmd.u3.ip),
|
||||
NIPQUAD(ct->tuplehash[dir].tuple.src.u3.ip));
|
||||
pr_debug("conntrack_ftp: NOT RECORDING: " NIPQUAD_FMT
|
||||
" != " NIPQUAD_FMT "\n",
|
||||
NIPQUAD(cmd.u3.ip),
|
||||
NIPQUAD(ct->tuplehash[dir].tuple.src.u3.ip));
|
||||
} else {
|
||||
DEBUGP("conntrack_ftp: NOT RECORDING: " NIP6_FMT " != " NIP6_FMT "\n",
|
||||
NIP6(*((struct in6_addr *)cmd.u3.ip6)),
|
||||
NIP6(*((struct in6_addr *)ct->tuplehash[dir]
|
||||
.tuple.src.u3.ip6)));
|
||||
pr_debug("conntrack_ftp: NOT RECORDING: " NIP6_FMT
|
||||
" != " NIP6_FMT "\n",
|
||||
NIP6(*((struct in6_addr *)cmd.u3.ip6)),
|
||||
NIP6(*((struct in6_addr *)
|
||||
ct->tuplehash[dir].tuple.src.u3.ip6)));
|
||||
}
|
||||
|
||||
/* Thanks to Cristiano Lincoln Mattos
|
||||
@@ -530,9 +526,9 @@ static void nf_conntrack_ftp_fini(void)
|
||||
if (ftp[i][j].me == NULL)
|
||||
continue;
|
||||
|
||||
DEBUGP("nf_ct_ftp: unregistering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
ftp[i][j].tuple.src.l3num, ports[i]);
|
||||
pr_debug("nf_ct_ftp: unregistering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
ftp[i][j].tuple.src.l3num, ports[i]);
|
||||
nf_conntrack_helper_unregister(&ftp[i][j]);
|
||||
}
|
||||
}
|
||||
@@ -571,9 +567,9 @@ static int __init nf_conntrack_ftp_init(void)
|
||||
sprintf(tmpname, "ftp-%d", ports[i]);
|
||||
ftp[i][j].name = tmpname;
|
||||
|
||||
DEBUGP("nf_ct_ftp: registering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
ftp[i][j].tuple.src.l3num, ports[i]);
|
||||
pr_debug("nf_ct_ftp: registering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
ftp[i][j].tuple.src.l3num, ports[i]);
|
||||
ret = nf_conntrack_helper_register(&ftp[i][j]);
|
||||
if (ret) {
|
||||
printk("nf_ct_ftp: failed to register helper "
|
||||
|
@@ -31,12 +31,6 @@
|
||||
#include <net/netfilter/nf_conntrack_helper.h>
|
||||
#include <linux/netfilter/nf_conntrack_h323.h>
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
/* Parameters */
|
||||
static unsigned int default_rrq_ttl __read_mostly = 300;
|
||||
module_param(default_rrq_ttl, uint, 0600);
|
||||
@@ -150,9 +144,9 @@ static int get_tpkt_data(struct sk_buff **pskb, unsigned int protoff,
|
||||
if (tcpdatalen < 4 || tpkt[0] != 0x03 || tpkt[1] != 0) {
|
||||
/* Netmeeting sends TPKT header and data separately */
|
||||
if (info->tpkt_len[dir] > 0) {
|
||||
DEBUGP("nf_ct_h323: previous packet "
|
||||
"indicated separate TPKT data of %hu "
|
||||
"bytes\n", info->tpkt_len[dir]);
|
||||
pr_debug("nf_ct_h323: previous packet "
|
||||
"indicated separate TPKT data of %hu "
|
||||
"bytes\n", info->tpkt_len[dir]);
|
||||
if (info->tpkt_len[dir] <= tcpdatalen) {
|
||||
/* Yes, there was a TPKT header
|
||||
* received */
|
||||
@@ -163,7 +157,7 @@ static int get_tpkt_data(struct sk_buff **pskb, unsigned int protoff,
|
||||
}
|
||||
|
||||
/* Fragmented TPKT */
|
||||
DEBUGP("nf_ct_h323: fragmented TPKT\n");
|
||||
pr_debug("nf_ct_h323: fragmented TPKT\n");
|
||||
goto clear_out;
|
||||
}
|
||||
|
||||
@@ -190,9 +184,9 @@ static int get_tpkt_data(struct sk_buff **pskb, unsigned int protoff,
|
||||
if (tpktlen > tcpdatalen) {
|
||||
if (tcpdatalen == 4) { /* Separate TPKT header */
|
||||
/* Netmeeting sends TPKT header and data separately */
|
||||
DEBUGP("nf_ct_h323: separate TPKT header indicates "
|
||||
"there will be TPKT data of %hu bytes\n",
|
||||
tpktlen - 4);
|
||||
pr_debug("nf_ct_h323: separate TPKT header indicates "
|
||||
"there will be TPKT data of %hu bytes\n",
|
||||
tpktlen - 4);
|
||||
info->tpkt_len[dir] = tpktlen - 4;
|
||||
return 0;
|
||||
}
|
||||
@@ -308,9 +302,9 @@ static int expect_rtp_rtcp(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
} else { /* Conntrack only */
|
||||
if (nf_ct_expect_related(rtp_exp) == 0) {
|
||||
if (nf_ct_expect_related(rtcp_exp) == 0) {
|
||||
DEBUGP("nf_ct_h323: expect RTP ");
|
||||
pr_debug("nf_ct_h323: expect RTP ");
|
||||
NF_CT_DUMP_TUPLE(&rtp_exp->tuple);
|
||||
DEBUGP("nf_ct_h323: expect RTCP ");
|
||||
pr_debug("nf_ct_h323: expect RTCP ");
|
||||
NF_CT_DUMP_TUPLE(&rtcp_exp->tuple);
|
||||
} else {
|
||||
nf_ct_unexpect_related(rtp_exp);
|
||||
@@ -365,7 +359,7 @@ static int expect_t120(struct sk_buff **pskb,
|
||||
port, exp);
|
||||
} else { /* Conntrack only */
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_h323: expect T.120 ");
|
||||
pr_debug("nf_ct_h323: expect T.120 ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
} else
|
||||
ret = -1;
|
||||
@@ -413,7 +407,7 @@ static int process_olc(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
{
|
||||
int ret;
|
||||
|
||||
DEBUGP("nf_ct_h323: OpenLogicalChannel\n");
|
||||
pr_debug("nf_ct_h323: OpenLogicalChannel\n");
|
||||
|
||||
if (olc->forwardLogicalChannelParameters.multiplexParameters.choice ==
|
||||
eOpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters_h2250LogicalChannelParameters)
|
||||
@@ -473,7 +467,7 @@ static int process_olca(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
H2250LogicalChannelAckParameters *ack;
|
||||
int ret;
|
||||
|
||||
DEBUGP("nf_ct_h323: OpenLogicalChannelAck\n");
|
||||
pr_debug("nf_ct_h323: OpenLogicalChannelAck\n");
|
||||
|
||||
if ((olca->options &
|
||||
eOpenLogicalChannelAck_reverseLogicalChannelParameters) &&
|
||||
@@ -544,8 +538,8 @@ static int process_h245(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
return process_olc(pskb, ct, ctinfo, data, dataoff,
|
||||
&mscm->request.openLogicalChannel);
|
||||
}
|
||||
DEBUGP("nf_ct_h323: H.245 Request %d\n",
|
||||
mscm->request.choice);
|
||||
pr_debug("nf_ct_h323: H.245 Request %d\n",
|
||||
mscm->request.choice);
|
||||
break;
|
||||
case eMultimediaSystemControlMessage_response:
|
||||
if (mscm->response.choice ==
|
||||
@@ -554,11 +548,11 @@ static int process_h245(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
&mscm->response.
|
||||
openLogicalChannelAck);
|
||||
}
|
||||
DEBUGP("nf_ct_h323: H.245 Response %d\n",
|
||||
mscm->response.choice);
|
||||
pr_debug("nf_ct_h323: H.245 Response %d\n",
|
||||
mscm->response.choice);
|
||||
break;
|
||||
default:
|
||||
DEBUGP("nf_ct_h323: H.245 signal %d\n", mscm->choice);
|
||||
pr_debug("nf_ct_h323: H.245 signal %d\n", mscm->choice);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -580,23 +574,23 @@ static int h245_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
ctinfo != IP_CT_ESTABLISHED + IP_CT_IS_REPLY) {
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
DEBUGP("nf_ct_h245: skblen = %u\n", (*pskb)->len);
|
||||
pr_debug("nf_ct_h245: skblen = %u\n", (*pskb)->len);
|
||||
|
||||
spin_lock_bh(&nf_h323_lock);
|
||||
|
||||
/* Process each TPKT */
|
||||
while (get_tpkt_data(pskb, protoff, ct, ctinfo,
|
||||
&data, &datalen, &dataoff)) {
|
||||
DEBUGP("nf_ct_h245: TPKT len=%d ", datalen);
|
||||
pr_debug("nf_ct_h245: TPKT len=%d ", datalen);
|
||||
NF_CT_DUMP_TUPLE(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
|
||||
|
||||
/* Decode H.245 signal */
|
||||
ret = DecodeMultimediaSystemControlMessage(data, datalen,
|
||||
&mscm);
|
||||
if (ret < 0) {
|
||||
DEBUGP("nf_ct_h245: decoding error: %s\n",
|
||||
ret == H323_ERROR_BOUND ?
|
||||
"out of bound" : "out of range");
|
||||
pr_debug("nf_ct_h245: decoding error: %s\n",
|
||||
ret == H323_ERROR_BOUND ?
|
||||
"out of bound" : "out of range");
|
||||
/* We don't drop when decoding error */
|
||||
break;
|
||||
}
|
||||
@@ -697,7 +691,7 @@ static int expect_h245(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
port, exp);
|
||||
} else { /* Conntrack only */
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_q931: expect H.245 ");
|
||||
pr_debug("nf_ct_q931: expect H.245 ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
} else
|
||||
ret = -1;
|
||||
@@ -786,7 +780,7 @@ static int expect_callforwarding(struct sk_buff **pskb,
|
||||
if (callforward_filter &&
|
||||
callforward_do_filter(&addr, &ct->tuplehash[!dir].tuple.src.u3,
|
||||
ct->tuplehash[!dir].tuple.src.l3num)) {
|
||||
DEBUGP("nf_ct_q931: Call Forwarding not tracked\n");
|
||||
pr_debug("nf_ct_q931: Call Forwarding not tracked\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -808,7 +802,7 @@ static int expect_callforwarding(struct sk_buff **pskb,
|
||||
taddr, port, exp);
|
||||
} else { /* Conntrack only */
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_q931: expect Call Forwarding ");
|
||||
pr_debug("nf_ct_q931: expect Call Forwarding ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
} else
|
||||
ret = -1;
|
||||
@@ -832,7 +826,7 @@ static int process_setup(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
union nf_conntrack_address addr;
|
||||
typeof(set_h225_addr_hook) set_h225_addr;
|
||||
|
||||
DEBUGP("nf_ct_q931: Setup\n");
|
||||
pr_debug("nf_ct_q931: Setup\n");
|
||||
|
||||
if (setup->options & eSetup_UUIE_h245Address) {
|
||||
ret = expect_h245(pskb, ct, ctinfo, data, dataoff,
|
||||
@@ -847,11 +841,11 @@ static int process_setup(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
get_h225_addr(ct, *data, &setup->destCallSignalAddress,
|
||||
&addr, &port) &&
|
||||
memcmp(&addr, &ct->tuplehash[!dir].tuple.src.u3, sizeof(addr))) {
|
||||
DEBUGP("nf_ct_q931: set destCallSignalAddress "
|
||||
NIP6_FMT ":%hu->" NIP6_FMT ":%hu\n",
|
||||
NIP6(*(struct in6_addr *)&addr), ntohs(port),
|
||||
NIP6(*(struct in6_addr *)&ct->tuplehash[!dir].tuple.src.u3),
|
||||
ntohs(ct->tuplehash[!dir].tuple.src.u.tcp.port));
|
||||
pr_debug("nf_ct_q931: set destCallSignalAddress "
|
||||
NIP6_FMT ":%hu->" NIP6_FMT ":%hu\n",
|
||||
NIP6(*(struct in6_addr *)&addr), ntohs(port),
|
||||
NIP6(*(struct in6_addr *)&ct->tuplehash[!dir].tuple.src.u3),
|
||||
ntohs(ct->tuplehash[!dir].tuple.src.u.tcp.port));
|
||||
ret = set_h225_addr(pskb, data, dataoff,
|
||||
&setup->destCallSignalAddress,
|
||||
&ct->tuplehash[!dir].tuple.src.u3,
|
||||
@@ -865,11 +859,11 @@ static int process_setup(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
get_h225_addr(ct, *data, &setup->sourceCallSignalAddress,
|
||||
&addr, &port) &&
|
||||
memcmp(&addr, &ct->tuplehash[!dir].tuple.dst.u3, sizeof(addr))) {
|
||||
DEBUGP("nf_ct_q931: set sourceCallSignalAddress "
|
||||
NIP6_FMT ":%hu->" NIP6_FMT ":%hu\n",
|
||||
NIP6(*(struct in6_addr *)&addr), ntohs(port),
|
||||
NIP6(*(struct in6_addr *)&ct->tuplehash[!dir].tuple.dst.u3),
|
||||
ntohs(ct->tuplehash[!dir].tuple.dst.u.tcp.port));
|
||||
pr_debug("nf_ct_q931: set sourceCallSignalAddress "
|
||||
NIP6_FMT ":%hu->" NIP6_FMT ":%hu\n",
|
||||
NIP6(*(struct in6_addr *)&addr), ntohs(port),
|
||||
NIP6(*(struct in6_addr *)&ct->tuplehash[!dir].tuple.dst.u3),
|
||||
ntohs(ct->tuplehash[!dir].tuple.dst.u.tcp.port));
|
||||
ret = set_h225_addr(pskb, data, dataoff,
|
||||
&setup->sourceCallSignalAddress,
|
||||
&ct->tuplehash[!dir].tuple.dst.u3,
|
||||
@@ -900,7 +894,7 @@ static int process_callproceeding(struct sk_buff **pskb,
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
DEBUGP("nf_ct_q931: CallProceeding\n");
|
||||
pr_debug("nf_ct_q931: CallProceeding\n");
|
||||
|
||||
if (callproc->options & eCallProceeding_UUIE_h245Address) {
|
||||
ret = expect_h245(pskb, ct, ctinfo, data, dataoff,
|
||||
@@ -930,7 +924,7 @@ static int process_connect(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
DEBUGP("nf_ct_q931: Connect\n");
|
||||
pr_debug("nf_ct_q931: Connect\n");
|
||||
|
||||
if (connect->options & eConnect_UUIE_h245Address) {
|
||||
ret = expect_h245(pskb, ct, ctinfo, data, dataoff,
|
||||
@@ -960,7 +954,7 @@ static int process_alerting(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
DEBUGP("nf_ct_q931: Alerting\n");
|
||||
pr_debug("nf_ct_q931: Alerting\n");
|
||||
|
||||
if (alert->options & eAlerting_UUIE_h245Address) {
|
||||
ret = expect_h245(pskb, ct, ctinfo, data, dataoff,
|
||||
@@ -990,7 +984,7 @@ static int process_facility(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
DEBUGP("nf_ct_q931: Facility\n");
|
||||
pr_debug("nf_ct_q931: Facility\n");
|
||||
|
||||
if (facility->reason.choice == eFacilityReason_callForwarded) {
|
||||
if (facility->options & eFacility_UUIE_alternativeAddress)
|
||||
@@ -1029,7 +1023,7 @@ static int process_progress(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
DEBUGP("nf_ct_q931: Progress\n");
|
||||
pr_debug("nf_ct_q931: Progress\n");
|
||||
|
||||
if (progress->options & eProgress_UUIE_h245Address) {
|
||||
ret = expect_h245(pskb, ct, ctinfo, data, dataoff,
|
||||
@@ -1086,8 +1080,8 @@ static int process_q931(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
&pdu->h323_message_body.progress);
|
||||
break;
|
||||
default:
|
||||
DEBUGP("nf_ct_q931: Q.931 signal %d\n",
|
||||
pdu->h323_message_body.choice);
|
||||
pr_debug("nf_ct_q931: Q.931 signal %d\n",
|
||||
pdu->h323_message_body.choice);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1121,22 +1115,22 @@ static int q931_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
ctinfo != IP_CT_ESTABLISHED + IP_CT_IS_REPLY) {
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
DEBUGP("nf_ct_q931: skblen = %u\n", (*pskb)->len);
|
||||
pr_debug("nf_ct_q931: skblen = %u\n", (*pskb)->len);
|
||||
|
||||
spin_lock_bh(&nf_h323_lock);
|
||||
|
||||
/* Process each TPKT */
|
||||
while (get_tpkt_data(pskb, protoff, ct, ctinfo,
|
||||
&data, &datalen, &dataoff)) {
|
||||
DEBUGP("nf_ct_q931: TPKT len=%d ", datalen);
|
||||
pr_debug("nf_ct_q931: TPKT len=%d ", datalen);
|
||||
NF_CT_DUMP_TUPLE(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
|
||||
|
||||
/* Decode Q.931 signal */
|
||||
ret = DecodeQ931(data, datalen, &q931);
|
||||
if (ret < 0) {
|
||||
DEBUGP("nf_ct_q931: decoding error: %s\n",
|
||||
ret == H323_ERROR_BOUND ?
|
||||
"out of bound" : "out of range");
|
||||
pr_debug("nf_ct_q931: decoding error: %s\n",
|
||||
ret == H323_ERROR_BOUND ?
|
||||
"out of bound" : "out of range");
|
||||
/* We don't drop when decoding error */
|
||||
break;
|
||||
}
|
||||
@@ -1274,7 +1268,7 @@ static int expect_q931(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
ret = nat_q931(pskb, ct, ctinfo, data, taddr, i, port, exp);
|
||||
} else { /* Conntrack only */
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_ras: expect Q.931 ");
|
||||
pr_debug("nf_ct_ras: expect Q.931 ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
|
||||
/* Save port for looking up expect in processing RCF */
|
||||
@@ -1295,7 +1289,7 @@ static int process_grq(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
{
|
||||
typeof(set_ras_addr_hook) set_ras_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: GRQ\n");
|
||||
pr_debug("nf_ct_ras: GRQ\n");
|
||||
|
||||
set_ras_addr = rcu_dereference(set_ras_addr_hook);
|
||||
if (set_ras_addr && ct->status & IPS_NAT_MASK) /* NATed */
|
||||
@@ -1315,7 +1309,7 @@ static int process_gcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
union nf_conntrack_address addr;
|
||||
struct nf_conntrack_expect *exp;
|
||||
|
||||
DEBUGP("nf_ct_ras: GCF\n");
|
||||
pr_debug("nf_ct_ras: GCF\n");
|
||||
|
||||
if (!get_h225_addr(ct, *data, &gcf->rasAddress, &addr, &port))
|
||||
return 0;
|
||||
@@ -1338,7 +1332,7 @@ static int process_gcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
exp->helper = nf_conntrack_helper_ras;
|
||||
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_ras: expect RAS ");
|
||||
pr_debug("nf_ct_ras: expect RAS ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
} else
|
||||
ret = -1;
|
||||
@@ -1357,7 +1351,7 @@ static int process_rrq(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
int ret;
|
||||
typeof(set_ras_addr_hook) set_ras_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: RRQ\n");
|
||||
pr_debug("nf_ct_ras: RRQ\n");
|
||||
|
||||
ret = expect_q931(pskb, ct, ctinfo, data,
|
||||
rrq->callSignalAddress.item,
|
||||
@@ -1375,7 +1369,7 @@ static int process_rrq(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
}
|
||||
|
||||
if (rrq->options & eRegistrationRequest_timeToLive) {
|
||||
DEBUGP("nf_ct_ras: RRQ TTL = %u seconds\n", rrq->timeToLive);
|
||||
pr_debug("nf_ct_ras: RRQ TTL = %u seconds\n", rrq->timeToLive);
|
||||
info->timeout = rrq->timeToLive;
|
||||
} else
|
||||
info->timeout = default_rrq_ttl;
|
||||
@@ -1394,7 +1388,7 @@ static int process_rcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
struct nf_conntrack_expect *exp;
|
||||
typeof(set_sig_addr_hook) set_sig_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: RCF\n");
|
||||
pr_debug("nf_ct_ras: RCF\n");
|
||||
|
||||
set_sig_addr = rcu_dereference(set_sig_addr_hook);
|
||||
if (set_sig_addr && ct->status & IPS_NAT_MASK) {
|
||||
@@ -1406,14 +1400,13 @@ static int process_rcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
}
|
||||
|
||||
if (rcf->options & eRegistrationConfirm_timeToLive) {
|
||||
DEBUGP("nf_ct_ras: RCF TTL = %u seconds\n", rcf->timeToLive);
|
||||
pr_debug("nf_ct_ras: RCF TTL = %u seconds\n", rcf->timeToLive);
|
||||
info->timeout = rcf->timeToLive;
|
||||
}
|
||||
|
||||
if (info->timeout > 0) {
|
||||
DEBUGP
|
||||
("nf_ct_ras: set RAS connection timeout to %u seconds\n",
|
||||
info->timeout);
|
||||
pr_debug("nf_ct_ras: set RAS connection timeout to "
|
||||
"%u seconds\n", info->timeout);
|
||||
nf_ct_refresh(ct, *pskb, info->timeout * HZ);
|
||||
|
||||
/* Set expect timeout */
|
||||
@@ -1421,9 +1414,9 @@ static int process_rcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
exp = find_expect(ct, &ct->tuplehash[dir].tuple.dst.u3,
|
||||
info->sig_port[!dir]);
|
||||
if (exp) {
|
||||
DEBUGP("nf_ct_ras: set Q.931 expect "
|
||||
"timeout to %u seconds for",
|
||||
info->timeout);
|
||||
pr_debug("nf_ct_ras: set Q.931 expect "
|
||||
"timeout to %u seconds for",
|
||||
info->timeout);
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
set_expect_timeout(exp, info->timeout);
|
||||
}
|
||||
@@ -1443,7 +1436,7 @@ static int process_urq(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
int ret;
|
||||
typeof(set_sig_addr_hook) set_sig_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: URQ\n");
|
||||
pr_debug("nf_ct_ras: URQ\n");
|
||||
|
||||
set_sig_addr = rcu_dereference(set_sig_addr_hook);
|
||||
if (set_sig_addr && ct->status & IPS_NAT_MASK) {
|
||||
@@ -1476,7 +1469,7 @@ static int process_arq(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
union nf_conntrack_address addr;
|
||||
typeof(set_h225_addr_hook) set_h225_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: ARQ\n");
|
||||
pr_debug("nf_ct_ras: ARQ\n");
|
||||
|
||||
set_h225_addr = rcu_dereference(set_h225_addr_hook);
|
||||
if ((arq->options & eAdmissionRequest_destCallSignalAddress) &&
|
||||
@@ -1519,7 +1512,7 @@ static int process_acf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
struct nf_conntrack_expect *exp;
|
||||
typeof(set_sig_addr_hook) set_sig_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: ACF\n");
|
||||
pr_debug("nf_ct_ras: ACF\n");
|
||||
|
||||
if (!get_h225_addr(ct, *data, &acf->destCallSignalAddress,
|
||||
&addr, &port))
|
||||
@@ -1544,7 +1537,7 @@ static int process_acf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
exp->helper = nf_conntrack_helper_q931;
|
||||
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_ras: expect Q.931 ");
|
||||
pr_debug("nf_ct_ras: expect Q.931 ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
} else
|
||||
ret = -1;
|
||||
@@ -1561,7 +1554,7 @@ static int process_lrq(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
{
|
||||
typeof(set_ras_addr_hook) set_ras_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: LRQ\n");
|
||||
pr_debug("nf_ct_ras: LRQ\n");
|
||||
|
||||
set_ras_addr = rcu_dereference(set_ras_addr_hook);
|
||||
if (set_ras_addr && ct->status & IPS_NAT_MASK)
|
||||
@@ -1581,7 +1574,7 @@ static int process_lcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
union nf_conntrack_address addr;
|
||||
struct nf_conntrack_expect *exp;
|
||||
|
||||
DEBUGP("nf_ct_ras: LCF\n");
|
||||
pr_debug("nf_ct_ras: LCF\n");
|
||||
|
||||
if (!get_h225_addr(ct, *data, &lcf->callSignalAddress,
|
||||
&addr, &port))
|
||||
@@ -1597,7 +1590,7 @@ static int process_lcf(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
exp->helper = nf_conntrack_helper_q931;
|
||||
|
||||
if (nf_ct_expect_related(exp) == 0) {
|
||||
DEBUGP("nf_ct_ras: expect Q.931 ");
|
||||
pr_debug("nf_ct_ras: expect Q.931 ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
} else
|
||||
ret = -1;
|
||||
@@ -1618,7 +1611,7 @@ static int process_irr(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
typeof(set_ras_addr_hook) set_ras_addr;
|
||||
typeof(set_sig_addr_hook) set_sig_addr;
|
||||
|
||||
DEBUGP("nf_ct_ras: IRR\n");
|
||||
pr_debug("nf_ct_ras: IRR\n");
|
||||
|
||||
set_ras_addr = rcu_dereference(set_ras_addr_hook);
|
||||
if (set_ras_addr && ct->status & IPS_NAT_MASK) {
|
||||
@@ -1677,7 +1670,7 @@ static int process_ras(struct sk_buff **pskb, struct nf_conn *ct,
|
||||
return process_irr(pskb, ct, ctinfo, data,
|
||||
&ras->infoRequestResponse);
|
||||
default:
|
||||
DEBUGP("nf_ct_ras: RAS message %d\n", ras->choice);
|
||||
pr_debug("nf_ct_ras: RAS message %d\n", ras->choice);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1693,7 +1686,7 @@ static int ras_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
int datalen = 0;
|
||||
int ret;
|
||||
|
||||
DEBUGP("nf_ct_ras: skblen = %u\n", (*pskb)->len);
|
||||
pr_debug("nf_ct_ras: skblen = %u\n", (*pskb)->len);
|
||||
|
||||
spin_lock_bh(&nf_h323_lock);
|
||||
|
||||
@@ -1701,15 +1694,15 @@ static int ras_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
data = get_udp_data(pskb, protoff, &datalen);
|
||||
if (data == NULL)
|
||||
goto accept;
|
||||
DEBUGP("nf_ct_ras: RAS message len=%d ", datalen);
|
||||
pr_debug("nf_ct_ras: RAS message len=%d ", datalen);
|
||||
NF_CT_DUMP_TUPLE(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
|
||||
|
||||
/* Decode RAS message */
|
||||
ret = DecodeRasMessage(data, datalen, &ras);
|
||||
if (ret < 0) {
|
||||
DEBUGP("nf_ct_ras: decoding error: %s\n",
|
||||
ret == H323_ERROR_BOUND ?
|
||||
"out of bound" : "out of range");
|
||||
pr_debug("nf_ct_ras: decoding error: %s\n",
|
||||
ret == H323_ERROR_BOUND ?
|
||||
"out of bound" : "out of range");
|
||||
goto accept;
|
||||
}
|
||||
|
||||
@@ -1760,7 +1753,7 @@ static void __exit nf_conntrack_h323_fini(void)
|
||||
nf_conntrack_helper_unregister(&nf_conntrack_helper_q931[1]);
|
||||
nf_conntrack_helper_unregister(&nf_conntrack_helper_q931[0]);
|
||||
kfree(h323_buffer);
|
||||
DEBUGP("nf_ct_h323: fini\n");
|
||||
pr_debug("nf_ct_h323: fini\n");
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
@@ -1783,7 +1776,7 @@ static int __init nf_conntrack_h323_init(void)
|
||||
ret = nf_conntrack_helper_register(&nf_conntrack_helper_ras[1]);
|
||||
if (ret < 0)
|
||||
goto err4;
|
||||
DEBUGP("nf_ct_h323: init success\n");
|
||||
pr_debug("nf_ct_h323: init success\n");
|
||||
return 0;
|
||||
|
||||
err4:
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/tcp.h>
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
@@ -55,13 +56,6 @@ static const char *dccprotos[] = {
|
||||
|
||||
#define MINMATCHLEN 5
|
||||
|
||||
#if 0
|
||||
#define DEBUGP(format, args...) printk(KERN_DEBUG "%s:%s:" format, \
|
||||
__FILE__, __FUNCTION__ , ## args)
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
/* tries to get the ip_addr and port out of a dcc command
|
||||
* return value: -1 on failure, 0 on success
|
||||
* data pointer to first byte of DCC command data
|
||||
@@ -99,6 +93,7 @@ static int help(struct sk_buff **pskb, unsigned int protoff,
|
||||
struct nf_conn *ct, enum ip_conntrack_info ctinfo)
|
||||
{
|
||||
unsigned int dataoff;
|
||||
struct iphdr *iph;
|
||||
struct tcphdr _tcph, *th;
|
||||
char *data, *data_limit, *ib_ptr;
|
||||
int dir = CTINFO2DIR(ctinfo);
|
||||
@@ -148,9 +143,10 @@ static int help(struct sk_buff **pskb, unsigned int protoff,
|
||||
data += 5;
|
||||
/* we have at least (19+MINMATCHLEN)-5 bytes valid data left */
|
||||
|
||||
DEBUGP("DCC found in master %u.%u.%u.%u:%u %u.%u.%u.%u:%u...\n",
|
||||
NIPQUAD(iph->saddr), ntohs(th->source),
|
||||
NIPQUAD(iph->daddr), ntohs(th->dest));
|
||||
iph = ip_hdr(*pskb);
|
||||
pr_debug("DCC found in master %u.%u.%u.%u:%u %u.%u.%u.%u:%u\n",
|
||||
NIPQUAD(iph->saddr), ntohs(th->source),
|
||||
NIPQUAD(iph->daddr), ntohs(th->dest));
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(dccprotos); i++) {
|
||||
if (memcmp(data, dccprotos[i], strlen(dccprotos[i]))) {
|
||||
@@ -158,18 +154,18 @@ static int help(struct sk_buff **pskb, unsigned int protoff,
|
||||
continue;
|
||||
}
|
||||
data += strlen(dccprotos[i]);
|
||||
DEBUGP("DCC %s detected\n", dccprotos[i]);
|
||||
pr_debug("DCC %s detected\n", dccprotos[i]);
|
||||
|
||||
/* we have at least
|
||||
* (19+MINMATCHLEN)-5-dccprotos[i].matchlen bytes valid
|
||||
* data left (== 14/13 bytes) */
|
||||
if (parse_dcc((char *)data, data_limit, &dcc_ip,
|
||||
&dcc_port, &addr_beg_p, &addr_end_p)) {
|
||||
DEBUGP("unable to parse dcc command\n");
|
||||
pr_debug("unable to parse dcc command\n");
|
||||
continue;
|
||||
}
|
||||
DEBUGP("DCC bound ip/port: %u.%u.%u.%u:%u\n",
|
||||
HIPQUAD(dcc_ip), dcc_port);
|
||||
pr_debug("DCC bound ip/port: %u.%u.%u.%u:%u\n",
|
||||
HIPQUAD(dcc_ip), dcc_port);
|
||||
|
||||
/* dcc_ip can be the internal OR external (NAT'ed) IP */
|
||||
tuple = &ct->tuplehash[dir].tuple;
|
||||
|
@@ -31,12 +31,6 @@
|
||||
#include <net/netfilter/nf_conntrack_core.h>
|
||||
#include <net/netfilter/ipv4/nf_conntrack_ipv4.h>
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
static int generic_pkt_to_tuple(const struct sk_buff *skb, unsigned int nhoff,
|
||||
struct nf_conntrack_tuple *tuple)
|
||||
{
|
||||
|
@@ -65,7 +65,7 @@ void
|
||||
struct nf_conntrack_expect *exp) __read_mostly;
|
||||
EXPORT_SYMBOL_GPL(nf_nat_pptp_hook_expectfn);
|
||||
|
||||
#if 0
|
||||
#ifdef DEBUG
|
||||
/* PptpControlMessageType names */
|
||||
const char *pptp_msg_name[] = {
|
||||
"UNKNOWN_MESSAGE",
|
||||
@@ -86,9 +86,6 @@ const char *pptp_msg_name[] = {
|
||||
"SET_LINK_INFO"
|
||||
};
|
||||
EXPORT_SYMBOL(pptp_msg_name);
|
||||
#define DEBUGP(format, args...) printk(KERN_DEBUG "%s:%s: " format, __FILE__, __FUNCTION__, ## args)
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
#define SECS *HZ
|
||||
@@ -102,7 +99,7 @@ static void pptp_expectfn(struct nf_conn *ct,
|
||||
struct nf_conntrack_expect *exp)
|
||||
{
|
||||
typeof(nf_nat_pptp_hook_expectfn) nf_nat_pptp_expectfn;
|
||||
DEBUGP("increasing timeouts\n");
|
||||
pr_debug("increasing timeouts\n");
|
||||
|
||||
/* increase timeout of GRE data channel conntrack entry */
|
||||
ct->proto.gre.timeout = PPTP_GRE_TIMEOUT;
|
||||
@@ -121,17 +118,17 @@ static void pptp_expectfn(struct nf_conn *ct,
|
||||
|
||||
/* obviously this tuple inversion only works until you do NAT */
|
||||
nf_ct_invert_tuplepr(&inv_t, &exp->tuple);
|
||||
DEBUGP("trying to unexpect other dir: ");
|
||||
pr_debug("trying to unexpect other dir: ");
|
||||
NF_CT_DUMP_TUPLE(&inv_t);
|
||||
|
||||
exp_other = nf_ct_expect_find_get(&inv_t);
|
||||
if (exp_other) {
|
||||
/* delete other expectation. */
|
||||
DEBUGP("found\n");
|
||||
pr_debug("found\n");
|
||||
nf_ct_unexpect_related(exp_other);
|
||||
nf_ct_expect_put(exp_other);
|
||||
} else {
|
||||
DEBUGP("not found\n");
|
||||
pr_debug("not found\n");
|
||||
}
|
||||
}
|
||||
rcu_read_unlock();
|
||||
@@ -143,13 +140,13 @@ static int destroy_sibling_or_exp(const struct nf_conntrack_tuple *t)
|
||||
struct nf_conntrack_expect *exp;
|
||||
struct nf_conn *sibling;
|
||||
|
||||
DEBUGP("trying to timeout ct or exp for tuple ");
|
||||
pr_debug("trying to timeout ct or exp for tuple ");
|
||||
NF_CT_DUMP_TUPLE(t);
|
||||
|
||||
h = nf_conntrack_find_get(t);
|
||||
if (h) {
|
||||
sibling = nf_ct_tuplehash_to_ctrack(h);
|
||||
DEBUGP("setting timeout of conntrack %p to 0\n", sibling);
|
||||
pr_debug("setting timeout of conntrack %p to 0\n", sibling);
|
||||
sibling->proto.gre.timeout = 0;
|
||||
sibling->proto.gre.stream_timeout = 0;
|
||||
if (del_timer(&sibling->timeout))
|
||||
@@ -159,7 +156,7 @@ static int destroy_sibling_or_exp(const struct nf_conntrack_tuple *t)
|
||||
} else {
|
||||
exp = nf_ct_expect_find_get(t);
|
||||
if (exp) {
|
||||
DEBUGP("unexpect_related of expect %p\n", exp);
|
||||
pr_debug("unexpect_related of expect %p\n", exp);
|
||||
nf_ct_unexpect_related(exp);
|
||||
nf_ct_expect_put(exp);
|
||||
return 1;
|
||||
@@ -182,7 +179,7 @@ static void pptp_destroy_siblings(struct nf_conn *ct)
|
||||
t.src.u.gre.key = help->help.ct_pptp_info.pns_call_id;
|
||||
t.dst.u.gre.key = help->help.ct_pptp_info.pac_call_id;
|
||||
if (!destroy_sibling_or_exp(&t))
|
||||
DEBUGP("failed to timeout original pns->pac ct/exp\n");
|
||||
pr_debug("failed to timeout original pns->pac ct/exp\n");
|
||||
|
||||
/* try reply (pac->pns) tuple */
|
||||
memcpy(&t, &ct->tuplehash[IP_CT_DIR_REPLY].tuple, sizeof(t));
|
||||
@@ -190,7 +187,7 @@ static void pptp_destroy_siblings(struct nf_conn *ct)
|
||||
t.src.u.gre.key = help->help.ct_pptp_info.pac_call_id;
|
||||
t.dst.u.gre.key = help->help.ct_pptp_info.pns_call_id;
|
||||
if (!destroy_sibling_or_exp(&t))
|
||||
DEBUGP("failed to timeout reply pac->pns ct/exp\n");
|
||||
pr_debug("failed to timeout reply pac->pns ct/exp\n");
|
||||
}
|
||||
|
||||
/* expect GRE connections (PNS->PAC and PAC->PNS direction) */
|
||||
@@ -270,7 +267,7 @@ pptp_inbound_pkt(struct sk_buff **pskb,
|
||||
typeof(nf_nat_pptp_hook_inbound) nf_nat_pptp_inbound;
|
||||
|
||||
msg = ntohs(ctlh->messageType);
|
||||
DEBUGP("inbound control message %s\n", pptp_msg_name[msg]);
|
||||
pr_debug("inbound control message %s\n", pptp_msg_name[msg]);
|
||||
|
||||
switch (msg) {
|
||||
case PPTP_START_SESSION_REPLY:
|
||||
@@ -305,8 +302,8 @@ pptp_inbound_pkt(struct sk_buff **pskb,
|
||||
pcid = pptpReq->ocack.peersCallID;
|
||||
if (info->pns_call_id != pcid)
|
||||
goto invalid;
|
||||
DEBUGP("%s, CID=%X, PCID=%X\n", pptp_msg_name[msg],
|
||||
ntohs(cid), ntohs(pcid));
|
||||
pr_debug("%s, CID=%X, PCID=%X\n", pptp_msg_name[msg],
|
||||
ntohs(cid), ntohs(pcid));
|
||||
|
||||
if (pptpReq->ocack.resultCode == PPTP_OUTCALL_CONNECT) {
|
||||
info->cstate = PPTP_CALL_OUT_CONF;
|
||||
@@ -322,7 +319,7 @@ pptp_inbound_pkt(struct sk_buff **pskb,
|
||||
goto invalid;
|
||||
|
||||
cid = pptpReq->icreq.callID;
|
||||
DEBUGP("%s, CID=%X\n", pptp_msg_name[msg], ntohs(cid));
|
||||
pr_debug("%s, CID=%X\n", pptp_msg_name[msg], ntohs(cid));
|
||||
info->cstate = PPTP_CALL_IN_REQ;
|
||||
info->pac_call_id = cid;
|
||||
break;
|
||||
@@ -341,7 +338,7 @@ pptp_inbound_pkt(struct sk_buff **pskb,
|
||||
if (info->pns_call_id != pcid)
|
||||
goto invalid;
|
||||
|
||||
DEBUGP("%s, PCID=%X\n", pptp_msg_name[msg], ntohs(pcid));
|
||||
pr_debug("%s, PCID=%X\n", pptp_msg_name[msg], ntohs(pcid));
|
||||
info->cstate = PPTP_CALL_IN_CONF;
|
||||
|
||||
/* we expect a GRE connection from PAC to PNS */
|
||||
@@ -351,7 +348,7 @@ pptp_inbound_pkt(struct sk_buff **pskb,
|
||||
case PPTP_CALL_DISCONNECT_NOTIFY:
|
||||
/* server confirms disconnect */
|
||||
cid = pptpReq->disc.callID;
|
||||
DEBUGP("%s, CID=%X\n", pptp_msg_name[msg], ntohs(cid));
|
||||
pr_debug("%s, CID=%X\n", pptp_msg_name[msg], ntohs(cid));
|
||||
info->cstate = PPTP_CALL_NONE;
|
||||
|
||||
/* untrack this call id, unexpect GRE packets */
|
||||
@@ -374,11 +371,11 @@ pptp_inbound_pkt(struct sk_buff **pskb,
|
||||
return NF_ACCEPT;
|
||||
|
||||
invalid:
|
||||
DEBUGP("invalid %s: type=%d cid=%u pcid=%u "
|
||||
"cstate=%d sstate=%d pns_cid=%u pac_cid=%u\n",
|
||||
msg <= PPTP_MSG_MAX ? pptp_msg_name[msg] : pptp_msg_name[0],
|
||||
msg, ntohs(cid), ntohs(pcid), info->cstate, info->sstate,
|
||||
ntohs(info->pns_call_id), ntohs(info->pac_call_id));
|
||||
pr_debug("invalid %s: type=%d cid=%u pcid=%u "
|
||||
"cstate=%d sstate=%d pns_cid=%u pac_cid=%u\n",
|
||||
msg <= PPTP_MSG_MAX ? pptp_msg_name[msg] : pptp_msg_name[0],
|
||||
msg, ntohs(cid), ntohs(pcid), info->cstate, info->sstate,
|
||||
ntohs(info->pns_call_id), ntohs(info->pac_call_id));
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
|
||||
@@ -396,7 +393,7 @@ pptp_outbound_pkt(struct sk_buff **pskb,
|
||||
typeof(nf_nat_pptp_hook_outbound) nf_nat_pptp_outbound;
|
||||
|
||||
msg = ntohs(ctlh->messageType);
|
||||
DEBUGP("outbound control message %s\n", pptp_msg_name[msg]);
|
||||
pr_debug("outbound control message %s\n", pptp_msg_name[msg]);
|
||||
|
||||
switch (msg) {
|
||||
case PPTP_START_SESSION_REQUEST:
|
||||
@@ -418,7 +415,7 @@ pptp_outbound_pkt(struct sk_buff **pskb,
|
||||
info->cstate = PPTP_CALL_OUT_REQ;
|
||||
/* track PNS call id */
|
||||
cid = pptpReq->ocreq.callID;
|
||||
DEBUGP("%s, CID=%X\n", pptp_msg_name[msg], ntohs(cid));
|
||||
pr_debug("%s, CID=%X\n", pptp_msg_name[msg], ntohs(cid));
|
||||
info->pns_call_id = cid;
|
||||
break;
|
||||
|
||||
@@ -432,8 +429,8 @@ pptp_outbound_pkt(struct sk_buff **pskb,
|
||||
pcid = pptpReq->icack.peersCallID;
|
||||
if (info->pac_call_id != pcid)
|
||||
goto invalid;
|
||||
DEBUGP("%s, CID=%X PCID=%X\n", pptp_msg_name[msg],
|
||||
ntohs(cid), ntohs(pcid));
|
||||
pr_debug("%s, CID=%X PCID=%X\n", pptp_msg_name[msg],
|
||||
ntohs(cid), ntohs(pcid));
|
||||
|
||||
if (pptpReq->icack.resultCode == PPTP_INCALL_ACCEPT) {
|
||||
/* part two of the three-way handshake */
|
||||
@@ -469,11 +466,11 @@ pptp_outbound_pkt(struct sk_buff **pskb,
|
||||
return NF_ACCEPT;
|
||||
|
||||
invalid:
|
||||
DEBUGP("invalid %s: type=%d cid=%u pcid=%u "
|
||||
"cstate=%d sstate=%d pns_cid=%u pac_cid=%u\n",
|
||||
msg <= PPTP_MSG_MAX ? pptp_msg_name[msg] : pptp_msg_name[0],
|
||||
msg, ntohs(cid), ntohs(pcid), info->cstate, info->sstate,
|
||||
ntohs(info->pns_call_id), ntohs(info->pac_call_id));
|
||||
pr_debug("invalid %s: type=%d cid=%u pcid=%u "
|
||||
"cstate=%d sstate=%d pns_cid=%u pac_cid=%u\n",
|
||||
msg <= PPTP_MSG_MAX ? pptp_msg_name[msg] : pptp_msg_name[0],
|
||||
msg, ntohs(cid), ntohs(pcid), info->cstate, info->sstate,
|
||||
ntohs(info->pns_call_id), ntohs(info->pac_call_id));
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
|
||||
@@ -524,7 +521,7 @@ conntrack_pptp_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
|
||||
pptph = skb_header_pointer(*pskb, nexthdr_off, sizeof(_pptph), &_pptph);
|
||||
if (!pptph) {
|
||||
DEBUGP("no full PPTP header, can't track\n");
|
||||
pr_debug("no full PPTP header, can't track\n");
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
nexthdr_off += sizeof(_pptph);
|
||||
@@ -533,7 +530,7 @@ conntrack_pptp_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
/* if it's not a control message we can't do anything with it */
|
||||
if (ntohs(pptph->packetType) != PPTP_PACKET_CONTROL ||
|
||||
ntohl(pptph->magicCookie) != PPTP_MAGIC_COOKIE) {
|
||||
DEBUGP("not a control packet\n");
|
||||
pr_debug("not a control packet\n");
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
|
||||
@@ -569,8 +566,8 @@ conntrack_pptp_help(struct sk_buff **pskb, unsigned int protoff,
|
||||
/* server -> client (PAC -> PNS) */
|
||||
ret = pptp_inbound_pkt(pskb, ctlh, pptpReq, reqlen, ct,
|
||||
ctinfo);
|
||||
DEBUGP("sstate: %d->%d, cstate: %d->%d\n",
|
||||
oldsstate, info->sstate, oldcstate, info->cstate);
|
||||
pr_debug("sstate: %d->%d, cstate: %d->%d\n",
|
||||
oldsstate, info->sstate, oldcstate, info->cstate);
|
||||
spin_unlock_bh(&nf_pptp_lock);
|
||||
|
||||
return ret;
|
||||
|
@@ -40,12 +40,6 @@
|
||||
#define GRE_TIMEOUT (30 * HZ)
|
||||
#define GRE_STREAM_TIMEOUT (180 * HZ)
|
||||
|
||||
#if 0
|
||||
#define DEBUGP(format, args...) printk(KERN_DEBUG "%s:%s: " format, __FILE__, __FUNCTION__, ## args)
|
||||
#else
|
||||
#define DEBUGP(x, args...)
|
||||
#endif
|
||||
|
||||
static DEFINE_RWLOCK(nf_ct_gre_lock);
|
||||
static LIST_HEAD(gre_keymap_list);
|
||||
|
||||
@@ -87,7 +81,7 @@ static __be16 gre_keymap_lookup(struct nf_conntrack_tuple *t)
|
||||
}
|
||||
read_unlock_bh(&nf_ct_gre_lock);
|
||||
|
||||
DEBUGP("lookup src key 0x%x for ", key);
|
||||
pr_debug("lookup src key 0x%x for ", key);
|
||||
NF_CT_DUMP_TUPLE(t);
|
||||
|
||||
return key;
|
||||
@@ -107,8 +101,8 @@ int nf_ct_gre_keymap_add(struct nf_conn *ct, enum ip_conntrack_dir dir,
|
||||
if (gre_key_cmpfn(km, t) && km == *kmp)
|
||||
return 0;
|
||||
}
|
||||
DEBUGP("trying to override keymap_%s for ct %p\n",
|
||||
dir == IP_CT_DIR_REPLY ? "reply" : "orig", ct);
|
||||
pr_debug("trying to override keymap_%s for ct %p\n",
|
||||
dir == IP_CT_DIR_REPLY ? "reply" : "orig", ct);
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
@@ -118,7 +112,7 @@ int nf_ct_gre_keymap_add(struct nf_conn *ct, enum ip_conntrack_dir dir,
|
||||
memcpy(&km->tuple, t, sizeof(*t));
|
||||
*kmp = km;
|
||||
|
||||
DEBUGP("adding new entry %p: ", km);
|
||||
pr_debug("adding new entry %p: ", km);
|
||||
NF_CT_DUMP_TUPLE(&km->tuple);
|
||||
|
||||
write_lock_bh(&nf_ct_gre_lock);
|
||||
@@ -135,13 +129,13 @@ void nf_ct_gre_keymap_destroy(struct nf_conn *ct)
|
||||
struct nf_conn_help *help = nfct_help(ct);
|
||||
enum ip_conntrack_dir dir;
|
||||
|
||||
DEBUGP("entering for ct %p\n", ct);
|
||||
pr_debug("entering for ct %p\n", ct);
|
||||
|
||||
write_lock_bh(&nf_ct_gre_lock);
|
||||
for (dir = IP_CT_DIR_ORIGINAL; dir < IP_CT_DIR_MAX; dir++) {
|
||||
if (help->help.ct_pptp_info.keymap[dir]) {
|
||||
DEBUGP("removing %p from list\n",
|
||||
help->help.ct_pptp_info.keymap[dir]);
|
||||
pr_debug("removing %p from list\n",
|
||||
help->help.ct_pptp_info.keymap[dir]);
|
||||
list_del(&help->help.ct_pptp_info.keymap[dir]->list);
|
||||
kfree(help->help.ct_pptp_info.keymap[dir]);
|
||||
help->help.ct_pptp_info.keymap[dir] = NULL;
|
||||
@@ -186,7 +180,7 @@ static int gre_pkt_to_tuple(const struct sk_buff *skb,
|
||||
return 1;
|
||||
|
||||
if (ntohs(grehdr->protocol) != GRE_PROTOCOL_PPTP) {
|
||||
DEBUGP("GRE_VERSION_PPTP but unknown proto\n");
|
||||
pr_debug("GRE_VERSION_PPTP but unknown proto\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -242,7 +236,7 @@ static int gre_packet(struct nf_conn *ct,
|
||||
static int gre_new(struct nf_conn *ct, const struct sk_buff *skb,
|
||||
unsigned int dataoff)
|
||||
{
|
||||
DEBUGP(": ");
|
||||
pr_debug(": ");
|
||||
NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
|
||||
|
||||
/* initialize to sane value. Ideally a conntrack helper
|
||||
@@ -258,10 +252,10 @@ static int gre_new(struct nf_conn *ct, const struct sk_buff *skb,
|
||||
static void gre_destroy(struct nf_conn *ct)
|
||||
{
|
||||
struct nf_conn *master = ct->master;
|
||||
DEBUGP(" entering\n");
|
||||
pr_debug(" entering\n");
|
||||
|
||||
if (!master)
|
||||
DEBUGP("no master !?!\n");
|
||||
pr_debug("no master !?!\n");
|
||||
else
|
||||
nf_ct_gre_keymap_destroy(master);
|
||||
}
|
||||
|
@@ -25,12 +25,6 @@
|
||||
#include <net/netfilter/nf_conntrack_l4proto.h>
|
||||
#include <net/netfilter/nf_conntrack_ecache.h>
|
||||
|
||||
#if 0
|
||||
#define DEBUGP(format, ...) printk(format, ## __VA_ARGS__)
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
/* Protects conntrack->proto.sctp */
|
||||
static DEFINE_RWLOCK(sctp_lock);
|
||||
|
||||
@@ -151,9 +145,6 @@ static int sctp_pkt_to_tuple(const struct sk_buff *skb,
|
||||
{
|
||||
sctp_sctphdr_t _hdr, *hp;
|
||||
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
/* Actually only need first 8 bytes. */
|
||||
hp = skb_header_pointer(skb, dataoff, 8, &_hdr);
|
||||
if (hp == NULL)
|
||||
@@ -167,9 +158,6 @@ static int sctp_pkt_to_tuple(const struct sk_buff *skb,
|
||||
static int sctp_invert_tuple(struct nf_conntrack_tuple *tuple,
|
||||
const struct nf_conntrack_tuple *orig)
|
||||
{
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
tuple->src.u.sctp.port = orig->dst.u.sctp.port;
|
||||
tuple->dst.u.sctp.port = orig->src.u.sctp.port;
|
||||
return 1;
|
||||
@@ -179,9 +167,6 @@ static int sctp_invert_tuple(struct nf_conntrack_tuple *tuple,
|
||||
static int sctp_print_tuple(struct seq_file *s,
|
||||
const struct nf_conntrack_tuple *tuple)
|
||||
{
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
return seq_printf(s, "sport=%hu dport=%hu ",
|
||||
ntohs(tuple->src.u.sctp.port),
|
||||
ntohs(tuple->dst.u.sctp.port));
|
||||
@@ -193,9 +178,6 @@ static int sctp_print_conntrack(struct seq_file *s,
|
||||
{
|
||||
enum sctp_conntrack state;
|
||||
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
read_lock_bh(&sctp_lock);
|
||||
state = conntrack->proto.sctp.state;
|
||||
read_unlock_bh(&sctp_lock);
|
||||
@@ -219,13 +201,10 @@ static int do_basic_checks(struct nf_conn *conntrack,
|
||||
sctp_chunkhdr_t _sch, *sch;
|
||||
int flag;
|
||||
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
flag = 0;
|
||||
|
||||
for_each_sctp_chunk (skb, sch, _sch, offset, dataoff, count) {
|
||||
DEBUGP("Chunk Num: %d Type: %d\n", count, sch->type);
|
||||
pr_debug("Chunk Num: %d Type: %d\n", count, sch->type);
|
||||
|
||||
if (sch->type == SCTP_CID_INIT
|
||||
|| sch->type == SCTP_CID_INIT_ACK
|
||||
@@ -242,7 +221,7 @@ static int do_basic_checks(struct nf_conn *conntrack,
|
||||
|| sch->type == SCTP_CID_COOKIE_ECHO
|
||||
|| flag)
|
||||
&& count !=0) || !sch->length) {
|
||||
DEBUGP("Basic checks failed\n");
|
||||
pr_debug("Basic checks failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -251,7 +230,7 @@ static int do_basic_checks(struct nf_conn *conntrack,
|
||||
}
|
||||
}
|
||||
|
||||
DEBUGP("Basic checks passed\n");
|
||||
pr_debug("Basic checks passed\n");
|
||||
return count == 0;
|
||||
}
|
||||
|
||||
@@ -261,50 +240,47 @@ static int new_state(enum ip_conntrack_dir dir,
|
||||
{
|
||||
int i;
|
||||
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
DEBUGP("Chunk type: %d\n", chunk_type);
|
||||
pr_debug("Chunk type: %d\n", chunk_type);
|
||||
|
||||
switch (chunk_type) {
|
||||
case SCTP_CID_INIT:
|
||||
DEBUGP("SCTP_CID_INIT\n");
|
||||
pr_debug("SCTP_CID_INIT\n");
|
||||
i = 0; break;
|
||||
case SCTP_CID_INIT_ACK:
|
||||
DEBUGP("SCTP_CID_INIT_ACK\n");
|
||||
pr_debug("SCTP_CID_INIT_ACK\n");
|
||||
i = 1; break;
|
||||
case SCTP_CID_ABORT:
|
||||
DEBUGP("SCTP_CID_ABORT\n");
|
||||
pr_debug("SCTP_CID_ABORT\n");
|
||||
i = 2; break;
|
||||
case SCTP_CID_SHUTDOWN:
|
||||
DEBUGP("SCTP_CID_SHUTDOWN\n");
|
||||
pr_debug("SCTP_CID_SHUTDOWN\n");
|
||||
i = 3; break;
|
||||
case SCTP_CID_SHUTDOWN_ACK:
|
||||
DEBUGP("SCTP_CID_SHUTDOWN_ACK\n");
|
||||
pr_debug("SCTP_CID_SHUTDOWN_ACK\n");
|
||||
i = 4; break;
|
||||
case SCTP_CID_ERROR:
|
||||
DEBUGP("SCTP_CID_ERROR\n");
|
||||
pr_debug("SCTP_CID_ERROR\n");
|
||||
i = 5; break;
|
||||
case SCTP_CID_COOKIE_ECHO:
|
||||
DEBUGP("SCTP_CID_COOKIE_ECHO\n");
|
||||
pr_debug("SCTP_CID_COOKIE_ECHO\n");
|
||||
i = 6; break;
|
||||
case SCTP_CID_COOKIE_ACK:
|
||||
DEBUGP("SCTP_CID_COOKIE_ACK\n");
|
||||
pr_debug("SCTP_CID_COOKIE_ACK\n");
|
||||
i = 7; break;
|
||||
case SCTP_CID_SHUTDOWN_COMPLETE:
|
||||
DEBUGP("SCTP_CID_SHUTDOWN_COMPLETE\n");
|
||||
pr_debug("SCTP_CID_SHUTDOWN_COMPLETE\n");
|
||||
i = 8; break;
|
||||
default:
|
||||
/* Other chunks like DATA, SACK, HEARTBEAT and
|
||||
its ACK do not cause a change in state */
|
||||
DEBUGP("Unknown chunk type, Will stay in %s\n",
|
||||
sctp_conntrack_names[cur_state]);
|
||||
pr_debug("Unknown chunk type, Will stay in %s\n",
|
||||
sctp_conntrack_names[cur_state]);
|
||||
return cur_state;
|
||||
}
|
||||
|
||||
DEBUGP("dir: %d cur_state: %s chunk_type: %d new_state: %s\n",
|
||||
dir, sctp_conntrack_names[cur_state], chunk_type,
|
||||
sctp_conntrack_names[sctp_conntracks[dir][i][cur_state]]);
|
||||
pr_debug("dir: %d cur_state: %s chunk_type: %d new_state: %s\n",
|
||||
dir, sctp_conntrack_names[cur_state], chunk_type,
|
||||
sctp_conntrack_names[sctp_conntracks[dir][i][cur_state]]);
|
||||
|
||||
return sctp_conntracks[dir][i][cur_state];
|
||||
}
|
||||
@@ -323,9 +299,6 @@ static int sctp_packet(struct nf_conn *conntrack,
|
||||
u_int32_t offset, count;
|
||||
char map[256 / sizeof (char)] = {0};
|
||||
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
sh = skb_header_pointer(skb, dataoff, sizeof(_sctph), &_sctph);
|
||||
if (sh == NULL)
|
||||
return -1;
|
||||
@@ -340,7 +313,7 @@ static int sctp_packet(struct nf_conn *conntrack,
|
||||
&& !test_bit(SCTP_CID_ABORT, (void *)map)
|
||||
&& !test_bit(SCTP_CID_SHUTDOWN_ACK, (void *)map)
|
||||
&& (sh->vtag != conntrack->proto.sctp.vtag[CTINFO2DIR(ctinfo)])) {
|
||||
DEBUGP("Verification tag check failed\n");
|
||||
pr_debug("Verification tag check failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -385,8 +358,9 @@ static int sctp_packet(struct nf_conn *conntrack,
|
||||
|
||||
/* Invalid */
|
||||
if (newconntrack == SCTP_CONNTRACK_MAX) {
|
||||
DEBUGP("nf_conntrack_sctp: Invalid dir=%i ctype=%u conntrack=%u\n",
|
||||
CTINFO2DIR(ctinfo), sch->type, oldsctpstate);
|
||||
pr_debug("nf_conntrack_sctp: Invalid dir=%i ctype=%u "
|
||||
"conntrack=%u\n",
|
||||
CTINFO2DIR(ctinfo), sch->type, oldsctpstate);
|
||||
write_unlock_bh(&sctp_lock);
|
||||
return -1;
|
||||
}
|
||||
@@ -402,8 +376,8 @@ static int sctp_packet(struct nf_conn *conntrack,
|
||||
write_unlock_bh(&sctp_lock);
|
||||
return -1;
|
||||
}
|
||||
DEBUGP("Setting vtag %x for dir %d\n",
|
||||
ih->init_tag, !CTINFO2DIR(ctinfo));
|
||||
pr_debug("Setting vtag %x for dir %d\n",
|
||||
ih->init_tag, !CTINFO2DIR(ctinfo));
|
||||
conntrack->proto.sctp.vtag[!CTINFO2DIR(ctinfo)] = ih->init_tag;
|
||||
}
|
||||
|
||||
@@ -418,7 +392,7 @@ static int sctp_packet(struct nf_conn *conntrack,
|
||||
if (oldsctpstate == SCTP_CONNTRACK_COOKIE_ECHOED
|
||||
&& CTINFO2DIR(ctinfo) == IP_CT_DIR_REPLY
|
||||
&& newconntrack == SCTP_CONNTRACK_ESTABLISHED) {
|
||||
DEBUGP("Setting assured bit\n");
|
||||
pr_debug("Setting assured bit\n");
|
||||
set_bit(IPS_ASSURED_BIT, &conntrack->status);
|
||||
nf_conntrack_event_cache(IPCT_STATUS, skb);
|
||||
}
|
||||
@@ -436,9 +410,6 @@ static int sctp_new(struct nf_conn *conntrack, const struct sk_buff *skb,
|
||||
u_int32_t offset, count;
|
||||
char map[256 / sizeof (char)] = {0};
|
||||
|
||||
DEBUGP(__FUNCTION__);
|
||||
DEBUGP("\n");
|
||||
|
||||
sh = skb_header_pointer(skb, dataoff, sizeof(_sctph), &_sctph);
|
||||
if (sh == NULL)
|
||||
return 0;
|
||||
@@ -461,7 +432,7 @@ static int sctp_new(struct nf_conn *conntrack, const struct sk_buff *skb,
|
||||
|
||||
/* Invalid: delete conntrack */
|
||||
if (newconntrack == SCTP_CONNTRACK_MAX) {
|
||||
DEBUGP("nf_conntrack_sctp: invalid new deleting.\n");
|
||||
pr_debug("nf_conntrack_sctp: invalid new deleting.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -475,8 +446,8 @@ static int sctp_new(struct nf_conn *conntrack, const struct sk_buff *skb,
|
||||
if (ih == NULL)
|
||||
return 0;
|
||||
|
||||
DEBUGP("Setting vtag %x for new conn\n",
|
||||
ih->init_tag);
|
||||
pr_debug("Setting vtag %x for new conn\n",
|
||||
ih->init_tag);
|
||||
|
||||
conntrack->proto.sctp.vtag[IP_CT_DIR_REPLY] =
|
||||
ih->init_tag;
|
||||
@@ -488,8 +459,8 @@ static int sctp_new(struct nf_conn *conntrack, const struct sk_buff *skb,
|
||||
/* If it is a shutdown ack OOTB packet, we expect a return
|
||||
shutdown complete, otherwise an ABORT Sec 8.4 (5) and (8) */
|
||||
else {
|
||||
DEBUGP("Setting vtag %x for new conn OOTB\n",
|
||||
sh->vtag);
|
||||
pr_debug("Setting vtag %x for new conn OOTB\n",
|
||||
sh->vtag);
|
||||
conntrack->proto.sctp.vtag[IP_CT_DIR_REPLY] = sh->vtag;
|
||||
}
|
||||
|
||||
@@ -688,8 +659,6 @@ int __init nf_conntrack_proto_sctp_init(void)
|
||||
cleanup_sctp4:
|
||||
nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_sctp4);
|
||||
out:
|
||||
DEBUGP("SCTP conntrack module loading %s\n",
|
||||
ret ? "failed": "succeeded");
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -697,7 +666,6 @@ void __exit nf_conntrack_proto_sctp_fini(void)
|
||||
{
|
||||
nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_sctp6);
|
||||
nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_sctp4);
|
||||
DEBUGP("SCTP conntrack module unloaded\n");
|
||||
}
|
||||
|
||||
module_init(nf_conntrack_proto_sctp_init);
|
||||
|
@@ -26,13 +26,6 @@
|
||||
#include <net/netfilter/nf_conntrack_l4proto.h>
|
||||
#include <net/netfilter/nf_conntrack_ecache.h>
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#define DEBUGP_VARS
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
/* Protects conntrack->proto.tcp */
|
||||
static DEFINE_RWLOCK(tcp_lock);
|
||||
|
||||
@@ -496,7 +489,8 @@ static void tcp_sack(const struct sk_buff *skb, unsigned int dataoff,
|
||||
}
|
||||
}
|
||||
|
||||
static int tcp_in_window(struct ip_ct_tcp *state,
|
||||
static int tcp_in_window(struct nf_conn *ct,
|
||||
struct ip_ct_tcp *state,
|
||||
enum ip_conntrack_dir dir,
|
||||
unsigned int index,
|
||||
const struct sk_buff *skb,
|
||||
@@ -506,6 +500,7 @@ static int tcp_in_window(struct ip_ct_tcp *state,
|
||||
{
|
||||
struct ip_ct_tcp_state *sender = &state->seen[dir];
|
||||
struct ip_ct_tcp_state *receiver = &state->seen[!dir];
|
||||
struct nf_conntrack_tuple *tuple = &ct->tuplehash[dir].tuple;
|
||||
__u32 seq, ack, sack, end, win, swin;
|
||||
int res;
|
||||
|
||||
@@ -520,18 +515,17 @@ static int tcp_in_window(struct ip_ct_tcp *state,
|
||||
if (receiver->flags & IP_CT_TCP_FLAG_SACK_PERM)
|
||||
tcp_sack(skb, dataoff, tcph, &sack);
|
||||
|
||||
DEBUGP("tcp_in_window: START\n");
|
||||
DEBUGP("tcp_in_window: src=%u.%u.%u.%u:%hu dst=%u.%u.%u.%u:%hu "
|
||||
"seq=%u ack=%u sack=%u win=%u end=%u\n",
|
||||
NIPQUAD(iph->saddr), ntohs(tcph->source),
|
||||
NIPQUAD(iph->daddr), ntohs(tcph->dest),
|
||||
seq, ack, sack, win, end);
|
||||
DEBUGP("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
pr_debug("tcp_in_window: START\n");
|
||||
pr_debug("tcp_in_window: ");
|
||||
NF_CT_DUMP_TUPLE(tuple);
|
||||
pr_debug("seq=%u ack=%u sack=%u win=%u end=%u\n",
|
||||
seq, ack, sack, win, end);
|
||||
pr_debug("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
|
||||
if (sender->td_end == 0) {
|
||||
/*
|
||||
@@ -609,23 +603,22 @@ static int tcp_in_window(struct ip_ct_tcp *state,
|
||||
*/
|
||||
seq = end = sender->td_end;
|
||||
|
||||
DEBUGP("tcp_in_window: src=%u.%u.%u.%u:%hu dst=%u.%u.%u.%u:%hu "
|
||||
"seq=%u ack=%u sack =%u win=%u end=%u\n",
|
||||
NIPQUAD(iph->saddr), ntohs(tcph->source),
|
||||
NIPQUAD(iph->daddr), ntohs(tcph->dest),
|
||||
seq, ack, sack, win, end);
|
||||
DEBUGP("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
pr_debug("tcp_in_window: ");
|
||||
NF_CT_DUMP_TUPLE(tuple);
|
||||
pr_debug("seq=%u ack=%u sack =%u win=%u end=%u\n",
|
||||
seq, ack, sack, win, end);
|
||||
pr_debug("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
|
||||
DEBUGP("tcp_in_window: I=%i II=%i III=%i IV=%i\n",
|
||||
before(seq, sender->td_maxend + 1),
|
||||
after(end, sender->td_end - receiver->td_maxwin - 1),
|
||||
before(sack, receiver->td_end + 1),
|
||||
after(ack, receiver->td_end - MAXACKWINDOW(sender)));
|
||||
pr_debug("tcp_in_window: I=%i II=%i III=%i IV=%i\n",
|
||||
before(seq, sender->td_maxend + 1),
|
||||
after(end, sender->td_end - receiver->td_maxwin - 1),
|
||||
before(sack, receiver->td_end + 1),
|
||||
after(ack, receiver->td_end - MAXACKWINDOW(sender)));
|
||||
|
||||
if (before(seq, sender->td_maxend + 1) &&
|
||||
after(end, sender->td_end - receiver->td_maxwin - 1) &&
|
||||
@@ -694,10 +687,10 @@ static int tcp_in_window(struct ip_ct_tcp *state,
|
||||
: "SEQ is over the upper bound (over the window of the receiver)");
|
||||
}
|
||||
|
||||
DEBUGP("tcp_in_window: res=%i sender end=%u maxend=%u maxwin=%u "
|
||||
"receiver end=%u maxend=%u maxwin=%u\n",
|
||||
res, sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin);
|
||||
pr_debug("tcp_in_window: res=%i sender end=%u maxend=%u maxwin=%u "
|
||||
"receiver end=%u maxend=%u maxwin=%u\n",
|
||||
res, sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin);
|
||||
|
||||
return res;
|
||||
}
|
||||
@@ -711,11 +704,9 @@ void nf_conntrack_tcp_update(struct sk_buff *skb,
|
||||
int dir)
|
||||
{
|
||||
struct tcphdr *tcph = (void *)skb->data + dataoff;
|
||||
__u32 end;
|
||||
#ifdef DEBUGP_VARS
|
||||
struct ip_ct_tcp_state *sender = &conntrack->proto.tcp.seen[dir];
|
||||
struct ip_ct_tcp_state *receiver = &conntrack->proto.tcp.seen[!dir];
|
||||
#endif
|
||||
__u32 end;
|
||||
|
||||
end = segment_seq_plus_len(ntohl(tcph->seq), skb->len, dataoff, tcph);
|
||||
|
||||
@@ -727,12 +718,12 @@ void nf_conntrack_tcp_update(struct sk_buff *skb,
|
||||
conntrack->proto.tcp.seen[dir].td_end = end;
|
||||
conntrack->proto.tcp.last_end = end;
|
||||
write_unlock_bh(&tcp_lock);
|
||||
DEBUGP("tcp_update: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
pr_debug("tcp_update: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nf_conntrack_tcp_update);
|
||||
#endif
|
||||
@@ -823,6 +814,7 @@ static int tcp_packet(struct nf_conn *conntrack,
|
||||
int pf,
|
||||
unsigned int hooknum)
|
||||
{
|
||||
struct nf_conntrack_tuple *tuple;
|
||||
enum tcp_conntrack new_state, old_state;
|
||||
enum ip_conntrack_dir dir;
|
||||
struct tcphdr *th, _tcph;
|
||||
@@ -837,6 +829,7 @@ static int tcp_packet(struct nf_conn *conntrack,
|
||||
dir = CTINFO2DIR(ctinfo);
|
||||
index = get_conntrack_index(th);
|
||||
new_state = tcp_conntracks[dir][index][old_state];
|
||||
tuple = &conntrack->tuplehash[dir].tuple;
|
||||
|
||||
switch (new_state) {
|
||||
case TCP_CONNTRACK_IGNORE:
|
||||
@@ -880,9 +873,8 @@ static int tcp_packet(struct nf_conn *conntrack,
|
||||
return NF_ACCEPT;
|
||||
case TCP_CONNTRACK_MAX:
|
||||
/* Invalid packet */
|
||||
DEBUGP("nf_ct_tcp: Invalid dir=%i index=%u ostate=%u\n",
|
||||
dir, get_conntrack_index(th),
|
||||
old_state);
|
||||
pr_debug("nf_ct_tcp: Invalid dir=%i index=%u ostate=%u\n",
|
||||
dir, get_conntrack_index(th), old_state);
|
||||
write_unlock_bh(&tcp_lock);
|
||||
if (LOG_INVALID(IPPROTO_TCP))
|
||||
nf_log_packet(pf, 0, skb, NULL, NULL, NULL,
|
||||
@@ -933,7 +925,7 @@ static int tcp_packet(struct nf_conn *conntrack,
|
||||
break;
|
||||
}
|
||||
|
||||
if (!tcp_in_window(&conntrack->proto.tcp, dir, index,
|
||||
if (!tcp_in_window(conntrack, &conntrack->proto.tcp, dir, index,
|
||||
skb, dataoff, th, pf)) {
|
||||
write_unlock_bh(&tcp_lock);
|
||||
return -NF_ACCEPT;
|
||||
@@ -942,13 +934,12 @@ static int tcp_packet(struct nf_conn *conntrack,
|
||||
/* From now on we have got in-window packets */
|
||||
conntrack->proto.tcp.last_index = index;
|
||||
|
||||
DEBUGP("tcp_conntracks: src=%u.%u.%u.%u:%hu dst=%u.%u.%u.%u:%hu "
|
||||
"syn=%i ack=%i fin=%i rst=%i old=%i new=%i\n",
|
||||
NIPQUAD(iph->saddr), ntohs(th->source),
|
||||
NIPQUAD(iph->daddr), ntohs(th->dest),
|
||||
(th->syn ? 1 : 0), (th->ack ? 1 : 0),
|
||||
(th->fin ? 1 : 0), (th->rst ? 1 : 0),
|
||||
old_state, new_state);
|
||||
pr_debug("tcp_conntracks: ");
|
||||
NF_CT_DUMP_TUPLE(tuple);
|
||||
pr_debug("syn=%i ack=%i fin=%i rst=%i old=%i new=%i\n",
|
||||
(th->syn ? 1 : 0), (th->ack ? 1 : 0),
|
||||
(th->fin ? 1 : 0), (th->rst ? 1 : 0),
|
||||
old_state, new_state);
|
||||
|
||||
conntrack->proto.tcp.state = new_state;
|
||||
if (old_state != new_state
|
||||
@@ -997,10 +988,8 @@ static int tcp_new(struct nf_conn *conntrack,
|
||||
{
|
||||
enum tcp_conntrack new_state;
|
||||
struct tcphdr *th, _tcph;
|
||||
#ifdef DEBUGP_VARS
|
||||
struct ip_ct_tcp_state *sender = &conntrack->proto.tcp.seen[0];
|
||||
struct ip_ct_tcp_state *receiver = &conntrack->proto.tcp.seen[1];
|
||||
#endif
|
||||
|
||||
th = skb_header_pointer(skb, dataoff, sizeof(_tcph), &_tcph);
|
||||
BUG_ON(th == NULL);
|
||||
@@ -1012,7 +1001,7 @@ static int tcp_new(struct nf_conn *conntrack,
|
||||
|
||||
/* Invalid: delete conntrack */
|
||||
if (new_state >= TCP_CONNTRACK_MAX) {
|
||||
DEBUGP("nf_ct_tcp: invalid new deleting.\n");
|
||||
pr_debug("nf_ct_tcp: invalid new deleting.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1065,12 +1054,12 @@ static int tcp_new(struct nf_conn *conntrack,
|
||||
conntrack->proto.tcp.state = TCP_CONNTRACK_NONE;
|
||||
conntrack->proto.tcp.last_index = TCP_NONE_SET;
|
||||
|
||||
DEBUGP("tcp_new: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
pr_debug("tcp_new: sender end=%u maxend=%u maxwin=%u scale=%i "
|
||||
"receiver end=%u maxend=%u maxwin=%u scale=%i\n",
|
||||
sender->td_end, sender->td_maxend, sender->td_maxwin,
|
||||
sender->td_scale,
|
||||
receiver->td_end, receiver->td_maxend, receiver->td_maxwin,
|
||||
receiver->td_scale);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -40,12 +40,6 @@ static u_int16_t ports[MAX_PORTS];
|
||||
static unsigned int ports_c;
|
||||
module_param_array(ports, ushort, &ports_c, 0400);
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
struct sane_request {
|
||||
__be32 RPC_code;
|
||||
#define SANE_NET_START 7 /* RPC code */
|
||||
@@ -125,15 +119,15 @@ static int help(struct sk_buff **pskb,
|
||||
ct_sane_info->state = SANE_STATE_NORMAL;
|
||||
|
||||
if (datalen < sizeof(struct sane_reply_net_start)) {
|
||||
DEBUGP("nf_ct_sane: NET_START reply too short\n");
|
||||
pr_debug("nf_ct_sane: NET_START reply too short\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
reply = (struct sane_reply_net_start *)sb_ptr;
|
||||
if (reply->status != htonl(SANE_STATUS_SUCCESS)) {
|
||||
/* saned refused the command */
|
||||
DEBUGP("nf_ct_sane: unsuccessful SANE_STATUS = %u\n",
|
||||
ntohl(reply->status));
|
||||
pr_debug("nf_ct_sane: unsuccessful SANE_STATUS = %u\n",
|
||||
ntohl(reply->status));
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -151,9 +145,8 @@ static int help(struct sk_buff **pskb,
|
||||
nf_ct_expect_init(exp, family, &tuple->src.u3, &tuple->dst.u3,
|
||||
IPPROTO_TCP, NULL, &reply->port);
|
||||
|
||||
DEBUGP("nf_ct_sane: expect: ");
|
||||
pr_debug("nf_ct_sane: expect: ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
NF_CT_DUMP_TUPLE(&exp->mask);
|
||||
|
||||
/* Can't expect this? Best to drop packet now. */
|
||||
if (nf_ct_expect_related(exp) != 0)
|
||||
@@ -176,9 +169,9 @@ static void nf_conntrack_sane_fini(void)
|
||||
|
||||
for (i = 0; i < ports_c; i++) {
|
||||
for (j = 0; j < 2; j++) {
|
||||
DEBUGP("nf_ct_sane: unregistering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
sane[i][j].tuple.src.l3num, ports[i]);
|
||||
pr_debug("nf_ct_sane: unregistering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
sane[i][j].tuple.src.l3num, ports[i]);
|
||||
nf_conntrack_helper_unregister(&sane[i][j]);
|
||||
}
|
||||
}
|
||||
@@ -217,9 +210,9 @@ static int __init nf_conntrack_sane_init(void)
|
||||
sprintf(tmpname, "sane-%d", ports[i]);
|
||||
sane[i][j].name = tmpname;
|
||||
|
||||
DEBUGP("nf_ct_sane: registering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
sane[i][j].tuple.src.l3num, ports[i]);
|
||||
pr_debug("nf_ct_sane: registering helper for pf: %d "
|
||||
"port: %d\n",
|
||||
sane[i][j].tuple.src.l3num, ports[i]);
|
||||
ret = nf_conntrack_helper_register(&sane[i][j]);
|
||||
if (ret) {
|
||||
printk(KERN_ERR "nf_ct_sane: failed to "
|
||||
|
@@ -21,12 +21,6 @@
|
||||
#include <net/netfilter/nf_conntrack_helper.h>
|
||||
#include <linux/netfilter/nf_conntrack_sip.h>
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Christian Hentschel <chentschel@arnet.com.ar>");
|
||||
MODULE_DESCRIPTION("SIP connection tracking helper");
|
||||
@@ -285,7 +279,7 @@ static int epaddr_len(struct nf_conn *ct, const char *dptr,
|
||||
const char *aux = dptr;
|
||||
|
||||
if (!parse_addr(ct, dptr, &dptr, &addr, limit)) {
|
||||
DEBUGP("ip: %s parse failed.!\n", dptr);
|
||||
pr_debug("ip: %s parse failed.!\n", dptr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -344,8 +338,8 @@ int ct_sip_get_info(struct nf_conn *ct,
|
||||
ct_sip_lnlen(dptr, limit),
|
||||
hnfo->case_sensitive);
|
||||
if (!aux) {
|
||||
DEBUGP("'%s' not found in '%s'.\n", hnfo->ln_str,
|
||||
hnfo->lname);
|
||||
pr_debug("'%s' not found in '%s'.\n", hnfo->ln_str,
|
||||
hnfo->lname);
|
||||
return -1;
|
||||
}
|
||||
aux += hnfo->ln_strlen;
|
||||
@@ -356,11 +350,11 @@ int ct_sip_get_info(struct nf_conn *ct,
|
||||
|
||||
*matchoff = (aux - k) + shift;
|
||||
|
||||
DEBUGP("%s match succeeded! - len: %u\n", hnfo->lname,
|
||||
*matchlen);
|
||||
pr_debug("%s match succeeded! - len: %u\n", hnfo->lname,
|
||||
*matchlen);
|
||||
return 1;
|
||||
}
|
||||
DEBUGP("%s header not found.\n", hnfo->lname);
|
||||
pr_debug("%s header not found.\n", hnfo->lname);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ct_sip_get_info);
|
||||
@@ -424,7 +418,7 @@ static int sip_help(struct sk_buff **pskb,
|
||||
if (!skb_is_nonlinear(*pskb))
|
||||
dptr = (*pskb)->data + dataoff;
|
||||
else {
|
||||
DEBUGP("Copy of skbuff not supported yet.\n");
|
||||
pr_debug("Copy of skbuff not supported yet.\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -518,7 +512,7 @@ static int __init nf_conntrack_sip_init(void)
|
||||
sprintf(tmpname, "sip-%u", i);
|
||||
sip[i][j].name = tmpname;
|
||||
|
||||
DEBUGP("port #%u: %u\n", i, ports[i]);
|
||||
pr_debug("port #%u: %u\n", i, ports[i]);
|
||||
|
||||
ret = nf_conntrack_helper_register(&sip[i][j]);
|
||||
if (ret) {
|
||||
|
@@ -25,12 +25,6 @@
|
||||
#include <net/netfilter/nf_conntrack_expect.h>
|
||||
#include <net/netfilter/nf_conntrack_helper.h>
|
||||
|
||||
#if 0
|
||||
#define DEBUGP printk
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
@@ -29,13 +29,6 @@ static int ports_c;
|
||||
module_param_array(ports, ushort, &ports_c, 0400);
|
||||
MODULE_PARM_DESC(ports, "Port numbers of TFTP servers");
|
||||
|
||||
#if 0
|
||||
#define DEBUGP(format, args...) printk("%s:%s:" format, \
|
||||
__FILE__, __FUNCTION__ , ## args)
|
||||
#else
|
||||
#define DEBUGP(format, args...)
|
||||
#endif
|
||||
|
||||
unsigned int (*nf_nat_tftp_hook)(struct sk_buff **pskb,
|
||||
enum ip_conntrack_info ctinfo,
|
||||
struct nf_conntrack_expect *exp) __read_mostly;
|
||||
@@ -62,7 +55,6 @@ static int tftp_help(struct sk_buff **pskb,
|
||||
case TFTP_OPCODE_READ:
|
||||
case TFTP_OPCODE_WRITE:
|
||||
/* RRQ and WRQ works the same way */
|
||||
DEBUGP("");
|
||||
NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
|
||||
NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
|
||||
|
||||
@@ -73,9 +65,8 @@ static int tftp_help(struct sk_buff **pskb,
|
||||
nf_ct_expect_init(exp, family, &tuple->src.u3, &tuple->dst.u3,
|
||||
IPPROTO_UDP, NULL, &tuple->dst.u.udp.port);
|
||||
|
||||
DEBUGP("expect: ");
|
||||
pr_debug("expect: ");
|
||||
NF_CT_DUMP_TUPLE(&exp->tuple);
|
||||
NF_CT_DUMP_TUPLE(&exp->mask);
|
||||
|
||||
nf_nat_tftp = rcu_dereference(nf_nat_tftp_hook);
|
||||
if (nf_nat_tftp && ct->status & IPS_NAT_MASK)
|
||||
@@ -86,13 +77,13 @@ static int tftp_help(struct sk_buff **pskb,
|
||||
break;
|
||||
case TFTP_OPCODE_DATA:
|
||||
case TFTP_OPCODE_ACK:
|
||||
DEBUGP("Data/ACK opcode\n");
|
||||
pr_debug("Data/ACK opcode\n");
|
||||
break;
|
||||
case TFTP_OPCODE_ERROR:
|
||||
DEBUGP("Error opcode\n");
|
||||
pr_debug("Error opcode\n");
|
||||
break;
|
||||
default:
|
||||
DEBUGP("Unknown opcode\n");
|
||||
pr_debug("Unknown opcode\n");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user