db open and close completed

This commit is contained in:
chris2511 2003-11-28 12:35:20 +00:00
parent ab3c712240
commit ee735eebc3
8 changed files with 23 additions and 9 deletions

View File

@ -1,3 +1,4 @@
/* vi: set sw=4 ts=4: */
/*
* Copyright (C) 2001 Christian Hohnstaedt.
*
@ -58,6 +59,11 @@ char pki_key::passwd[40]="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
QPixmap *pki_key::icon[2]= { NULL, NULL };
void pki_key::erasePasswd(){
for (int i=0; i<40; i++)
passwd[i] = 0;
}
void pki_key::init()
{
ucount = 0;

View File

@ -76,6 +76,7 @@ class pki_key: public pki_base
public:
static QPixmap *icon[2];
static char passwd[MAX_PASS_LENGTH];
static void erasePasswd();
/* constructor to generate a key .....
* d is the description

View File

@ -85,6 +85,7 @@ void TempView::newServerTemp()
void TempView::newItem(int type)
{
CHECK_DB
pki_temp *temp = new pki_temp("--", type);
if (alterTemp(temp)) {
db->insert(temp);

View File

@ -171,6 +171,8 @@ void ImportMulti::import(pki_base *pki)
QListViewItem *lvi = pki->getLvi();
pki->delLvi();
QString cn = pki->getClassName();
emit init_database();
if (cn == "pki_x509") {
MainWindow::certs->insert(pki);
}

View File

@ -79,6 +79,8 @@ class ImportMulti: public ImportMulti_UI
void details();
void import();
void importAll();
signals:
void init_database();
};
#endif

View File

@ -115,11 +115,6 @@ void MainWindow::init_database() {
void MainWindow::close_database()
{
if (!dbenv) return;
crlList->rmDB(crls);
certList->rmDB(certs);
reqList->rmDB(reqs);
tempList->rmDB(temps);
keyList->rmDB(keys);
delete(crls);
delete(reqs);
@ -133,8 +128,14 @@ void MainWindow::close_database()
temps = NULL;
keys = NULL;
settings = NULL;
crlList->rmDB(crls);
certList->rmDB(certs);
reqList->rmDB(reqs);
tempList->rmDB(temps);
keyList->rmDB(keys);
global_tid->commit(0);
dbenv->close(0);
pki_key::erasePasswd();
dbenv = NULL;
}

View File

@ -69,5 +69,7 @@ void MainWindow::init_menu()
mb = new QMenuBar( this );
mb->insertItem( "&File", file );
mb->insertSeparator();
mb->insertItem( "&Help", help );
mb->setSeparator( QMenuBar::InWindowsStyle );
}

View File

@ -262,8 +262,7 @@ void MainWindow::read_cmdline()
cnt++;
}
//init_database();
connect( dlgi, SIGNAL(init_database()), this, SLOT(init_database()));
dlgi->execute(1); /* force showing of import dialog */
delete dlgi;
}
@ -290,8 +289,8 @@ void MainWindow::initPass()
settings->putString( "pwhash", md5passwd(pki_key::passwd) );
}
else {
int keylen=0;
while (md5passwd(pki_key::passwd) != passHash) {
int keylen=0;
while (md5passwd(pki_key::passwd) != passHash) {
if (keylen !=0)
QMessageBox::warning(this,tr(XCA_TITLE), tr("Password verify error, please try again"));
p.setTitle(tr("Password"));