]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
ftp: implement progress tracking
authorVictor Julien <victor@inliniac.net>
Tue, 11 Jun 2019 10:09:38 +0000 (12:09 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 17 Jul 2019 06:21:54 +0000 (08:21 +0200)
Make sure FTP_STATE_FINISHED is returned for transactions that
are marked 'done'.

This is necessary for timely logging and inspection.

src/app-layer-ftp.c

index 0916b2ac75b8667c5d448cbfa80f3940dcf10a87..26c0f99300a5080f6c98b232010dd623af42bc78 100644 (file)
@@ -1014,9 +1014,10 @@ static int FTPGetAlstateProgress(void *vtx, uint8_t direction)
         return FTP_STATE_PORT_DONE;
     }
 
-    /* TODO: figure out further progress handling */
+    if (!tx->done)
+        return FTP_STATE_IN_PROGRESS;
 
-    return FTP_STATE_IN_PROGRESS;
+    return FTP_STATE_FINISHED;
 }