summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* libdlt: Avoid busy loop in error case of mq_receive() (#59)Yusuke Sato2018-05-292-1/+16
| | | | | | | To avoid busy loop due to error of mq_receive() which is called in sub thread, 100ms sleep is added for the error case. Error log message for mq_receive() is also corrected to have errno. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Output signal number at exit (#68)Yusuke Sato2018-05-291-7/+8
| | | | | | | | | | | So far, signal number had been output in signal handler. However this was not so safety. And when syslog was used as log output destination of dlt_log(), we could not see any info in the same Life Cycle. So dlt_log() is removed from signal handler and signal number is newly output by DLT message and dlt_log() at exit. This info will help analysis why dlt-daemon exits. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Improve error logging on accept() failure (#69)Yusuke Sato2018-05-281-3/+3
| | | | | | | | | Error log in case of accept() failure is improved with errno info. This helps us to analyze dlt-daemon's issue in future. (e.g.) Connection request come to wrong socket unexpectedly and this causes exiting dlt-daemon. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Avoid to output duplicated application registration message (#63)Yusuke Sato2018-05-232-12/+22
| | | | | | | | | | | | | | | | If application tries to send application registration request before dlt-daemon startup, the request is sent twice as below: 1. Buffered request in user library buffer 2. New request when user app succeeds to attach to dlt-daemon In previous, dlt-daemon had been output the registration messages 2 times even though these messages were come from same application. This duplicated output is avoided by this change. Warning message in case of dlt-runtime-context.cfg exists is also avoided. This file is created when Control message: "Store Config" is used. This is not irregular case. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Not output Context un-/registration DLT message by default (#62)Yusuke Sato2018-05-231-5/+11
| | | | | | | | | | | This patch changes Context un-/registration message not to output DLT by default for the purpose of reducing trace messages. Actually dlt-daemon already sends almost same meaning control message which can show Context un-/registration([get_log_info] and [unregister_context]). These are duplicate message and should be suppressed in normal case. Only if "Verbose = 1" is set in dlt.conf, the messages are output as same as before. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Continue to send log level / connection status even if error ↵Yusuke Sato2018-05-231-3/+3
| | | | | | | | | | | | | | | | | | occurs (#61) In previous, there was possibility that application could not get notification from dlt-daemon due to wrong error handling. (e.g.) 1. App1, App2 and App3 register App/Context 2. App2 crashes without unregistering App/Context 3. Change default log level from DLT Viewer --> App1 can receive new default log level from dlt-daemon but App3 cannot. This patch makes processing non-stop even if error occurs in below cases: - While updating log level of all registered apps - While updating default log level/ default trace status - While updating connection status between dlt-daemon and dlt-client Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* IPC: Unix socket added (#43)ManikandanChockalingam2018-05-1812-195/+491
| | | | | | | | | * IPC: Unix socket added The user can select either FIFO or UNIX socket as IPC between user library and daemon through CMakelist option. Socket path configurable for both FIFO and Unix Socket now configurable in CMake Signed-off-by: Christoph Lipka <clipka@de.adit-jv.com> Signed-off-by: ManikandanC <Manikandan.Chockalingam@in.bosch.com>
* Introduce controlling entire system trace status feature from dlt-control (#57)Yusuke Sato2018-05-186-61/+331
| | | | | | | | | | | | | | | | | | | | | * dlt-control: Provision to control entire system trace status 1. support for setting trace status using wildcards for both app and context 2. support for setting entire system trace status *This Logic is as same as for changing log level. (SHA: a966393ad7003d02870bceffa08df5ddf4bbf864 dlt-control: Provision to control entire system log level) * dlt-daemon: Fix control entire log level / trace status issue In previous, dlt-control could send request to set all log level / trace status with DLT_LOG_DEFAULT / DLT_TRACE_STATUS_DEFAULT(-1). However, dlt-daemon could not accept these value. This change fix this issue so that setting log level/trace status of all registered contexts become possible. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Lower log level of logs not to output unintentional warning (#58)Yusuke Sato2018-05-181-8/+5
| | | | | | | | | | | | | * dlt-daemon: Lower log level of several logs not to output unintentional warning Change log level of several logs from WARNING to INFO. 1. User FIFO cannot be opened because the FIFO does not exist --> This case can happen if DLT user app is one-shot 2. Runtime configuration file (dlt-runtime-application.cfg / dlt-runtime-context.cfg) cannot be opened --> This case can happen in normal use case. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Fix infinite loop on set log level using wildcards (#55)Yusuke Sato2018-05-081-1/+1
| | | | | | dlt-daemon entered to infinite loop when set log level request with wildcards came from dlt-control due to variable size. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-daemon: Fix repeated output of marker message (#54)Yusuke Sato2018-05-081-1/+4
| | | | | | | | Marker message had been continued to output if application called dlt_log_marker() due to missing byte removing processing against marker message. Therefore the byte removing for marker message processing is added. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* dlt-control: Fix Setting default trace status issue (#53)Yusuke Sato2018-05-081-3/+3
| | | | | Default trace status could not be set by "-f" option. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
* Fix ForceContextLogLevelAndTraceStatus handling in dlt_daemon_client.c (#50)kundatipradeep2018-04-271-4/+33
| | | | | Even Forcing log level and trace status of context to not exceed "ContextLogLevel" and "ContextTraceStatus" in dlt.conf file with ForceContextLogLevelAndTraceStatus = 1, the default log level is being overwritten with high value than expected by client(DLT_Viewer when default trace data request is sent ) and by dlt-control application on usage of (dlt-control -d loglevel IP_ADDRESS) With provided patch/changes in place, when ForceContextLogLevelAndTraceStatus is enabled the requested log level is checked with ContextLogLevel and if it satisfied the daemon default loglevel gets updated. Added a conditional checks to not to overwrite the individual contextLoglevel and ContextTracesStatus when ForceContextLogLevelAndTraceStatus is enabled in dlt.conf file and taken care of review comments.
* minor compiler warning gcc 7.x (#30)Phong Tran2018-03-294-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix -Wpointer-compare of compare with null char Signed-off-by: Phong Tran <tranmanphong@gmail.com> * dlt_common: fix -Wformat-truncation of snprintf Avoid snprintf output truncation by handling return value Signed-off-by: Phong Tran <tranmanphong@gmail.com> * dlt_offline_trace: Fix Wformat-truncation of snprintf Compile with Gcc 7.x has the warning of snprintf buffer length size. Check return value of snprintf() for avoiding the warning. Signed-off-by: Phong Tran <tranmanphong@gmail.com> * dlt_common_test: Fix memleak t_dlt_message_read some resources were not free after using. Detected by running valgrind --leak-check=full ./gtest_dlt_common Signed-off-by: Phong Tran <tranmanphong@gmail.com>
* improve error reporting in dlt_daemon_socket (#41)Florian Castellane2018-02-141-14/+17
| | | | | | * improve error reporting in dlt_daemon_socket * use dlt_vlog
* Fix SEGV dlt_offline_trace.c (#32)kundatipradeep2018-01-221-0/+18
| | | | | | Post enabling and updating “OfflineTraceDirectory” variable default path in dlt.conf file, dlt-daemon resulted in crash with Segmentation fault(SIGSEGV) due to Invalid OfflineTraceDirectory path. dlt_offline_trace-patch-1 contains an update which verifies “existence of offline trace directory” and its “accessibility issues”. It returns -1 on failure conditions and indicates user with appropriate information instead resulting in APPCRASH.
* fix PR #26 socket_sendreliable data_send updateChristoph Lipka2018-01-191-1/+5
| | | | | | do not update data_send in case of temporal error Signed-off-by: Christoph Lipka <clipka@de.adit-jv.com>
* Prevention for occasional corrupted messages (#26)baduras2018-01-123-21/+56
| | | Prevention for occasional corrupted messages caused mostly due to system high load.
* Fix for initialization of buffer settings in DLT user library. (#25)baduras2017-09-131-2/+2
|
* fix various memory leaks (#28)Gordan Markuš2017-09-123-14/+13
| | | | | | | | | | | | | | | | * dlt_common: Fix resource leak Close the file before returning from function. Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com> * dlt-kpi-process: Fix memory leak Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com> * dlt-kpi-options: Clean up resources on malloc fail Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com>
* Minor fixes: corrected typo in CMakeLists.txt - WTIH_DLT_ADAPTOR, removed ↵Stefan Badura2017-08-302-3/+3
| | | | character from merge - +
* Data stuck in receiver buffer when dlt_daemon_user_send_log_level() fails (#21)Lutz Helwing2017-08-222-10/+21
| | | | | | | | | | | | - When dlt_daemon_user_send_log_level() called in dlt_daemon_process_user_message_register_context() fails -1 was returned which caused dlt_daemon_process_user_messages() to stop processing receiver buffer. Remaining data was stuck until new data arrived over FIFO. - Make debug output of dlt_daemon_user_send_log_level() more verbose. Signed-off-by: Lutz Helwing <lutz_helwing@mentor.com>
* Prevent buffer overflow for mount point path in dlt_logstorage_open_log_file ↵pierreN2017-06-161-1/+6
| | | | | (#19) Signed-off-by: Pierre N <pierreN@users.noreply.github.com>
* cmake: fix unit tests compilation with systemd (#17)Gordan Markuš2017-06-161-1/+1
| | | | | | | | | By enabling the WITH_SYSTEMD and WITH_DLT_UNIT_TESTS cmake flags the build will fail with an error due to a linking issue: ../src/daemon/libdlt_daemon.so: undefined reference to `sd_booted' collect2: error: ld returned 1 exit status Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com>
* Input parameter check & Error message modification (#15)Amber Bhardwaj2017-06-166-62/+83
| | | | | | | | | | | | | | | | | | | * Update dlt-kpi-process.c Added input param checking and added return value in non-void functions. * Update dlt-kpi.c Added Input param checking and added return values in non-void functions. * Input parameter check and Error msg modification Added null pointer checking Added input parameter checking Added return values in non-void functions Added proper error message for debugging purpose Signed-off-by: amberbhardwaj <amber.bhardwaj10@gmail.com>
* dlt-system-process-handling: fix warning (#12)Gordan Markuš2017-05-181-1/+1
| | | | | | | | | | | In function ‘daemonize’: dlt-daemon/src/system/dlt-system-process-handling.c:84:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for(i = getdtablesize(); i >= 0; i--) ^~~ dlt-daemon/src/system/dlt-system-process-handling.c:87:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ int fd = open("/dev/null",O_RDWR); ^~~ Singed-off-by: Gordan Markuš <gordan.markus@pelagicore.com>
* dlt_daemon_connection_types: fix build warnings (#14)Gordan Markuš2017-05-181-1/+1
| | | | | | | | | | | | dlt-daemon/src/daemon/dlt_daemon_event_handler.c: In function ‘dlt_daemon_handle_event’: dlt-daemon/src/daemon/dlt_daemon_event_handler.c:131:30: waring: cast from pointer to integer of different size [-Wpointer-to-int-cast] DltConnectionId id = (DltConnectionId)ev->data.ptr; ^ dlt-daemon/src/daemon/dlt_daemon_event_handler.c: In function ‘dlt_connection_check_activate’: dlt-daemon/src/daemon/dlt_daemon_event_handler.c:381:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ev.data.ptr = (void *)con->id; ^ Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com>
* dlt-adaptor-udp, dlt-adaptor-stdin: implement get of verbosity level from ↵Gianfranco Costamagna2017-03-292-4/+86
| | | | | | | | | | | input (#9) * dlt-adaptor-udp, dlt-adaptor-stdin: implement get of verbosity level from input, defaulting to INFO when wrong type or none is provided Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> * Fix minor typo (from gunnarx)
* Merge pull request #8 from amberbhardwaj/masterRalphNiemeyer2017-03-231-0/+5
|\ | | | | Added Description in dlt-system.conf
| * Added Description in dlt-system.confAmber Bhardwaj2017-02-161-0/+5
| | | | | | | | | | | | | | | | | | | | Added additional information about how to enable syslog feature properly. If still facing issue while capturing syslogs through client (e.g. dlt_viewer) after following given steps then install listed packages: build-essential build-essential checkinstall pkg-config libsystemd-journal-dev Note: It's is a known issue when you try to capture syslog via dlt_viewer then syslogs wouldn't come in dlt_viewer because of improper configuration (won't route the log to port 47111) of dlt-system.
* | Merge pull request #7 from clipka/devel_dlt_client_cleanup_fixRalphNiemeyer2017-03-238-16/+95
|\ \ | | | | | | dlt-client: fix dlt_client_cleanup memory handling
| * | dlt-client: fix dlt_client_cleanup memory handlingOnkar Palkar2017-02-068-16/+95
| |/ | | | | | | | | | | | | Setter function introduced for seting up string parameters which are free'd in dlt_client_cleanup Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* | Merge pull request #6 from clipka/devel_fatal_trapRalphNiemeyer2017-03-231-0/+14
|\ \ | | | | | | CMake Option: Trigger segmentation fault in case of FATAL log
| * | CMake Option: Trigger segmentation fault in case of FATAL logChristoph Lipka2017-02-021-0/+14
| |/ | | | | | | | | | | | | | | When the user library receives a log with log level DLT_LOG_FATAL it triggers a segmentation fault to provide information to the developer via tools like coredump. Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* | dlt-daemon: Fix use after free potential issueFrederic Berat2017-02-015-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | In dlt_daemon_send_all_multiple, if the connection was broken, we closed it before getting the next available connection. This must be avoided by having a temporary next pointer. The same kind of problem is valid for pointers coming from the epoll interface. The kernel can provide back connection pointer that are not valid any longer. Therefore, we need to use an ID instead of the pointer value to retrieve the connections. Signed-off-by: Frederic Berat <fberat@de.adit-jv.com> Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* | Event handling: Fix connection destroy bugChristoph Lipka2017-02-012-0/+8
|/ | | | | | | | | It might happen that an event is part of the epoll event queue that belongs to a connection which was destroyed before the event is handled. Due to this, the event handling main loop might stop and the daemon exits. This misbehavior is fixed with this patch. Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* daemon: check payload length before cast to structChristoph Lipka2017-01-311-15/+66
| | | | Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* Unit Test: Event handlingChristoph Lipka2016-10-244-6/+43
| | | | | | Unit tests for DLT Daemon connection and event handling Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* Unit Test: MultiNodeOnkar Palkar2016-10-243-13/+50
| | | | | | Unit test for DLT MultiNode extension Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* dlt-system-filetransfer: fix bug caused by malloc assertManikandan C2016-10-241-6/+11
| | | | | | | Remove malloc assert in inappropriate location and add error logs in case of failures. Signed-off-by: Manikandan C <Manikandan.Chockalingam@in.bosch.com>
* Environment variables for library ringbufferChristoph Lipka2016-10-242-1/+56
| | | | | | | | | | | | This patch adds environment variables to configure user library ringbuffer and step size. The following variables can be set: DLT_USER_BUFFER_MIN - for minimal size DLT_USER_BUFFER_MAX - for maximal size DLT_USER_BUFFER_STEP - for step size Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* DLT_PTR macro: Improve implementation and function API addedChristoph Lipka2016-10-241-0/+32
| | | | | | | | The original implementation result in a compile error when DLT_PTR is used with other macros like DLT_STRING. This patch overcomes that problem. Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* MultiNode: Specify config file location in dlt.confChristoph Lipka2016-10-244-9/+33
| | | | Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* dlt-client: Use correct port on connectChristoph Lipka2016-10-242-25/+31
| | | | Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* process user message: Fix bound handlingFrederic Berat2016-10-242-26/+109
| | | | | | | | | | | | | | | | | | | | | | | | On context and application registration, the data needs to be read in 2 parts. If the first part was at the end of the receiver buffer, it was wrongly removed whereas the complete data is not full received and therefore interpretable. This has to be fixed by not removing the data before everything is checked. Thus, while readjusting the buffer to the first found header, the offset was not properly updated. Signed-off-by: Frederic Berat <fberat@de.adit-jv.com> Process User Messages: Fix buffer handling In case application and context registration the buffer need to be read two times. But before removing the data, the data need to be readjusted to its origin. This was missing in a previous fix. Furthermore, in case of corrupted description field, applications and contexts will be registered anyway with the dummy description "Unknown". Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* dlt-system-filetransfer: Fix compiler warningsChristoph Lipka2016-10-241-1/+2
| | | | Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* Dlt-Receive: Use PRIxxx macros for printf variablesChristoph Lipka2016-10-241-2/+3
| | | | | | This change is done to remove compiler warnings. Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* Offine logstorage: Remove duplicated source fileChristoph Lipka2016-10-241-467/+0
| | | | Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
* Fix: Memory for context description is not freedYusuke Sato2016-09-231-0/+18
| | | | | | | | Currently, allocated memory for context description is not freed in dlt_free(). free() for each member variables of dlt_user.dlt_ll_ts[i] is added in the for block in dlt_free(). Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp> Change-Id: I52a81cf2918cb0014fdcfc666cb8bb93ca7cb525
* Fix: dlt-daemon overwrites ECU ID even if user log message already has the ↵Yusuke Sato2016-09-231-2/+2
| | | | | | | | | | | ECU ID that is not default value dlt-daemon overwrites ECU ID even if user log message already has the ECU ID that is not default value. This phenomenon happens when application uses dlt_forward_msg(). Therefore, dlt-daemon is modified not to overwrite ECU ID if log message has already has the ECU ID. Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp> Change-Id: Icbc6304e5571242bf75ff0d32cbe4b004f1d7f9d