31 Commits
v0.27 ... v0.28

Author SHA1 Message Date
PartialVolume
50079a15f9 Merge pull request #211 from PartialVolume/Release_0.28
Release 0.28
2020-03-11 16:48:48 +00:00
PartialVolume
cc82687cf3 Release 0.28 2020-03-11 16:44:13 +00:00
PartialVolume
82a867b569 Merge pull request #210 from martijnvanbrummelen/PartialVolume-fix_individual_throughput
Update CHANGELOG.md
2020-03-11 14:06:21 +00:00
PartialVolume
fee849b35e Update CHANGELOG.md 2020-03-11 14:03:16 +00:00
PartialVolume
09d9fc88fb Merge pull request #209 from PartialVolume/fix_individual_device_throughput
Fix individual device throughput.
2020-03-11 13:58:24 +00:00
PartialVolume
6570197de0 Fix individual device throughput.
On completion of a device wipe, the throughput was continuing
to be calculated for a completed wipe which resulted in the
throughput for that particular device to gradually drop over time
to zero if other drives were still

This has now been corrected. Throughput calculation for a given
device is stopped when the particular device has completed its wipe.
2020-03-11 13:55:44 +00:00
PartialVolume
4eef3e6ab0 Merge pull request #208 from martijnvanbrummelen/PartialVolume-update-CHANGELOG.md
Update CHANGELOG.md
2020-03-11 10:05:27 +00:00
PartialVolume
c4969e36f1 Update CHANGELOG.md
Add hyperlinks to 0.28 changes.
2020-03-11 10:04:01 +00:00
PartialVolume
c75c393e49 Merge pull request #207 from martijnvanbrummelen/PartialVolume-update-CHANGELOG.md
Update CHANGELOG.md
2020-03-10 21:16:33 +00:00
PartialVolume
53e5f4ca3a Update CHANGELOG.md 2020-03-10 21:15:30 +00:00
PartialVolume
72505f00cc Merge pull request #206 from martijnvanbrummelen/PartialVolume-Screen-responsivness-during-wipe
Update CHANGELOG.md
2020-03-10 20:36:22 +00:00
PartialVolume
f4947eb317 Update CHANGELOG.md 2020-03-10 20:34:48 +00:00
PartialVolume
5775498803 Merge pull request #205 from PartialVolume/slow_main_window_refresh_during_wipe_after_terminal_resize
Slow main window refresh during wipe after terminal resize
2020-03-10 20:29:28 +00:00
PartialVolume
85059c73c4 Format code 2020-03-10 20:25:52 +00:00
PartialVolume
cd420a079d Fix 1 second delay on screen update when terminal is resized.
During a wipe there is a approximately 1 second delay between
resizing the window and the screen fully updating. This has been
corrected so screen updates and as a consequence key response is
faster. This makes the GUI interface feel smoother and more responsive.
2020-03-10 20:21:00 +00:00
PartialVolume
e2ec6a560f Merge pull request #204 from PartialVolume/fix_overflow_warning
Fix overflow warning
2020-03-10 15:30:24 +00:00
PartialVolume
87199a1940 Clang formatting. 2020-03-10 15:23:18 +00:00
PartialVolume
88cae05301 Fix overflow warning message.
Use sizeof to determine suitable string size for the dmidecode cmd buffer
2020-03-10 15:18:25 +00:00
Martijn van Brummelen
14d285fb63 Update nwipe.1
Section should be 1 not 4
2020-03-10 10:12:33 +01:00
PartialVolume
69e27abf2b Merge pull request #201 from martijnvanbrummelen/PartialVolume-update-CHANGELOG.md
Update CHANGELOG.md
2020-03-09 14:39:29 +00:00
PartialVolume
32862d6af7 Update CHANGELOG.md 2020-03-09 14:36:18 +00:00
PartialVolume
fb00aa0243 Merge pull request #200 from PartialVolume/fix_flicker
Fix flicker
2020-03-09 14:26:51 +00:00
PartialVolume
e779265b01 Update pre-release title banner -1, update format 2020-03-09 14:20:42 +00:00
PartialVolume
aad29f14c2 This fixes screen flicker seen in the following situations:
These apply in full screen mode ONLY: i.e ALT-F2, Shredos etc.
1. When selecting a drive using up/down arrow keys
2. During a wipe the screen flashes at one second intervals.

