[NETFILTER]: sip conntrack: make header shortcuts optional
Not every header has a shortcut, so make them optional instead of searching for the same string twice. Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
40883e8184
commit
77a78dec48
1 changed files with 2 additions and 3 deletions
|
@ -72,8 +72,6 @@ static struct sip_header_nfo ct_sip_hdrs[] = {
|
||||||
[POS_REQ_HEADER] = { /* SIP Requests headers */
|
[POS_REQ_HEADER] = { /* SIP Requests headers */
|
||||||
.lname = "sip:",
|
.lname = "sip:",
|
||||||
.lnlen = sizeof("sip:") - 1,
|
.lnlen = sizeof("sip:") - 1,
|
||||||
.sname = "sip:",
|
|
||||||
.snlen = sizeof("sip:") - 1, /* yes, i know.. ;) */
|
|
||||||
.ln_str = "@",
|
.ln_str = "@",
|
||||||
.ln_strlen = sizeof("@") - 1,
|
.ln_strlen = sizeof("@") - 1,
|
||||||
.match_len = epaddr_len
|
.match_len = epaddr_len
|
||||||
|
@ -286,7 +284,8 @@ int ct_sip_get_info(const char *dptr, size_t dlen,
|
||||||
|
|
||||||
while (dptr <= limit) {
|
while (dptr <= limit) {
|
||||||
if ((strncmp(dptr, hnfo->lname, hnfo->lnlen) != 0) &&
|
if ((strncmp(dptr, hnfo->lname, hnfo->lnlen) != 0) &&
|
||||||
(strncmp(dptr, hnfo->sname, hnfo->snlen) != 0)) {
|
(hinfo->sname == NULL ||
|
||||||
|
strncmp(dptr, hnfo->sname, hnfo->snlen) != 0)) {
|
||||||
dptr++;
|
dptr++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue