diff options
author | Wolfgang Denk <wd@pollux.(none)> | 2005-09-24 23:25:46 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.(none)> | 2005-09-24 23:25:46 +0200 |
commit | 28cb9375846b4f072f80536549713a6bc8fcf298 (patch) | |
tree | 425d1a1ac55715461f3445c117612b972bc25fa5 | |
parent | ecb0ccd9c260701183bc8d35966e65e6a2feb2f6 (diff) |
Update for TFTP using a fixed UDP port
Use the approved environment variable names. Added "tftpdstp" to
allow ports other than 69 per Tolunay Orkun's recommendation.
Patch by Jerry Van Baren, 12 Jan 2005
-rw-r--r-- | CHANGELOG | 5 | ||||
-rw-r--r-- | README | 15 | ||||
-rw-r--r-- | net/tftp.c | 5 |
3 files changed, 20 insertions, 5 deletions
@@ -2,6 +2,11 @@ Changes for U-Boot 1.1.4: ====================================================================== +* Update for TFTP using a fixed UDP port + Use the approved environment variable names. Added "tftpdstp" to + allow ports other than 69 per Tolunay Orkun's recommendation. + Patch by Jerry Van Baren, 12 Jan 2005 + * Allow to force TFTP to use a fixed UDP port (Add a configuration option CONFIG_TFTP_PORT and optional env variable tftpport) @@ -1490,12 +1490,16 @@ The following options need to be configured: - TFTP Fixed UDP Port: CONFIG_TFTP_PORT - If this is defined, the environment variable tftpport + If this is defined, the environment variable tftpsrcp is used to supply the TFTP UDP source port value. - If tftpport isn't defined, the normal pseudo-random port + If tftpsrcp isn't defined, the normal pseudo-random port number generator is used. - The purpose for this is to allow a TFTP server to + Also, the environment variable tftpdstp is used to supply + the TFTP UDP destination port value. If tftpdstp isn't + defined, the normal port 69 is used. + + The purpose for tftpsrcp is to allow a TFTP server to blindly start the TFTP transfer using the pre-configured target IP address and UDP port. This has the effect of "punching through" the (Windows XP) firewall, allowing @@ -2468,9 +2472,12 @@ Some configuration options can be set using Environment Variables: Useful on scripts which control the retry operation themselves. - tftpport - If this is set, the value is used for TFTP's + tftpsrcport - If this is set, the value is used for TFTP's UDP source port. + tftpdstport - If this is set, the value is used for TFTP's UDP + destination port instead of the Well Know Port 69. + vlan - When set to a value < 4095 the traffic over ethernet is encapsulated/received over 802.1q VLAN tagged frames. diff --git a/net/tftp.c b/net/tftp.c index a7c246a7de..748628cf94 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -371,7 +371,10 @@ TftpStart (void) /* Use a pseudo-random port unless a specific port is set */ TftpOurPort = 1024 + (get_timer(0) % 3072); #ifdef CONFIG_TFTP_PORT - if ((ep = getenv("tftpport")) != NULL) { + if ((ep = getenv("tftpdstp")) != NULL) { + TftpServerPort = simple_strtol(ep, NULL, 10); + } + if ((ep = getenv("tftpsrcp")) != NULL) { TftpOurPort= simple_strtol(ep, NULL, 10); } #endif |