From aa13cde8535360dc47b6af6b2fa643b4f442e9c7 Mon Sep 17 00:00:00 2001 From: localhorst Date: Tue, 27 Sep 2022 18:31:45 +0200 Subject: [PATCH 01/19] updated readme, version and update script --- doc/screenshot.png | Bin 92302 -> 56033 bytes include/reHDD.h | 2 +- scripts/update.sh | 8 ++++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/screenshot.png b/doc/screenshot.png index 0fd095e03a00b16416298994bf846fbe4a9ad99e..71406eaf5ec2caa6809c1a67f9ec4c07524b4899 100644 GIT binary patch literal 56033 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 literal 92302 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 Date: Tue, 27 Sep 2022 18:39:21 +0200 Subject: [PATCH 02/19] updated readme with new screenshot; updated update script --- README.md | 2 +- scripts/update.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5751534..1074e0e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ * deleting a drive securely via overwriting ## Screenshot -![alt text](https://git.mosad.xyz/localhorst/reHDD/raw/commit/42bc26eac95429e20c0f0d59f684dfec0d600e75/doc/screenshot.png "Screenshot") +![alt text](https://git.mosad.xyz/localhorst/reHDD/raw/commit/aa13cde8535360dc47b6af6b2fa643b4f442e9c7/doc/screenshot.png "Screenshot") ## Debian Build Notes diff --git a/scripts/update.sh b/scripts/update.sh index 14ad765..166c037 100644 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -27,6 +27,8 @@ git submodule init git submodule update +make clean + make release cp /root/ignoreDrives.conf /root/reHDD/ignoreDrives.conf From b73e1765b5fddd194289df0b587cb4f900defd45 Mon Sep 17 00:00:00 2001 From: localhorst Date: Tue, 27 Sep 2022 21:58:59 +0200 Subject: [PATCH 03/19] separate shred and check process --- include/drive.h | 6 ++++-- include/reHDD.h | 2 +- src/reHDD.cpp | 7 ++----- src/shred.cpp | 21 +++++++++++++++------ src/tui.cpp | 27 +++++++++++++++++++++++---- 5 files changed, 45 insertions(+), 18 deletions(-) diff --git a/include/drive.h b/include/drive.h index e61bc8f..25ab646 100644 --- a/include/drive.h +++ b/include/drive.h @@ -16,7 +16,8 @@ class Drive public: enum TaskState {NONE, SHRED_SELECTED, - SHRED_ACTIVE, + SHRED_ACTIVE, //shred iterations active + CHECK_ACTIVE, //optional checking active DELETE_SELECTED, DELETE_ACTIVE, FROZEN @@ -30,7 +31,8 @@ public: unsigned long ulSpeedMetricBytesWritten; } sShredSpeed; - bool bWasShredded = false; + bool bWasShredded = false; //all shred iterations done + bool bWasChecked = false; //all shred iterations and optional checking done bool bWasDeleteted = false; bool bIsOffline = false; uint32_t u32DriveChecksumAferShredding = 0U; diff --git a/include/reHDD.h b/include/reHDD.h index 2fd2722..c15069b 100644 --- a/include/reHDD.h +++ b/include/reHDD.h @@ -33,7 +33,7 @@ // Logic //#define DRYRUN //don´t touch the drives #define FROZEN_ALERT //show alert if drive is frozen -#define ZERO_CHECK_ALERT //check drive after shred if all bytes are zero, show alert if this fails +#define ZERO_CHECK //check drive after shred if all bytes are zero, show alert if this fails //IPC pipes #define READ 0 diff --git a/src/reHDD.cpp b/src/reHDD.cpp index 5dcd2eb..b38be3f 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -75,10 +75,6 @@ void reHDD::app_logic(void) #ifdef LOG_LEVEL_HIGH Logger::logThis()->info("got progress signal from a shred task"); #endif - - - - } ui->updateTUI(&listDrives, u8SelectedEntry); } //endless loop @@ -126,6 +122,7 @@ void reHDD::ThreadCheckFrozenDrives() { if(it->state == Drive::SHRED_ACTIVE) { + it->checkFrozenDrive(); } } @@ -531,7 +528,7 @@ void reHDD::handleEnter() { if(getSelectedDrive()->state == Drive::TaskState::SHRED_SELECTED) { - Logger::logThis()->info("Started shred for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial()); + Logger::logThis()->info("Started shred/check for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial()); getSelectedDrive()->state = Drive::TaskState::SHRED_ACTIVE; //task for drive is running --> don´t show more task options Drive* pTmpDrive = getSelectedDrive(); diff --git a/src/shred.cpp b/src/shred.cpp index aaf541f..f8d92c1 100644 --- a/src/shred.cpp +++ b/src/shred.cpp @@ -177,7 +177,11 @@ int Shred::shredDrive(Drive* drive, int* ipSignalFd) tfng_prng_seedkey(NULL); //reset random generator -#ifdef ZERO_CHECK_ALERT + drive->bWasShredded = true; + Logger::logThis()->info("Shred-Task finished - Drive: " + drive->getModelName() + "-" + drive->getSerial() + " @" + address.str()); +#ifdef ZERO_CHECK + drive->state=Drive::CHECK_ACTIVE; + Logger::logThis()->info("Check-Task started - Drive: " + drive->getModelName() + "-" + drive->getSerial() + " @" + address.str()); drive->u32DriveChecksumAferShredding = uiCalcChecksum(driveFileDiscr, drive, ipSignalFd); #ifdef LOG_LEVEL_HIGH if (drive->u32DriveChecksumAferShredding != 0) @@ -194,12 +198,11 @@ int Shred::shredDrive(Drive* drive, int* ipSignalFd) cleanup(); - if(drive->state == Drive::SHRED_ACTIVE) + if((drive->state == Drive::SHRED_ACTIVE) || (drive->state == Drive::CHECK_ACTIVE)) { - drive->bWasShredded = true; drive->state= Drive::NONE; drive->setTaskPercentage(0.0); - Logger::logThis()->info("Finished shred for: " + drive->getModelName() + "-" + drive->getSerial()); + Logger::logThis()->info("Finished shred/check for: " + drive->getModelName() + "-" + drive->getSerial()); } return 0; } @@ -213,7 +216,7 @@ double Shred::calcProgress() { unsigned int uiMaxShredIteration = SHRED_ITERATIONS; -#ifdef ZERO_CHECK_ALERT +#ifdef ZERO_CHECK uiMaxShredIteration++; //increment because we will check after SHRED_ITERATIONS the drive for non-zero bytes #endif return (double) (((double) ulDriveByteOverallCount) / ((double)this->ulDriveByteSize*uiMaxShredIteration))*100.0f; @@ -271,16 +274,22 @@ unsigned int Shred::uiCalcChecksum(fileDescriptor file,Drive* drive, int* ipSign ulDriveByteOverallCount += iReadBytes; d32Percent = this->calcProgress(); drive->sShredSpeed.ulSpeedMetricBytesWritten += iReadBytes; + #ifdef LOG_LEVEL_HIGH Logger::logThis()->info("Shred-Task (Checksum): ByteCount: " + to_string(ulDriveByteCounter) + " - progress: " + to_string(d32Percent) + " - Drive: " + drive->getSerial()); #endif - if((d32Percent-d32TmpPercent) >= 0.01) + + if(((d32Percent-d32TmpPercent) >= 0.01) || (d32Percent == 100.0)) { drive->setTaskPercentage(d32TmpPercent); d32TmpPercent = d32Percent; +#ifdef LOG_LEVEL_HIGH + Logger::logThis()->info("send progress signal to main loop (check)"); +#endif write(*ipSignalFd, "A",1); } } + drive->bWasChecked = true; return uiChecksum; } diff --git a/src/tui.cpp b/src/tui.cpp index 895c506..8cd84e1 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -105,6 +105,13 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) stream << fixed << setprecision(3) << (it->getTaskPercentage()); sState = "Shredding: " + stream.str() + "%"; + it->calculateTaskDuration(); + sTime = this->formatTimeDuration(it->getTaskDuration()); + sSpeed = this->formatSpeed(it->sShredSpeed.u32ShredTimeDelta, it->sShredSpeed.ulWrittenBytes); + break; + case Drive::CHECK_ACTIVE: + stream << fixed << setprecision(3) << (it->getTaskPercentage()); + sState = "Checking: " + stream.str() + "%"; it->calculateTaskDuration(); sTime = this->formatTimeDuration(it->getTaskDuration()); sSpeed = this->formatSpeed(it->sShredSpeed.u32ShredTimeDelta, it->sShredSpeed.ulWrittenBytes); @@ -114,7 +121,6 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) it->calculateTaskDuration(); sTime = this->formatTimeDuration(it->getTaskDuration()); break; - case Drive::NONE: case Drive::SHRED_SELECTED: case Drive::DELETE_SELECTED: @@ -124,12 +130,21 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) } if (it->bWasShredded) { - sState = "SHREDDED"; //mark drive as shreded previously, overwrite if deleted + if(it->bWasChecked) + { + //drive was also checked after shredding + sState = "SHREDDED & CHECKED"; //mark drive as shredded previously and optional checked + } + else + { + //shredded and not checked yet + sState = "SHREDDED"; //mark drive as shredded previously + } sTime = this->formatTimeDuration(it->getTaskDuration()); } -#ifdef ZERO_CHECK_ALERT - if(bSelectedEntry && it->bWasShredded && (it->u32DriveChecksumAferShredding != 0U)) +#ifdef ZERO_CHECK + if(bSelectedEntry && it->bWasChecked && (it->u32DriveChecksumAferShredding != 0U)) { dialog=createZeroChecksumWarning(70, 16, ((u16StdscrX)-(int)(u16StdscrX/2)-20),(int)(u16StdscrY/2)-8, it->getPath(), it->getModelFamily(), it->getModelName(), it->getSerial(), it->u32DriveChecksumAferShredding); wrefresh(dialog); @@ -554,6 +569,10 @@ void TUI::displaySelectedDrive(Drive drive, int stdscrX, int stdscrY) menustate.bAbort = true; break; + case Drive::CHECK_ACTIVE : //check task running for this drive + menustate.bAbort = true; + break; + case Drive::DELETE_SELECTED : //delete task selected for this drive menustate.bConfirmDelete = true; break; From 70bc8cffb4be7bf5331c849ade643d9ec7c8316a Mon Sep 17 00:00:00 2001 From: localhorst Date: Fri, 30 Sep 2022 21:20:23 +0200 Subject: [PATCH 04/19] two lines per entry --- src/reHDD.cpp | 1 - src/tui.cpp | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/reHDD.cpp b/src/reHDD.cpp index b38be3f..9f359b6 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -122,7 +122,6 @@ void reHDD::ThreadCheckFrozenDrives() { if(it->state == Drive::SHRED_ACTIVE) { - it->checkFrozenDrive(); } } diff --git a/src/tui.cpp b/src/tui.cpp index 8cd84e1..ed0972b 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -9,8 +9,8 @@ static std::mutex mxUIrefresh; -TUI::TUI(void) -{ +TUI::TUI(void){ + } /** @@ -61,7 +61,7 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) refresh(); - overview=createOverViewWindow((int)(u16StdscrX/3), (u16StdscrY-3)); + overview=createOverViewWindow((int)(u16StdscrX/3), (u16StdscrY)); wrefresh(overview); systemview=createSystemStats((int)(u16StdscrX/3), 10, u16StdscrX-(int)(u16StdscrX/3)-2, (u16StdscrY-11 )); @@ -167,7 +167,13 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) break; } - WINDOW * tmp = createEntryWindow( ((int)(u16StdscrX/3) - 2), 5, 3, (5* (u8Index) )+3, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); + uint16_t u16StartOffsetY = (6 * (u8Index)); + + if(u8Index == 0){ + u16StartOffsetY = u16StartOffsetY + 2; + } + + WINDOW * tmp = createEntryWindow( ((int)(u16StdscrX/3) - 2), 4, 3, u16StartOffsetY, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); wrefresh(tmp); u8Index++; }//end loop though drives @@ -245,7 +251,7 @@ void TUI::centerTitle(WINDOW *pwin, const char * title) WINDOW* TUI::createOverViewWindow( int iXSize, int iYSize) { WINDOW *newWindow; - newWindow = newwin(iYSize, iXSize, 2, 2); + newWindow = newwin(iYSize, iXSize, 1, 2); wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_OVERVIEW)); box(newWindow, ACS_VLINE, ACS_HLINE); @@ -258,7 +264,7 @@ WINDOW* TUI::createOverViewWindow( int iXSize, int iYSize) WINDOW* TUI::createDetailViewWindow( int iXSize, int iYSize, int iXStart, Drive drive) { WINDOW *newWindow; - newWindow = newwin(iYSize, iXSize, 2, iXStart); + newWindow = newwin(iYSize, iXSize, 1, iXStart); wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_DETAIL)); box(newWindow, ACS_VLINE, ACS_HLINE); From 685e359217344dd443ff39b28f2acae7dca6c9f1 Mon Sep 17 00:00:00 2001 From: localhorst Date: Fri, 30 Sep 2022 22:26:54 +0200 Subject: [PATCH 05/19] TUI: changed window element layout --- src/tui.cpp | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/src/tui.cpp b/src/tui.cpp index ed0972b..239ad77 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -9,7 +9,8 @@ static std::mutex mxUIrefresh; -TUI::TUI(void){ +TUI::TUI(void) +{ } @@ -61,10 +62,11 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) refresh(); - overview=createOverViewWindow((int)(u16StdscrX/3), (u16StdscrY)); + //overview window is 3/7 of the x-size + overview=createOverViewWindow((int)(u16StdscrX *(float)(3.0/7.0)), (u16StdscrY-1)); wrefresh(overview); - systemview=createSystemStats((int)(u16StdscrX/3), 10, u16StdscrX-(int)(u16StdscrX/3)-2, (u16StdscrY-11 )); + systemview=createSystemStats(((int)(u16StdscrX *(float)(2.0/7.0)))-6, 12, (int)(u16StdscrX *(float)(5.0/7.0)+4), (u16StdscrY-13 )); wrefresh(systemview); delwin(detailview); @@ -169,11 +171,12 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) uint16_t u16StartOffsetY = (6 * (u8Index)); - if(u8Index == 0){ - u16StartOffsetY = u16StartOffsetY + 2; - } + if(u8Index == 0) + { + u16StartOffsetY = u16StartOffsetY + 2; + } - WINDOW * tmp = createEntryWindow( ((int)(u16StdscrX/3) - 2), 4, 3, u16StartOffsetY, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); + WINDOW * tmp = createEntryWindow( (int)(u16StdscrX *(float)(3.0/7.0) - 2), 4, 3, u16StartOffsetY, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); wrefresh(tmp); u8Index++; }//end loop though drives @@ -189,11 +192,11 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) menustate.bDelete = false; menustate.bShred = false; - menuview=createMenuView(((int)(u16StdscrX/3)-10 ), 10, (int)(u16StdscrX/3)+5,(u16StdscrY-11), menustate); - wrefresh(menuview); - - detailview=overwriteDetailViewWindow(((u16StdscrX)-(int)(u16StdscrX/3)-7), (u16StdscrY-15), (int)(u16StdscrX/3)+5); + detailview=overwriteDetailViewWindow((u16StdscrX)-((int)(u16StdscrX *(float)(3.0/7.0)))-7, (u16StdscrY-15), (int)(u16StdscrX *(float)(3.0/7.0)+5)); wrefresh(detailview); + + menuview=createMenuView(((int)(u16StdscrX *(float)(2.0/7.0)))-3, 12, (int)(u16StdscrX *(float)(3.0/7.0)+5),(u16StdscrY-13), menustate); + wrefresh(menuview); } mxUIrefresh.unlock(); @@ -248,6 +251,9 @@ void TUI::centerTitle(WINDOW *pwin, const char * title) waddch(pwin, ACS_LTEE); } +/* +left window that contains the drive entries +*/ WINDOW* TUI::createOverViewWindow( int iXSize, int iYSize) { WINDOW *newWindow; @@ -300,7 +306,7 @@ WINDOW* TUI::createDetailViewWindow( int iXSize, int iYSize, int iXStart, Drive WINDOW* TUI::overwriteDetailViewWindow( int iXSize, int iYSize, int iXStart) { WINDOW *newWindow; - newWindow = newwin(iYSize, iXSize, 2, iXStart); + newWindow = newwin(iYSize, iXSize, 1, iXStart); wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_DETAIL)); box(newWindow, ACS_VLINE, ACS_HLINE); @@ -354,12 +360,12 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, mvwaddstr(newWindow,1, 5, sModelFamily.c_str()); mvwaddstr(newWindow,2, 5, sSerial.c_str()); - mvwaddstr(newWindow,3, 5, sCapacity.c_str()); - mvwaddstr(newWindow,3, 5+sCapacity.length()+3, sTemp.c_str()); + //mvwaddstr(newWindow,3, 5, sCapacity.c_str()); + //mvwaddstr(newWindow,3, 5+sCapacity.length()+3, sTemp.c_str()); mvwaddstr(newWindow,1, iXSize-sSpeed.length()-5, sSpeed.c_str()); mvwaddstr(newWindow,2, iXSize-sState.length()-5, sState.c_str()); - mvwaddstr(newWindow,3, iXSize-sTime.length()-5, sTime.c_str()); + // mvwaddstr(newWindow,3, iXSize-sTime.length()-5, sTime.c_str()); return newWindow; } @@ -394,6 +400,7 @@ WINDOW* TUI::createSystemStats(int iXSize, int iYSize, int iXStart, int iYStart) uint16_t u16Line = 2; mvwaddstr(newWindow,u16Line++, (iXSize/2)-(sLine01.size()/2), sLine01.c_str()); + u16Line++; mvwaddstr(newWindow,u16Line++, (iXSize/2)-(sLine01.size()/2), sLine02.c_str()); mvwaddstr(newWindow,u16Line++, (iXSize/2)-(sLine01.size()/2), sLine03.c_str()); mvwaddstr(newWindow,u16Line++, (iXSize/2)-(sLine01.size()/2), sLine04.c_str()); @@ -590,10 +597,12 @@ void TUI::displaySelectedDrive(Drive drive, int stdscrX, int stdscrY) break; } - detailview=createDetailViewWindow(((stdscrX)-(int)(stdscrX/3)-7), (stdscrY-15), (int)(stdscrX/3)+5, drive); + + + detailview=createDetailViewWindow((stdscrX)-((int)(stdscrX *(float)(3.0/7.0)))-7, (stdscrY-15), (int)(stdscrX *(float)(3.0/7.0)+5), drive); wrefresh(detailview); - menuview=createMenuView(((int)(stdscrX/3)-10 ), 10, (int)(stdscrX/3)+5,(stdscrY-11), menustate); + menuview=createMenuView(((int)(stdscrX *(float)(2.0/7.0)))-3, 12, (int)(stdscrX *(float)(3.0/7.0)+5),(stdscrY-13), menustate); wrefresh(menuview); if(menustate.bConfirmShred == true) From 743464efc111e3e11ebf87cdc84b33cd2d2a9163 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 12:02:01 +0200 Subject: [PATCH 06/19] format labels in entries --- include/tui.h | 4 ++-- src/tui.cpp | 55 +++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/include/tui.h b/include/tui.h index c4595fa..ddecfb8 100644 --- a/include/tui.h +++ b/include/tui.h @@ -52,7 +52,7 @@ private: WINDOW* dialog; WINDOW* smartWarning; - static void centerTitle(WINDOW *pwin, const char * title); + static void centerTitle(WINDOW* pwin, const char* title); static WINDOW *createOverViewWindow( int iXSize, int iYSize); static WINDOW *createDetailViewWindow( int iXSize, int iYSize, int iXStart, Drive drive); static WINDOW *overwriteDetailViewWindow( int iXSize, int iYSize, int iXStart); @@ -67,6 +67,6 @@ private: void displaySelectedDrive(Drive drive, int stdscrX, int stdscrY); string formatTimeDuration(time_t u32Duration); string formatSpeed(time_t u32ShredTimeDelta, unsigned long ulWrittenBytes); - + static void vTruncateText(string* psText, uint16_t u16MaxLenght); }; #endif // TUI_H_ \ No newline at end of file diff --git a/src/tui.cpp b/src/tui.cpp index 239ad77..4c0fbab 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -66,6 +66,7 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) overview=createOverViewWindow((int)(u16StdscrX *(float)(3.0/7.0)), (u16StdscrY-1)); wrefresh(overview); + //system stat window is 2/7 of the x-size systemview=createSystemStats(((int)(u16StdscrX *(float)(2.0/7.0)))-6, 12, (int)(u16StdscrX *(float)(5.0/7.0)+4), (u16StdscrY-13 )); wrefresh(systemview); @@ -356,16 +357,43 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, box(newWindow, ACS_VLINE, ACS_HLINE); + //index number mvwaddstr(newWindow,1, 1, to_string(iListIndex).c_str()); - mvwaddstr(newWindow,1, 5, sModelFamily.c_str()); - mvwaddstr(newWindow,2, 5, sSerial.c_str()); - //mvwaddstr(newWindow,3, 5, sCapacity.c_str()); - //mvwaddstr(newWindow,3, 5+sCapacity.length()+3, sTemp.c_str()); + /* + 70 chars in x-axis - mvwaddstr(newWindow,1, iXSize-sSpeed.length()-5, sSpeed.c_str()); - mvwaddstr(newWindow,2, iXSize-sState.length()-5, sState.c_str()); - // mvwaddstr(newWindow,3, iXSize-sTime.length()-5, sTime.c_str()); + line:01 + 0: space + 1: index number + 2: space + 3-35: ModelFamily + 36: space + 37-43: Capacity + 44: space + 45-49: Temp + + line:02 + 0-2: space + 3-19: Serial + 20: space + 21-30: Speed + 33: space + 34-45: Time + 46: space + 47-70: State (but right side aligned) + */ + + vTruncateText(&sModelFamily, 32); + mvwaddstr(newWindow, 1, 3, sModelFamily.c_str()); + mvwaddstr(newWindow, 1, 37, sCapacity.c_str()); + mvwaddstr(newWindow, 1, 45, sTemp.c_str()); + + vTruncateText(&sSerial, 16); + mvwaddstr(newWindow, 2, 3, sSerial.c_str()); + mvwaddstr(newWindow, 2, 21, sSpeed.c_str()); + mvwaddstr(newWindow, 2, 34, sTime.c_str()); + mvwaddstr(newWindow,2, iXSize - sState.length() - 2, sState.c_str()); return newWindow; } @@ -421,7 +449,7 @@ WINDOW* TUI::createMenuView(int iXSize, int iYSize, int iXStart, int iYStart, st centerTitle(newWindow, "Controls"); - uint16_t u16Line = 2; + uint16_t u16Line = 4; if(menustate.bAbort) { @@ -558,6 +586,15 @@ string TUI::formatSpeed(time_t u32ShredTimeDelta, unsigned long ulWrittenBytes) return out.str(); } +void TUI::vTruncateText(string* psText, uint16_t u16MaxLenght) +{ + if (psText->length() > u16MaxLenght) + { + psText->resize(u16MaxLenght-3); + *psText = *psText + "..."; + } +} + void TUI::displaySelectedDrive(Drive drive, int stdscrX, int stdscrY) { struct MenuState menustate; @@ -597,8 +634,6 @@ void TUI::displaySelectedDrive(Drive drive, int stdscrX, int stdscrY) break; } - - detailview=createDetailViewWindow((stdscrX)-((int)(stdscrX *(float)(3.0/7.0)))-7, (stdscrY-15), (int)(stdscrX *(float)(3.0/7.0)+5), drive); wrefresh(detailview); From 85fa895734bbaae4607fd7fb443f2b0f8d283734 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 13:18:21 +0200 Subject: [PATCH 07/19] TUI: fix y offset entries --- src/tui.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/tui.cpp b/src/tui.cpp index 4c0fbab..e85b30b 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -170,14 +170,12 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) break; } - uint16_t u16StartOffsetY = (6 * (u8Index)); + uint16_t u16StartOffsetY = (4 * (u8Index)); - if(u8Index == 0) - { - u16StartOffsetY = u16StartOffsetY + 2; - } + + Logger::logThis()->info("Index: " + to_string(u8Index) + " Offset: " + to_string(u16StartOffsetY)); - WINDOW * tmp = createEntryWindow( (int)(u16StdscrX *(float)(3.0/7.0) - 2), 4, 3, u16StartOffsetY, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); + WINDOW * tmp = createEntryWindow( (int)(u16StdscrX *(float)(3.0/7.0) - 2), 4, 3, u16StartOffsetY + 2, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); wrefresh(tmp); u8Index++; }//end loop though drives From 18ea170881cd6d59a8355401bb613f29a0802d62 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 13:26:13 +0200 Subject: [PATCH 08/19] TUI: support longer SN --- src/tui.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/tui.cpp b/src/tui.cpp index e85b30b..f1658fb 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -373,13 +373,13 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, line:02 0-2: space - 3-19: Serial - 20: space - 21-30: Speed - 33: space - 34-45: Time - 46: space - 47-70: State (but right side aligned) + 3-31: Serial + 32: space + 33-42: Speed + 43: space + 44-55: Time + 55: space + 56-70: State (but right side aligned) */ vTruncateText(&sModelFamily, 32); @@ -387,10 +387,10 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, mvwaddstr(newWindow, 1, 37, sCapacity.c_str()); mvwaddstr(newWindow, 1, 45, sTemp.c_str()); - vTruncateText(&sSerial, 16); + vTruncateText(&sSerial, 28); mvwaddstr(newWindow, 2, 3, sSerial.c_str()); - mvwaddstr(newWindow, 2, 21, sSpeed.c_str()); - mvwaddstr(newWindow, 2, 34, sTime.c_str()); + mvwaddstr(newWindow, 2, 33, sSpeed.c_str()); + mvwaddstr(newWindow, 2, 44, sTime.c_str()); mvwaddstr(newWindow,2, iXSize - sState.length() - 2, sState.c_str()); return newWindow; From c4adf03bf589c4a1a5c155981aaa73b93f1d45f7 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 13:28:40 +0200 Subject: [PATCH 09/19] TUI: fix formatting speed label --- src/tui.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tui.cpp b/src/tui.cpp index f1658fb..763fa43 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -375,11 +375,11 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, 0-2: space 3-31: Serial 32: space - 33-42: Speed - 43: space - 44-55: Time - 55: space - 56-70: State (but right side aligned) + 33-45: Speed + 46: space + 47-58: Time + 59: space + 60-70: State (but right side aligned) */ vTruncateText(&sModelFamily, 32); @@ -390,7 +390,7 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, vTruncateText(&sSerial, 28); mvwaddstr(newWindow, 2, 3, sSerial.c_str()); mvwaddstr(newWindow, 2, 33, sSpeed.c_str()); - mvwaddstr(newWindow, 2, 44, sTime.c_str()); + mvwaddstr(newWindow, 2, 47, sTime.c_str()); mvwaddstr(newWindow,2, iXSize - sState.length() - 2, sState.c_str()); return newWindow; From 75394a3501f48324038c0da88ceda06203a5deb2 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 13:48:45 +0200 Subject: [PATCH 10/19] TUI: shrunk down hight of entry --- src/tui.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/tui.cpp b/src/tui.cpp index 763fa43..a603e30 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -170,12 +170,12 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) break; } - uint16_t u16StartOffsetY = (4 * (u8Index)); + uint16_t u16StartOffsetY = (2 * (u8Index)); + - Logger::logThis()->info("Index: " + to_string(u8Index) + " Offset: " + to_string(u16StartOffsetY)); - WINDOW * tmp = createEntryWindow( (int)(u16StdscrX *(float)(3.0/7.0) - 2), 4, 3, u16StartOffsetY + 2, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); + WINDOW * tmp = createEntryWindow( (int)(u16StdscrX *(float)(3.0/7.0) - 2), 2, 3, u16StartOffsetY + 2, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); wrefresh(tmp); u8Index++; }//end loop though drives @@ -353,10 +353,10 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_ENTRY_SELECTED)); } - box(newWindow, ACS_VLINE, ACS_HLINE); + //box(newWindow, ACS_VLINE, ACS_HLINE); //index number - mvwaddstr(newWindow,1, 1, to_string(iListIndex).c_str()); + mvwaddstr(newWindow,0, 1, to_string(iListIndex).c_str()); /* 70 chars in x-axis @@ -369,7 +369,7 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, 36: space 37-43: Capacity 44: space - 45-49: Temp + 47-49: Temp line:02 0-2: space @@ -383,15 +383,15 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, */ vTruncateText(&sModelFamily, 32); - mvwaddstr(newWindow, 1, 3, sModelFamily.c_str()); - mvwaddstr(newWindow, 1, 37, sCapacity.c_str()); - mvwaddstr(newWindow, 1, 45, sTemp.c_str()); + mvwaddstr(newWindow, 0, 3, sModelFamily.c_str()); + mvwaddstr(newWindow, 0, 37, sCapacity.c_str()); + mvwaddstr(newWindow, 0, 47, sTemp.c_str()); vTruncateText(&sSerial, 28); - mvwaddstr(newWindow, 2, 3, sSerial.c_str()); - mvwaddstr(newWindow, 2, 33, sSpeed.c_str()); - mvwaddstr(newWindow, 2, 47, sTime.c_str()); - mvwaddstr(newWindow,2, iXSize - sState.length() - 2, sState.c_str()); + mvwaddstr(newWindow, 1, 3, sSerial.c_str()); + mvwaddstr(newWindow, 1, 33, sSpeed.c_str()); + mvwaddstr(newWindow, 1, 47, sTime.c_str()); + mvwaddstr(newWindow, 1, iXSize - sState.length() - 2, sState.c_str()); return newWindow; } From 3940a90ad5b0e3ebd8d5a3b2630316f3d137340f Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 14:21:08 +0200 Subject: [PATCH 11/19] TUI: removed boxes around enties --- include/tui.h | 7 ++++--- src/tui.cpp | 21 ++++++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/include/tui.h b/include/tui.h index ddecfb8..87b7ac9 100644 --- a/include/tui.h +++ b/include/tui.h @@ -12,9 +12,10 @@ #define COLOR_AREA_STDSCR 1 #define COLOR_AREA_OVERVIEW 2 -#define COLOR_AREA_ENTRY 3 -#define COLOR_AREA_ENTRY_SELECTED 4 -#define COLOR_AREA_DETAIL 5 +#define COLOR_AREA_ENTRY_EVEN 3 +#define COLOR_AREA_ENTRY_ODD 4 +#define COLOR_AREA_ENTRY_SELECTED 5 +#define COLOR_AREA_DETAIL 6 class TUI { diff --git a/src/tui.cpp b/src/tui.cpp index a603e30..ac77a65 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -42,8 +42,9 @@ void TUI::initTUI() init_pair(COLOR_AREA_STDSCR,COLOR_WHITE, COLOR_BLUE); wbkgd(stdscr, COLOR_PAIR(COLOR_AREA_STDSCR)); - init_pair(COLOR_AREA_ENTRY, COLOR_BLACK, COLOR_WHITE); - init_pair(COLOR_AREA_ENTRY_SELECTED, COLOR_BLACK, COLOR_RED); + init_pair(COLOR_AREA_ENTRY_EVEN, COLOR_BLACK, COLOR_WHITE); + init_pair(COLOR_AREA_ENTRY_ODD, COLOR_BLUE, COLOR_WHITE); + init_pair(COLOR_AREA_ENTRY_SELECTED, COLOR_WHITE, COLOR_RED); init_pair(COLOR_AREA_OVERVIEW, COLOR_BLACK, COLOR_WHITE); init_pair(COLOR_AREA_DETAIL, COLOR_BLACK, COLOR_WHITE); @@ -343,13 +344,23 @@ WINDOW* TUI::createEntryWindow(int iXSize, int iYSize, int iXStart, int iYStart, if(!bSelected) { // entry is NOT selected - attron(COLOR_PAIR(COLOR_AREA_ENTRY)); - wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_ENTRY)); + if(iListIndex % 2 == 0) + { + //even + attron(COLOR_PAIR(COLOR_AREA_ENTRY_EVEN)); + wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_ENTRY_EVEN)); + } + else + { + //odd + attron(COLOR_PAIR(COLOR_AREA_ENTRY_ODD)); + wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_ENTRY_ODD)); + } } else { // entry IS selected - attron(COLOR_PAIR(COLOR_AREA_ENTRY)); + attron(COLOR_PAIR(COLOR_AREA_ENTRY_SELECTED)); wbkgd(newWindow, COLOR_PAIR(COLOR_AREA_ENTRY_SELECTED)); } From c40dfe2cbb8f86490b49caf82db70a10015f06f9 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 21:10:45 +0200 Subject: [PATCH 12/19] new screenshot --- doc/screenshot.png | Bin 56033 -> 94446 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/screenshot.png b/doc/screenshot.png index 71406eaf5ec2caa6809c1a67f9ec4c07524b4899..52e3b7b15b9e047ad4bb8df003b90acb38564fe5 100644 GIT binary patch literal 94446 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 R_%a>9mHWBP`C6Lg>j-IGS)63I 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�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 From 31caa29bd913a20fccdb2b6c4ebf65817831c7f6 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 21:13:01 +0200 Subject: [PATCH 13/19] updated screenshot in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1074e0e..983498e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ * deleting a drive securely via overwriting ## Screenshot -![alt text](https://git.mosad.xyz/localhorst/reHDD/raw/commit/aa13cde8535360dc47b6af6b2fa643b4f442e9c7/doc/screenshot.png "Screenshot") +![Screenshot of reHDD with multiple drives in different states](https://git.mosad.xyz/localhorst/reHDD/raw/commit/c40dfe2cbb8f86490b49caf82db70a10015f06f9/doc/screenshot.png "Screenshot") ## Debian Build Notes From 6bd649e917669515a12e2cdf49fcb88b0b489d75 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 1 Oct 2022 22:24:27 +0200 Subject: [PATCH 14/19] removed debug logging --- src/tui.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/tui.cpp b/src/tui.cpp index ac77a65..699d8f0 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -173,9 +173,6 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) uint16_t u16StartOffsetY = (2 * (u8Index)); - - Logger::logThis()->info("Index: " + to_string(u8Index) + " Offset: " + to_string(u16StartOffsetY)); - WINDOW * tmp = createEntryWindow( (int)(u16StdscrX *(float)(3.0/7.0) - 2), 2, 3, u16StartOffsetY + 2, (distance(plistDrives->begin(), it)+1), sModelFamily, sSerial, sCapacity, sState, sTime, sSpeed, sTemp, bSelectedEntry); wrefresh(tmp); u8Index++; @@ -709,4 +706,4 @@ WINDOW* TUI::createSmartWarning(int iXSize, int iYSize, int iXStart, int iYStart mvwaddstr(newWindow,u16Line++, (iXSize/2)-(sLine01.size()/2), sLineTmp.c_str()); } return newWindow; -} \ No newline at end of file +} From 34f3ca6287c8760d5b9dd9f6b175291f285857af Mon Sep 17 00:00:00 2001 From: Hendrik Schutter Date: Sun, 2 Oct 2022 13:49:15 +0200 Subject: [PATCH 15/19] added usb image link --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 983498e..a85c10d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,17 @@ # reHDD -## Useful for: -* checking new drives for the first time -* checking used drives for their next live +## Features: +* show S.M.A.R.T values of attached drives +* checking used drives for their next live based on threshold limits +* delete a drive instant with wipefs * deleting a drive securely via overwriting +* only needs a display and keyboard +* process multiple drives at once + +## Download USB Image ## +[2.5GB image v1.0.0](https://schuttercloud.com/s/ggxGH9sA326aRfK) + +Use [Etcher](https://www.balena.io/etcher/#download) or `dd` to create an bootable USB drive . ## Screenshot ![Screenshot of reHDD with multiple drives in different states](https://git.mosad.xyz/localhorst/reHDD/raw/commit/c40dfe2cbb8f86490b49caf82db70a10015f06f9/doc/screenshot.png "Screenshot") @@ -26,7 +34,6 @@ Instructions how to create a standalone machine that boots directly to reHDD. Th ### Software requirements * `apt-get install hwinfo smartmontools curl htop sudo` - ### Installation clone this repo into /root/ From 6f5e0584bf8f5bfc0e6628884909a5f53f832ddb Mon Sep 17 00:00:00 2001 From: Hendrik Schutter Date: Sun, 2 Oct 2022 13:55:13 +0200 Subject: [PATCH 16/19] wget hint --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a85c10d..84fbfa0 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ * process multiple drives at once ## Download USB Image ## -[2.5GB image v1.0.0](https://schuttercloud.com/s/ggxGH9sA326aRfK) +[2.5GB image v1.0.0](https://schuttercloud.com/s/ggxGH9sA326aRfK) (`wget` is your friend) Use [Etcher](https://www.balena.io/etcher/#download) or `dd` to create an bootable USB drive . From 8938fe50474a0ab8e11a3d82dc1c4c2416e94855 Mon Sep 17 00:00:00 2001 From: Hendrik Schutter Date: Thu, 24 Nov 2022 20:41:23 +0100 Subject: [PATCH 17/19] feature/ipc_mgsqueue_printer (#57) closes https://git.mosad.xyz/localhorst/reHDD/issues/56 Co-authored-by: localhorst Reviewed-on: https://git.mosad.xyz/localhorst/reHDD/pulls/57 --- README.md | 5 +++ include/drive.h | 4 +-- include/printer.h | 60 +++++++++++++++++++++++++++++++ include/reHDD.h | 5 +-- include/shred.h | 2 +- src/drive.cpp | 2 +- src/logger/logger.cpp | 2 -- src/printer.cpp | 83 +++++++++++++++++++++++++++++++++++++++++++ src/reHDD.cpp | 20 +++++------ src/shred.cpp | 7 ++-- src/tui.cpp | 18 +++++----- 11 files changed, 178 insertions(+), 30 deletions(-) create mode 100644 include/printer.h create mode 100644 src/printer.cpp diff --git a/README.md b/README.md index 84fbfa0..1ee20cb 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,11 @@ Use [Etcher](https://www.balena.io/etcher/#download) or `dd` to create an bootab * `git submodule update` * `make release` +## Enable Label Printer ## + +Just install [reHDDPrinter](https://git.mosad.xyz/localhorst/reHDDPrinter). +No further settings needed. + ## Create Standalone with Debian 11 Instructions how to create a standalone machine that boots directly to reHDD. This is aimed for production use, like several drives a day shredding. diff --git a/include/drive.h b/include/drive.h index 25ab646..72037fe 100644 --- a/include/drive.h +++ b/include/drive.h @@ -33,9 +33,9 @@ public: bool bWasShredded = false; //all shred iterations done bool bWasChecked = false; //all shred iterations and optional checking done - bool bWasDeleteted = false; + bool bWasDeleted = false; bool bIsOffline = false; - uint32_t u32DriveChecksumAferShredding = 0U; + uint32_t u32DriveChecksumAfterShredding = 0U; private: string sPath; diff --git a/include/printer.h b/include/printer.h new file mode 100644 index 0000000..638c3e7 --- /dev/null +++ b/include/printer.h @@ -0,0 +1,60 @@ +/** + * @file printer.h + * @brief Send drive data to printer service using ipc msg queue + * @author Hendrik Schutter + * @date 24.11.2022 + */ + +#ifndef PRINTER_H_ +#define PRINTER_H_ + +#include "reHDD.h" + +#include +#include + +#define STR_BUFFER_SIZE 64U +#define IPC_MSG_QUEUE_KEY 0x1B11193C0 + +typedef struct +{ + char caDriveIndex[STR_BUFFER_SIZE]; + char caDriveHours[STR_BUFFER_SIZE]; + char caDriveCycles[STR_BUFFER_SIZE]; + char caDriveErrors[STR_BUFFER_SIZE]; + char caDriveShredTimestamp[STR_BUFFER_SIZE]; + char caDriveShredDuration[STR_BUFFER_SIZE]; + char caDriveCapacity[STR_BUFFER_SIZE]; + char caDriveState[STR_BUFFER_SIZE]; + char caDriveModelFamily[STR_BUFFER_SIZE]; + char caDriveModelName[STR_BUFFER_SIZE]; + char caDriveSerialnumber[STR_BUFFER_SIZE]; + char caDriveReHddVersion[STR_BUFFER_SIZE]; + +} t_driveData; + +typedef struct +{ + long msg_queue_type; + t_driveData driveData; +} t_msgQueueData; + + +class Printer +{ +protected: + +public: + static Printer* getPrinter(); + void print(Drive* drive); + +private: + static bool instanceFlag; + static Printer *single; + int msqid; + Printer(); + ~Printer(); + + +}; +#endif // PRINTER_H_ \ No newline at end of file diff --git a/include/reHDD.h b/include/reHDD.h index c15069b..2b88277 100644 --- a/include/reHDD.h +++ b/include/reHDD.h @@ -8,7 +8,7 @@ #ifndef REHDD_H_ #define REHDD_H_ -#define REHDD_VERSION "V1.0.0" +#define REHDD_VERSION "V1.1.0" // Drive handling Settings #define WORSE_HOURS 19200 //mark drive if at this limit or beyond @@ -64,6 +64,7 @@ using namespace std; #include "shred.h" #include "delete.h" #include "tui.h" +#include "printer.h" #include "logger/logger.h" extern Logger* logging; @@ -90,7 +91,7 @@ private: static void filterIgnoredDrives(list * plistDrives); static void filterNewDrives(list * plistOldDrives, list * plistNewDrives); static void addSMARTData(list * plistDrives); - static void ThreadScannDevices(); + static void ThreadScanDevices(); static void ThreadUserInput(); static void ThreadShred(Drive* const pDrive); static void ThreadDelete(); diff --git a/include/shred.h b/include/shred.h index c423d36..3da43bb 100644 --- a/include/shred.h +++ b/include/shred.h @@ -21,7 +21,7 @@ #define CHUNK_SIZE 1024*1024*32 //amount of bytes that are overwritten at once --> 32MB #define TFNG_DATA_SIZE CHUNK_SIZE //amount of bytes used by tfng -//#define DEMO_DRIVE_SIZE 1024*1024*256L // 256MB +#define DEMO_DRIVE_SIZE 1024*1024*256L // 256MB //#define DEMO_DRIVE_SIZE 1024*1024*1024L // 1GB //#define DEMO_DRIVE_SIZE 5*1024*1024*1024L // 5GB //#define DEMO_DRIVE_SIZE 1024*1024*1024*10L // 10GB diff --git a/src/drive.cpp b/src/drive.cpp index f31367f..b2190a0 100644 --- a/src/drive.cpp +++ b/src/drive.cpp @@ -182,7 +182,7 @@ void Drive::checkFrozenDrive(void) if((u32localtime - this->u32Timestamp) >= (FROZEN_TIMEOUT*60) && (this->u32Timestamp > 0) && (this->getTaskPercentage() < 100.0)) { Logger::logThis()->warning("Drive Frozen: " + this->getModelName() + " " + this->getSerial()); - this->bWasDeleteted = false; + this->bWasDeleted = false; this->bWasShredded = false; this->state = Drive::FROZEN; } diff --git a/src/logger/logger.cpp b/src/logger/logger.cpp index 5708359..f77021d 100644 --- a/src/logger/logger.cpp +++ b/src/logger/logger.cpp @@ -18,8 +18,6 @@ Logger* Logger::single = NULL; /** * \brief create new logger instance - * \param path to log file - * \param struct with data * \return instance of Logger */ Logger::Logger() diff --git a/src/printer.cpp b/src/printer.cpp new file mode 100644 index 0000000..e8db0bb --- /dev/null +++ b/src/printer.cpp @@ -0,0 +1,83 @@ +/** + * @file printer.cpp + * @brief Send drive data to printer service using ipc msg queue + * @author Hendrik Schutter + * @date 24.11.2022 + */ + +#include "../include/reHDD.h" + +bool Printer::instanceFlag = false; +Printer* Printer::single = NULL; + +/** + * \brief create new Printer instance + * \param path to log file + * \param struct with data + * \return instance of Printer + */ +Printer::Printer() +{ + if (-1 == (this->msqid = msgget((key_t)IPC_MSG_QUEUE_KEY, IPC_CREAT | 0666))) + { + Logger::logThis()->error("Printer: Create mgs queue failed!"); + } +} + +/** + * \brief deconstructor + * \return void + */ +Printer::~Printer() +{ + instanceFlag = false; +} + +/** + * \brief send data to msg queue + * \return void + */ +void Printer::print(Drive* drive) +{ + t_msgQueueData msgQueueData; + msgQueueData.msg_queue_type = 1; + + sprintf(msgQueueData.driveData.caDriveIndex, "%i",42); //TODO: get from tui + sprintf(msgQueueData.driveData.caDriveState, "shredded"); + strcpy(msgQueueData.driveData.caDriveModelFamily, drive->getModelFamily().c_str()); + strcpy(msgQueueData.driveData.caDriveModelName, drive->getModelName().c_str()); + sprintf(msgQueueData.driveData.caDriveCapacity, "%li", drive->getCapacity()); + strcpy(msgQueueData.driveData.caDriveSerialnumber, drive->getSerial().c_str()); + sprintf(msgQueueData.driveData.caDriveHours, "%i",drive->getPowerOnHours()); + sprintf(msgQueueData.driveData.caDriveCycles, "%i",drive->getPowerCycles()); + sprintf(msgQueueData.driveData.caDriveErrors, "%i",drive->getErrorCount()); + sprintf(msgQueueData.driveData.caDriveShredTimestamp, "%li",drive->getActionStartTimestamp()); + sprintf(msgQueueData.driveData.caDriveShredDuration, "%li",drive->getTaskDuration()); + sprintf(msgQueueData.driveData.caDriveReHddVersion, REHDD_VERSION); + + if (-1 == msgsnd(this->msqid, &msgQueueData, sizeof(t_msgQueueData) - sizeof(long), 0)) + { + Logger::logThis()->error("Printer: Send mgs queue failed!"); + }else{ + Logger::logThis()->info("Printer: print triggered - Drive: " + drive->getSerial()); + } +} + + +/** + * \brief return a instance of the printer + * \return printer obj + */ +Printer* Printer::getPrinter() +{ + if (!instanceFlag) + { + single = new Printer(); //create new obj + instanceFlag = true; + return single; + } + else + { + return single; //return existing obj + } +} \ No newline at end of file diff --git a/src/reHDD.cpp b/src/reHDD.cpp index 9f359b6..4ed5f68 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -15,7 +15,7 @@ static std::mutex mxDrives; list listNewDrives; //store found drives that are updated every 5sec -static list listDrives; //stores all drive data from scann thread +static list listDrives; //stores all drive data from scan thread TUI *ui; @@ -46,7 +46,7 @@ void reHDD::app_logic(void) pipe(fdNewDrivesInformPipe); pipe(fdShredInformPipe); - thread thDevices(ThreadScannDevices); //start thread that scanns for drives + thread thDevices(ThreadScanDevices); //start thread that scans for drives thread thUserInput(ThreadUserInput); //start thread that reads user input thread thCheckFrozenDrives(ThreadCheckFrozenDrives); //start thread that checks timeout for drives @@ -98,7 +98,7 @@ Drive* reHDD::getSelectedDrive() } } -void reHDD::ThreadScannDevices() +void reHDD::ThreadScanDevices() { while(true) { @@ -221,7 +221,7 @@ void reHDD::ThreadDelete() getSelectedDrive()->setActionStartTimestamp(); //save timestamp at start of deleting Delete::deleteDrive(getSelectedDrive()); //blocking, no thread getSelectedDrive()->state = Drive::TaskState::NONE; //delete finished - getSelectedDrive()->bWasDeleteted = true; + getSelectedDrive()->bWasDeleted = true; Logger::logThis()->info("Finished delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial()); ui->updateTUI(&listDrives, u8SelectedEntry); } @@ -230,7 +230,7 @@ void reHDD::ThreadDelete() void reHDD::filterNewDrives(list * plistOldDrives, list * plistNewDrives) { list ::iterator itOld; //Iterator for current (old) drive list - list ::iterator itNew; //Iterator for new drive list that was created from to scann thread + list ::iterator itNew; //Iterator for new drive list that was created from to scan thread //remove offline old drives from previously run for (itOld = plistOldDrives->begin(); itOld != plistOldDrives->end();) @@ -263,9 +263,9 @@ void reHDD::filterNewDrives(list * plistOldDrives, list * plistNew //copy new smart data to existing drive itOld->setDriveSMARTData(itNew->getModelFamily(), itNew->getModelName(), itNew->getSerial(), itNew->getCapacity(), itNew->getErrorCount(), itNew->getPowerOnHours(), itNew->getPowerCycles(), itNew->getTemperature()); #ifdef LOG_LEVEL_HIGH - Logger::logThis()->info("Delete new drive, because allready attached: " + itNew->getModelName()); + Logger::logThis()->info("Delete new drive, because already attached: " + itNew->getModelName()); #endif - itNew = plistNewDrives->erase(itNew); //This drive is allready attached, remove from new list + itNew = plistNewDrives->erase(itNew); //This drive is already attached, remove from new list } else { @@ -334,15 +334,15 @@ void reHDD::searchDrives(list * plistDrives) */ void reHDD::filterIgnoredDrives(list * plistDrives) { - list> vtlIgnoredDevices; //store drives from ingnore file - ifstream input( "ignoreDrives.conf" ); //read ingnore file + list> vtlIgnoredDevices; //store drives from ignore file + ifstream input( "ignoreDrives.conf" ); //read ignore file for(string sLine; getline( input, sLine );) { //Logger::logThis()->info("read uuid: " + sLine); vtlIgnoredDevices.emplace_back(sLine); //add found path and uuid from ignore file to vector } - //loop through found entries in ingnore file + //loop through found entries in ignore file for(auto row : vtlIgnoredDevices) { list ::iterator it; diff --git a/src/shred.cpp b/src/shred.cpp index f8d92c1..65bf219 100644 --- a/src/shred.cpp +++ b/src/shred.cpp @@ -182,15 +182,15 @@ int Shred::shredDrive(Drive* drive, int* ipSignalFd) #ifdef ZERO_CHECK drive->state=Drive::CHECK_ACTIVE; Logger::logThis()->info("Check-Task started - Drive: " + drive->getModelName() + "-" + drive->getSerial() + " @" + address.str()); - drive->u32DriveChecksumAferShredding = uiCalcChecksum(driveFileDiscr, drive, ipSignalFd); + drive->u32DriveChecksumAfterShredding = uiCalcChecksum(driveFileDiscr, drive, ipSignalFd); #ifdef LOG_LEVEL_HIGH if (drive->u32DriveChecksumAferShredding != 0) { - Logger::logThis()->info("Shred-Task: Checksum not zero: " + to_string(drive->u32DriveChecksumAferShredding) + " - Drive: " + drive->getSerial()); + Logger::logThis()->info("Shred-Task: Checksum not zero: " + to_string(drive->u32DriveChecksumAfterShredding) + " - Drive: " + drive->getSerial()); } else { - Logger::logThis()->info("Shred-Task: Checksum zero: " + to_string(drive->u32DriveChecksumAferShredding) + " - Drive: " + drive->getSerial()); + Logger::logThis()->info("Shred-Task: Checksum zero: " + to_string(drive->u32DriveChecksumAfterShredding) + " - Drive: " + drive->getSerial()); } #endif #endif @@ -202,6 +202,7 @@ int Shred::shredDrive(Drive* drive, int* ipSignalFd) { drive->state= Drive::NONE; drive->setTaskPercentage(0.0); + Printer::getPrinter()->print(drive); Logger::logThis()->info("Finished shred/check for: " + drive->getModelName() + "-" + drive->getSerial()); } return 0; diff --git a/src/tui.cpp b/src/tui.cpp index 699d8f0..ae43f4a 100644 --- a/src/tui.cpp +++ b/src/tui.cpp @@ -128,7 +128,7 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) case Drive::NONE: case Drive::SHRED_SELECTED: case Drive::DELETE_SELECTED: - if (it->bWasDeleteted) + if (it->bWasDeleted) { sState = "DELETED"; //mark drive as deleted previously } @@ -148,9 +148,9 @@ void TUI::updateTUI(list * plistDrives, uint8_t u8SelectedEntry) } #ifdef ZERO_CHECK - if(bSelectedEntry && it->bWasChecked && (it->u32DriveChecksumAferShredding != 0U)) + if(bSelectedEntry && it->bWasChecked && (it->u32DriveChecksumAfterShredding != 0U)) { - dialog=createZeroChecksumWarning(70, 16, ((u16StdscrX)-(int)(u16StdscrX/2)-20),(int)(u16StdscrY/2)-8, it->getPath(), it->getModelFamily(), it->getModelName(), it->getSerial(), it->u32DriveChecksumAferShredding); + dialog=createZeroChecksumWarning(70, 16, ((u16StdscrX)-(int)(u16StdscrX/2)-20),(int)(u16StdscrY/2)-8, it->getPath(), it->getModelFamily(), it->getModelName(), it->getSerial(), it->u32DriveChecksumAfterShredding); wrefresh(dialog); } #endif @@ -275,7 +275,7 @@ WINDOW* TUI::createDetailViewWindow( int iXSize, int iYSize, int iXStart, Drive centerTitle(newWindow, title.c_str()); string sPath = "Path: " +drive.getPath(); - string sModelFamlily = "ModelFamily: " + drive.getModelFamily(); + string sModelFamily = "ModelFamily: " + drive.getModelFamily(); string sModelName = "ModelName: " + drive.getModelName(); string sCapacity = "Capacity: " + drive.sCapacityToText(); string sSerial = "Serial: " + drive.getSerial(); @@ -286,7 +286,7 @@ WINDOW* TUI::createDetailViewWindow( int iXSize, int iYSize, int iXStart, Drive uint16_t u16Line = 2; mvwaddstr(newWindow,u16Line++, 3, sPath.c_str()); - mvwaddstr(newWindow,u16Line++, 3, sModelFamlily.c_str()); + mvwaddstr(newWindow,u16Line++, 3, sModelFamily.c_str()); mvwaddstr(newWindow,u16Line++, 3, sModelName.c_str()); mvwaddstr(newWindow,u16Line++, 3, sCapacity.c_str()); mvwaddstr(newWindow,u16Line++, 3, sSerial.c_str()); @@ -315,7 +315,7 @@ WINDOW* TUI::overwriteDetailViewWindow( int iXSize, int iYSize, int iXStart) string sLine03 = "Available under GPL 3.0"; string sLine04 = "https://git.mosad.xyz/localhorst/reHDD"; string sLine05 = "Delete: Wipe format table - this is NOT secure"; - string sLine06 = "Shred: Overwite drive " + to_string(SHRED_ITERATIONS) + " iterations - this is secure"; + string sLine06 = "Shred: Overwrite drive " + to_string(SHRED_ITERATIONS) + " iterations - this is secure"; uint16_t u16Line = 5; @@ -544,7 +544,7 @@ WINDOW* TUI::createZeroChecksumWarning(int iXSize, int iYSize, int iXStart, int string sLine01 = "Please detach this drive and check it manually:"; string sShredChecksum = "After shredding the checksum was: " + to_string(u32Checksum); string sLinePath = "Path: " +sPath; - string sLineModelFamlily = "ModelFamily: " + sModelFamily; + string sLineModelFamily = "ModelFamily: " + sModelFamily; string sLineModelName = "ModelName: " + sModelName; string sLineSerial = "Serial: " + sSerial; @@ -557,7 +557,7 @@ WINDOW* TUI::createZeroChecksumWarning(int iXSize, int iYSize, int iXStart, int mvwaddstr(newWindow,u16Line++, 3, sLine01.c_str()); u16Line++; mvwaddstr(newWindow,u16Line++, 3, sLinePath.c_str()); - mvwaddstr(newWindow,u16Line++, 3, sLineModelFamlily.c_str()); + mvwaddstr(newWindow,u16Line++, 3, sLineModelFamily.c_str()); mvwaddstr(newWindow,u16Line++, 3, sLineModelName.c_str()); mvwaddstr(newWindow,u16Line++, 3, sLineSerial.c_str()); u16Line++; @@ -695,7 +695,7 @@ WINDOW* TUI::createSmartWarning(int iXSize, int iYSize, int iXStart, int iYStart if(u32ErrorCount > 0) { - string sLineTmp = "S.M.A.R.T. erros detected: " + to_string(u32ErrorCount); + string sLineTmp = "S.M.A.R.T. errors detected: " + to_string(u32ErrorCount); mvwaddstr(newWindow,u16Line++, (iXSize/2)-(sLine01.size()/2), sLineTmp.c_str()); u16Line++; } From 7e4555213eb069d01332287372305dd0460ecf3b Mon Sep 17 00:00:00 2001 From: localhorst Date: Thu, 24 Nov 2022 20:44:30 +0100 Subject: [PATCH 18/19] Finish dev version --- include/shred.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/shred.h b/include/shred.h index 3da43bb..c423d36 100644 --- a/include/shred.h +++ b/include/shred.h @@ -21,7 +21,7 @@ #define CHUNK_SIZE 1024*1024*32 //amount of bytes that are overwritten at once --> 32MB #define TFNG_DATA_SIZE CHUNK_SIZE //amount of bytes used by tfng -#define DEMO_DRIVE_SIZE 1024*1024*256L // 256MB +//#define DEMO_DRIVE_SIZE 1024*1024*256L // 256MB //#define DEMO_DRIVE_SIZE 1024*1024*1024L // 1GB //#define DEMO_DRIVE_SIZE 5*1024*1024*1024L // 5GB //#define DEMO_DRIVE_SIZE 1024*1024*1024*10L // 10GB From 8f57cd2a156cc4c9f782f05c7c23680c587a53e8 Mon Sep 17 00:00:00 2001 From: localhorst Date: Thu, 24 Nov 2022 20:45:24 +0100 Subject: [PATCH 19/19] new beta version --- include/reHDD.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/reHDD.h b/include/reHDD.h index 2b88277..7b7387e 100644 --- a/include/reHDD.h +++ b/include/reHDD.h @@ -8,7 +8,7 @@ #ifndef REHDD_H_ #define REHDD_H_ -#define REHDD_VERSION "V1.1.0" +#define REHDD_VERSION "bV1.1.0" // Drive handling Settings #define WORSE_HOURS 19200 //mark drive if at this limit or beyond