summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp
index 36b0df5..1f3c58b 100644
--- a/pwmanager/pwmanager/pwmdoc.cpp
+++ b/pwmanager/pwmanager/pwmdoc.cpp
@@ -391,97 +391,97 @@ PwMerror PwMDoc::saveDoc(char compress, const QString *file)
391 * document wasn't saved, yet. 391 * document wasn't saved, yet.
392 */ 392 */
393 bool useChipcard = getDocStatFlag(DOC_STAT_USE_CHIPCARD); 393 bool useChipcard = getDocStatFlag(DOC_STAT_USE_CHIPCARD);
394 QString pw(requestNewMpw(&useChipcard)); 394 QString pw(requestNewMpw(&useChipcard));
395 if (pw != "") { 395 if (pw != "") {
396 currentPw = pw; 396 currentPw = pw;
397 } else { 397 } else {
398 return e_noPw; 398 return e_noPw;
399 } 399 }
400 if (useChipcard) { 400 if (useChipcard) {
401 setDocStatFlag(DOC_STAT_USE_CHIPCARD); 401 setDocStatFlag(DOC_STAT_USE_CHIPCARD);
402 } else { 402 } else {
403 unsetDocStatFlag(DOC_STAT_USE_CHIPCARD); 403 unsetDocStatFlag(DOC_STAT_USE_CHIPCARD);
404 } 404 }
405 } 405 }
406 406
407 int _cryptAlgo = conf()->confGlobCryptAlgo(); 407 int _cryptAlgo = conf()->confGlobCryptAlgo();
408 int _hashAlgo = conf()->confGlobHashAlgo(); 408 int _hashAlgo = conf()->confGlobHashAlgo();
409 409
410 // sanity check for the selected algorithms 410 // sanity check for the selected algorithms
411 if (_cryptAlgo < PWM_CRYPT_BLOWFISH || 411 if (_cryptAlgo < PWM_CRYPT_BLOWFISH ||
412 _cryptAlgo > PWM_CRYPT_TWOFISH128) { 412 _cryptAlgo > PWM_CRYPT_TWOFISH128) {
413 printWarn("Invalid Crypto-Algorithm selected! " 413 printWarn("Invalid Crypto-Algorithm selected! "
414 "Config-file seems to be corrupt. " 414 "Config-file seems to be corrupt. "
415 "Falling back to Blowfish."); 415 "Falling back to Blowfish.");
416 _cryptAlgo = PWM_CRYPT_BLOWFISH; 416 _cryptAlgo = PWM_CRYPT_BLOWFISH;
417 } 417 }
418 if (_hashAlgo < PWM_HASH_SHA1 || 418 if (_hashAlgo < PWM_HASH_SHA1 ||
419 _hashAlgo > PWM_HASH_TIGER) { 419 _hashAlgo > PWM_HASH_TIGER) {
420 printWarn("Invalid Hash-Algorithm selected! " 420 printWarn("Invalid Hash-Algorithm selected! "
421 "Config-file seems to be corrupt. " 421 "Config-file seems to be corrupt. "
422 "Falling back to SHA1."); 422 "Falling back to SHA1.");
423 _hashAlgo = PWM_HASH_SHA1; 423 _hashAlgo = PWM_HASH_SHA1;
424 } 424 }
425 char cryptAlgo = static_cast<char>(_cryptAlgo); 425 char cryptAlgo = static_cast<char>(_cryptAlgo);
426 char hashAlgo = static_cast<char>(_hashAlgo); 426 char hashAlgo = static_cast<char>(_hashAlgo);
427 427
428 if (conf()->confGlobMakeFileBackup()) { 428 if (conf()->confGlobMakeFileBackup()) {
429 if (!backupFile(filename)) 429 if (!backupFile(filename))
430 return e_fileBackup; 430 return e_fileBackup;
431 } 431 }
432 int mLastBackupDate = 0; 432 int mLastBackupDate = 0;
433 KConfig configGlobal (locateLocal("config","pwmanagerbuprc")); 433 KConfig configGlobal (locateLocal("config","pwmanagerbuprc"));
434 QFileInfo fileInfo ( filename ); 434 QFileInfo fileInfo ( filename );
435 mLastBackupDate = configGlobal.readNumEntry( "LastBackupDate-"+ fileInfo.fileName (), 0 ); 435 mLastBackupDate = configGlobal.readNumEntry( "LastBackupDate-"+ fileInfo.fileName (), 0 );
436 KConfig config (locateLocal("config","microkdeglobalrc")); 436 KConfig config (locateLocal("config","microkdeglobalrc"));
437 config.setGroup( "BackupSettings" ); 437 config.setGroup( "BackupSettings" );
438 bool b_enabled = config.readBoolEntry( "BackupEnabled" ); 438 bool b_enabled = config.readBoolEntry( "BackupEnabled" );
439 if ( b_enabled ) { 439 if ( b_enabled && QFile::exists(filename)) {
440 int num = config.readNumEntry( "BackupNumbers" ); 440 int num = config.readNumEntry( "BackupNumbers" );
441 int d_count = config.readNumEntry( "BackupDayCount" ); 441 int d_count = config.readNumEntry( "BackupDayCount" );
442 bool stdDir = config.readBoolEntry( "BackupUseDefaultDir" ); 442 bool stdDir = config.readBoolEntry( "BackupUseDefaultDir" );
443 QString bupDir = config.readEntry( "BackupDatadir" ); 443 QString bupDir = config.readEntry( "BackupDatadir" );
444 QDate reference ( 2000,1,1 ); 444 QDate reference ( 2000,1,1 );
445 int daysTo = reference.daysTo ( QDate::currentDate() ); 445 int daysTo = reference.daysTo ( QDate::currentDate() );
446 bool saveDate = false; 446 bool saveDate = false;
447 if ( daysTo - d_count >= mLastBackupDate ) { 447 if ( daysTo - d_count >= mLastBackupDate ) {
448 qDebug("KA: Last backup was %d days ago ", daysTo - mLastBackupDate ); 448 qDebug("KA: Last backup was %d days ago ", daysTo - mLastBackupDate );
449 if ( stdDir ) 449 if ( stdDir )
450 bupDir = KGlobalSettings::backupDataDir(); 450 bupDir = KGlobalSettings::backupDataDir();
451 int retval = KApplication::createBackup( filename, bupDir, num ); 451 int retval = KApplication::createBackup( filename, bupDir, num );
452 if ( retval == 0 ) { 452 if ( retval == 0 ) {
453 qDebug("KO: Backup cancelled. Will try again tomorrow "); 453 qDebug("KO: Backup cancelled. Will try again tomorrow ");
454 // retval == 0 : backup skipped for today, try again tomorrow 454 // retval == 0 : backup skipped for today, try again tomorrow
455 mLastBackupDate = daysTo - d_count+1; 455 mLastBackupDate = daysTo - d_count+1;
456 saveDate = true; 456 saveDate = true;
457 } else if ( retval == 1 ){ 457 } else if ( retval == 1 ){
458 qDebug("KO: Backup created."); 458 qDebug("KO: Backup created.");
459 // backup ok 459 // backup ok
460 mLastBackupDate = daysTo; 460 mLastBackupDate = daysTo;
461 saveDate = true; 461 saveDate = true;
462 } else if ( retval == 2 ){ 462 } else if ( retval == 2 ){
463 qDebug("KO: Backup globally cancelled."); 463 qDebug("KO: Backup globally cancelled.");
464 // backup globally cancelled 464 // backup globally cancelled
465 b_enabled = false; 465 b_enabled = false;
466 } 466 }
467 if ( !b_enabled ) { 467 if ( !b_enabled ) {
468 config.writeEntry( "mBackupEnabled", false ); 468 config.writeEntry( "mBackupEnabled", false );
469 } 469 }
470 if ( saveDate ) { 470 if ( saveDate ) {
471 configGlobal.writeEntry( "LastBackupDate-"+ fileInfo.fileName (), mLastBackupDate ); 471 configGlobal.writeEntry( "LastBackupDate-"+ fileInfo.fileName (), mLastBackupDate );
472 } 472 }
473 } 473 }
474 } 474 }
475 if (QFile::exists(filename)) { 475 if (QFile::exists(filename)) {
476 /* Move the existing file to some tmp file. 476 /* Move the existing file to some tmp file.
477 * When saving file succeeds, delete tmp file. Otherwise 477 * When saving file succeeds, delete tmp file. Otherwise
478 * move tmp file back. See below. 478 * move tmp file back. See below.
479 */ 479 */
480 Randomizer *rnd = Randomizer::obj(); 480 Randomizer *rnd = Randomizer::obj();
481 char rnd_buf[5]; 481 char rnd_buf[5];
482 sprintf(rnd_buf, "%X%X%X%X", rnd->genRndChar() & 0xFF, rnd->genRndChar() & 0xFF, 482 sprintf(rnd_buf, "%X%X%X%X", rnd->genRndChar() & 0xFF, rnd->genRndChar() & 0xFF,
483 rnd->genRndChar() & 0xFF, rnd->genRndChar() & 0xFF); 483 rnd->genRndChar() & 0xFF, rnd->genRndChar() & 0xFF);
484 tmpFileMoved = filename + "." + rnd_buf + ".mv"; 484 tmpFileMoved = filename + "." + rnd_buf + ".mv";
485 if (!copyFile(filename, tmpFileMoved)) 485 if (!copyFile(filename, tmpFileMoved))
486 return e_openFile; 486 return e_openFile;
487 if (!QFile::remove(filename)) { 487 if (!QFile::remove(filename)) {