]> git.ipfire.org Git - thirdparty/u-boot.git/blobdiff - net/wget.c
Merge tag 'v2024.01-rc6' into next
[thirdparty/u-boot.git] / net / wget.c
index 6ae2237a0a8c5276a928a5301cf2f4dfb4e83417..817c5ebd5d095c850f973b55254f2f39a8201af9 100644 (file)
@@ -19,6 +19,9 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+/* The default, change with environment variable 'httpdstp' */
+#define SERVER_PORT            80
+
 static const char bootfile1[] = "GET ";
 static const char bootfile3[] = " HTTP/1.0\r\n\r\n";
 static const char http_eom[] = "\r\n\r\n";
@@ -134,19 +137,22 @@ static void wget_send_stored(void)
        int len = retry_len;
        unsigned int tcp_ack_num = retry_tcp_seq_num + (len == 0 ? 1 : len);
        unsigned int tcp_seq_num = retry_tcp_ack_num;
+       unsigned int server_port;
        uchar *ptr, *offset;
 
+       server_port = env_get_ulong("httpdstp", 10, SERVER_PORT) & 0xffff;
+
        switch (current_wget_state) {
        case WGET_CLOSED:
                debug_cond(DEBUG_WGET, "wget: send SYN\n");
                current_wget_state = WGET_CONNECTING;
-               net_send_tcp_packet(0, SERVER_PORT, our_port, action,
+               net_send_tcp_packet(0, server_port, our_port, action,
                                    tcp_seq_num, tcp_ack_num);
                packets = 0;
                break;
        case WGET_CONNECTING:
                pkt_q_idx = 0;
-               net_send_tcp_packet(0, SERVER_PORT, our_port, action,
+               net_send_tcp_packet(0, server_port, our_port, action,
                                    tcp_seq_num, tcp_ack_num);
 
                ptr = net_tx_packet + net_eth_hdr_size() +
@@ -161,14 +167,14 @@ static void wget_send_stored(void)
 
                memcpy(offset, &bootfile3, strlen(bootfile3));
                offset += strlen(bootfile3);
-               net_send_tcp_packet((offset - ptr), SERVER_PORT, our_port,
+               net_send_tcp_packet((offset - ptr), server_port, our_port,
                                    TCP_PUSH, tcp_seq_num, tcp_ack_num);
                current_wget_state = WGET_CONNECTED;
                break;
        case WGET_CONNECTED:
        case WGET_TRANSFERRING:
        case WGET_TRANSFERRED:
-               net_send_tcp_packet(0, SERVER_PORT, our_port, action,
+               net_send_tcp_packet(0, server_port, our_port, action,
                                    tcp_seq_num, tcp_ack_num);
                break;
        }