[PATCH] nwt: wget: drop Content-Length processing
Jerome Forissier
jerome.forissier at linaro.org
Wed Nov 13 15:27:21 CET 2024
On 11/11/24 13:47, Ilias Apalodimas wrote:
> Hi Jerome,
>
> On Tue, 5 Nov 2024 at 13:09, Jerome Forissier
> <jerome.forissier at linaro.org> wrote:
>>
>> We don't do anything with Content-Length except a debug print, and the
>> strict_strtoul() call is incorrect (it always returns -EINVAL and leaves
>> content_length to zero due to the presence of trailing characters after
>> the decimal valuoe of Content-Length). So let's just drop this piece of
>> code.
>>
>> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
>> ---
>> net/wget.c | 13 -------------
>> 1 file changed, 13 deletions(-)
>>
>> diff --git a/net/wget.c b/net/wget.c
>> index 635f82efbb3..361817ace65 100644
>> --- a/net/wget.c
>> +++ b/net/wget.c
>> @@ -26,7 +26,6 @@ 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";
>> static const char http_ok[] = "200";
>> -static const char content_len[] = "Content-Length";
>> static const char linefeed[] = "\r\n";
>> static struct in_addr web_server_ip;
>> static int our_port;
>> @@ -46,7 +45,6 @@ struct pkt_qd {
>> #define PKTQ_SZ (PKTBUFSRX / 4)
>> static struct pkt_qd pkt_q[PKTQ_SZ];
>> static int pkt_q_idx;
>> -static unsigned long content_length;
>> static unsigned int packets;
>>
>> static unsigned int initial_data_seq_num;
>> @@ -251,17 +249,6 @@ static void wget_connected(uchar *pkt, unsigned int tcp_seq_num,
>> "wget: Connected Pkt %p hlen %x\n",
>> pkt, hlen);
>>
>> - pos = strstr((char *)pkt, content_len);
>> - if (!pos) {
>> - content_length = -1;
>> - } else {
>> - pos += sizeof(content_len) + 2;
>> - strict_strtoul(pos, 10, &content_length);
>> - debug_cond(DEBUG_WGET,
>> - "wget: Connected Len %lu\n",
>> - content_length);
>
> How much work would it be to fix the parsing properly? We could look
> into that value and drop it if the memory is > our available memory
TBH I have not looked into it. This is the legacy stack; lwIP does
decode and handle the content length properly AFAICT.
Regards,
--
Jerome
>
> Thanks
> /Ilias
>> - }
>> -
>> net_boot_file_size = 0;
>>
>> if (len > hlen) {
>> --
>> 2.40.1
>>
More information about the U-Boot
mailing list