There seems to fix a real bug when an ENIP connection
has more than 65k transactions
{
uint16_t type;
uint16_t length;
- uint16_t conn_id;
- uint16_t sequence_num;
+ uint32_t conn_id;
+ uint32_t sequence_num;
} ENIPEncapAddresItem;
/**
} request;
struct
{
- uint8_t status;
+ uint16_t status;
} response;
};
typedef struct ENIPTransaction_
{
struct ENIPState_ *enip;
- uint16_t tx_num; /**< internal: id */
+ uint64_t tx_num; /**< internal: id */
uint16_t tx_id; /**< transaction id */
uint16_t service_count;
static uint64_t ENIPGetTxCnt(void *alstate)
{
- return ((uint64_t) ((ENIPState *) alstate)->transaction_max);
+ return ((ENIPState *)alstate)->transaction_max;
}
static AppLayerDecoderEvents *ENIPGetEvents(void *tx)