diff options
Diffstat (limited to 'CHANGES')
-rw-r--r-- | CHANGES | 384 |
1 files changed, 228 insertions, 156 deletions
@@ -1,147 +1,240 @@ Changes ======= -v3.1.37.1 -- Support REQUEST_ACK message type (PR #237) -- Fix typo in error message (PR #238) -- Fix for bug #239, as one process use two stubs for different vlans (PR #247, Issues #223 #239 #241) -- Fix multicast timeout crash on Windows caused by bad use of reinterpret_cast (PR #272) -- Update configuration paths to reside on vendor partition (PR #274) -- Retry failed netlink operations (PR #283) -- Fixed android build error (PR #288) -- Fix for configuration option deserialize bug (PR #300, Issue #263) -- Accept return codes within range 0x20-0x5E as valid (PR #312) -- Add support for broadcast (PR #314) -- Fix for TC8 test case SOMEIPSRV_RPC_07 and SOMEIPSRV_SD_BEHAVIOR_03 (PR #316, Issue #315) -- Support boost 1.76 (PR #318) -- Fix big endian support in byteorder.hpp (PR #320) -- Use Reference to Prevent Copying (PR #356) -- Add CI using github actions (PR #140) - -v3.1.37 -- Added dependency from network tests to e2e library (plugin). -- Avoid services becoming available when the daemon is suspended -- Handling with some udp errors in send_cbk process, - restarting the connection. - -v3.1.36 -- Fix for ELVIS-339712: Fix handling of subscription objects - during unsubscribe. - -v3.1.35 -- Reworked fix for ELVIS-3310053 -- Improve checking for matching responses. - - When sending a response, vSomeIP only checked for a request with - the corresponding combination of client and session identifiers. - - This led to the possibility, that a response was sent for the - wrong service and/or method because of matching client and session - identifiers. - - This commit implements a full check of service, method, client and - session identifiers to ensure a response fits to the received - request. -- Rework to get rid of clang-tidy (llvm14) warnings. -- Facilitate manual execution of (some) subscription tests. - - Switch log level from "debug" to "warning" to facilitate the selection - of the script name that must be executed on client side. -- Do not send initial events for rejected subscriptions. - -v3.1.34 -- Use default ports if an acceptance configuration does not specify any. -- Prevent StopSubscribe/Subscribe on first offer reception. -- Ignore routing state settings to the current state. -- Explicitely clean subscriptions if a service removal is reported. -- Use SOL_RECBUFFORCE instead of SOL_RECVBUF. - -v3.1.33 -- Corrected flag initialization to avoid wait time when re-establishing - connections. - -v3.1.32 -- Fix bug which could lead to deleting requested services of routing - manager. -- Add Jenkins pipeline. -- Fix race condition which could lead to false positive security - warnings. -- Fix handling of remote subscriptions for unoffered services: Fix bug - which could lead to erroneously not accepting remote subscriptions - after a service was stop being offered and offered again. - -v3.1.31 + +v3.3.0 +- Do not erase while iterating. +- Changed invalid call of deserialize to serialize +- Fixed the the problem in policy::deserialize counts down the given policy size, +and after deserializing the policy it is 0. +- Monitor session IDs in SD messages and log missing IDs +- Fix timestamp format of log message +- Prevent crash when logging with DLT +- load_security_update_whitelist Unit and Benchmark Tests +- Added protection when a message is destroyed. +- Rework the addition of services when in suspended mode +- Remove const qualifier from function return types +- Adapt to boost 1.81.0 +- Removed VSOMEIP_DEPRECATED_UID_GID from some elements. +- Add nullptr guards to receive_cbk. +- Add nullptr check to receive_cbk. +- Fix network test build for g++11.3. +- Remove mutexes from logger_impl and security_impl. +- Fix VSOMEIP_LOCAL_CLIENT_ENDPOINT_RECV_BUFFER_SIZE buffer. +- Fix range-loop-construct warning for g++11.3. +- Implementation of support for header-only tracing. +- Fix applied regarding the timeout in endpoints connections. +- Use standard reliability_type_e on service_discovery_impl. +- Added receive operation for UDP server endpoints. +- Reduce log level of some vsomeip messages. +- Change dependency on LINK UP. +- Change rejoining mechanism in UDP server endpoint. +- Fixed android build issues +- Added more DLT log info on credentials error +- Fixed ICON register issues. +- Added an unlocked method to get the policy extension path +- Manage E2E Profile04 counters per instance +- Fix handling of subscription objects during unsubscribe. +- Remove subscription on connection resets. +- Reuse local client ports. +- Add try block in message deserialization. +- Remove unneeded / unused structure servicegroup. +- Optimize event/field registration. +- Add dependency from network tests to e2e library (plugin). +- re-introduce the definition of socket timeout. +- pu/event-tests: Avoid deadlock. +- Linux: avoid static initialization of std::mutex. +- Improve robustness when stopping initial-event tests. +- Fixed various unused-variable warnings. +- Handling with some udp errors in send_cbk process. +- Avoid services becoming available when the daemon is suspended. +- refactor: remove `set_bound_sec_client()` from `local_tcp_server_endpoint_impl`. +- Refactor `plugin_manager_impl::load_symbol()` +- Use consistent naming for `security::is_client_allowed_to_access()` +- Raise C++ standard used to C++17 on non-Windows platforms +- Prefer using reinterpret_cast instead of C-style casts +- DRYer approach to loading `libvsomeip_sec` hook functions +- Indent with 4-spaces +- Hide `symbol_table` inside `security::load()` +- `policy_manager::get()` should call `policy_manager_impl::get()` +- Fix integer conversion warning +- Refine silencing MSVC warning C4101 +- Add `VSOMEIP_DISABLE_SECURITY` in a few remaining spots +- Add support for `vsomeip_sec_client_t` to subscription handlers +- Disable security unit/benchmark tests when `DISABLE_SECURITY` +- Disable security network tests when `DISABLE_SECURITY` +- Make the sec client a member of the connection +- Add support for TCP clients in the default security hooks +- Fix security checks when using internal TCP sockets +- Introduced protocol classes +- Extended interface to allow application specific configurations +- Allow to switch off internal routing +- Added ACL plugin +- Respect subscription status handler for ANY_EVENT +- Corrected handling of ANY_[SERVICE|INSTANCE|EVENTGROUP|EVENT] when handling subscription status +- Fix handling of lock files +- Add subnet support for IPv6 networks (boost 1.66+ only for now) +- Fix client specific debouncing +- Set SO_REUSEADDR before binding socket +- Specify local IP/interface when joining multicast group +- Avoid false positives when warning about not having loaded acceptance data +- Extended buffer size adaptation for UDP sockets +- Removed leftover from attempt to fix setsockopt blocking +- Implemented a cache for is_client_allowed +- Adapted version in OSS information +- Log errors (connection reset, end of file, bad descriptor) as such +- Rename extended "subscribe" method to "subscribe_with_debounce" + +v3.2.15 +- Unit/Benchmark tests for Security::Check Credentials +- Client dependent usage of session handling +- Fix Windows build +- Fix for multicast_socket bug +- Fixed spam messages of security policy extensions +- Added OSS information for RSE + +v3.2.14 +- Implementation of support for header-only tracing +- Replaced exceptions with error messages +- Asynchronously set join/leave options +- React on failed option setting +- Prevented StopSubscribe/Subscribe on first offer reception +- Implemented a cache for is_client_allowed operations + +v3.2.13 +- Fixed lock_guard and mutexes on lazy load policies + +v3.2.12 +- Fixed race condition on startup of suspend_resume_test +- Added a default initialize in tcp_client_endpoint_impl::is_sending +- Updated the log "Maximum number of dispatchers exceeded" +- Refactored the policy extensions map +- Added protection for Received buffer size and buffer capacity +- Added nullptr checks to some pointers in the eventgroupinfo +- Fixed Windows build +- Removed print error messages for unneeded endpoints +- Wrapped accept method to use accept4 +- Improved reliability of multicast leave group + +v3.2.11 +- Fix incorrect load of policies +- Fix unlocked access to multicast_info +- Rework the join mechanism. +- Fix receiving of routing info messages in TCP mode. +- Make routing client port range configurable ("routing-client-ports"). +- Allow to configure event update properties. + +v3.2.10.1 +- Fix false positive security warning + +v3.2.10 - Fix race condition which could lead to not establishing a TCP connection to a remote service -v3.1.30 +v3.2.9 +- Send StopSubscribe and clear subscribed_ map on STR +- Added suspend/resume test +- Erase subscribed_ map on received StopOffer +- Select new local port on bind error for uce + +v3.2.8 +- Fixed credentials::receive_credentials() error handling +- Ensured to call prepare_stop handler for TCP server endpoints + +v3.2.7 - Fixed lock order inversion -- Fixed UDP socket bind error handling -v3.1.29 -- Do not send re-subscriptions on suspend +v3.2.6 +- Adapted helloworld references within user guide +- Added nullptr check for remote subscription pointers -v3.1.28 +v3.2.5 - Fixed race condition in client endpoint send queue - Improved robustness when receiving malformed remote subscriptions - Cleanup remote subscribers on suspend - -v3.1.27 -- Performance improvement: Added service partitioning: - Each configured partition will lead to a separate client port being used - to connect to a remote server port -- Improve handling of expired subscriptions -- Fixed race condition when starting "last message received" - timer. - -v3.1.26 -- Improve handling of expired subscriptions - -v3.1.25 +- Make sure that the connection (and thus the policy loading) + has taken place before checking something against the policies + +v3.2.4 +- Removed load of the vsomeip_ext policies from the start +- Allow to partition service instances. Each partition uses a separate client + port, even if service instances from different partitions are offered on the + same server port of a remote device. +- Fixed timer restart (detection of last received SD message) +- Optimized distribution of credentials- Improve handling of expired subscriptions - Fix event payload caching at proxy - -v3.1.24 +- Select a free client port that was not used recently +- Fixed invalid insertion in known_clients_ map +- Fixed clearing of client endpoints +- Rework for expire_subscriptions() +- Rework map insertions +- Avoid deadlocks during expiration of subscriptions + +v3.2.3 +- Optimized updating the sent counter for FindService messages in requested_ map +- Improved log messages +- Enabled tracing for initial values of shadow events for subsequent subscribers. +- Reduced the vsomeip security logging +- Fixed race condition in the logger - Fix for initial events - -v3.1.23 - Fixed crash in TCP client endpoint - Fixed TCP socket bind error handling - -v3.1.22 -- Fixed joining multicast group for udp server endpoints - -v3.1.21 -- Fixed missing DLT logs if DLT was enabled in config in parallel with file or console logging. -- Avoid heap-buffer-overflow in look_ahead() when deserializing SD entry / option type. -- Restart UDP client endpoint on connection refused error. -- Select a free client port that was not used recently. -- Limit the number of possible remote subscribers from same remote IP address - to an eventgroup provided by a service/instance if the remote - subscriber uses different ports for its subscriptions. - -v3.1.20.3 -- Correct detection payload changes (Issue #164) - -v3.1.20.2 -- Removed special way of detecting boost within NDK (PR #187) -- Allow events/eventgroups to be specified in arbitrary order (Issue #68) -- Allow port 65536 to be used (Issue #80) -- Support IPv6 (Issue #162, PR #179) -- Fix handling of local service history (Issue #163) -- Fix referencing of placeholder events (Issue #175) -- Corrected handling of debounced requests when releasing (Issue #181) -- Fixed possible race when disconnecting (Issue #182) -- Align order of acknowledgement and value sending (Issue #183) - -v3.1.20.1 -- CMakeLists.txt fixes - (by Martin Haase) -- Mark all services unavailable when the routing manager goes down - (by Philip Werner & dannyrhubarb) - -v3.1.20 -- SomeIP/TP optimization -- Fix for expired subscriptions - -v3.1.19 -- Log statistics for high frequent received remote events -- Avoid unintended deletion of all service instances in release_service() -- Prevent deletion of server endpoint on SubscribeEventGroupACK with multicast endpoint +- Selected new local port on bind error for tce. +- Ignored subscribes when suspended +- Added subscriber count to log / extended config switches +- Limited subscriptions to same service, instance, eventgroup depending on remote IP +- Synchronized update_remote_subscription / send_(un)subscription() +- Fixed lazy loading on daemon + +v3.2.2 +- Fixed the loading of the security policies at the start +- Fixed the tags in the android logging +- Added the additional client ports in the ipsec-plugin default configuration +- Removed the unneeded socket option IPPROTO_IP/IPPKTINFO. +- Removed the libdlt dependency from android +- Improved the documentation of debouncer configuration. +- Check the port to send notifications +- Fixed the nullptr on multicast_socket +- Improved the sending of STOP_OFFER messages + +v3.2.1 +- Updated cmake minimum required version +- Fixed expire_subscriptions(address) +- Updated examples +- Ensured to clear previous error before calling dlsym (plugin_manager) +- Always send values after subscription acknowledgment- +- Added support to logs in Android +- Updated android build files +- Ensured to forward logs to DLT independently of FILE / CONSOLE log configuration +- Avoided heap-buffer-overflow in look_ahead() when deserializing SD entry +- Adapted the reader of the config to put always logging in Android +- Used error code when starting main phase timer +- Added some SomeIP/TP optimization +- Changed the loglevel for blocked incoming notifications +- Restarted UDP client endpoint on connection refused error +- Acquired mutex before change sd_acceptance_rules_active_ +- Fixed getEnv returning empty value + +v3.2.0 +- Dropped support for boost 1.65 and below - Do not lock the multicast mutex twice +- Disable warnings for boost and DLT headers +- Fix security credentials update in rm::proxy +- Prevent deletion of server endpoint +- Fix instance removal in local_services_history_ map +- Lazy load security policies +- Use a configuration variable for the SOME/IP-TP maximum segment length +- Use instance based SOME/IP-TP configuration +- Use service configuration within server endpoint +- Ensure maximum segment length is a multiple of 16 (SIP_RPC_772) +- Use configured separation times +- Added debounce test and refined debouncing +- Fix hostname transmission +- Do _NOT_ remove subscription on a received StopOffer +- serviceinfo: Removed unused & undefined member group_ +- Implemented socket wrapper using ld(1)'s "--wrap" +- Set the android LOG_TAG to VSIP +- Added message statistics +- Reworked android logging v3.1.18 - Support boost 1.74 @@ -156,10 +249,6 @@ v3.1.17 - Fixed race condition between service instances offered on the same endpoint(s). -v3.1.16.1 -- Restore IPv6 within UDP server endpoint -- AOSP build adaptation to vsomeip3 libraries - v3.1.16 - Fixed race condition when leaving multicast group - Do not busy loop when receiving garbage data on local endpoint @@ -170,30 +259,13 @@ v3.1.15 - Speedup security policy handling - Enable building with boost v1.73.0 -v3.1.14.1 -- Merged extended support for static routing (versioning) - (by Jean-Patrice Laude jean-patrice.laude@renault.com) -- Merged simplification of build process for hello_world example - (by Nikolay Khilyuk nkh@ua.fm) -- Updated Android.bp to use boost 1.70 or higher -- Merged Android support for hello_world example - (by Nikolay Khilyuk nkh@ua.fm) -- Align response sample to documentation (do not specify application name) - (by JayHou houjie@lixiang.com) -- Call dlerror before calling dlsym to clear previous error - (by Oleg Kharitonov Oleg.Kharitonov@elektrobit.com) -- Get base path from environment variable for Android NDK - (by Nikolay Khilyuk nkh@ua.fm) -- Fixed wrong library naming - (by Nikolay Khilyuk nkh@ua.fm) - v3.1.14 - Fixed race conditions (application registration, subscription) v3.1.13 - Abort operation when doing a full rejoin - Protect access when consuming a policy -- Decrease wait time for composite send operations +- Decrease wait time for composite send operations - Reimplemented logger without using boost::log v3.1.12 @@ -227,10 +299,10 @@ v3.1.7 v3.1.6 - Fix possible busy loop when expiring subscriptions - Use set of serializers to avoid deadlock situation -- Improve client identifier handling +- Improve client identifier handling - Check whether corresponding socket is available - Implement retry if a client identifier cannot be used -- Log buffer fill levels if they exceed a configurable threshold (default=67%). +- Log buffer fill levels if they exceed a configurable threshold (default=67%). v3.1.5 - Ensure subscriptions to remote services are correctly reset when @@ -506,7 +578,7 @@ v2.10.20 v2.10.19 - Catch exceptions on shutdown (especially from boost::log) -- Fixed handling of malformed packets in TCP client endpoint in conjunction +- Fixed handling of malformed packets in TCP client endpoint in conjunction with magic cookies v2.10.18 @@ -921,8 +993,8 @@ v2.2.2 to be used for unicasts instead of relying on the configured routes v2.2.1 -- Backward compatibility fixes - +- Backward compatibility fixes + v2.2.0 - Implemented Peer-to-Peer data exchange for notifications - Fixed handling of minor version during service discovery @@ -1037,7 +1109,7 @@ v1.3.0 v1.2.0 - Added (optional) thread pool for distribution of messages to the application -- Made configuration of service groups optional (as it is unneeded in pure +- Made configuration of service groups optional (as it is unneeded in pure client applications) - Support specification of transportation mode (reliable (TCP) / unreliable (UDP)) when creating messages |