diff --git a/src/app-layer-ftp.c b/src/app-layer-ftp.c index bc8323afd8..05a2bd65d5 100644 --- a/src/app-layer-ftp.c +++ b/src/app-layer-ftp.c @@ -824,7 +824,8 @@ static int FTPParseResponse(Flow *f, void *ftp_state, AppLayerParserState *pstat } } - if (input_len >= 4 && SCMemcmp("150 ", input, 4) == 0) { + /* Handle preliminary replies -- keep tx open */ + if (FTPIsPPR(input, input_len)) { return retcode; } @@ -833,6 +834,7 @@ tx_complete: return retcode; } + #ifdef DEBUG static SCMutex ftp_state_mem_lock = SCMUTEX_INITIALIZER; static uint64_t ftp_state_memuse = 0;