[PATCH v11 14/29] lwip: tftp: bind to TFTP port only when in server mode
Ilias Apalodimas
ilias.apalodimas at linaro.org
Fri Oct 4 08:11:27 CEST 2024
Hi Jerome,
On Thu, 3 Oct 2024 at 18:47, Jerome Forissier
<jerome.forissier at linaro.org> wrote:
>
> The TFTP app should not bind to the TFTP server port when configured as
> a client. Instead, the local port should be chosen from the dynamic
> range (49152 ~ 65535) so that if the application is stopped and started
> again, the remote server will not consider the new packets as part of
> the same context (which would cause an error since a new RRQ would be
> unexpected).
>
> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
> ---
> lib/lwip/lwip/src/apps/tftp/tftp.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/lib/lwip/lwip/src/apps/tftp/tftp.c b/lib/lwip/lwip/src/apps/tftp/tftp.c
> index ddfdbfc0c1b..74fc1fbe586 100644
> --- a/lib/lwip/lwip/src/apps/tftp/tftp.c
> +++ b/lib/lwip/lwip/src/apps/tftp/tftp.c
> @@ -454,10 +454,12 @@ tftp_init_common(u8_t mode, const struct tftp_context *ctx)
> return ERR_MEM;
> }
>
> - ret = udp_bind(pcb, IP_ANY_TYPE, TFTP_PORT);
> - if (ret != ERR_OK) {
> - udp_remove(pcb);
> - return ret;
> + if (mode == LWIP_TFTP_MODE_SERVER) {
> + ret = udp_bind(pcb, IP_ANY_TYPE, TFTP_PORT);
> + if (ret != ERR_OK) {
> + udp_remove(pcb);
> + return ret;
> + }
This should be sent to lwip as well right?
> }
>
> tftp_state.handle = NULL;
> --
> 2.40.1
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list