-
It concerns only the files in 'tests' directory.
-
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.
-
- protect against NULL IP address BTW - update documentation
-
- allow an empty string or NULL for node argument - protect against NULL in service argument - new test for NULL service - update documentation
-
It's never too late to remove 261 lines of code ;)
-
Change API of function for libmodbus v3.2.0
-
Thanks to Perry Kundert for bug report and initial patches.
-
- 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.
-
Build fails with -Werror and -Wcast-align on ARMv5 platform
-
- export new symbols to create specific behavior (RTU) - the flag can't only be set by slaves - new tests
-
- new function _modbus_rtu_pre_check_confirmation - new special test value to trigger an invalid response - add unit test to cover invalid TID too
-
The function name was confusing because the write operation is performed before the read. Take care to swap the arguments in the migration process.
-
The two modes are complementary, MODBUS_ERROR_RECOVERY_LINK handles errors at data link level (bad file descriptor, timeout, etc) and MODBUS_ERROR_RECOVERY_PROTOCOL checks Modbus error (eg. invalid function code or trame length). This change introduces the use of the Sleep function for Windows. Some duplicated code has been moved from backends to modbus core. A new debug message is now available when a flush occurs. The unit tests are now based on this error recovery code.
-
The following functions have been renamed: - modbus_get_timeout_begin -> modbus_get_response_timeout - modbus_set_timeout_begin -> modbus_set_response_timeout - modbus_get_timeout_end -> modbus_get_byte_timeout - modbus_set_timeout_end -> modbus_set_byte_timeout The meaning of these timeout intervals is now clearer. The documentation has been updated.
-
The _modbus_receive_confirmation()_ function shall receive a request via the socket of the context 'ctx'. This function must be used for debugging purposes because the received response isn't checked against the initial request. This function can be convenient to receive request not handled by the library.
-
The _modbus_send_raw_request()_ function shall send a request via the socket of the context 'ctx'. This function must be used for debugging purposes because you have to take care to make a valid request by hand. The function only adds to the message, the header or CRC of the selected backend, so 'raw_req' must start and contain at least a slave/unit identifier and a function code. This function can be used to send request not handled by the library.
-
Inspired by the branch ff/ipv6 of Florian Forster but this version uses a specific PI backend to isolate the IPv4 and IPv6 implementations. The existing TCP/IPv4 implementation has been kept intact (not rebased on the PI one) because its data backend requires fewer bytes than the PI. New functions modbus_new_tcp_pi, modbus_tcp_pi_listen and modbus_tcp_pi_accept and new backend called modbus_tcp_pi_t.