static uint32_t CopyCommandLine(uint8_t **dest, uint8_t *src, uint32_t length)
{
if (likely(length)) {
- if (unlikely(length == UINT32_MAX)) {
- return 0;
- }
uint8_t *where = FTPCalloc(length + 1, sizeof(char));
if (unlikely(where == NULL)) {
return 0;
void *local_data, const uint8_t flags)
{
FtpState *state = (FtpState *)ftp_state;
- FTPTransaction *tx = NULL;
int retcode = 1;
FTPTransaction *tx;
tx->command_descriptor = &FtpCommands[FTP_COMMAND_MAX -1];
} else {
tx = FTPGetOldestTx(state);
- state->curr_tx = tx;
}
+ state->curr_tx = tx;
if (state->command == FTP_COMMAND_AUTH_TLS) {
if (input_len >= 4 && SCMemcmp("234 ", input, 4) == 0) {
AppLayerRequestProtocolTLSUpgrade(f);
} else {
cjs = json_object();
if (cjs) {
- FTPString *response;
- if (tx->command_descriptor->command == FTP_COMMAND_UNKNOWN) {
- // alternatively, `command` could be left out of the object completely
- json_object_set_new(cjs, "command", json_null());
- } else {
- json_object_set_new(cjs, "command", json_string(tx->command_descriptor->command_name_upper));
- }
+ json_object_set_new(cjs, "command",
+ json_string(tx->command_descriptor->command_name_upper));
uint32_t min_length = tx->command_descriptor->command_length + 1; /* command + space */
if (tx->request_length > min_length) {
json_object_set_new(cjs, "command_data",