These apply in a terminal window such as konsole, tmux etc.
1. When resizing the terminal there was a flicker.

All these problems have been fixed.

Most of the causes of the flicker was an excessive use of wrefresh() which calls
the wnoutrefresh() and doupdate() functions. This can cause flickering when a
number of calls to wrefresh happen at the same time. It is more appropriate to
replace the wrefresh() with wnoutrefresh(), then at an appropriate time call
doupate() just once. The result is that before doupdate() would have been
called multiple times and now it's called once when required.

fixes #115
2020-03-09 14:16:21 +00:00
PartialVolume
fe06f88ae2 Update CHANGELOG.md 2020-03-08 02:25:33 +00:00
PartialVolume
b3adbb3a17 Update CHANGELOG.md 2020-03-08 01:58:26 +00:00
PartialVolume
ce61974eba Merge pull request #199 from PartialVolume/fix_exit_on_terminal_resize_after_wipe_complete
Fix window/panel resizing & display when terminal resized by user
2020-03-08 01:51:07 +00:00
PartialVolume
95ab80cc68 Fix window/panel resizing & display when terminal resized by user
Also fixes an issue where program exits when terminal resized but
only after all the wipes have finished. You can now resize the
terminal, before, during and after the wipes have completed and
the windows are now all correctly updated and sized.

Updated version to 0.28-pre-release

Removed unnecessary zero of gui thread pointer.

Created six new functions in gui.c in order to fix the above problem
and reduce existing duplicated code.
2020-03-08 01:42:47 +00:00
PartialVolume
0077fcbc12 Update CHANGELOG.md 2020-03-07 01:31:18 +00:00
PartialVolume
98f4466d89 Update CHANGELOG.md 2020-03-06 14:41:21 +00:00
PartialVolume
203f6a06f5 Update CHANGELOG.md
Proposed changes in code for release in 0.28 due Summer 2020
2020-03-06 14:14:00 +00:00
9 changed files with 593 additions and 348 deletions

View File

@@ -1,6 +1,16 @@
RELEASE NOTES
=============
v0.28
-----------------------
- Fix premature exit when terminal resized on completion of wipes (Thanks PartialVolume)
- Fix GUI when terminal is resized, currently not handled correctly causing missing or incorrectly sized ncurses windows/panels (Thanks PartialVolume)
- Fix GUI screen flicker under various situations. [#200](https://github.com/martijnvanbrummelen/nwipe/pull/200) Fixes [#115](https://github.com/martijnvanbrummelen/nwipe/issues/115) (Thanks PartialVolume)
- Fix responsivness of screen during wipe when resized. Info is updated every 10th/sec. Key presses are more responsive. (Thanks PartialVolume)
- Fix compiler warning regarding buffer overflow. Fixes [#202](https://github.com/martijnvanbrummelen/nwipe/issues/202) (Thanks PartialVolume)
- Fix Man page (Thanks martijnvanbrummelen)
- Fix individual device throughput. On completion of a wipe instead of the throughput calculation stopping for a completed wipe, it would continue to calculate resulting in a particular drives throughtput slowly dropping until eventually it reached zero. The overall throughput was not affected. (Thanks PartialVolume)
v0.27
-----------------------
- Add `verify` method to verify a disk is zero filled [#128](https://github.com/martijnvanbrummelen/nwipe/pull/128) (Thanks Legogizmo)

View File

@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.64])
AC_INIT([nwipe], [0.27], [git@brumit.nl])
AC_INIT([nwipe], [0.28], [git@brumit.nl])
AM_INIT_AUTOMAKE(foreign subdir-objects)
AC_OUTPUT(Makefile src/Makefile man/Makefile)
AC_CONFIG_SRCDIR([src/nwipe.c])

View File

@@ -1,4 +1,4 @@
.TH NWIPE "4" "March 2020" "nwipe version 0.27" "User Commands"
.TH NWIPE "1" "March 2020" "nwipe version 0.28" "User Commands"
.SH NAME
nwipe \- securely erase disks
.SH SYNOPSIS

898
src/gui.c

File diff suppressed because it is too large Load Diff

View File

@@ -25,6 +25,13 @@
void nwipe_gui_free( void ); // Stop the GUI.
void nwipe_gui_init( void ); // Start the GUI.
void nwipe_gui_create_main_window( void ); // Create the main window
void nwipe_gui_create_header_window( void ); // Create the header window
void nwipe_gui_create_footer_window( const char* ); // Create the footer window and write text
void nwipe_gui_create_options_window( void ); // Create the options window
void nwipe_gui_create_stats_window( void ); // Create the stats window
void nwipe_gui_create_all_windows_on_terminal_resize(
const char* footer_text ); // If terminal is resized recreate all windows
void nwipe_gui_select( int count, nwipe_context_t** c ); // Select devices to wipe.
void* nwipe_gui_status( void* ptr ); // Update operation progress.
void nwipe_gui_method( void ); // Change the method option.

View File

@@ -395,7 +395,6 @@ int nwipe_log_sysinfo()
{
FILE* fp;
char path[256];
char cmd[50];
int len;
int r; // A result buffer.
@@ -428,6 +427,11 @@ int nwipe_log_sysinfo()
"processor-frequency",
"" // terminates the keyword array. DO NOT REMOVE
};
char dmidecode_command[] = "dmidecode -s %s";
char cmd[sizeof( dmidecode_keywords ) + sizeof( dmidecode_command )];
unsigned int keywords_idx;
keywords_idx = 0;
@@ -435,7 +439,7 @@ int nwipe_log_sysinfo()
/* Run the dmidecode command to retrieve each dmidecode keyword, one at a time */
while( dmidecode_keywords[keywords_idx][0] != 0 )
{
sprintf( cmd, "dmidecode -s %s", &dmidecode_keywords[keywords_idx][0] );
sprintf( cmd, dmidecode_command, &dmidecode_keywords[keywords_idx][0] );
fp = popen( cmd, "r" );
if( fp == NULL )
{

View File

@@ -442,15 +442,15 @@ int main( int argc, char** argv )
if( terminate_signal == 1 )
{
nwipe_log( NWIPE_LOG_INFO, "Program interrupted" );
printf( "Program interrupted" );
}
else
{
if( !nwipe_options.nowait )
{
/* Wait for the user to press enter to exit */
nocbreak();
getch();
do
{
sleep( 1 );
} while( terminate_signal != 1 );
}
}
nwipe_log( NWIPE_LOG_INFO, "Exit in progress" );

View File

@@ -1,4 +1,4 @@
/*
/*.
* nwipe.h: The header file of the nwipe program.
*
* Copyright Darik Horn <dajhorn-dban@vanadac.com>.

View File

@@ -4,7 +4,7 @@
* used by configure to dynamically assign those values
* to documentation files.
*/
const char* version_string = "0.27";
const char* version_string = "0.28";
const char* program_name = "nwipe";
const char* author_name = "Martijn van Brummelen";
const char* email_address = "git@brumit.nl";
@@ -14,4 +14,4 @@ Modifications to original dwipe Copyright Andy Beverley <andy@andybev.com>\n\
This is free software; see the source for copying conditions.\n\
There is NO warranty; not even for MERCHANTABILITY or FITNESS\n\
FOR A PARTICULAR PURPOSE.\n";
const char* banner = "nwipe 0.27";
const char* banner = "nwipe 0.28";