Michal Bloch [Thu, 9 Jan 2020 09:12:08 +0000 (10:12 +0100)]
dlog_logger: subscribe source fd entity to epoll
The event is not yet handled (still relies on the periodic check).
Change-Id: I9ceefa64b20416a4a5bf749fc3099b58b011011b
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 9 Jan 2020 09:16:45 +0000 (10:16 +0100)]
Fix an epoll descriptor list leak
Change-Id: I914ad793674c72aeabd4c5c101d0fbc692d6cfe1
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 8 Jan 2020 15:47:02 +0000 (16:47 +0100)]
dlog_logger: wrap reader read_fd in an FD entity
No logic change so far; will be made to work with epoll
in a subsequent patch.
Change-Id: I9a3d199206b392976a63ae7b66bb14d4e8616a90
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 8 Jan 2020 15:08:42 +0000 (16:08 +0100)]
dlog_logger: rename reader fd entity to _sink
This is in preparation for adding a second fd entity to that structure,
which will represent the log source and will need to be distinguished from
the current one that represents the log sink.
Change-Id: Ia56c352c564fd0bae4a40e4c923e4ab6013a2579
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Karol Lewandowski [Wed, 8 Jan 2020 15:13:34 +0000 (16:13 +0100)]
Increase log source scanning frequency from 1s to 10ms
This is workaround. This commit ensures logs source is checked every 10ms.
In current design logs from source devices (/dev/log_) are checked
only periodically on fixed intervals (unlike other sources, which
are driven by epoll()). The "special" android source handling seems
to be microoptimisation, done due to not entirely correct architecture
decisions.
Proper solution require adding android source devices to epoll.
Change-Id: I91e01f988566c1766385d0c94c6d9dc82bd8e08b
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Michal Bloch [Wed, 8 Jan 2020 09:53:25 +0000 (10:53 +0100)]
Fix GCC9 compilation
Change-Id: I6b6a4ae4f3fe0dba2c9d8e82db3f64618eeba203
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 2 Jan 2020 16:23:21 +0000 (17:23 +0100)]
Various string buffer size checks
Change-Id: I39a757599ddd78fd121bf5446cba7fa5ee5ee710
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 30 Dec 2019 11:29:59 +0000 (12:29 +0100)]
writev(2) requires <sys/uio.h>
Change-Id: Ifacc47eb488359d3d4741fcab16650920e8e9677
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Tue, 17 Dec 2019 12:40:43 +0000 (13:40 +0100)]
Refactor the permission checking for libdlogutil
Change-Id: I679f23b4366bdc70f515fb2633fb0c0d54fe0f8e
Michal Bloch [Fri, 15 Nov 2019 13:35:36 +0000 (14:35 +0100)]
Check necessary privilege for correct behaviour
Change-Id: I10a5796292e4e166df86b4f49b7f47c01a914d21
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Mon, 9 Dec 2019 07:50:30 +0000 (08:50 +0100)]
Create a typedef for dlogutil_entry
Change-Id: I73ff0af0d07490e6fdadd3ed1c95c42046662700
Mateusz Majewski [Mon, 9 Dec 2019 07:44:25 +0000 (08:44 +0100)]
Create a typedef for dlogutil_sorting_order
Change-Id: Ic600f59f30a686e43bb459773aa07f4892fca586
Mateusz Majewski [Mon, 9 Dec 2019 07:40:02 +0000 (08:40 +0100)]
Create a typedef for dlogutil_filter_options
Change-Id: Ic7320ed0fa10a5f6863a7095dea665029e6cca55
Mateusz Majewski [Mon, 9 Dec 2019 07:37:31 +0000 (08:37 +0100)]
Rename dlogutil_write_callback
Change-Id: Idfefbd7ab4e634dbb0f0a2470e1448db1a80c212
Mateusz Majewski [Fri, 6 Dec 2019 07:33:33 +0000 (08:33 +0100)]
Improve the sorting test loop slightly
This makes it slightly faster, slightly less fragile, and also slightly
nicer.
Change-Id: I99e54de7b25935d17d5a9a994c35b44da4fcde59
Yunmi Ha [Fri, 22 Nov 2019 02:52:33 +0000 (11:52 +0900)]
Make gcov package
- Make gcov package when --define 'gcov ON' is given
Change-Id: If2d18676637dad6f94ba9b1d4ca1bf3b8510e0b7
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Hyotaek Shim [Fri, 29 Nov 2019 01:48:58 +0000 (01:48 +0000)]
Revert "libdlog doesn't modify errno from outside PoV"
This reverts commit
6afdbf69c184f8b1b466af16d65272ad9e7f757a.
Change-Id: Ie046f84788b84f748211df374d8d601db1280810
Mateusz Majewski [Mon, 25 Nov 2019 10:02:52 +0000 (11:02 +0100)]
Specify buffers in some calls of dlog_tests
Those tests would start failing on some targets after the libdlogutil
patches. This would be due to them trying to clear/get size of the apps
buffer, which does not exist. This was accepted before the libdlogutil
patches, because dlogutil would consider all of the enabled buffers at
the same time. However, said patches change it to clear/get size of each
buffer separately and return on the first failure. We can work around
this issue by making it so that dlogutil will not try to manipulate the
apps buffer in the failing spots.
Change-Id: I5b3135256b99b0bc8f53a14fc68f99a9effbf6c3
Yunmi Ha [Tue, 26 Nov 2019 02:39:13 +0000 (11:39 +0900)]
[logcleanup] Fix svace/coverity issue
- check return value
Change-Id: Ie861d6972c3bfa2c8346f8a25e72e0039e344e6e
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Yunmi Ha [Tue, 19 Nov 2019 07:30:37 +0000 (16:30 +0900)]
Add dlog_cleanup service
- dlog_cleanup service will delete old dlog files.
- dlog_cleanup service will be started by activationd.
Change-Id: I3f197f98edcaa03b6f418dbefdb6f4ced714cb91
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Mateusz Majewski [Mon, 18 Nov 2019 08:37:37 +0000 (09:37 +0100)]
Fix asserts
Some of the pointer arguments of some functions were not asserted. This
commit fixes that. To add to this, userdata is no longer asserted, since
it is not used anywhere, only passed on to the callback. This way the
user can pass NULL if he doesn't need to use it.
Change-Id: I1c6c616fef5ccb95fc6d2465a01f0df68af2b2a6
Michal Bloch [Fri, 15 Nov 2019 11:18:34 +0000 (12:18 +0100)]
Unsupported buffer set retval: EINVAL → ENOTSUP
Change-Id: I370bfc46d6326a8ae14cae89da87623adb8c7a03
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 19 Nov 2019 10:22:22 +0000 (11:22 +0100)]
libdlog doesn't modify errno from outside PoV
Change-Id: If5b0fabec233d805041fa534933828cc72bf87cf
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 7 Nov 2019 20:14:43 +0000 (21:14 +0100)]
Document the behaviour of CAP_SYSLOG
Change-Id: I3fe9d45220883b17141203539928059f57847bc1
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Fri, 8 Nov 2019 09:32:10 +0000 (10:32 +0100)]
Optimize terminal detection
dlogutil needs to check if it's printing to the terminal or not in order
to see if it needs to apply colors or not in the automatic color mode.
Previously, we checked this repeatedly on every log we printed. However,
whether we are printing to the terminal or not shouldn't change at all.
Therefore, we should only check this once, during setup, and then never
call isatty() again. This commit achieves that.
Change-Id: I2084a4efbfeab057f33028a4b298a929aa3d5851
Michal Bloch [Thu, 7 Nov 2019 12:24:09 +0000 (13:24 +0100)]
Fix missing logs when a dlogutil pipe gets clogged
Change-Id: I44e5c53401abc03605fdc9a0c15e5611742d31a1
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 7 Nov 2019 11:15:51 +0000 (12:15 +0100)]
Update the version to 6.0 in autoconf as well
Change-Id: Ic1bbc298d6922f182e6f2b9ad22f23f166ae43a0
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Wed, 6 Nov 2019 16:17:57 +0000 (17:17 +0100)]
Rename SORT_* to DLOGUTIL_SORT_*
Change-Id: I5ddf6b95b4abf24dfaecd464b94015c7bdeb51f5
Mateusz Majewski [Wed, 30 Oct 2019 16:01:00 +0000 (17:01 +0100)]
Fix a SVACE complaint
The complaint is that the function should be checked for NULL before
dereferencing. This is wrong, since we build the struct and so we can
be sure that it is indeed correctly built. However, it's simpler to just
do the check so that SVACE doesn't complain.
Change-Id: I4664170c25b2a7feeb4b25fafb6ebb9741016f5e
Mateusz Majewski [Wed, 30 Oct 2019 14:48:41 +0000 (15:48 +0100)]
Rename log_add_filter_string to dlogutil_filter_options_filterspec
Change-Id: I15b5b5aa930e36fb040d198d63d994cf2c57afa5
Mateusz Majewski [Wed, 30 Oct 2019 14:44:11 +0000 (15:44 +0100)]
Rename log_add_filter_pid to dlogutil_filter_options_pid
Change-Id: I5ed69dddb731f57d1f545110b306351f8ae379e0
Mateusz Majewski [Wed, 30 Oct 2019 14:41:00 +0000 (15:41 +0100)]
Rename log_add_filter_tid to dlogutil_filter_options_tid
Change-Id: Idaee63aacd2fc8cf62048a9792b5ce38d052958c
Mateusz Majewski [Wed, 30 Oct 2019 14:34:06 +0000 (15:34 +0100)]
Rename log_buffer_get_message to dlogutil_entry_msg
Change-Id: I95984f9affaf6ab8ebb6616a458933c0a0322f48
Mateusz Majewski [Wed, 30 Oct 2019 14:30:11 +0000 (15:30 +0100)]
Rename log_buffer_get_tag to dlogutil_entry_tag
Change-Id: I2b98af866377c176415e2113df3fc36dae21d893
Mateusz Majewski [Fri, 25 Oct 2019 07:30:34 +0000 (09:30 +0200)]
Rename log_filter to dlogutil_filter_options
This also changes the namespace, as log_filter used to be a typedef, but
dlogutil_filter_options is just a normal struct.
Change-Id: I7a0aed07fd8ec0318e07269307c65d09d66e65fe
Mateusz Majewski [Fri, 25 Oct 2019 06:24:16 +0000 (08:24 +0200)]
Slightly improve log_filter_add_*
Change-Id: I296b6a6317bc5829fb88ca69aa6844bbafc5b6c0
Mateusz Majewski [Thu, 24 Oct 2019 10:11:36 +0000 (12:11 +0200)]
Refactor extract_timestamp and rename to dlogutil_entry_ts
Change-Id: I0c6ee97ad3a39fe66a8cf64e4957a80d52b4b17e
Hyotaek Shim [Tue, 5 Nov 2019 09:47:21 +0000 (18:47 +0900)]
Add __dlog_sec_print() to keep backward compatibility with existing MCD in-house Apps
.#define SECURE_LOG_(id, prio, tag, fmt, arg...) \
({ do { \
__dlog_sec_print(id, prio, tag, "%s: %s(%d) > [SECURE_LOG] " fmt, __MODULE__, __func__, __LINE__, ##arg); \
} while (0); })
root@localhost:/usr/apps/com.samsung.w-manager-service/bin# ./w-manager-service
appcore: Failed to get application ID - pid(3962)
./w-manager-service: symbol lookup error: ./w-manager-service: undefined symbol: __dlog_sec_print
root@HyotaekShim:/platform/AppStoreWhitelist/
20191106# grep -r __dlog_sec_print
000001044261_com.samsung.w-dialer2_100015.txt:__dlog_sec_print
000004264895_com.samsung.tizen.bixby-voice_210200007.txt:__dlog_sec_print
000001913406_com.samsung.w-spotify_300002.txt:__dlog_sec_print
000001902170_com.samsung.w-spotify_300001.txt:__dlog_sec_print
000002736570_com.samsung.w-manager-service_500300013.txt:__dlog_sec_print
000002420102_com.samsung.samsung-pay-app_100400303.txt:__dlog_sec_print
000001915993_com.samsung.w-spotify_300002.txt:__dlog_sec_print
000002750274_com.samsung.w-logs2_100300011.txt:__dlog_sec_print
000002738273_com.samsung.w-contacts2_100200074.txt:__dlog_sec_print
...
Change-Id: Ieda4e759213ab50810540574d98f72bb0491c6c9
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Michal Bloch [Tue, 5 Nov 2019 12:21:06 +0000 (13:21 +0100)]
Bump version to 6.0.1
Tizen 5.5 just had a release and forked off.
Change-Id: I452d9ccb456b7a5a28ee00ef1e56987f79b8ccbe
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Thu, 24 Oct 2019 09:05:10 +0000 (11:05 +0200)]
Improve log_buffer_get_* exceptional conditions
We now handle the case in which the struct lacks the ending '\0'.
This would mean that one could read past the end of the struct while
using the result.
Change-Id: Ie70ffd57181dd351ab94db27550b8f967235648f
Mateusz Majewski [Thu, 24 Oct 2019 08:51:22 +0000 (10:51 +0200)]
Add some missing consts
Change-Id: I22c50dea669bb940dc25871dc47d5ed8afaede6f
Mateusz Majewski [Mon, 21 Oct 2019 06:18:51 +0000 (08:18 +0200)]
Rename DUMP_{CONTINUOUS,INFINITE}
Change-Id: Ibc5746ba2bd82b115f8a41cc6378e301cd47c80b
Michal Bloch [Wed, 9 Oct 2019 15:16:25 +0000 (17:16 +0200)]
Add a basic design overview document
Change-Id: Ic70b6025143ca00cd7c7441e254a242defe2feef
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Fri, 11 Oct 2019 16:26:26 +0000 (18:26 +0200)]
Add dlogutil_ prefix to logger_entry
Change-Id: Ic5caa8139956f1dfff3dc5296a0a67e763a567ae
Mateusz Majewski [Fri, 11 Oct 2019 16:12:16 +0000 (18:12 +0200)]
Add dlogutil_ prefix to write_callback
Change-Id: I2d1778741a66f1aee13d74e61208c489788009bb
Mateusz Majewski [Fri, 11 Oct 2019 16:04:28 +0000 (18:04 +0200)]
Add dlogutil_ prefix to sorting_order
Change-Id: I069c761ff6c6c390d994ac843efbf7d6cc24a6d9
Mateusz Majewski [Tue, 1 Oct 2019 06:43:31 +0000 (08:43 +0200)]
Move all pipe backend filtering server-side
Previously, we used to carry around two filter settings objects in
dlogutil: a filter list, which contained a simple text list of all
filterspecs, and a filter object, which contained info about all other
filters set. The logger backend merged those two together and used
them to filter everything locally, while the pipe backend sent the
filter list to the server and filtered locally on filter object. This
patch does away with the filter list, so that everything is in the
filter object, and enables client to send the filter object. In
particular, this means that the server is able to filter by TID and PID
now.
Change-Id: Ic962da04a5657527f2f80fe20e35caa75d7e2782
Mateusz Majewski [Mon, 7 Oct 2019 06:34:17 +0000 (08:34 +0200)]
Fix FilterInfo to use pid_t for tid
Change-Id: If22062d76d02f62baad5fff5e756adbba56d0caf
Mateusz Majewski [Thu, 26 Sep 2019 12:49:25 +0000 (14:49 +0200)]
Refactor filter list a bit
Change-Id: Ic69af18d2b91608708227c3c8c86d1f8dda842d1
Michal Bloch [Mon, 23 Sep 2019 15:49:26 +0000 (17:49 +0200)]
Fix issues found by static analysis.
Change-Id: I4d1e87a5e3b8091f5503d105a41764358e5b6840
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 25 Sep 2019 14:36:57 +0000 (16:36 +0200)]
Replace strerror with %m
Change-Id: I071303c25389b958fd4d9ad5c3e74af97c92fe09
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Yunmi Ha [Wed, 25 Sep 2019 14:38:46 +0000 (16:38 +0200)]
Fix coverity issue
- resolve "Uninitialized pointer read"
Change-Id: If160a36be2cd77ed7dadc8056b234098470a52a4
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Tue, 24 Sep 2019 06:13:18 +0000 (08:13 +0200)]
Change size and dumping count types into size_t
This also requires changing a magic value triggering the infinite dump
mode from -1 into SIZE_MAX.
Change-Id: Ib033921ca72001de2570bf740383a8471e9cae35
Mateusz Majewski [Fri, 20 Sep 2019 12:07:50 +0000 (14:07 +0200)]
Don't output errors in dlogutil outside of logutil.c
This is useful, beacuse those functions will probably end up being used
in libdlogutil, and writing to stderr in a library seems like a bad
idea.
Change-Id: Ic07ed3548bf901ea4878d4a54a3824a0760a9b88
Mateusz Majewski [Fri, 20 Sep 2019 12:28:59 +0000 (14:28 +0200)]
Add meaningful error codes
Change-Id: Ic633e51ba49e8e9261ce4e9f33efec8a66f6079a
Mateusz Majewski [Thu, 19 Sep 2019 10:53:08 +0000 (12:53 +0200)]
Fill the seconds field of invalid timestamps
We used to fill only nsec with -1. However, this means that the sec
field is kept uninitialized. This means that reading it would be
undefined behavior, which is bad. This doesn't seem to happen in
dlogutil as is, but it would be possible when choosing a timestamp to sort
on is be implemented.
Also, a slight change to sort vector is done so that it works well in
such situation.
Change-Id: I501adad093c0782433d014395e8cc752f7d48574
Mateusz Majewski [Wed, 18 Sep 2019 08:44:55 +0000 (10:44 +0200)]
Propagate callback return value
This will be especially useful in libdlogutil, where it will enable the
user of the library to return a nonzero value from the callback in order
to stop log processing.
Change-Id: I0565be6f8af2c7804a129250075778ec3f2b2e7c
Mateusz Majewski [Tue, 17 Sep 2019 06:21:52 +0000 (08:21 +0200)]
Fix an include
Change-Id: I5368742a9054956d5b8506b92b47551a43b0cbb6
Mateusz Majewski [Wed, 11 Sep 2019 11:59:59 +0000 (13:59 +0200)]
Fix an off-by-one inconsistency in the "out of order" message
The len field of the logger_entry should contain the byte size of the
msg field. However, in this case, the final null byte is not counted.
This is not really a bug since we should handle this case, but
nevertheless an inconsistency with the rest of the dlogutil.
Change-Id: Icf2277abc8dd7f8cd1885fc53dd49c9bdede623d
Mateusz Majewski [Tue, 10 Sep 2019 05:56:36 +0000 (07:56 +0200)]
Remove unnecessary newlines at the end of the files
Change-Id: I5ad464bb853b3209f9a87ac899c3be677c1a8942
Mateusz Majewski [Thu, 22 Aug 2019 09:41:48 +0000 (11:41 +0200)]
Create and fill logretrieve.{c,h}
Change-Id: I4f0402cb2d8ff38e1b371b63600dd79e1aa467b3
Mateusz Majewski [Mon, 9 Sep 2019 09:39:39 +0000 (11:39 +0200)]
Move pipe/logger backend choice logic to create_initial_fdis
Change-Id: I3221f256d96e014200875a87467ed4b3eab5cd79
Mateusz Majewski [Thu, 22 Aug 2019 09:15:45 +0000 (11:15 +0200)]
Move flush_logs into sort_vector.c
It's now called sort_vector_flush.
Change-Id: I9a90166e81bb129df7529c92626fa80c7ae84f10
Mateusz Majewski [Fri, 6 Sep 2019 08:59:02 +0000 (10:59 +0200)]
Move buffer choice validation into create_initial_fdis
Change-Id: I3328790d7ef438aaa7dd99a22b12c3243145c292
Mateusz Majewski [Fri, 6 Sep 2019 07:23:16 +0000 (09:23 +0200)]
Move sort_vector initialization into do_print
This way, main doesn't have to care about the sort_vector at all.
Change-Id: Iaf9f80957f1df40f1113f0cdd7428aef782d3baf
Mateusz Majewski [Mon, 9 Sep 2019 06:18:10 +0000 (08:18 +0200)]
Add some missing const qualifiers
Change-Id: I521e570921a07b93c7fbdd6cef0abcb1f2409fba
Mateusz Majewski [Fri, 23 Aug 2019 09:34:42 +0000 (11:34 +0200)]
Set some sort_vector fields indirectly
This way, we don't need to pass the sort_vector to the parse_options
function.
Change-Id: Iffe9436e847846b4dc4d1c39123ada87526a0db5
Mateusz Majewski [Fri, 6 Sep 2019 11:50:51 +0000 (13:50 +0200)]
Move some arguments into a common struct
Change-Id: Iacb5461d42688128c52842e20c8d32317b3cd60a
Mateusz Majewski [Fri, 6 Sep 2019 13:12:16 +0000 (15:12 +0200)]
Fix log_filter_free
Change-Id: I3a23f7a2303d4659aacd2fbd9e88a5a4bf046893
Mateusz Majewski [Fri, 6 Sep 2019 05:56:56 +0000 (07:56 +0200)]
Fix some minor issues with the last refactor
Change-Id: I1883acd871bbb09d55c14f1d766499be4b0a05af
Mateusz Majewski [Mon, 26 Aug 2019 09:58:58 +0000 (11:58 +0200)]
Refactor set_sorting
This will allow us to reuse the same code in libdlogutil in a clean way.
Change-Id: I97b44d639ce4da91e83a2243919318ba0f81f96d
Mateusz Majewski [Wed, 21 Aug 2019 10:51:59 +0000 (12:51 +0200)]
Move sort_vector_time_span into sort_vector.c
Change-Id: I4a948c731e41b16909f14576adeba86001526e64
Mateusz Majewski [Tue, 27 Aug 2019 13:25:43 +0000 (15:25 +0200)]
Move print preparation into do_print
Motivation for this is two-fold. First, it will allow us to reuse it in
the libdlogutil in the future. Second, it allows us to merge the two
loops that appear there (especially since do_print already did some
additional preparation on the FDIs).
Change-Id: Icd026476f3f453ccaca69ed992b32611f07c3a0a
Mateusz Majewski [Wed, 21 Aug 2019 12:39:02 +0000 (14:39 +0200)]
Fix process_log docs
Oops! I actually had this done, but I did it in a separate commit and
forgotten to actually apply this change :(
Change-Id: I41cdbacb73bb4315e3a3ca904b4efbe4cb1aaaef
Mateusz Majewski [Wed, 14 Aug 2019 06:26:25 +0000 (08:26 +0200)]
Move various files from dlogutil into shared locations
This is due to the need to use them in the upcoming libdlogutil.
Change-Id: I7048116972dbef9e345b333a91f92c2067188c5a
Mateusz Majewski [Wed, 14 Aug 2019 06:26:25 +0000 (08:26 +0200)]
Pass the printing function in dlogutil by a callback
Currently it doesn't matter, however, this will come in handy when
implementing libdlogutil, since it will allow to reuse the code, but
do an arbitrary operation.
Change-Id: Ie7b907ef9409af53ec8d8aa8893c6ba6a5f57c02
Michal Bloch [Tue, 3 Sep 2019 11:15:50 +0000 (13:15 +0200)]
Add tests for some recently changed code
Change-Id: Ic89168dc09aa50fd80e10124e588cade9d2ae8f0
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Maciej Slodczyk [Tue, 3 Sep 2019 08:45:31 +0000 (10:45 +0200)]
Fix tests for future timestamps
Change-Id: I15b3242b10d643ade27f33fd8fb65710148afd68
Signed-off-by: Maciej Slodczyk <m.slodczyk2@partner.samsung.com>
Michal Bloch [Mon, 2 Sep 2019 15:05:22 +0000 (17:05 +0200)]
Fix future timestamps
Change-Id: I65e9389733d0d6718d9bf5523b9d65d52d4265d1
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 30 Aug 2019 12:03:47 +0000 (14:03 +0200)]
Fix a potential null ptr dereference
Change-Id: I5541047d606dea988b5ce5b54cb7394a3aba78ac
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Hyotaek Shim [Fri, 30 Aug 2019 10:29:29 +0000 (19:29 +0900)]
Remove destructor and destruction_lock
Change-Id: Id68323d0b8981b8cbfff53a847ced8a0b1569fb4
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Michal Bloch [Fri, 30 Aug 2019 10:11:22 +0000 (12:11 +0200)]
Fix dlogutil getting blocked by clock changes
Change-Id: Iece15b17e78824c310d94b9f3d0228017af3f019
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 29 Aug 2019 11:36:54 +0000 (13:36 +0200)]
libdlog: handle thread cancellation
Change-Id: If52fa194ce10aab5e1766ed204c438fa62c03ba3
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Yunmi Ha [Tue, 27 Aug 2019 06:27:14 +0000 (15:27 +0900)]
Fix svace issue
Change-Id: Ia2d8b4a8253dd0c771456ea2579fe3c17b4c69fd
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Mateusz Majewski [Fri, 23 Aug 2019 06:38:10 +0000 (08:38 +0200)]
Move the get_format_sorting call
This makes the set_sorting function slightly more general.
Change-Id: Ic77b0fa60bb4007baa90779905e6381e54262078
Mateusz Majewski [Fri, 23 Aug 2019 06:37:17 +0000 (08:37 +0200)]
Make sure the JSON format uses default sorting
Change-Id: If20ef91a202adf993b923b2f992036c6dcee88ac
Michal Bloch [Wed, 21 Aug 2019 13:27:14 +0000 (13:27 +0000)]
Merge "Move log filtering out of log writing" into tizen
Michal Bloch [Wed, 21 Aug 2019 13:26:52 +0000 (13:26 +0000)]
Merge "Decouple filtering and formatting messages" into tizen
Mateusz Majewski [Wed, 14 Aug 2019 09:24:08 +0000 (11:24 +0200)]
Add some JSON tests
Note that it still remains to test some of the failure cases.
Change-Id: Ie2222875b7ecafd44400e671d8b5dc51d002c694
Mateusz Majewski [Mon, 12 Aug 2019 08:25:25 +0000 (10:25 +0200)]
Move log filtering out of log writing
This also adds a nice bonus -- now, in dlogutil, the incoming logs
are only filtered once, and in one place.
Change-Id: I443b48967344353b0a92731295d11a369d9de2fb
Mateusz Majewski [Thu, 1 Aug 2019 10:58:25 +0000 (12:58 +0200)]
Decouple filtering and formatting messages
The log_filter struct contains both info on which messages to print,
and info on how to print them. If we want to provide a simple API that
allows applications to read log messages, we need to know which messages
to give to them, but there's no printing involved. Therefore, we need to
split the log_filter struct into the two structs, each with a single
responsibility.
To add to this, the filtering data is contained in the log_file struct.
All the other data contained in it is only meaningful when printing.
Therefore, we also need to pull the log_filter struct out of it, as we
probably are not going to use the log_file struct in the future
libdlogutil library.
Change-Id: Ied9e34ece9c7ee34c8249fcd201c167275a27fb3
Mateusz Majewski [Fri, 16 Aug 2019 08:35:04 +0000 (10:35 +0200)]
Cover a line in logconfig.c
Change-Id: I422cbbfdb0a96e173a0a08615e309530fe3cba45
Mateusz Majewski [Fri, 16 Aug 2019 09:19:43 +0000 (11:19 +0200)]
Fix various typos
Change-Id: I0e288eb04c33dfcdb0a1e728cddca1a340c150ba
Mateusz Majewski [Wed, 14 Aug 2019 11:33:12 +0000 (13:33 +0200)]
Fix logprint time_t handling
In JSON formatting, I passed to localtime an int variable cast to
time_t. This is UB, as the size of time_t is not defined (in fact,
time_t doesn't even need to be an integer in C). This commit fixes this
by assigning the data to a temporary time_t variable.
Also, such a system was already present when formatting to other
formats, but it featured an unnecessary cast, which this commit removes.
Change-Id: I75d30cf211b9d05c833a798070cf3c0a445956ef
Yunmi Ha [Wed, 10 Jul 2019 02:48:12 +0000 (11:48 +0900)]
Fix coverity issues
- check return value
- initialize the memory
Change-Id: Iebf46f98466d94991e949687ffb6310a4c1c85d5
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Karol Lewandowski [Fri, 2 Aug 2019 15:19:25 +0000 (15:19 +0000)]
Merge "Fix a potential privilege escalation" into tizen
Michal Bloch [Tue, 12 Feb 2019 10:50:57 +0000 (11:50 +0100)]
shared: fix timestamp inconsistencies
Change-Id: I123446edceeaa9d0552f30a351fb150aa45125ed
Michal Bloch [Mon, 29 Jul 2019 13:45:56 +0000 (15:45 +0200)]
Fix a potential privilege escalation
Change-Id: I97a4fa568a5a0eb035981803f85addcee833fec4
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Wed, 10 Jul 2019 13:11:08 +0000 (15:11 +0200)]
Add the JSON format to dlogutil
Change-Id: I10600b919c73d4279f34721a0a3e0bf7efc425a5
Mateusz Majewski [Thu, 25 Jul 2019 09:47:21 +0000 (11:47 +0200)]
Add marking invalid timestamps
Some formats don't include both realtime and monotonic timestamps.
Currently, the missing timestamps are set to various values (either
the other timestamp or 0). This commit makes it so the nanosecond value
of missing timestamps is set to a normally impossible value of -1.
Change-Id: I458b9049e9e5b0581ae138a352b66b9821e3fc5a