On Thu, Oct 06, 2022 at 06:18:13AM +0300, mikhail.kshevets...@iopsys.eu wrote:

> From: Mikhail Kshevetskiy <mikhail.kshevets...@iopsys.eu>
> 
> Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevets...@iopsys.eu>
> ---
>  net/tftp.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/net/tftp.c b/net/tftp.c
> index dea9c25ffd..e120e4d766 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -483,8 +483,15 @@ static void tftp_handler(uchar *pkt, unsigned dest, 
> struct in_addr sip,
>                               tftp_prev_block = tftp_cur_block;
>                               tftp_cur_block = (unsigned short)(block + 1);
>                               update_block_number();
> -                             if (ack_ok)
> +                             if (ack_ok) {
> +                                     if (block == 0 &&
> +                                         tftp_state == STATE_SEND_WRQ){
> +                                             /* connection's first ACK */
> +                                             tftp_state = STATE_DATA;
> +                                             tftp_remote_port = src;
> +                                     }
>                                       tftp_send(); /* Send next data block */
> +                             }
>                       }
>               }
>  #endif

Can you please elaborate on how / when this would occur? Thanks.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to