mirror of
https://github.com/chris2511/xca.git
synced 2026-09-12 19:51:05 +05:00
NewX509: use enum instead of int for clarity
No need to call "NewX509::validateExtensions" with the "nconf"
This commit is contained in:
parent
7c2a805ede
commit
53dfdb35e6
@ -999,15 +999,15 @@ void NewX509::checkAuthInfAcc(const QString & text)
|
||||
checkIcon(text, NID_info_access, authInfAccIco);
|
||||
}
|
||||
|
||||
int NewX509::do_validateExtensions()
|
||||
enum NewX509::extension_error NewX509::do_validateExtensions()
|
||||
{
|
||||
QString result;
|
||||
int ret = 0;
|
||||
extension_error ret;
|
||||
|
||||
if (!nconf_data->isReadOnly()) {
|
||||
v3ext_backup = nconf_data->toPlainText();
|
||||
}
|
||||
ret = validateExtensions(v3ext_backup, result);
|
||||
ret = validateExtensions(result);
|
||||
nconf_data->document()->setHtml(result);
|
||||
nconf_data->setReadOnly(true);
|
||||
adv_validate->setText(tr("Edit"));
|
||||
@ -1023,14 +1023,15 @@ void NewX509::undo_validateExtensions()
|
||||
adv_validate->setText(tr("Validate"));
|
||||
}
|
||||
|
||||
int NewX509::validateExtensions(QString nconf, QString &result)
|
||||
enum NewX509::extension_error NewX509::validateExtensions(QString &result)
|
||||
{
|
||||
int ret = 0, ext_count = 0;
|
||||
enum extension_error ee = ee_none;
|
||||
qsizetype ext_count = 0;
|
||||
QStringList errors;
|
||||
extList el, req_el;
|
||||
ign_openssl_error();
|
||||
setupTmpCtx();
|
||||
(void)nconf;
|
||||
|
||||
try {
|
||||
el = getGuiExt();
|
||||
if (!Settings["disable_netscape"])
|
||||
@ -1067,7 +1068,7 @@ int NewX509::validateExtensions(QString nconf, QString &result)
|
||||
result += tr("Errors") + "</center></h2><p><ul><li>\n";
|
||||
result += errors.join("</li><li>\n");
|
||||
result += "</li></ul>";
|
||||
ret = 1;
|
||||
ee = ee_invaldup;
|
||||
}
|
||||
el.clear();
|
||||
if (fromReqCB->isChecked() && copyReqExtCB->isChecked()) {
|
||||
@ -1088,7 +1089,7 @@ int NewX509::validateExtensions(QString nconf, QString &result)
|
||||
el = getExtDuplicates();
|
||||
if (el.size() > 0) {
|
||||
QString errtxt;
|
||||
ret = 1;
|
||||
ee = ee_invaldup;
|
||||
errtxt = "<h2><center><font color=\"red\">Error:</font>"
|
||||
"duplicate extensions:</center></h2><p><ul>\n";
|
||||
for(int i = 0; i< el.size(); i++) {
|
||||
@ -1110,13 +1111,13 @@ int NewX509::validateExtensions(QString nconf, QString &result)
|
||||
if (!result.isEmpty())
|
||||
result += "\n<hr>\n";
|
||||
result += lineext;
|
||||
ret = 3;
|
||||
ee = ee_inval;
|
||||
}
|
||||
if (ret == 0 && ext_count == 0 && pt == x509)
|
||||
ret = 2;
|
||||
if (ee == ee_none && ext_count == 0 && pt == x509)
|
||||
ee = ee_empty;
|
||||
|
||||
ign_openssl_error();
|
||||
return ret;
|
||||
return ee;
|
||||
}
|
||||
|
||||
void NewX509::on_editSubAlt_clicked()
|
||||
@ -1392,22 +1393,24 @@ void NewX509::accept()
|
||||
break;
|
||||
}
|
||||
}
|
||||
int r = do_validateExtensions();
|
||||
if (r) {
|
||||
enum extension_error ee = do_validateExtensions();
|
||||
if (ee != ee_none) {
|
||||
QString text;
|
||||
switch (r) {
|
||||
case 1:
|
||||
switch (ee) {
|
||||
case ee_invaldup:
|
||||
text = tr("The certificate contains invalid or duplicate extensions. Check the validation on the advanced tab.");
|
||||
gotoTab(5);
|
||||
break;
|
||||
case 2:
|
||||
case ee_empty:
|
||||
text = tr("The certificate contains no extensions. You may apply the extensions of one of the templates to define the purpose of the certificate.");
|
||||
gotoTab(0);
|
||||
break;
|
||||
case 3:
|
||||
case ee_inval:
|
||||
text = tr("The certificate contains invalid extensions.");
|
||||
gotoTab(2);
|
||||
break;
|
||||
case ee_none:
|
||||
break;
|
||||
}
|
||||
xcaWarningBox msg(this, text);
|
||||
msg.addButton(QMessageBox::Ok, tr("Edit extensions"));
|
||||
|
||||
@ -52,6 +52,7 @@ class NewX509: public XcaDetail, public Ui::NewX509
|
||||
void editV3ext(QLineEdit *le, QString types, int n);
|
||||
enum pki_type pt{ none };
|
||||
enum pki_source pkiSource{ generated };
|
||||
enum extension_error { ee_none, ee_invaldup, ee_empty, ee_inval };
|
||||
void templateChanged(QString templatename);
|
||||
QString mandatoryDnRemain();
|
||||
QStringList tabnames{};
|
||||
@ -114,8 +115,8 @@ class NewX509: public XcaDetail, public Ui::NewX509
|
||||
pki_temp *currentTemplate();
|
||||
void gotoTab(int tab);
|
||||
void setupLineEditByNid(int nid, QLineEdit *l);
|
||||
int validateExtensions(QString nconf, QString &result);
|
||||
int do_validateExtensions();
|
||||
enum extension_error validateExtensions(QString &result);
|
||||
enum extension_error do_validateExtensions();
|
||||
void undo_validateExtensions();
|
||||
enum pki_source getPkiSource() const;
|
||||
QList<pki_x509req*> getAllRequests() const;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user