void ProcessCommands( void ) { InitOmfUtil(); if( !Options.new_library ) { WalkInputLib(); } DelModules(); AddModules(); CleanFileTab(); if( Options.modified || Options.new_library ) { WriteNewLib(); } if( Options.list_contents ) { ListContents(); } EmitWarnings(); FiniOmfUtil(); }
void ExtractVolume::ExtractVol(){ QString ZipFile = globFile; qDebug() << ZipFile; if(ZipFile.endsWith(".KryptV")){ if (ui->txtPass1->text() == ""){ QMessageBox msgBox; msgBox.setText("Error"); // msgBox.setIcon(); msgBox.setInformativeText("Please enter a password!"); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); // return 0; this->Clear(); } else if(!ui->chk1Pass->isChecked() && (ui->txtPass2->text() == "" || ui->txtPass3->text() == "")){ QMessageBox msgBox; msgBox.setText("Missing Password(s)"); // msgBox.setIcon(); msgBox.setInformativeText("Please enter a second and/or third password!"); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); //return 0; this->Clear(); } else{ if (ui->chk1Pass->isChecked() && ui->chkUseKeyfile->isChecked()){ QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)"); QFileInfo name = NewDir; QString base = name.baseName(); QString tempZip = dir + "/" + base + ".zip"; BotanWrapper cWrapper; QString hashedPassword = (ui->txtPass1->text() + globKeyFile); QString skein512 = QSkeinHash(hashedPassword, QSkeinHash::hb512).toHexString(); cWrapper.setPassword(skein512); cWrapper.setPassword2(skein512); cWrapper.setPassword3(skein512); cWrapper.DecryptFile(ZipFile, tempZip); //List the contents of a zip file ListContents(tempZip); //Decompress an archive to a directory DecompressDir(tempZip,NewDir); QFile elIF(tempZip); elIF.remove(); QMessageBox msgBox; msgBox.setText("Success!"); // msgBox.setIcon(); msgBox.setInformativeText("Volume successfully extracted!"); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); //return 0; this->Clear(); } else if(ui->chk1Pass->isChecked() && !ui->chkUseKeyfile->isChecked()){ QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)"); QFileInfo name = NewDir; QString base = name.baseName(); QString tempZip = dir + "/" + base + ".zip"; BotanWrapper cWrapper; cWrapper.setPassword(ui->txtPass1->text()); cWrapper.setPassword2(ui->txtPass1->text()); cWrapper.setPassword3(ui->txtPass1->text()); cWrapper.DecryptFile(ZipFile, tempZip); //List the contents of a zip file ListContents(tempZip); //Decompress an archive to a directory DecompressDir(tempZip,NewDir); QFile elIF(tempZip); elIF.remove(); QMessageBox msgBox; msgBox.setText("Success!"); // msgBox.setIcon(); msgBox.setInformativeText("Volume successfully extracted!"); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); //return 0; this->Clear(); } else if(ui->chkUseKeyfile->isChecked() && !ui->chk1Pass->isChecked()){ QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)"); QFileInfo name = NewDir; QString base = name.baseName(); QString tempZip = dir + "/" + base + ".zip"; BotanWrapper cWrapper; QString hashedPassword = (ui->txtPass1->text() + globKeyFile); QString hashedPassword2 = (ui->txtPass2->text() + globKeyFile); QString hashedPassword3 = (ui->txtPass3->text() + globKeyFile); QString skein512 = QSkeinHash(hashedPassword, QSkeinHash::hb512).toHexString(); QString skein5122 = QSkeinHash(hashedPassword2, QSkeinHash::hb512).toHexString(); QString skein5123 = QSkeinHash(hashedPassword3, QSkeinHash::hb512).toHexString(); cWrapper.setPassword(skein512); cWrapper.setPassword2(skein5122); cWrapper.setPassword3(skein5123); cWrapper.DecryptFile(ZipFile, tempZip); //List the contents of a zip file ListContents(tempZip); //Decompress an archive to a directory DecompressDir(tempZip,NewDir); QFile elIF(tempZip); elIF.remove(); QMessageBox msgBox; msgBox.setText("Success!"); // msgBox.setIcon(); msgBox.setInformativeText("Volume successfully extracted!"); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); //return 0; this->Clear(); } else{ QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)"); QFileInfo name = NewDir; QString base = name.baseName(); QString tempZip = dir + "/" + base + ".zip"; BotanWrapper cWrapper; cWrapper.setPassword(ui->txtPass1->text()); cWrapper.setPassword2(ui->txtPass2->text()); cWrapper.setPassword3(ui->txtPass3->text()); cWrapper.DecryptFile(ZipFile, tempZip); //List the contents of a zip file ListContents(tempZip); //Decompress an archive to a directory DecompressDir(tempZip,NewDir); QFile elIF(tempZip); elIF.remove(); QMessageBox msgBox; msgBox.setText("Success!"); // msgBox.setIcon(); msgBox.setInformativeText("Volume successfully extracted!"); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); //return 0; this->Clear(); }}} else{ QMessageBox msgBox; msgBox.setText("Error!"); // msgBox.setIcon(); msgBox.setInformativeText("The selected file is not a volume created with this program and cannot\n be extracted."); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); //return 0; this->Clear(); } }