summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-07-01 11:03:44 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-07-01 11:03:44 +0000
commit344406a398a09a4bde81066501d8118cda4874af (patch)
treeebbbff663d9412b85bed987b016e854165145250
parent978c45b95ad14b2fa9943ddb7387053878d4c7de (diff)
parent1d459998219499215400828f78b72d57671b8a0b (diff)
downloadredfin-android11-d2-release.tar.gz
Merge cherrypicks of [15172584, 15172286, 15172594, 15172385, 15172631, 15172632, 15172633, 15172634, 15171221, 15171222, 15171223, 15171541, 15171542, 15171668, 15172342, 15170823, 15170824, 15170825, 15170826, 15170827, 15170828, 15170829, 15172650, 15172651, 15172652, 15172653, 15172654, 15172655, 15172656, 15172657, 15172658, 15172659, 15172660, 15172661, 15172386, 15172387, 15172388, 15172389, 15172670, 15172553, 15172589, 15172343, 15172617, 15172618, 15172619, 15172620, 15172690, 15172691, 15172692, 15172693, 15172694, 15172695, 15172696, 15172697, 15171708, 15171709, 15172554, 15172555, 15172710, 15172621, 15172635, 15172636, 15172698, 15172699, 15172700, 15171543, 15172701, 15172702, 15172703, 15172704, 15171669, 15172622] into rvc-d2-releaseandroid-11.0.0_r48android-11.0.0_r47android-11.0.0_r45android-11.0.0_r44android11-d2-release
Change-Id: Iafa7a520cd1d623519e87906fd0fb00325e8ed13
-rw-r--r--dumpstate/Android.mk3
-rwxr-xr-xdumpstate/DumpstateDevice.cpp138
2 files changed, 1 insertions, 140 deletions
diff --git a/dumpstate/Android.mk b/dumpstate/Android.mk
index 7a22935..14f61c9 100644
--- a/dumpstate/Android.mk
+++ b/dumpstate/Android.mk
@@ -32,8 +32,7 @@ LOCAL_SHARED_LIBRARIES := \
libdumpstateutil \
libhidlbase \
liblog \
- libutils \
- libpcap
+ libutils
LOCAL_CFLAGS := -Werror -Wall
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index 598f2eb..bbbc685 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -28,8 +28,6 @@
#include <pthread.h>
#include <string.h>
-#include <pcap.h>
-
#define _SVID_SOURCE
#include <dirent.h>
@@ -54,10 +52,6 @@
#define VENDOR_VERBOSE_LOGGING_ENABLED_PROPERTY "persist.vendor.verbose_logging_enabled"
-#define TIME_BUFFER 24
-#define STRING_BUFFER 550
-#define MAX_PACKET_LENGTH 150
-
using android::os::dumpstate::CommandOptions;
using android::os::dumpstate::DumpFileToFd;
using android::os::dumpstate::PropertiesHelper;
@@ -119,132 +113,6 @@ static void dumpLogs(int fd, std::string srcDir, std::string destDir,
free(dirent_list);
}
-// Get timestamp and packet data
-static void GetTimeStampAndPkt(char *pktbuf, unsigned char *packet, char *strtime, int totalbyte){
- int idxLog = 0;
- int idxPkt = 0;
- int firstPktDataIdx = 2;
- int lastPktDataIdx = totalbyte - 2;
- char arrTmpTime[19];
- char arrStrTime[TIME_BUFFER];
- char* tmpPktByteStr;
- char* pktDataStr = pktbuf;
- unsigned char arrPktData[MAX_PACKET_LENGTH];
-
- memset(arrTmpTime, 0, sizeof(arrTmpTime));
- while ((tmpPktByteStr = strtok_r(pktDataStr, " ", &pktDataStr))) {
- if(idxLog == 0) {
- snprintf(arrTmpTime, sizeof(arrTmpTime),"%s", tmpPktByteStr);
- }
- if(idxLog == 1) {
- snprintf(arrStrTime, sizeof(arrStrTime),"%s %s",arrTmpTime, tmpPktByteStr);
- }
- if(idxLog > firstPktDataIdx && idxLog <= lastPktDataIdx) {
- int data;
- unsigned char pktdata;
- sscanf(tmpPktByteStr,"%02x", &data);
- pktdata = (unsigned char)data;
- arrPktData[idxPkt] = pktdata;
- idxPkt++;
- }
- idxLog++;
- }
- memcpy(packet, arrPktData, MAX_PACKET_LENGTH);
- memcpy(strtime, arrStrTime, TIME_BUFFER);
-}
-
-static void ProcessPcapDump(FILE *fp, pcap_dumper_t *dumper)
-{
- ALOGD("ProcessPcapDump(): enter");
- char strLogBuf[STRING_BUFFER];
- char arrPktBuf[STRING_BUFFER];
- char arrPktSplitBuf[STRING_BUFFER];
- char arrStrTime[TIME_BUFFER];
- unsigned char arrPktData[MAX_PACKET_LENGTH];
-
- if(fp == NULL) {
- ALOGD("can not read extended_log_datastall file!");
- return;
- }
- if(dumper == NULL) {
- ALOGD("can not open pcap file.");
- return;
- }
-
- while (!feof(fp)) {
- while (fgets(strLogBuf,STRING_BUFFER,fp)) {
- if(strLogBuf[0] == '\n') {
- continue;
- }
- memcpy(arrPktBuf, strLogBuf, sizeof(arrPktBuf));
- memcpy(arrPktSplitBuf, strLogBuf, sizeof(arrPktSplitBuf));
-
- int countPktLen = 0;
- char* tmpPktByteStr;
- char* pktDataStr = arrPktSplitBuf;
- while ((tmpPktByteStr = strtok_r(pktDataStr, " ", &pktDataStr))) {
- countPktLen+=1;
- }
-
- // Get timestamp and packet data
- GetTimeStampAndPkt(arrPktBuf ,arrPktData, arrStrTime, countPktLen);
-
- // Build packet header
- int timeMSec;
- char* strTime;
- char* strTimeMsec;
- char* strTmpTime = arrStrTime;
- struct pcap_pkthdr pcap_hdr;
- while ((strTime = strtok_r(strTmpTime, ".", &strTmpTime))) {
- if(strTmpTime == NULL) {
- break;
- }
- time_t time;
- struct tm timeStruct;
- memset(&timeStruct, 0, sizeof(struct tm));
- if(strlen(strTime) == 19) {
- strptime(strTime, "%Y-%m-%d %H:%M:%S", &timeStruct);
- time = mktime(&timeStruct);
- pcap_hdr.ts.tv_sec = time;
- }
- strTimeMsec = strtok_r(strTmpTime, ".", &strTmpTime);
- if(strTimeMsec == NULL) {
- break;
- }
- timeMSec = atoi(strTimeMsec);
- pcap_hdr.ts.tv_usec = timeMSec;
- }
- pcap_hdr.caplen = sizeof(arrPktData);
- pcap_hdr.len = pcap_hdr.caplen;
- pcap_dump((u_char *)dumper, &pcap_hdr, arrPktData);
- }
- }
-}
-
-static void MergeAndConvertToPcap(char* logFile, char* oldlogFile, char* pcapFile) {
-
- ALOGD("DumpPcap(): enter");
- pcap_t *handle = pcap_open_dead(DLT_EN10MB, 1 << 16);
- pcap_dumper_t *dumper = pcap_dump_open(handle, pcapFile);
-
- if(dumper == NULL) {
- ALOGD("can not open pcap file.");
- return;
- }
-
- FILE *fp = fopen(oldlogFile, "r");
- if(fp != NULL) {
- ProcessPcapDump(fp, dumper);
- fclose(fp);
- }
- fp = fopen(logFile, "r");
- if(fp != NULL) {
- ProcessPcapDump(fp, dumper);
- fclose(fp);
- }
- pcap_dump_close(dumper);
-}
-
static void *dumpModemThread(void *data)
{
long fdModem = (long)data;
@@ -301,12 +169,6 @@ static void *dumpModemThread(void *data)
}
RunCommandToFd(STDOUT_FILENO, "CP MODEM POWERON LOG", {"/vendor/bin/cp", diagPoweronLogPath.c_str(), modemLogAllDir.c_str()}, CommandOptions::WithTimeout(2).Build());
- // dump to pcap
- char fpcapname[]="/data/vendor/radio/extended_logs/extended_log_datastall.pcap";
- char flogname[]="/data/vendor/radio/extended_logs/extended_log_datastall.txt";
- char flogoldname[]="/data/vendor/radio/extended_logs/extended_log_datastall.txt.old";
- MergeAndConvertToPcap(flogname, flogoldname, fpcapname);
-
if (!PropertiesHelper::IsUserBuild()) {
char cmd[256] = { 0 };