ftp: Do not base seq on number of pending commands

Previously, seq was computed as the result of |pending_commands|+1. This
opened the possibility to override queued commands, as well as logging
the same pending ftp reply multiple times.

For example, when commands 1, 2, 3 are pending, command 1 may be dequeued,
but the incoming command then receives seq 3 and overrides the already
pending command 3. The second scenario happens when ftp_reply() selected
command 3 as pending for logging, but is then followed by many ftp_request()
events. This resulted in command 3's response being logged for every
following ftp_request() over and over again.

Avoid both scenarios by tracking the command sequence as an absolute counter.
This commit is contained in:
Arne Welzel 2023-08-29 17:52:12 +02:00 committed by Tim Wojtulewicz
parent f6615753f1
commit b745556d36
5 changed files with 9 additions and 6 deletions

View file

@ -1 +1 @@
f0dfda82f616d478df1a290116b4b7efdd82f00a
9e2b8aaa316d6b818fa32c730fcc90ca8b401b68