summaryrefslogtreecommitdiff
path: root/lib/libalias/alias.c
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2001-08-21 16:25:38 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2001-08-21 16:25:38 +0000
commitd86293dbea3f8e3b85a227b46e257ab1fe86a069 (patch)
treec7bcf1bb0db598182cb1be4634abe68e7f11a6fd /lib/libalias/alias.c
parent65c7e9c195f7ce46bf7dcef50038d4882ca3caa5 (diff)
Notes
Diffstat (limited to 'lib/libalias/alias.c')
-rw-r--r--lib/libalias/alias.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/libalias/alias.c b/lib/libalias/alias.c
index c279a9ee5750..575f369c8fa4 100644
--- a/lib/libalias/alias.c
+++ b/lib/libalias/alias.c
@@ -134,6 +134,7 @@
#define CUSEEME_PORT_NUMBER 7648
#define RTSP_CONTROL_PORT_NUMBER_1 554
#define RTSP_CONTROL_PORT_NUMBER_2 7070
+#define TFTP_PORT_NUMBER 69
#define PPTP_CONTROL_PORT_NUMBER 1723
@@ -837,6 +838,14 @@ UdpAliasOut(struct ip *pip)
|| ntohs(ud->uh_sport) == NETBIOS_NS_PORT_NUMBER)
AliasHandleUdpNbtNS(pip, link, &pip->ip_src, &ud->uh_sport,
&alias_address, &alias_port);
+/*
+ * We don't know in advance what TID the TFTP server will choose,
+ * so we create a wilcard link (destination port is unspecified)
+ * that will match any TID from a given destination.
+ */
+ else if (ntohs(ud->uh_dport) == TFTP_PORT_NUMBER)
+ FindRtspOut(pip->ip_src, pip->ip_dst,
+ ud->uh_sport, alias_port, IPPROTO_UDP);
/* If UDP checksum is not zero, adjust since source port is */
/* being aliased and source address is being altered */