diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-01 11:03:44 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-01 11:03:44 +0000 |
commit | 344406a398a09a4bde81066501d8118cda4874af (patch) | |
tree | ebbbff663d9412b85bed987b016e854165145250 | |
parent | 978c45b95ad14b2fa9943ddb7387053878d4c7de (diff) | |
parent | 1d459998219499215400828f78b72d57671b8a0b (diff) | |
download | redfin-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.mk | 3 | ||||
-rwxr-xr-x | dumpstate/DumpstateDevice.cpp | 138 |
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 }; |