summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* lib: Fix wrong type alert from lgtmdevel_v2.18.8Saya Sugiura2021-10-051-2/+2
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* gtest_dlt_daemon_gateway: fix gtest build failedLe-Tin2021-10-053-8/+15
| | | | | | | | Add gtest and gtest_main libraries if we don't install gtest package in system Create a new message fillter config file when running gtest gateway shell script set type of control message is CONTROL_MESSAGE_ON_DEMAND when testing dlt_gateway_send_control_message function Signed-off-by: Le-Tin <Tin.Le@vn.bosch.com>
* lib: generate dlt library internal log fileLe-Tin2021-10-052-2/+12
| | | | | | | Extern logging_mode and logging_handle variables from commom.c Reusing dlt_log_init() in cases dlt library internal log file is not opened and logging_mode is DLT_LOG_TO_FILE Signed-off-by: Le-Tin <Tin.Le@vn.bosch.com>
* tests: add stdlib to dlt_cpp_extensionDarian Biastoch2021-10-051-0/+1
| | | | | | | | | Adding stdlib.h into dlt-test-cpp-extension.cpp solves the compile issue: dlt-test-cpp-extension.cpp:89:47: error: 'malloc' was not declared in this scope char *non_const_string = (char *)malloc(17); This occoured while building for QNX. Signed-off-by: Darian Biastoch <dbiastoch@de.adit-jv.com>
* dlt_user: Make dlt_init thread safeDarian Biastoch2021-10-051-5/+21
| | | | | | | | | | | | | This commit introduces the use of atomic_compare_exchange at beginning of both dlt_init functions. This function checks in an atomic way, if 'dlt_user_initialised' is 'false' (first run through dlt_init) and directly sets it 'true'. If a second thread also entered dlt-init at this point of time, its call of atomic_compare_exchange will return false and dlt_init will be immediately left due to that. This is only interesting for startup, because before each call of dlt_init, there is a check on 'dlt_user_initialised' that will fail for all later executions. Signed-off-by: Darian Biastoch <dbiastoch@de.adit-jv.com>
* remove clang-tidy analyzer warnings: incompatible pointer typeDarian Biastoch2021-10-051-50/+35
| | | | | | | | | | Removed duplicate "payload" pointer in dlt_client_send functions inside dlt_client.c. This pointer was only needed to avoid one cast within a function call. Now this cast is performed to get rid of clang-tidy analyzer warnings. In addition to that, malloc calls were replaced through calloc to avoid a subsequent memset with zero. Signed-off-by: Darian Biastoch <dbiastoch@de.adit-jv.com>
* debian: improve debian build packageDinh Cong Toan2021-10-052-3/+12
| | | | | | | | | | | | Currently, when building dlt debian package, our libdlt.so can not be linked to other binary consoles. Adding build option of dh_shlibdeps to specific the path of libdlt.so, and linking step should not be broken. With default enabling flag WITH_MAN in debian rules, pandoc package must be added in Build_Depends option for debian control. Signed-off-by: Dinh Cong Toan <toan.dinhcong@vn.bosch.com>
* dlt-control-common: shutdown and close socketBui Nguyen Quoc Thanh2021-10-051-0/+9
| | | | | | | | Before cancelling the listening thread, try to shutdown and close the socket so that the listening thread is terminated intentionally Signed-off-by: Bui Nguyen Quoc Thanh <thanh.buinguyenquoc@vn.bosch.com>
* dlt_common: improve function descriptionDarian Biastoch2021-10-051-1/+11
| | | | | | | | The describtion of dlt_init_common was pretty meaningless, that's why an additional sentence and a list of all parsed evironment variables was added. Signed-off-by: Darian Biastoch <dbiastoch@de.adit-jv.com>
* gtest: Bring-in changesSaya Sugiura2021-10-054-28/+76
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* gtest: Rework WORKING_DIRECTORYSaya Sugiura2021-10-051-8/+5
| | | | | | | testfile.dlt was not detected correctly with ctest, so corrected WORKING_DIRECTORY accordingly. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* gtest: Correct data amount in gtest_dlt_commonSaya Sugiura2021-10-051-14/+18
| | | | | | | gtest_dlt_common was failing when ring buffer size was modified. Amount of data to be written is corrected in the test code. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* cmake: Set empty to systemd_SRCSSaya Sugiura2021-10-051-0/+2
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* gtest: Refactor tests/CMakeLists.txtSaya Sugiura2021-10-054-63/+72
| | | | | | | | This also removed following tests to more appropriate place: - dlt-test-preregister-context.c - dlt-test-cpp-extension.cpp Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* lib: Add SOCK_CLOEXEC to socketSaya Sugiura2021-10-051-1/+1
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* daemon: Create parent directory for unix socketSaya Sugiura2021-10-051-5/+19
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* cmake: Correct added subdirectoriesSaya Sugiura2021-10-052-2/+3
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* console: Add cmake options for control and timestampSaya Sugiura2021-10-052-14/+16
| | | | | | | | | | Following cmake options are introduced in order to build and install only minimum sets from src/console - WITH_DLT_CONSOLE_WO_CTRL: Set to ON not to build control commands under src/console (Default OFF) - WITH_DLT_CONSOLE_WO_SBTM: Set to ON not to build dlt-sortbytimestamp under src/console (Default OFF) Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* tests: Adapt to DLT_DISABLE_MACROSaya Sugiura2021-10-053-0/+6
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* header: Adapt to DLT_DISABLE_MACROSaya Sugiura2021-10-057-5/+14
| | | | | | | | | If dlt.h is included in external application, it needed to include -DDLT_DISABLE_MACRO to make ifdef switch work. This commit adds DLT_DISABLE_MACRO in dlt_user.h so that no additional definition is needed in application. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* include: Refactor CMakeLists.txtSaya Sugiura2021-10-051-10/+14
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* gtest: Change script name to gtest_dlt_daemon_offline_log.shSaya Sugiura2021-10-052-1/+1
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* daemon: Enable to use FIFO on QNXSaya Sugiura2021-10-053-6/+22
| | | | | | | | | | | | It depends on OSes if maximum size of pipe can be configured per process or not. For example, on QNX it can be only set from pipe resource manager. Also flags used to set the value are only supported on Linux. Now DaemonFIFOSize option in dlt.conf is only relevant for Linux. Also -f option is added to build scripts to enable FIFO as IPC. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* tests: Add new test case with given bufferSaya Sugiura2021-10-051-25/+235
| | | | | | | | | New test case is added in dlt-test-user to verify the behavior of dlt_user_log_write_start_w_given_buffer() and dlt_user_log_write_finish_w_given_buffer(). Currently macro usage is not supported, so empty test case is added for macro test. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* tests: Enable macro disablingSaya Sugiura2021-10-058-121/+156
| | | | | | | | | | This commit introduces new cmake option "WITH_DLT_DISABLE_MACRO" to disable macro usage in case it is not allowed. Currently this is adapted to src/tests and src/examples only. for dlt-test-non-verbose, the build itself is currently disabled if WITH_DLT_DISABLE_MACRO is set; this needs to be enabled again in future by replacing or adding function usage. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* lib: Add new interfaces with given bufferSaya Sugiura2021-10-053-31/+195
| | | | | | | | | | | | This commit adds new interfaces: - dlt_user_log_write_start_w_given_buffer(): accepts a log buffer as an input. - dlt_user_log_write_finish_w_given_buffer(): finalizes logging and send the message to corresponding output This is to reduce DLT API calls in DLT application as much as possible and avoid allocating dynamic memory within DLT library. The log buffer has to be prepared in DLT application in order to use these interfaces. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* Implemention of tests for the dlt-qnx-system modulessugiura2021-10-054-0/+485
| | | | | | | | Following files are added to execute and verify the behavior of dlt-qnx-system module: - dlt-test-qnx-system: A test binary to send log messages to slogger2 with specific number of log messages, delay, and payload length. - start-qnx-system-test: A shell script to invoke the test execution and verify its result from received DLT log. Signed-Off By: Saya Sugiura <ssugiura@jp.adit-jv.com>
* lib: Add MaxFileSize handlingNarasimhaiah Suprathik (RBEI/ECF3)2021-10-055-11/+94
| | | | Signed-Off By: Saya Sugiura <ssugiura@jp.adit-jv.com>
* client: pthread_join for deinitBui Nguyen Quoc Thanh2021-10-051-0/+1
| | | | | | | | | | In case the client sends single request of control there could be a case the dlt_control_init finishes before the cancellation of receiver thread. So the main thread should wait for the receiver thread via pthread_join Signed-off-by: Bui Nguyen Quoc Thanh <thanh.buinguyenquoc@vn.bosch.com>
* doc: update initial log level documentDinh Cong Toan2021-10-051-6/+32
| | | | | | Updating initial log level document Signed-off-by: Dinh Cong Toan <toan.dinhcong@vn.bosch.com>
* dlt-system: Fix memory leak in dlt-system configdbiastoch2021-10-054-33/+73
| | | | | | | | | | | | In read_configuration_file() inside dlt-system-options.c memory is allocated for saving the parsed options into config struct. This memory is not freed again. There are two major changes for resolving this issue: 1) Add a cleanup function inside dlt-system-options.c to free allocated memory 2) Replace all AppID and ContextID char pointer through a char array with the lenght of DLT_ID_SIZE. Signed-off-by: dbiastoch <dbiastoch@de.adit-jv.com>
* dlt_common: remove duplicate stdbool headerDinh Cong Toan2021-10-051-1/+0
| | | | | | | Remove duplicate stdbool.h file in dlt_common.c, which has been included in dlt_common.h Signed-off-by: Dinh Cong Toan <toan.dinhcong@vn.bosch.com>
* dlt-control: Add option to config portSaya Sugiura2021-10-052-2/+16
| | | | | | | Add -p option to dlt-control so that IP port can be configured in case of TCP. Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* system: use signalfd for dlt-systemBiastoch, Darian (ADITG/ESM)2021-10-0513-496/+512
| | | | | | | | | | | | 1: Move the call of pthread_sigmask in dlt-qnx-systems main before DLT_REGISTER_APP, because this already spawns a thread, what was done without applying pthread_sigmask before. 2: Replaced all threads in dlt-system, that are spawned for each feature, through one poll. This poll waits for a file descriptor event, that triggers the feature routine, that was executed before in the thread. Done this for following processes: * reading syslog and journal * frequently reading logfile and logprocess * triggering filetransfer, if a file was added/changed in watched directory * checking watchdog timer of systemd service file with defined intervall Signed-off-by: dbiastoch <dbiastoch@de.adit-jv.com>
* console: provides args option to enable send/receive serial headerVo Trung Chi2021-10-0517-52/+285
| | | | | | | Provides argument option to enable send and resync serial header via command line. Signed-off-by: Vo Trung Chi <Chi.VoTrung@vn.bosch.com>
* fix malformed printf format strings (#295)Radek Kaczorowski2021-10-0510-134/+123
| | | Co-authored-by: Saya Sugiura <39760799+ssugiura@users.noreply.github.com>
* cmake: Set WITH_LEGACY_INCLUDE_PATH to ON as default (#334)Saya Sugiura2021-10-052-2/+2
| | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
* Make the legacy include path a CMake option (#332)Martin Willers2021-10-053-3/+19
| | | Signed-off-by: Martin Willers <M.Willers@gmx.net>
* daemon: Call dlt_daemon_configuration_load() properly (#330)kundatipradeep2021-09-141-6/+6
| | | As init_p2 does the offline trace initialization, load configuration should be called prior, as LoggingMode is set through run-timeconfiguration file. With original logic it results in offline trace write failed, it is not valid trace directory errors.
* dlt_user: Use pthread_setname_np() if available (#326)Sebastian Lipponer2021-09-142-5/+19
| | | | | | | Use POSIX thread API to rename the housekeeper and segmented threads. The currently used prctl() function is Linux specific and in general not available on other platforms (e.g. QNX). Signed-off-by: Sebastian Lipponer <mail@sebastianlipponer.de>
* libdlt: Add legacy include path in exported CMake config file (#327)Sebastian Lipponer2021-09-142-6/+3
| | | | | | | | | | | | | Previously the generated .pc file was changed to export an additional include path such that '#include <dlt.h>' and '#include <dlt/dlt.h>' can be used. However the exported CMake config file only supports the latter include statement. Consequently code that uses the other legacy include statement does not compile with the exported CMake config file. This change fixes this inconsistency. It lets users compile existing code with either the pkg-config .pc file or the CMake config file and avoids code clutter that is currently necessary to make this work. Signed-off-by: Sebastian Lipponer <mail@sebastianlipponer.de>
* lib: Set TYLE to 1 for BOOL type (#320)TomiZet2021-08-301-2/+2
| | | According to AUTOSAR standard the TYLE for the BOOL type shall be set to 1. So I propose to initialize type_info variable for the BOOL type the same way as for uint8 type.
* file-transfer: Abort file transfer if get serial number failedAlexander Mohr2021-08-062-0/+8
| | | | | | | | | | | If a file is deleted while a file transfer is ongoing, the file transfer tries to seek through the whole file. This is due to the fact the the file handle is held open. getFileSerialNumber is already validating the file by using stat. If this call returns a negative value, we know that a stat to the file is not possible anymore, therefore further reading can be aborted.
* dlt_user.c: fixing casting wrong typeDinh Cong Toan2021-08-061-3/+3
| | | | | | Fixing casting incorrect type Signed-off-by: Dinh Cong Toan <toan.dinhcong@vn.bosch.com>
* dlt-sortbytimestamp: Remove duplicated conditional statements codeGwanYeong Kim2021-07-191-15/+4
| | | | | | This commit removes duplicate conditional statements. Signed-off-by: GwanYeong Kim <gy741.kim@gmail.com>
* dlt-convert: Remove duplicated conditional statements codeGwanYeong Kim2021-07-191-4/+1
| | | | | | This commit removes duplicate conditional statements. Signed-off-by: GwanYeong Kim <gy741.kim@gmail.com>
* doc: Minor fix in dlt_for_developers.md (#321)kenji-hosokawa2021-07-151-8/+7
| | | | | | | | * doc: remove non existing TOC TOC has Summary, but nothing in the body. Remove it from TOC. Signed-off-by: Kenji Hosokawa <khosokawa@jp.adit-jv.com>
* dlt-control-common.c: Fix build failure due to out-of-bound write ↵Gianfranco Costamagna2021-07-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | -Werror=stringop-truncation cd /build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/src/console/logstorage && /usr/bin/cc -DCONFIGURATION_FILES_DIR=\"/etc\" -DDLT_DAEMON_USE_FIFO_IPC -DDLT_LIB_USE_FIFO_IPC -DDLT_NETWORK_TRACE_ENABLE -DDLT_SYSTEMD_ENABLE -DDLT_SYSTEMD_JOURNAL_ENABLE -DDLT_UNIT_TESTS -DDLT_USER_IPC_PATH=\"/tmp\" -DDLT_USE_IPv6 -DEXTENDED_FILTERING -D_GNU_SOURCE -I/build/dlt-daemon-2.18.7 -I/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/include/dlt -I/build/dlt-daemon-2.18.7/include/dlt -I/build/dlt-daemon-2.18.7/src/shared -I/build/dlt-daemon-2.18.7/src/core_dump_handler -I/build/dlt-daemon-2.18.7/src/offlinelogstorage -I/build/dlt-daemon-2.18.7/src/lib -I/build/dlt-daemon-2.18.7/src/daemon -I/build/dlt-daemon-2.18.7/src/console -I/build/dlt-daemon-2.18.7/src/gateway -I/build/dlt-daemon-2.18.7/systemd/3rdparty -g -O2 -ffile-prefix-map=/build/dlt-daemon-2.18.7=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Werror -std=gnu99 -Wall -Wextra -Wno-variadic-macros -Wno-strict-aliasing -o CMakeFiles/dlt-logstorage-ctrl.dir/__/dlt-control-common.c.o -c /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c make[3]: Leaving directory '/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu' In file included from /usr/include/string.h:495, from /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:56: In function 'strncpy', inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:716:13: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'strncpy', inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:721:13: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
* Extend include path in *.pc file (#319)Martin Willers2021-07-152-6/+8
| | | | | | | | | | | | | | | | | | | | * Extend include path in *.pc file Previously, an application using this library's pkg-config setting for include directory would only get e.g. -I/usr/local/dlt/include/dlt With that include dir, the application needs to write its #include statements without any prefix, i.e. "#include "dlt_user.h" This is considered bad practice for header files of an elaborate library consisting of multiple header files. For such libraries, one should write #include statements like this: #include "dlt/dlt_user.h", i.e. prefix it with a directory. This commit achieves that by letting the pkg-config module also return the upper-level directory in addition to the previous one. For instance, the include directive returned by the above example would now be "-I/usr/local/dlt/include -I/usr/local/dlt". Signed-off-by: Martin Willers <M.Willers@gmx.net>
* Update ReleaseNotes and version to v2.18.7Saya Sugiura2021-06-302-2/+40
| | | | Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>