Browse Source

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

Wolfgang Denk 19 years ago
parent
commit
28cb937584
3 changed files with 20 additions and 5 deletions
  1. 5 0
      CHANGELOG
  2. 11 4
      README
  3. 4 1
      net/tftp.c

+ 5 - 0
CHANGELOG

@@ -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)

+ 11 - 4
README

@@ -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.

+ 4 - 1
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