@@ -23,6 +23,7 @@ GNU General Public License for more details.
23
23
#endif
24
24
#include < fstream>
25
25
#include < iomanip>
26
+ #include < ios>
26
27
#include < iostream>
27
28
#include < sstream>
28
29
#include < string>
@@ -73,7 +74,6 @@ void echo(bool);
73
74
std::ofstream logFile;
74
75
75
76
int main (int argc, char **argv) {
76
-
77
77
bitcheck bc;
78
78
memset (&bc, 0 , 1 );
79
79
bc.bit2 = 1 ;
@@ -97,8 +97,7 @@ int main(int argc, char **argv) {
97
97
#endif
98
98
break ;
99
99
default :
100
- std::cerr << " Unknown bit check result " << std::hex << check;
101
- std::cerr << std::endl;
100
+ std::cerr << " Unknown bit check result " << std::hex << check << " \n " ;
102
101
errorOut (" Exiting program because it will not run properly" );
103
102
break ;
104
103
}
@@ -120,7 +119,7 @@ int main(int argc, char **argv) {
120
119
}
121
120
if (thisCmd == " --version" ) {
122
121
std::cout << " stenc v" << VERSION << " - SCSI Tape Encryption Manager\n " ;
123
- std::cout << " https://github.com/scsitape/stenc" << std::endl ;
122
+ std::cout << " https://github.com/scsitape/stenc \n " ;
124
123
exit (EXIT_SUCCESS);
125
124
}
126
125
if (thisCmd == " -g" ) { // Check if the help flag was passed. If it was,
@@ -134,7 +133,7 @@ int main(int argc, char **argv) {
134
133
keyLength = keyLength / 8 ;
135
134
if (keyLength > SSP_KEY_LENGTH) {
136
135
std::cout << " Warning: Keys over " << (SSP_KEY_LENGTH * 8 )
137
- << " bits cannot be used by this program!" << std::endl ;
136
+ << " bits cannot be used by this program! \n " ;
138
137
}
139
138
action = 2 ; // generating key
140
139
} else if (thisCmd == " -e" ) {
@@ -214,9 +213,9 @@ int main(int argc, char **argv) {
214
213
}
215
214
kf << newkey << keyDesc;
216
215
kf.close ();
217
- std::cout << " Random key saved into '" << keyFile << " '" << std::endl ;
216
+ std::cout << " Random key saved into '" << keyFile << " '\n " ;
218
217
chmod (keyFile.c_str (), 0600 );
219
- std::cout << " Permissions of keyfile set to 600" << std::endl ;
218
+ std::cout << " Permissions of keyfile set to 600\n " ;
220
219
exit (EXIT_SUCCESS);
221
220
}
222
221
// validate the tape device
@@ -247,14 +246,14 @@ int main(int argc, char **argv) {
247
246
logFile.open (LOGFILE, std::ios::app);
248
247
if (!logFile.is_open ()) {
249
248
std::cout << " Warning: Could not open '" << LOGFILE
250
- << " ' for key change auditing!" << std::endl ;
249
+ << " ' for key change auditing!\n " ;
251
250
}
252
251
chmod (LOGFILE, 0600 );
253
252
254
253
if (action == 0 ) {
255
- std::cout << " Status for " << tapeDrive << std::endl;
256
- std::cout << " --------------------------------------------------"
257
- << std::endl;
254
+ std::cout << " Status for " << tapeDrive << " \n "
255
+ << " --------------------------------------------------\n " ;
256
+
258
257
if (detail)
259
258
inquiryDrive (tapeDrive);
260
259
showDriveStatus (tapeDrive, detail);
@@ -274,14 +273,13 @@ int main(int argc, char **argv) {
274
273
echo (false );
275
274
getline (std::cin, p1);
276
275
echo (true );
277
- std::cout << std::endl;
278
- std::cout << " Re-enter key in hex format: " ;
276
+ std::cout << " \n Re-enter key in hex format: " ;
279
277
echo (false );
280
278
getline (std::cin, p2);
281
279
echo (true );
282
- std::cout << std::endl ;
280
+ std::cout << " \n " ;
283
281
if (p1 != p2) {
284
- std::cout << " Keys do not match!! " << std::endl ;
282
+ std::cout << " Keys do not match!\n " ;
285
283
} else {
286
284
ki.load (p1);
287
285
if (ki.valid ) {
@@ -292,7 +290,7 @@ int main(int argc, char **argv) {
292
290
done = true ;
293
291
}
294
292
} else
295
- std::cout << " Invalid key!" << std::endl ;
293
+ std::cout << " Invalid key!\n " ;
296
294
}
297
295
}
298
296
drvOptions.keyName = keyDesc;
@@ -367,7 +365,7 @@ int main(int argc, char **argv) {
367
365
// exits to shell with an error message
368
366
369
367
void errorOut (std::string const message) {
370
- std::cerr << " Error: " << message << std::endl ;
368
+ std::cerr << " Error: " << message << " \n " ;
371
369
showUsage ();
372
370
exit (EXIT_FAILURE);
373
371
}
@@ -376,10 +374,9 @@ void errorOut(std::string const message) {
376
374
void showUsage () {
377
375
std::cout
378
376
<< " Usage: stenc --version | -g <length> -k <file> [-kd <description>] | "
379
- " -f <device> [--detail] [-e <on/mixed/rawread/off> [-k <file>] [-kd "
380
- " <description>] [-a <index>] [--protect | --unprotect] [--ckod] ]"
381
- << std::endl;
382
- std::cout << " Type 'man stenc' for more information." << std::endl;
377
+ " -f <device> [--detail] [-e <on/mixed/rawread/off> [-k <file>] "
378
+ " [-kd <description>] [-a <index>] [--protect | --unprotect] [--ckod] ]\n\n "
379
+ " Type 'man stenc' for more information.\n " ;
383
380
}
384
381
void inquiryDrive (std::string tapeDevice) {
385
382
// todo: std::cout should not be used outside main()
@@ -422,58 +419,58 @@ void showDriveStatus(std::string tapeDrive, bool detail) {
422
419
)
423
420
emode = " off" ;
424
421
425
- std::cout << emode << std::endl ;
422
+ std::cout << emode << " \n " ;
426
423
if (detail) {
427
424
std::cout << std::left << std::setw (25 ) << " Drive Output:" ;
428
425
switch ((int )opt->des .decryptionMode ) {
429
426
case 0x0 :
430
- std::cout << " Not decrypting" << std::endl ;
427
+ std::cout << " Not decrypting\n " ;
431
428
std::cout << std::setw (25 ) << " "
432
- << " Raw encrypted data not outputted" << std::endl ;
429
+ << " Raw encrypted data not outputted\n " ;
433
430
break ;
434
431
case 0x1 :
435
- std::cout << " Not decrypting" << std::endl ;
432
+ std::cout << " Not decrypting\n " ;
436
433
std::cout << std::setw (25 ) << " "
437
- << " Raw encrypted data outputted" << std::endl ;
434
+ << " Raw encrypted data outputted\n " ;
438
435
break ;
439
436
case 0x2 :
440
- std::cout << " Decrypting" << std::endl ;
437
+ std::cout << " Decrypting\n " ;
441
438
std::cout << std::setw (25 ) << " "
442
- << " Unencrypted data not outputted" << std::endl ;
439
+ << " Unencrypted data not outputted\n " ;
443
440
break ;
444
441
case 0x3 :
445
- std::cout << " Decrypting" << std::endl ;
442
+ std::cout << " Decrypting\n " ;
446
443
std::cout << std::setw (25 ) << " "
447
- << " Unencrypted data outputted" << std::endl ;
444
+ << " Unencrypted data outputted\n " ;
448
445
break ;
449
446
default :
450
447
std::cout << " Unknown '0x" << std::hex << (int )opt->des .decryptionMode
451
- << " ' " << std::endl ;
448
+ << " ' \n " ;
452
449
break ;
453
450
}
454
451
std::cout << std::setw (25 ) << " Drive Input:" ;
455
452
switch ((int )opt->des .encryptionMode ) {
456
453
case 0x0 :
457
- std::cout << " Not encrypting" << std::endl ;
454
+ std::cout << " Not encrypting\n " ;
458
455
break ;
459
456
case 0x2 :
460
- std::cout << " Encrypting" << std::endl ;
457
+ std::cout << " Encrypting\n " ;
461
458
break ;
462
459
default :
463
460
std::cout << " Unknown result '0x" << std::hex
464
- << (int )opt->des .encryptionMode << " '" << std::endl ;
461
+ << (int )opt->des .encryptionMode << " '\n " ;
465
462
break ;
466
463
}
467
464
if (opt->des .RDMD == 1 ) {
468
465
std::cout << std::setw (25 ) << " "
469
- << " Protecting from raw read" << std::endl ;
466
+ << " Protecting from raw read\n " ;
470
467
}
471
468
472
469
std::cout << std::setw (25 ) << " Key Instance Counter:" << std::dec
473
- << BSLONG (opt->des .keyInstance ) << std::endl ;
470
+ << BSLONG (opt->des .keyInstance ) << " \n " ;
474
471
if (opt->des .algorithmIndex != 0 ) {
475
472
std::cout << std::setw (25 ) << " Encryption Algorithm:" << std::hex
476
- << (int )opt->des .algorithmIndex << std::endl ;
473
+ << (int )opt->des .algorithmIndex << " \n " ;
477
474
}
478
475
}
479
476
if (opt->kads .size () > 0 ) {
@@ -510,34 +507,33 @@ void showVolumeStatus(std::string tapeDrive) {
510
507
std::cout << std::left << std::setw (25 ) << " Volume Compressed:" ;
511
508
switch (opt->nbes .compressionStatus ) {
512
509
case 0x00 :
513
- std::cout << " Drive cannot determine" << std::endl ;
510
+ std::cout << " Drive cannot determine\n " ;
514
511
break ;
515
512
default :
516
513
std::cout << " Unknown result '" << std::hex
517
- << (int )opt->nbes .compressionStatus << " '" << std::endl ;
514
+ << (int )opt->nbes .compressionStatus << " '\n " ;
518
515
break ;
519
516
}
520
517
}
521
518
std::cout << std::left << std::setw (25 ) << " Volume Encryption:" ;
522
519
switch ((int )opt->nbes .encryptionStatus ) {
523
520
case 0x01 :
524
- std::cout << " Unable to determine" << std::endl ;
521
+ std::cout << " Unable to determine\n " ;
525
522
break ;
526
523
case 0x02 :
527
- std::cout << " Logical block is not a logical block" << std::endl ;
524
+ std::cout << " Logical block is not a logical block\n " ;
528
525
break ;
529
526
case 0x03 :
530
- std::cout << " Not encrypted" << std::endl ;
527
+ std::cout << " Not encrypted\n " ;
531
528
break ;
532
529
case 0x05 :
533
- std::cout << " Encrypted and able to decrypt" << std::endl ;
530
+ std::cout << " Encrypted and able to decrypt\n " ;
534
531
if (opt->nbes .RDMDS == 1 )
535
- std::cout << std::left << std::setw (25 ) << " "
536
- << " Protected from raw read" << std::endl ;
532
+ std::cout << std::left << std::setw (25 )
533
+ << " Protected from raw read\n " ;
537
534
break ;
538
535
case 0x06 :
539
- std::cout << " Encrypted, but unable to decrypt due to invalid key. "
540
- << std::endl;
536
+ std::cout << " Encrypted, but unable to decrypt due to invalid key.\n " ;
541
537
if (opt->kads .size () > 0 ) {
542
538
for (unsigned int i = 0 ; i < opt->kads .size (); i++) {
543
539
std::stringstream lbl;
@@ -561,19 +557,17 @@ void showVolumeStatus(std::string tapeDrive) {
561
557
}
562
558
}
563
559
if (opt->nbes .RDMDS == 1 )
564
- std::cout << std::left << std::setw (25 ) << " "
565
- << " Protected from raw read" << std::endl;
560
+ std::cout << std::left << std::setw (25 ) << " Protected from raw read\n " ;
566
561
break ;
567
562
568
563
default :
569
564
std::cout << " Unknown result '" << std::hex
570
- << (int )opt->nbes .encryptionStatus << " '" << std::endl ;
565
+ << (int )opt->nbes .encryptionStatus << " '\n " ;
571
566
break ;
572
567
}
573
568
if (opt->nbes .algorithmIndex != 0 ) {
574
569
std::cout << std::left << std::setw (25 )
575
- << " Volume Algorithm:" << (int )opt->nbes .algorithmIndex
576
- << std::endl;
570
+ << " Volume Algorithm:" << (int )opt->nbes .algorithmIndex << " \n " ;
577
571
}
578
572
579
573
delete opt;
@@ -586,6 +580,7 @@ void echo(bool on = true) {
586
580
on ? (settings.c_lflag | ECHO) : (settings.c_lflag & ~(ECHO));
587
581
tcsetattr (STDIN_FILENO, TCSANOW, &settings);
588
582
}
583
+
589
584
std::string timestamp () {
590
585
time_t tm {};
591
586
time (&tm );
@@ -611,9 +606,9 @@ std::string randomKey(int length) {
611
606
}
612
607
random .close ();
613
608
} else {
614
- std::cout << " Enter random keys on the keyboard to seed the "
615
- " generator. \n End by pressing enter..."
616
- << std::endl;
609
+ std::cout << " Enter random keys on the keyboard to seed the generator. \n "
610
+ " End by pressing enter...\n " ;
611
+
617
612
double check = 0 ;
618
613
char c = 0 ;
619
614
echo (false );
0 commit comments