1 Diagnostic Log and Trace - Release Notes
\r
2 =========================================
\r
3 Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
\r
14 * Fixed: all possible malloc, sprintf and strcpy problems
\r
15 * Fixed: Creation of dltpipes directory is too late.
\r
16 * Cygwin port: cygwin patch, signal handling patch and cppcheck and install lib dll to correct location on Windows.
\r
17 * Fixed compiler warnings with 32Bit gcc compiler.
\r
18 * Fixed: Fixed offline trace and new send functions issues
\r
19 * Fixed: Bug 172 - DLT system crashes because of wrong journald adaptor implementation
\r
20 * DLT Common API Wrapper.
\r
21 * Removed dlt_free from example and test applications, already called from exit handler.
\r
22 * Fixed missing dlt_receiver_remove in dlt_daemon_process_user_xxx functions.
\r
23 * Use LIB_SUFFIX as lib installation path.
\r
24 * Fixed serial port not working anymore.
\r
25 * Added log output of created socket/port In init phase 2 - socket creation
\r
26 * Defined return value for dlt_message_read().
\r
27 * Cleanup of send return values.Further cleanup of send restructure.
\r
28 * Moved daemon client functions to new source file.
\r
29 * Centralised send function to client.Introduced connection state to dlt daemon.
\r
30 * Removed check of double registration of contexts in user library, already checked by daemon.
\r
31 * When using DLT in console mode on a 64-bit machine, timestamps are corrupted due to an address of a 32-bit value being cast to a 64-bit pointer.
\r
32 * Bug 3 - Cmake does not check for zlib for dlt-daemon compilation.
\r
33 * Added new control message timezone.
\r
34 * Fixed deadlock after wrong merge..
\r
35 * Fix potential buffer overflow in offline trace.
\r
36 * Fix deadlock in dlt_user_log_reattach_to_daemon(void).
\r
37 * Fixed possible crash when runtime configurations files are corrupted.
\r
38 * Environement variables added to configure internal logging in library.
\r
39 * Reduce Timeout between filetransfer packets.
\r
40 * Close socket when send fails.
\r
41 * Replace threads by timing fds for ecu version, timing packets and watchdog.
\r
42 * Added conntection info and unregister context control messages.
\r
43 * Configurable Timeout on send.
\r
44 * Added further checks to dlt_buffer.
\r
45 * atexit handler fix.
\r
46 * Add threadnames to libdlt threads.
\r
47 * Security fix on DLT pipes.
\r
48 * Reduce usage of SEM_LOCK in application library and reset pointers.
\r
49 * Fix: Systemd Journal Adapter provides corrupted output.
\r
50 * Fix: Install Example service file only when example enabled
\r
54 * Implementation of command line tool dlt-control.
\r
55 * Fix file transfer bug.
\r
56 * Bug 44 - Don't print "Buffer full" message from DLT daemon for each trace.
\r
57 * Yocto fix in build builds.
\r
58 * Fixed: security issue in dlt-system-shell regarding strncpy.
\r
59 * Fixed: Security Issue by Command Injection in DLT System.
\r
60 * systemd/CMakeLists: Remove SYSTEMD_CONFIGURATIONS_FILES_DIR existance check.
\r
61 * Bug 85 - Include of dlt.h leads to compiler warning.
\r
62 * Bug 84 - Adding utf8 support to dlt-daemon, dlt-viewer. Modified patch, originally provided by Stefan Vacek.
\r
63 * systemd journal support added.
\r
64 * spec file does not package man files when cmake is run with -DWITH_DOC=OFF
\r
65 * added length check for paths of files to be transferred
\r
66 * Semaphores and Pointer passing insteasd by value and otehr coverity issue fixes
\r
67 * Fixed several issues in DLT filetransfer.
\r
68 * added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber
\r
69 * modified filetransfer to be more robust in restarting transfers
\r
70 * Remove dangling DLT_SEM_FREE from dlt_user_queue_resend
\r
71 * Unifed ECU version sending functions
\r
72 * Refinements due to problems reported by static code analysis
\r
73 * Spec file does no more package man files when cmake is run with -DWITH_DOC=OFF
\r
74 * Made the APID strings in dlt-test-multi-process counting from 00-99
\r
75 * Added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber
\r
76 * File Transfer: improved robustness in case of restarted ECU/dlt-system with interrupted transfers
\r
80 * Changed documentation and man pages into asciidoc format.
\r
81 * Increased buffer sizes for DLT user library and DLT daemon
\r
82 * [GDLT-120]: truncated and Segmented network tracing
\r
83 * [GDLT-137]: Automatically try resending of user buffer after FIFO full
\r
84 * [GSWD-85]: Added authors file
\r
88 * [GDLT-115]: Encapsulate user macros
\r
89 * Fix register app and register context was not stored in buffer when FIFO is full. Other controll messages still not saved in buffer.
\r
90 * Create new fifo only when same application registers with different pid.'
\r
91 * Do not register appliction again, if already registered.
\r
92 * Fixed filetransfer not checking buffer fill level.
\r
96 * [GDLT-24] Fixing compiler warnings
\r
97 * [GDLT-94] Optional sending periodic software version messages. See man pages for more informations
\r
98 * [GENDLT-26] Check for description length sanity
\r
99 * [GENDLT-24] Crash on invalid injection message fixed
\r
100 * [GDLT-93] Add -Wextra flags for compilation Fixed all the warnings that
\r
101 * [GDLT-90] Optional: systemd watchdog concept in dlt-system and dlt-daemon
\r
102 * [GDLT-67] Re-implemented dlt-system. Read full commit message for more information
\r
106 * [GDLT-89] Fixed daemon doesn't sent the persistent log level
\r
107 * [GDLT-88] Fixed wrong initalization order using offline trace function
\r
111 * Add _GNU_SOURCE Definition to be able to use O_CLOEXEC
\r
112 * Added important SEM_FREE in the daemon and closing fd in the filetransfer
\r
113 * [GDLT-3] Fixed missing semaphore around dlt_buffer_push3
\r
114 * [GDLT-86] Fixed dlt_free uses absolute file path /tmp and not DLT_USER_DEFINE define
\r
115 * [D4099] Check for duplicate file handles, and clean them up if found
\r
116 * [GDLT-85] Pipes opened multiple times for the same application pid fixed
\r
117 * [GDLT-82] Child process inherits file descriptors openend by their parent fixed
\r
118 * [GDLT-84] Instead of calling the injection callback, store a pointer to it and the required parameter data fixed
\r
119 * [GDLT-70] Check for malloc failures and return errors where applicable
\r
120 * [GDLT-47] Avoid discarding old contexts if no new memory can be allocate
\r
121 * [GDLT-69] Fixed bug in dlt-test-multi-process shares context between threads
\r
125 * [GDLT-75] Use old style directory check on startup
\r
126 * [GENDLT-21] Move mcnt from DltContextData to DltContext
\r
127 * [GENDLT-15] Fixes to previous integrations from review
\r
128 * [GENDLT-15] Safe re-allocations for databuffer
\r
129 * [GENDLT-15] use the correct TEXTBUFSIZE
\r
130 * [GENDLT-15] Optimize usege of strlen. Improved log level handling
\r
131 * [GENDLT-15] Avoid buffer overrun with snprintf()
\r
132 * [GENDLT-15] Check return value of dlt_user_log_write_start(_id) correctly
\r
133 * [GENDLT-15] Reduce the number of applications if allocation fails
\r
134 * [GENDLT-15] Make dlt_user_log_write_start inline
\r
135 * [GENDLT-15] Improve errore checking in dlt_user_log_write_start_id
\r
136 * [GENDLT-15] Use databussersize to avoid reallocations
\r
137 * [GENDLT-15] Rename buffer size constant to avoid confusion
\r
138 * [GENDLT-15] Better error handling when writing to FIFO
\r
139 * [GENDLT-15] Remove duplicate msg initialization.
\r
140 * [GENDLT-15] Optimize away multiple uses of strlen for one check
\r
141 * [GDLT-4] Improve queue handling, allow for other messages while transferring a large file
\r
142 * [GDLT-4] Limit maximum file queue to 256 files
\r
143 * [GDLT-4] First working version of inotify for file transfer
\r
144 * [GDLT-2] First test for filetransfer change
\r
145 * [GDLT-2] Change to gzip wrapper format. Change file signature creation to account for file size, as inode number maybe duplicate when deleting and creating new files
\r
146 * [GDLT-2] Fix bug while reading the options
\r
147 * [GDLT-2] Allow for enabling/disabling compression for the separate directories
\r
148 * [GDLT-2] Check if the file is already compressed
\r
149 * [GDLT-2] Link with libz, fix a typo
\r
150 * [GDLT-2] zlib based compression for dlt-system
\r
151 * Cleaned some warnings generated from removing stale old code
\r
155 * Change to Mozilla Public License Version 2.0
\r
159 * Fixed bug with comparinson between signed and unsigned integer and protection for a buffer overflow.
\r
160 * Modified library for new test cases to corrupt data - related to the bug fix for testing signed and unsigned integer
\r
161 * [GENDLT-20] Fixed bug to use old cmake version for copy file
\r
162 * Replaced dlt-test-filetransfer-image.png with an own created image
\r
163 * [GENDLT-21] Fixed bug: Message Counter (MCNT) should be increased but is always 0
\r
167 * [GDLT-53] Man pages installation included
\r
168 * .cproject and .project file for Eclipse included
\r
169 * Update of doxygen documentation and generation
\r
170 * Rework of root CMake project file, e.g. structure and compile options
\r
171 * [GENDLT-16] Create variable in dlt-system.conf to configure the timeout of the filetransfer
\r
172 * [GDLT-37] Extend automated test tools for parallel process/threads tests
\r
173 * [GSW-138] API Extension to resend the log messages in the user buffer
\r
174 * [GDLT-36] Prefixing of dlt_version.h fixed
\r
175 * [GDLT-31] Tracefile content stored different under Ubuntu 64 bit version compared to Ubuntu/Win 32 Bit version fixed
\r
176 * [GDLT-35] Compile warnings fixed
\r
177 * [GSW-137] Wrong include gives error on compailing against dlt fixed
\r
181 * Added dynamic increasable ringbuffers to user lib and daemon.
\r
182 * dlt-system filetransfer now recovers when file is deleted during filetransfer.
\r
183 * Added check of file size when starting and deleting files during filetransfer
\r
184 * Added chekc of shm buffer availability when push to shm
\r
185 * Create abstraction of shm buffer management.
\r
186 * Fixed buffer overflow problem in buffer library.
\r
187 * Disabled share memory by default - disabled completely shared memory if not enabled.
\r
191 * Added dynamic increasable ringbuffers to user lib and dlt-daemon.
\r
192 * Created abstraction of shm buffer management.
\r
193 * dlt-system filetransfer now recovers when file is deleted during filetransfer.
\r
194 * Added check of file size when starting and deleting files during filetransfer.
\r
195 * Added check of shm buffer availability when push to shm.
\r
199 * Added internal logging facility to stdout, syslog or local file, configurable in configuration file.
\r
200 * Added deamonise and signal handlers to dlt-system.
\r
201 * Added manual pages.
\r
202 * Added new API dlt_check_library_version() function.
\r
203 * Fifo or SHM mode can be changed by compiler switch.
\r
204 * Replaced SHM implementation.
\r
205 * Fixed shared memory problem in DLT library during startup, if application is started before daemon.
\r
206 * Fixed syslog adapter in dlt-system.
\r
207 * Reverted API changes in dlt_register_app() function.
\r
208 * DLT user library does not set the stack size of the receiver thread anymore.
\r
212 * New config files /etc/dlt.conf and /etc/dlt-system.conf must be adapted to the needs
\r
213 * New DLT user lib API dlt_get_log_state() to get DLT client state
\r
214 * New DLT user lib API to manage flow control (needed for bulk data logging)
\r
215 * New DLT user lib API dlt_set_log_mode() to enable/disable internal/external trace
\r
216 * New application dlt-system (filtransfer, proc file system logger,syslog udp adapter included)
\r
217 * [GSW-66] File transfer over DLT.
\r
218 * [GSW-43] Performance improvement for bulk data over DLT.
\r
219 * [GSW-61] Replace command line parameter by configuration file
\r
220 * [GSW-13] Support for keep-alive messages as configuration parameter
\r
221 * [GSW-60] Extended offline DLT Trace memory handling.
\r
222 * Removed filter implementation
\r
226 * [GSW-16] Systemd configuration for syslog to DLT dapater
\r
227 * [GSW-62] DLT Library version check
\r
228 * [GSW-28] Directory where persistent data is stored is not configurable
\r
229 * [GSW-59] Statically allocated large array
\r
230 * Added init script for Ubuntu
\r
231 * Optional adding of gprof compile flags
\r
232 * sprintf with float64 fails on ARM platform; disabled this function on QRM platform.
\r
236 * Moved build process completely to cmake
\r
237 * Added commandline parameter -u to set ring buffer size
\r
238 * Reduced cpu consumption needed by applications using DLT library
\r
239 * Increased default ringbuffer size to 10024 bytes
\r
240 * Changed delay in receiver routine to 100ms
\r
245 * New dlt viewer (QT-based) implementated
\r
246 * Moved to seperate project, see extra Release Notes for DLT Viewer (QT)
\r
247 * DLT Viewer (WX) - Deprecated
\r
248 * Old dlt viewer (WX) is removed now from package generation
\r
249 * Moved to seperate project
\r
250 * Removed filtering of messages during writing to a file
\r
252 * Functions dlt_file_read_raw() and dlt_file_read_header_raw() added
\r
253 * Added support for raw messages in nonverbose mode
\r
254 * Injection tables are now dynamically allocated
\r
255 * Contexts are now dynamically allocated
\r
256 * Added seperate file for platform float types (dlt_float_types.h)
\r
257 and used this types.
\r
258 Attention: This file must be adapted to each target platform.
\r
259 * Removed signal handlers from dlt_user.c; SIGPIPE signal is ignored; atexit() handler still exists
\r
260 * Function dlt_forward_msg() added
\r
262 * Small optimization in get_log_info() for one searched application with one searched context,
\r
263 which is existing in the context table of the dlt daemon
\r
264 * Optional syncing to serial header added
\r
265 * Support for keep-alive messages, realized as seperate thread
\r
267 * Combined dlt-test-user-multi and dlt-test-many to dlt-test-stress
\r
268 * Extended dlt-test-client
\r
269 * Added stress test3 to dlt-test-stress
\r
270 * Added help to dlt-test-stress, printed if no test was selected
\r
271 * Added dlt-test-internal
\r
272 * Removed plugin support from dlt_receive and dlt_convert
\r
273 * Extended documentation
\r
274 * dlt viewer (wx): Fixed minor bug, it's possible now to compile the dlt viewer (wx) again under mingw under Windows
\r
275 * DLT test programs: Fixed minor bug in dlt-test-user, test3f: Wrong counter was used
\r
276 * Removed DLT_LOG calls in injection functions due to problems (application hangs)
\r
281 * The default log level is now shown, if already known
\r
282 * Renamed Filter->New.. to Filter->Delete all filter
\r
283 * Enhanced performance
\r
285 * On crash or termination of application using the DLT library,
\r
286 the registered context and application IDs are removed properly
\r
287 (and are deregistered from DLT daemon)
\r
288 * dlt_register_context_ll_ts() and Macro therefore added
\r
289 * dlt_message_payload() has now additional type DLT_OUTPUT_ASCII_LIMITED
\r
290 * dlt_message_header_flags() added
\r
292 * Support for dlt_register_context_ll_ts() added
\r
293 * Enhanced support for get_log_info (all modes, 1 app all contexts, 1 app 1 context, all apps all contexts)
\r
294 * Added -r option, for automatic sending context information to dlt client; if no client connection is available,
\r
295 this information is stored in history buffer in dlt daemon
\r
296 * Several internal performance optimizations:
\r
297 * dlt_daemon_context_find(), dlt_daemon_application_find(): Now O(log n) instead O(n)
\r
298 * Several functions optimized
\r
299 * Unnecessary functions removed
\r
301 * Moved definition of struct DltUser from dlt_user_private.h to dlt_user.h
\r
302 * dlt.h includes now dlt_common.h
\r
303 * Extended dlt-test-user and dlt-test-client applications
\r
304 * DLT daemon/DLT library: Fixed bug in Filter Delete
\r
305 * DLT daemon: Fixed bug in dlt daemon which leads to a crash, when starting/stoping application, then sending
\r
306 new log level to context of this (now not running) application.
\r
307 * DLT daemon: Fixed bug in unregister application
\r
308 * DLT daemon: Fixed bug in reattach to daemon
\r
309 * DLT library: Fixed bug in send function
\r
310 * DLT viewer: Fixed bug in set default log level
\r
314 * License has changed from ADRLPD to ADRLRM
\r
316 * Support for non-verbose mode (as FIBEX plugin)
\r
318 * Support for non-verbose mode (as FIBEX plugin)
\r
319 * dlt_message_print_* functions added
\r
320 * Semaphore calls added to enable multi-threading
\r
321 * Changed injection interface from direct usage to callback
\r
322 * Requested log level and trace status is set immediately
\r
323 in dlt_set_application_ll_ts_limit()
\r
324 * Implemented receiver thread in DLT library
\r
325 (used for setting of log level/trace status and for injection handling)
\r
326 * Added signal-handler and atexit-handler for cleanup (calls dlt_free())
\r
328 * Added implementation of clientlib and testclient for Windows
\r
329 * Both adaptors sends now log messages with log level DLT_LOG_INFO
\r
330 * Multi-threading example in src/tests/dlt-test-user-multi added
\r
331 * DLT viewer: Right mouse button for loading plugin descriptions (MOST-/Fibex-XML File)
\r
332 is now working (also in Windows)
\r
333 * DLT library: Fixed bug in dlt_print_mixed_string()
\r
334 * DLT library: Fixed bug in dlt_daemon_contexts_get_next_con_id()
\r
335 * DLT daemon: dlt_daemon_process_user_message_unregister_application() also removes now
\r
336 all corresponding contexts
\r
337 * DLT daemon: Added security check to dlt_daemon_control_get_log_info() in order to avoid crash
\r
338 which occured under special circumstances
\r
339 * DLT daemon: Register app now opens the connection to the DLT library,
\r
340 unregister app closes the connection (was before in register context)
\r
341 * Added -lrt to package config file
\r
342 * Resolved dependency from dlt_client.h to dlt_common.h -> dlt_common.h is now public
\r
347 * Reduced load if idle
\r
348 * Modified behaviour of settings in dlt-viewer
\r
349 * Always open tmpfile in dlt-viewer if nothing other is specified
\r
350 * File->Clear added
\r
352 * Added several checks within code
\r
354 * Added several checks within code
\r
355 * Enhanced local print modes:
\r
356 a environment variable now can be used to control local print mode:
\r
357 Variable: DLT_LOCAL_PRINT_MODE
\r
358 Values : "AUTOMATIC" (local print only, if dlt-daemon connection is not
\r
359 available at startup of program using DLT library)
\r
360 "FORCE_ON" (always do local print)
\r
361 "FORCE_OFF" (never do local print)
\r
362 * A client library for writing console client applications (Linux) is now available.
\r
363 dlt-receiver and dlt-test-client uses this new library code
\r
365 * Added seperate file for DltMostMessageHeader type
\r
366 * Added seperate file for DLT protocol values
\r
367 * Relaxed checks for passing trace messages to plugin handler
\r
368 * Tested and improved MOST plugin
\r
369 * Support for float (32 Bit) and double (64 Bit) values
\r
370 * Code fragments for winclientlib and wintestclient added
\r
371 * DLT library: Fixed bug in DLT_IMPORT_CONTEXT
\r
372 * DLT library: Fixed bug in dlt_plugin_print() and dlt_most_payload()
\r
373 * DLT daemon and library: Fixed bug in handling of description strings
\r
374 * DLT viewer: Fixed bug in RMB Click for loading plugin description
\r
375 * General: Fixed parsing and printing of MOST messages
\r
376 * Several small bugs fixed
\r
381 * Showing timestamp
\r
382 * Compiles now with MS Visual C++
\r
383 * Support for loading multiple descriptions
\r
384 of plugins is now possible (*)
\r
385 * Plugin description can be loaded individually
\r
386 by Right-mouse-button (*)
\r
388 * Overflow message is now stored in history buffer,
\r
391 * Ring-buffer for injection messages implemented
\r
392 * History Buffer for Startup + Overflow implemented
\r
393 * Setting of maximum logged log level/trace status for
\r
394 application triggered by application is now possible
\r
395 * Optional local output of Log message is now possible
\r
397 * Support for ARTIS Box implemented (all, without GUI)
\r
398 * Support for timestamp in standardheader extras added
\r
399 * Support for ECU ID in standardheader extras added;
\r
400 this value can be overwritten by the DLT daemon
\r
402 * Store and load application and context description fixed
\r
403 * Fixed crash on termination of Windows version
\r
404 * DLT console utilities:
\r
405 * Fixed printing of filter ids
\r
407 * Big Endian/Little Endian support tested and fixed
\r
408 * Fixed writing and reading of locally created dlt files
\r
409 * Several smaller bugs fixed
\r
413 * Full support for serial connection between DLT daemon and DLT Viewer
\r
414 * Several small bugs fixed in DLT Viewer
\r
418 * Initial Release of new DLT daemon Version 2 including the new DLT Client DLT Viewer
\r