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>
(cherry picked from commit
5c9a295667aeefe3b6798a55e37c78f45e8f4bac)
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>
(cherry picked from commit
054cb817e5a17f6de767fff4824419c5961385ab)
Michal Bloch [Mon, 18 Nov 2019 18:45:59 +0000 (19:45 +0100)]
Bump version to 5.5.2
Change-Id: I5436d998fb2c4a1f3024459c949a3ab308576422
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>
(cherry picked from commit
6afdbf69c184f8b1b466af16d65272ad9e7f757a)
Hyotaek Shim [Mon, 18 Nov 2019 06:25:32 +0000 (15:25 +0900)]
Merge remote-tracking branch 'origin/tizen' into tizen_5.5
Change-Id: I61629726beea22845c40fc757750b72a0abc5d17
Signed-off-by: Hyotaek Shim <hyotaek.shim@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>
(cherry picked from commit
e79a3426c5ef1a69bf24cb20d3df2a6d8d6174ad)
(cherry picked from commit
6ca4f6a8f0a054e9770f3a2c43705475483158f0)
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
Mateusz Majewski [Fri, 26 Jul 2019 11:09:46 +0000 (13:09 +0200)]
Add some more tests covering a part of logger.c
Change-Id: I0c03265bdc859809b3f7d0187fd9b52c3ec4a256
Mateusz Majewski [Tue, 23 Jul 2019 10:49:49 +0000 (12:49 +0200)]
Address the complaints of SVACE
One of them is even legitimate -- if the test was run in low memory
conditions, it could try to dereference NULL. Thanks, SVACE!
Change-Id: I61e835cc883daf6201d6ecb1a09e633047ad988f
Mateusz Majewski [Tue, 23 Jul 2019 10:10:49 +0000 (12:10 +0200)]
Reuse writer_close_fd in writer_free
It's still useful to have writer_free, since writer_create puts the new
writer directly on the heap.
Change-Id: Ia9dec7651ff322ab39818ff23e7e6f8540cf1259
Mateusz Majewski [Tue, 23 Jul 2019 08:53:06 +0000 (10:53 +0200)]
Improve modify_fd_entity
In a case in which modify_fd_entity failed, it would still record the
modification as done. This would make it fail silently without calling
epoll_ctl next time it was called, which is at least unintuitive.
Change-Id: I85b427c376e08241d33b2f864c8d16ad53c5cd7a
Mateusz Majewski [Fri, 19 Jul 2019 08:34:24 +0000 (10:34 +0200)]
Add tests covering a minor part of logger.c
Covering the entire file will unfortunately be difficult, as this commit
is already big (and pretty ugly), yet it only covers 1/6 of logger.c.
Change-Id: I46825c5c2dfaad00791356b2d3944bb54185819b
Mateusz Majewski [Fri, 19 Jul 2019 13:08:22 +0000 (15:08 +0200)]
Cover the last line of logprint.c
Change-Id: I7014206d3fc8942ba9410a19eef4a3d6b82d8fe5
Mateusz Majewski [Thu, 18 Jul 2019 12:01:15 +0000 (14:01 +0200)]
Fix a minor FD leak
Not that it matters, since we quit immediately if this happens,
but still.
Change-Id: Id97227e9cf8f377626d61144b1506f524c2a46d5
Mateusz Majewski [Thu, 18 Jul 2019 09:21:01 +0000 (11:21 +0200)]
Add tests covering a part of logutil.c
Sadly, I think that testing the remaining functions will be difficult
(too difficult for me) without refactoring them.
Change-Id: I8a37c3ba4e213f784d6b85356d235298e0cfb5c1
Mateusz Majewski [Fri, 5 Jul 2019 12:55:23 +0000 (14:55 +0200)]
Add colored headers
Change-Id: I8b83709073604799fa38855f2c5ff2b46533a52a
Mateusz Majewski [Tue, 9 Jul 2019 07:17:52 +0000 (09:17 +0200)]
Convert FilterInfo's custom list to the one from ptrs_list
Change-Id: If2b4373209b16b4b8e50e2a302f3568009e059e3
Mateusz Majewski [Tue, 16 Jul 2019 07:34:37 +0000 (09:34 +0200)]
Change config so that we won't try to open /dev/null
While this is not the prettiest syntax imaginable (and it might remind
some people of Pascal), it's probably the simplest way to achieve our
goal, since there's no need for any additional code.
Change-Id: Id8258932479fbd8d015193e1ed62ca3f6a62d5fe
Mateusz Majewski [Mon, 15 Jul 2019 09:00:17 +0000 (11:00 +0200)]
Add fdi_pipe.c tests
Also, a little issue in send_logger_request was found; it could send
too many null bytes at the end of the message. This was also fixed.
Change-Id: I410bd91bfc2329768be9397c6d095830ff1d2d00
Mateusz Majewski [Mon, 15 Jul 2019 12:43:03 +0000 (14:43 +0200)]
Fix reset_self_privledges
Change-Id: Icad7b11b46e6da1095e7c728ad9d68c83540f771
Mateusz Majewski [Wed, 10 Jul 2019 06:29:58 +0000 (08:29 +0200)]
Add tests for the monotonic timestamps functionality
Change-Id: I6a4f32d604acba8b6145a0817112a5c998fc2ab1
Michal Bloch [Fri, 12 Jul 2019 19:37:15 +0000 (19:37 +0000)]
Merge "Add new tests to cover a branch in fdi_push_log" into tizen
Mateusz Majewski [Thu, 11 Jul 2019 08:03:08 +0000 (10:03 +0200)]
Make dlogutil not quit on SIGSTOP
Change-Id: Ie02d4a8b4c86b86a5f273a5870db53ac05bd9640
Mateusz Majewski [Wed, 10 Jul 2019 10:04:17 +0000 (12:04 +0200)]
Add new tests to cover a branch in fdi_push_log
Change-Id: I1a2ad76ba932b8df3824563cc6f54a43e41e1995