[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C5C1591.90108@trash.net>
Date: Fri, 06 Aug 2010 16:00:49 +0200
From: Patrick McHardy <kaber@...sh.net>
To: Simon Horman <horms@...ge.net.au>
CC: lvs-devel@...r.kernel.org, netdev@...r.kernel.org,
netfilter@...r.kernel.org, netfilter-devel@...r.kernel.org,
Wensong Zhang <wensong@...ux-vs.org>,
Julian Anastasov <ja@....bg>
Subject: Re: [rfc 02/13] [RFC 02/13] netfilter: nf_conntrack_sip: Add callid
parser
Am 05.08.2010 13:47, schrieb Simon Horman:
> diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c
> index 2fd1ea2..715ce54 100644
> --- a/net/netfilter/nf_conntrack_sip.c
> +++ b/net/netfilter/nf_conntrack_sip.c
> @@ -130,6 +130,44 @@ static int digits_len(const struct nf_conn *ct, const char *dptr,
> return len;
> }
>
> +static int iswordc(const char c)
> +{
> + if (isalnum(c) || c == '!' || c == '"' || c == '%' ||
> + (c >= '(' && c <= '/') || c == ':' || c == '<' || c == '>' ||
> + c == '?' || (c >= '[' && c <= ']') || c == '_' || c == '`' ||
> + c == '{' || c == '}' || c == '~')
> + return 1;
> + return 0;
> +}
> +
> +static int word_len(const char *dptr, const char *limit)
> +{
> + int len = 0;
> + while (dptr < limit && iswordc(*dptr)) {
> + dptr++;
> + len++;
> + }
> + return len;
> +}
Since the Call-ID can't contain whitespace, couldn't we simply
determine the length by looking for the next newline or whitespace
character?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists