RISE-V2G works fine in serving multiple EVCCs with just a single SECC instance.
But when I was trying to send an invalid UDP packet directly to SECC port 15118 with no data,
1.) if the SECC has not served any EVCC (maybe just activated),
the invalid UDP packet will be correctly filtered as a false request (MessageHandler.isV2GTPMessageValid()).
2.) if the SECC has already served an EVCC, the invalid UDP packet will be incorrectly treated as a valid one. The UDP server will crash, and of course, the SECC cannot serve any new coming EVCC without re-activated.
I found out that in UDPServer.run(), the byte[] kind udpClientRequest is not being reset.
I wonder whether others meet the sample problem, and the code should reset udpClientRequest every time receiving a new coming UDP packet.
RISE-V2G works fine in serving multiple EVCCs with just a single SECC instance.
But when I was trying to send an invalid UDP packet directly to SECC port 15118 with no data,
1.) if the SECC has not served any EVCC (maybe just activated), the invalid UDP packet will be correctly filtered as a false request (MessageHandler.isV2GTPMessageValid()).
2.) if the SECC has already served an EVCC, the invalid UDP packet will be incorrectly treated as a valid one. The UDP server will crash, and of course, the SECC cannot serve any new coming EVCC without re-activated.
I found out that in UDPServer.run(), the byte[] kind udpClientRequest is not being reset. I wonder whether others meet the sample problem, and the code should reset udpClientRequest every time receiving a new coming UDP packet.