summaryrefslogtreecommitdiffstats
path: root/sys/netinet/libalias
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2006-11-07 21:06:48 +0000
committermarcus <marcus@FreeBSD.org>2006-11-07 21:06:48 +0000
commit42daf70603bcceaff0cae18dedc0c21dd8f1aa55 (patch)
treeb632a721a07892789fa2782665fad60f8b4ea940 /sys/netinet/libalias
parent25a000d49f5cae561b322d4e4bf6da5f28040410 (diff)
downloadFreeBSD-src-42daf70603bcceaff0cae18dedc0c21dd8f1aa55.zip
FreeBSD-src-42daf70603bcceaff0cae18dedc0c21dd8f1aa55.tar.gz
Fix TFTP NAT support by making sure the appropriate fingerprinting checks
are done. Reviewed by: piso
Diffstat (limited to 'sys/netinet/libalias')
-rw-r--r--sys/netinet/libalias/alias_smedia.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet/libalias/alias_smedia.c b/sys/netinet/libalias/alias_smedia.c
index 58f844b..cf372b0 100644
--- a/sys/netinet/libalias/alias_smedia.c
+++ b/sys/netinet/libalias/alias_smedia.c
@@ -135,14 +135,16 @@ static int
fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
{
+ if (ah->dport != NULL && ah->aport != NULL && ah->sport != NULL &&
+ ntohs(*ah->dport) == TFTP_PORT_NUMBER)
+ return (0);
if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL ||
ah->maxpktsize == 0)
return (-1);
if (ntohs(*ah->dport) == RTSP_CONTROL_PORT_NUMBER_1
|| ntohs(*ah->sport) == RTSP_CONTROL_PORT_NUMBER_1
|| ntohs(*ah->dport) == RTSP_CONTROL_PORT_NUMBER_2
- || ntohs(*ah->sport) == RTSP_CONTROL_PORT_NUMBER_2
- || ntohs(*ah->dport) == TFTP_PORT_NUMBER)
+ || ntohs(*ah->sport) == RTSP_CONTROL_PORT_NUMBER_2)
return (0);
return (-1);
}
OpenPOWER on IntegriCloud