-
Thanks to paperwork
-
Thanks to Rüdiger Ranft for the idea.
-
Related to 52ab1bbea760ed8eaca184f7d875a2f52a116d0f. The arguments have been changed (see documentation). https://groups.google.com/d/msg/libmodbus/aXO8nBzW4Ew/uVGTDmvvBAAJ
-
This allows to place the coils/registers at any virtual start address, not only at address 0. This can be useful e.g. when the server has to fulfill a specification in which registers are expected at predefined locations. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-
Thanks to @lipengin1975 for reporting this issue. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-
According to the Modbus specification (http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf, section 2.1) a Modbus RTU master can send a broadcast to all of it's slaves. This broadcasts can only be write requests as otherwise collisions could occur, eg. on a RS-485 bus. When receiving such a broadcast, the slave should process the request as usual, but must not reply anything, neither a normal response nor an exception reply in case of an error. Adjust the unit test for this case, too. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-
Do not allow raw request length longer than the PDU size plus the additional requested slave address byte. Without this check modbus_send_raw_request could be used to trigger a buffer overflow on the stack since the parameter is passed unchecked to memcpy. Thanks to Hanno Neuer for spotting this security flaw. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-
This replaces the lengthy license text headers with a short and standardized license tag. See http://spdx.org for details. This is useful e.g. for license compliance tools which scan through files and generate a report of the licenses used in a project. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-
This change has introduced by 83c34102. Fix unit tests on some systems.
-
Protects against crafted write requests with a large quantity but a small byte count. If address + quantity was in the mapping space of the server and quantity greater than the response size, it was possible to crash the server. The sleep/flush sequence improves the handling of following requests.
-
Change API of function for libmodbus v3.2.0
-
- add byte timeout tests (TCP backend only) - update and improve documentation - long timeout values are now uint32_t so it changes the API to disable byte timeout
-
- update documentation - 5 new tests - updated NEWS file - avoid include of time.h
-
It's strongly recommended to update your libmodbus library if you use it in a slave/server application in a not trusted environment. Debian package of libmodbus 3.0.4 already contains a patch to mitigate the exploit but the patch isn't as strong than this one.
-
Thank you very much James Nutaro.
-
- change return argument from void to int - update documentation
-
Thanks to Karl Palsson.
-
Thanks Tobias Doerffel.
-
Thanks to Carlos Tangerino
-
Thanks to Stefan Finzel for the bug report