summaryrefslogtreecommitdiffstats
path: root/logd/Android.mk
Commit message (Collapse)AuthorAgeFilesLines
* logd + liblogd to Android.bpSteven Moreland2017-06-291-67/+0
| | | | | Test: boot, adb logcat produces output Change-Id: I89e7f9a19e139d3f5a71040b1555d01913946b85
* Modularize logd.Chenjie Luo2017-04-281-10/+29
| | | | | | | | | | | Separates logd body into a static library liblogd and virtualize LogBuffer::log to be in a new interface class LogBufferInterface. User could have different implementation. Bug: 37756450 Test: liblog-unit-tests, logd-unit-tests and logcat-unit-tests with (b/37791296). Change-Id: I1504ff0e992744001b5a2e9abd45692d1318a152
* logd: add getEventTag command and serviceMark Salyzyn2017-02-021-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Will register a new event tag by name and format, and return an event-log-tags format response with the newly allocated tag. If format is not specified, then nothing will be recorded, but a pre-existing named entry will be listed. If name and format are not specified, list all dynamic entries. If name=* list all event log tag entries. Stickiness through logd crash will be managed with the tmpfs file /dev/event-log-tags and through a reboot with add_tag entries in the pmsg last logcat event log. On debug builds we retain a /data/misc/logd/event-log-tags file that aids stickiness and that can be picked up by the bugreport. If we detect truncation damage to /dev/event-log-tags, or to /data/misc/logd/event-log-tags, rebuild file with a new first line signature incorporating the time so mmap'd readers of the file can detect the possible change in shape and order. Manual testing: Make sure nc (netcat) is built for the target platform on the host: $ m nc Then the following can be used to issue a request on the platform: $ echo -n 'getEventTag name=<name> format="<format>"\0EXIT\0' | > nc -U /dev/socket/logd Test: gTest logd-unit-test --gtest_filter=getEventTag* Bug: 31456426 Change-Id: I5dacc5f84a24d52dae09cca5ee1a3a9f9207f06d
* logd: sum liblog tag messagesMark Salyzyn2016-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As an extension to the duplicate multiple message filtering, special case liblog tagged event messages to be summed. This solves the inefficient and confusing duplicate message report from the DOS attack detection such as: liblog: 2 liblog: 2 liblog: 2 liblog: 2 liblog: 3 which would result in: liblog: 2 chatty: ... expire 2 lines liblog: 2 liblog: 3 And instead sums them and turns them all into: liblog: 11 liblog messages should never be subject to chatty conversion. Test: liblog-benchmarks manually check for coalesced liblog messages and make sure they do not turn into chatty messages. Instrumented code to capture sum intermediates to be sure. Bug: 33535908 Change-Id: I3bf03c4bfa36071b578bcd6f62234b409a91184b
* logd: drop libminijail dependencyMark Salyzyn2016-11-031-1/+1
| | | | | | | | | Use libcap instead of libminijail. Set CAP_SETGID before setgroups, then clear it afterwards. Test: gTest logd-unit-tests, liblog-unit-tests and logcat-unit-tests Bug: 32450474 Change-Id: I2ed027fd5efd95f76b1dd4c5791bae5f2ea94c28
* Merge \"logd: Use Minijail for privilege dropping.\"Jorge Lucangeli Obes2016-07-201-1/+2
|\ | | | | | | | | | | am: d3dfd95728 Change-Id: I4ee161fac939c57f273e4af669c3e845b81a4b45
| * logd: Use Minijail for privilege dropping.Jorge Lucangeli Obes2016-07-191-1/+2
| | | | | | | | | | | | | | | | Makes code smaller, removes duplication. Using Minijail also allows adding further sandboxing down the road. Bug: 30156807 Change-Id: I8fa242fba545049ee82f6655fe6ecc14c53fcab7
* | Merge \"logd: Replace logd with chatty log tag\"Mark Salyzyn2016-07-151-1/+1
|\| | | | | | | | | | | am: 596e65db60 Change-Id: I88057f1ffb21e6b0863dd0803a7a9be0ee72cb1c
| * logd: Replace logd with chatty log tagMark Salyzyn2016-07-151-1/+1
| | | | | | | | | | Bug: 30118730 Change-Id: I7c7802fef157d5ded02573621d21e0ded3df9745
| * logd: enforce policy integritySami Tolvanen2016-02-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a SELinux policy change or a switch to permissive mode is detected on a user build, restart the device into safe mode, and keep it there until an OTA is applied or user data is wiped. This change deprecates the ro.logd.auditd property. Needs matching changes from I781c3059ea8d4fb2f0c923e4488b1932d69678d3 Ica825cf2af74f5624cf4091544bd24bb5482dbe7 Id3ca7889ede30b54b7af73dd50653ca1a20d59aa Bug: 26902605 Change-Id: Idcdc5bff133f13c1267f0ec0a75cc8cf1ddbda0d
* | Revert "logd: enforce policy integrity"Sami Tolvanen2016-06-141-4/+0
| | | | | | | | | | | | | | This reverts commit 0bdad0f231103db89f2c0931616dd78309258d3b. Bug: 26902605 Change-Id: I6ce8fa7bef63c45821628265c379970eb64963a2
* | logd: enforce policy integritySami Tolvanen2016-02-221-0/+4
|/ | | | | | | | | | | | | | | | | If a SELinux policy change or a switch to permissive mode is detected on a user build, restart the device into safe mode, and keep it there until an OTA is applied or user data is wiped. This change deprecates the ro.logd.auditd property. Needs matching changes from I781c3059ea8d4fb2f0c923e4488b1932d69678d3 Ica825cf2af74f5624cf4091544bd24bb5482dbe7 Id3ca7889ede30b54b7af73dd50653ca1a20d59aa Bug: 26902605 Change-Id: Idcdc5bff133f13c1267f0ec0a75cc8cf1ddbda0d (cherry picked from commit d122ee65b66b5b33d51302dabbaa0d6c84597549)
* Revert "logd: liblog: whitelist "snet_event_log""Mark Salyzyn2016-01-061-3/+1
| | | | | | | | | | Callers will not guarantee that they can or will ratelimit, we need to retain the ability to blacklist snet_event_log as a result. This reverts commit 6aa21b225dd1600473388bd640443653d649420a. Bug: 26178938 Change-Id: Ibf47d2e23a84c56f5f72d02312c698df7ff2b601
* logd: liblog: whitelist "snet_event_log"Mark Salyzyn2015-12-301-1/+3
| | | | | | | | | | Dangerous bridge to cross to whitelist, who is special, who is not? Rationalized as these events are used to catch exploits on platform. As it stands no one should be allowed to block any messages in the security context, not even for development purposes. Bug: 26178938 Change-Id: Ibdc76bc0fe29ba05be168b623af1c9f41d7edbd2
* Logd: Fix missing include of rc fileAndreas Gampe2015-10-221-0/+2
| | | | | | This went missing in commit aeca97ba1cb6fdc028dd2f1f984eebb40c85b1fc. Change-Id: I9d7e48a2ffb1649f3fa515a9d12d5fbdd2ed58b7
* logd: use libpackageparserWilliam Roberts2015-10-141-3/+2
| | | | | | | | Switch from the internal packages.list file parser implementation to a common parser library. Change-Id: I87a406802f95d8e7bfd8ee85f723f80e9e6b6c0c Signed-off-by: William Roberts <william.c.roberts@intel.com>
* logpersist: bundle with logcatd serviceMark Salyzyn2015-09-211-11/+0
| | | | | Bug: 23186545 Change-Id: I130d7c7e120acb372e58aec028f39e161d53628e
* Merge changes from topic 'init-rc-breakup'Tom Cherry2015-08-211-0/+2
|\ | | | | | | | | | | * changes: init: Queue Triggers instead of Actions bundle init.rc contents with its service
| * bundle init.rc contents with its serviceTom Cherry2015-08-211-0/+2
| | | | | | | | | | Bug: 23186545 Change-Id: I52616b8ab1165fdef716f9b8f958665f2308c12e
* | logd: statistics switch to std::stringMark Salyzyn2015-08-201-1/+0
| | | | | | | | | | Bug: 23350706 Change-Id: I5564898c4f67b8fcc43cee64604855f789409482
* | logd: white and black switch to std::stringMark Salyzyn2015-08-201-1/+2
|/ | | | | Bug: 23350706 Change-Id: I92f21aee0a9702f63e8465851d0f35007b0469a7
* init.rc: logd: Add logpersistd (nee logcatd)Mark Salyzyn2015-06-021-0/+11
| | | | | | | | | | | | | | | | | - logpersistd is defined as a thread or process in the context of the logd domain. Here we define logpersistd as logcat -f in logd domain and call it logcatd to represent its service mechanics. - Use logcatd to manage content in /data/misc/logd/ directory. - Only turn on for persist.logd.logpersistd = logcatd. - Add logpersist.start, logpersist.stop and logpersist.cat debug class executables, thus only in the eng and userdebug builds. ToDo: Wish to add Developer Options menu to turn this feature on or off, complicated by the fact that user builds have no tools with access rights to /data/misc/logd. Bug: 19608716 Change-Id: I57ad757f121c473d04f9fabe9d4820a0eca06f31
* logd: Add klogdMark Salyzyn2015-05-121-0/+1
| | | | | | | | | | | | | | | | - Add a klogd to collect the kernel logs and place them into a new kernel log buffer - Parse priority, tag and message from the kernel log messages. - Turn off pruning for worst UID for the kernel log buffer - Sniff for 'PM: suspend exit', 'PM: suspend enter' and 'Suspended for' messages and correct the internal definition time correction against monotonic dynamically. - Discern if we have monotonic or real time (delineation 1980) in audit messages. - perform appropriate math to correct the timestamp to be real time - filter out any external sources of kernel logging Change-Id: I8d4c7c5ac19f1f3218079ee3a05a50e2ca55f60d
* logd: annotate worst-UID pruned entriesMark Salyzyn2015-04-101-1/+2
| | | | | | | | | | | | | | | | - internal dropped entries are associated by prune by worst UID and are applied by UID and by PID - track dropped entries by rewriting them in place - merge similar dropped entries together for same UID(implied), PID and TID so that blame can more clearly be placed - allow aging of dropped entries by the general backgound pruning - report individual dropped entries formatted to reader - add statistics to track dropped entries by UID, the combination of statistics and dropped logging can track over-the-top Chattiest clients. Bug: 19608965 Change-Id: Ibc68480df0c69c55703270cd70c6b26aea165853
* logd: build cleanupMark Salyzyn2015-03-091-1/+10
| | | | | | - Hard code the "auditd" event tag Change-Id: I5f76fd286628be5c0ca819e8ed775648c0d2fa44
* logd: logcat: debuggerd: auditd logs to eventsMark Salyzyn2014-05-151-2/+3
| | | | | | | | | | | - auditd switch to recording logs to events log id - logcat add events as one of the default logs - debuggerd collect events log as well. ToDo: debuggerd & bugreport collect intermixed logs. BUG: 14626551 Change-Id: I958f0e729b7596748be57488a38824db5645be7b
* logd: turn on -WerrorMark Salyzyn2014-05-021-1/+1
| | | | | | - Deal with some -Wunused / -Wunused-variable issues Change-Id: Ic86cd7b0680868ad0536198b71a34cb19134fc21
* logd: Add logd_testMark Salyzyn2014-04-151-0/+2
| | | | | | | | | | | | | | * Test statistics output, all four main log id types are checked to be present, and output is properly formatted with header (ascii new-line terminated byte count) and trailer (newline formfeed) frames. * On dev build test dgram_qlen, circumvent if liblog benchmarks executed first though. * Test if kernel and user space loggers are present, and if any content has leaked to both. * test benchmark and use it to verify worst UID pruning Change-Id: I890c89f64825956f40108de806ed750b0170ac6c
* Merge "logd: liblog: logcat: enable prune features for user"Mark Salyzyn2014-04-091-4/+0
|\
| * logd: liblog: logcat: enable prune features for userMark Salyzyn2014-04-021-4/+0
| | | | | | | | | | | | - Enable whitelist, blacklist and logsize tuneables for user Change-Id: Id0c283844c71c5263a8cfbebf2e550f7ac415858
* | logd: selinux auditd initial commitWilliam Roberts2014-04-071-1/+3
|/ | | | | | | | | | | | | | | | | | | | | | Initial commit for an audit daemon that writes kernel audit messages to the Android logger. The daemon searches dmesg for all lines that contain "audit" and writes them. Then receiving the messages from the netlink socket. It also formats the messages so they are compatable with ausearch (type=<t> <m> format) Modified: Mark Salyzyn <salyzyn@google.com> - do not start auditd - merge into logd, stripping unnecessary file logging. - Convert headers and code to support C++ - Fix bugs in libaudit - squash timestamp (replace with 0.0) due to duplication - squash pid due to duplication - squash comm due to duplication Change-Id: I421bcf33e7e670d596628b1b5c7c25536ce2d3fe
* logd: liblog: logcat: Add LogWhiteBlackListMark Salyzyn2014-03-131-1/+6
| | | | | | | | | | | | | | | - liblog android_logger_get_log_size and android_logger_get_readable_size adjusted to return long instead of int because of -G flag extending range NB: ifdef'd only for userdebug and eng builds - liblog Add android_logger_[sg]et_prune_list and android_logger_set_log_size - logcat Add -P, -p and -G flags - logd Add LogWhiteBlackList and configurable log size (cherry picked from commit 18a5432158ad43b8faefe4950b30e760200ce0b4) Change-Id: I1572338c1b34bd968ad7867857ef708156ec3b6a
* logd: liblog: logcat: Add StatisticsMark Salyzyn2014-03-131-2/+4
| | | | | | | | | | | - logd add statistical collection and formatting - liblog add android_logger_get_statistics call - logcat add -S flag - logcat add -b all (cherry picked from commit 51a29c8dc445e4fb89860561933e54a231e6ffb4) Change-Id: I521753b1969ecd4590c956aeeb1557d101059d67
* logd: Always build logdMark Salyzyn2014-02-281-4/+0
| | | | | | - build breakage aosp-idea133 @ 1049092 Change-Id: Iabac6009567926137f455044b33ab5d67924896d
* liblog: enable logging to logd.Mark Salyzyn2014-02-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * Modify liblog to send all messages to the new syslog user space daemon. Original-Change-Id: I0ce439738cd921efb2db4c1d6a289a96bdbc8bc2 Original-Change-Id: If4eb0d09409f7e9be3eb4bb7017073dc7e931ab4 Signed-off-by: Nick Kralevich <nnk@google.com> * Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage whether logd is enabled for use or not. * rename syslog to logd to avert confusion with bionic syslog * Add fake log support back in * prefilter for logging messages from logd * Fill in timestamps at logging source * update abstract log reader * switch from using suffix for id to v3 format * log a message when creating devices that a deprecated interface is being utilized. Signed-off-by: Mark Salyzyn <salyzyn@google.com> (cherry pick from commit 099e2c1f6f706a8600c1cef74cce9066fc315480) Change-Id: I47929a5432977a1d7235267a435cec0a7d6bd440
* logd: Remove $(KERNEL_HEADERS) include.Martijn Coenen2014-02-271-2/+0
| | | | | | | | | Points to wrong kernel-headers dir in multi-arch builds. (cherry picked from commit 920a5629ff91ee0f5decaaf4f16a8fb3af752496) Change-Id: I5055bf5cd80119a34f0a6b0872ffb0a422a06baf
* logd: initial checkin.Mark Salyzyn2014-02-261-0/+28
* Create a new userspace log daemon for handling logging messages. Original-Change-Id: I75267df16359684490121e6c31cca48614d79856 Signed-off-by: Nick Kralevich <nnk@google.com> * Merge conflicts * rename new syslog daemon to logd to prevent confusion with bionic syslog * replace racy getGroups call with KISS call to client->getGid() * Timestamps are filed at logging source * insert entries into list in timestamp order * Added LogTimeEntry tail filtration handling * Added region locking around LogWriter list * separate threads for each writer * /dev/socket/logd* permissions Signed-off-by: Mark Salyzyn <salyzyn@google.com> (cherry picked from commit 3e76e0a49760c4970b7cda6153e51026af98e4f3) Author: Nick Kralevich <nnk@google.com> Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098