void FrmGetUserData::closeEvent(QCloseEvent *e)
{
    if (!force && !this->dataAvail) {
        // Default senden
        if (frmType == InputType::PrivateKey) {
            if (Message::confirm(QObject::tr("The private key will be set to default <insecure>!"))) {
                emit cryptKey (QString("insecure"));
            }
        } else if (frmType == InputType::Username) {
            if (Settings::getInstance()->getIsPortableClient()) {
                emit writeUserData("");
            } else {
                SrvCLI::instance()->send(QLatin1String("UNEEDED"), QString("%1;").arg(this->vpnId));
            }
        } else if (frmType == InputType::Password) {
            if (Settings::getInstance()->getIsPortableClient()) {
                emit writeUserData("");
            } else {
                SrvCLI::instance()->send(QLatin1String("PWDNEEDED"), QString("%1;").arg(this->vpnId));
            }
        } else if (frmType == InputType::Pkcs12) {
            if (Settings::getInstance()->getIsPortableClient()) {
                emit writeUserData("");
            } else {
                SrvCLI::instance()->send(QLatin1String("PKNEEDED"), QString("%1;").arg(this->vpnId));
            }
        } else if (frmType == InputType::Otp) {
            if (Settings::getInstance()->getIsPortableClient()) {
                emit writeUserData("");
            } else {
                SrvCLI::instance()->send(QLatin1String("CKNEEDED"), QString("%1;").arg(this->vpnId));
            }
        } else if (frmType == InputType::HttpUsername) {
            if (Settings::getInstance()->getIsPortableClient()) {
                emit writeUserData("");
            } else {
                SrvCLI::instance()->send(QLatin1String("HTTPUSERNEEDED"), QString("%1;").arg(this->vpnId));
            }
        } else if (frmType == InputType::HttpPassword) {
            if (Settings::getInstance()->getIsPortableClient()) {
                emit writeUserData("");
            } else {
                SrvCLI::instance()->send(QLatin1String("HTTPPASSNEEDED"), QString("%1;").arg(this->vpnId));
            }
        }
    }

    e->accept();
}
void FrmGetUserData::on_cmdOK_clicked()
{
    if (frmType == InputType::PrivateKey) {
        if (ui->txtDataField->text().isEmpty()) {
            Message::error(QObject::tr("It is not possible to use an empty private key!"), QObject::tr("Private Key"));
            return;
        }
    }

    // 0 - Username
    // 1 - Pwd
    // 2 - OTP
    // 3 - PKCS12
    // 4 - Private Key für Crypted User Data
    this->dataAvail = true;
    if (frmType == InputType::Username) {
        if (Settings::getInstance()->getIsPortableClient()) {
            emit writeUserData(ui->txtDataField->text());
        } else {
            SrvCLI::instance()->send(QLatin1String("UNEEDED"), QString("%1;%2").arg(this->vpnId).arg(ui->txtDataField->text()));
        }
        emit saveUserData(this->vpnId, 0, ui->txtDataField->text(), ui->cbSaveData->isChecked());
        this->close();
    } else if (frmType == InputType::Password) {
        if (Settings::getInstance()->getIsPortableClient()) {
            emit writeUserData(ui->txtDataField->text());
        } else {
            SrvCLI::instance()->send(QLatin1String("PWDNEEDED"), QString("%1;%2").arg(this->vpnId).arg(ui->txtDataField->text()));
        }
        emit saveUserData(this->vpnId, 1, ui->txtDataField->text(), ui->cbSaveData->isChecked());
        this->close();
    } else if (frmType == InputType::Pkcs12) {
        if (Settings::getInstance()->getIsPortableClient()) {
            emit writeUserData(ui->txtDataField->text());
        } else {
            SrvCLI::instance()->send(QLatin1String("PKNEEDED"), QString("%1;%2").arg(this->vpnId).arg(ui->txtDataField->text()));
        }
        emit saveUserData(this->vpnId, 3, ui->txtDataField->text(), ui->cbSaveData->isChecked());
        this->close();
    } else if (frmType == InputType::HttpUsername) {
        if (Settings::getInstance()->getIsPortableClient()) {
            emit writeUserData(ui->txtDataField->text());
        } else {
            SrvCLI::instance()->send(QLatin1String("HTTPUSERNEEDED"), QString("%1;%2").arg(this->vpnId).arg(ui->txtDataField->text()));
        }
        emit saveUserData(this->vpnId, 5, ui->txtDataField->text(), ui->cbSaveData->isChecked());
        this->close();
    } else if (frmType == InputType::HttpPassword) {
        if (Settings::getInstance()->getIsPortableClient()) {
            emit writeUserData(ui->txtDataField->text());
        } else {
            SrvCLI::instance()->send(QLatin1String("HTTPPASSNEEDED"), QString("%1;%2").arg(this->vpnId).arg(ui->txtDataField->text()));
        }
        emit saveUserData(this->vpnId, 6, ui->txtDataField->text(), ui->cbSaveData->isChecked());
        this->close();
    } else if (frmType == InputType::Otp) {
        if (Settings::getInstance()->getIsPortableClient()) {
            emit writeUserData(ui->txtDataField->text());
        } else {
            SrvCLI::instance()->send(QLatin1String("CKNEEDED"), QString("%1;%2").arg(this->vpnId).arg(ui->txtDataField->text()));
        }
        emit saveUserData(this->vpnId, 2, ui->txtDataField->text(), ui->cbSaveData->isChecked());
        this->close();
    } else if (frmType == InputType::PrivateKey) {
        emit cryptKey(ui->txtDataField->text());
        this->close();
    }
}
Beispiel #3
0
int userSetup(unsigned short drive) {
   unsigned short count=0,user_count=0;
   char input,buff[20];

   BBS_USER_REC mybbsuser;
   ST_FILE file;

   /* enter users */
   printf("\n* BBS user editor\n");

   strcpy(file.szFileName, "user.idx");
   file.ucDeviceNo = drive;

   if(siFileExists(&file) == 62 /*|| user_count == 0*/) {
     user_count = 1;
     memset(&mybbsuser, 0x20, sizeof(BBS_USER_REC));

     printf("\n* Initializing user databases...\n");
     strcpy(file.szFileName, "user.dat");
     ssInitRELFile(&file, &mybbsuser, sizeof(BBS_USER_REC), BBS_MAX_USERS);
     strcpy(file.szFileName, "user.idx");
     ssInitRELFile(&file, &user_count, sizeof(unsigned short), 1);
     writeUserIndex(&user_count, &file);
   }

   printf("\n(A)dd, (E)dit or (L)list users? ");
   input=getchar();

   switch (input) {

      case 'a':
      case 'A': {
          readUserIndex(&user_count, &file);
          enterUserData(&mybbsuser, &user_count);
          writeUserData(&mybbsuser, &file, &user_count);
          user_count += 1;
          writeUserIndex(&user_count, &file);
      }
      break;

      case 'e':
      case 'E': {
             printf("\n\nEnter user #: ");
             gets(buff);
             sscanf(buff, "%d", &count);
             readUserData(&mybbsuser, &file, &count);
             scrollScreen();
             printf("\nUser #     : %03d", count);
             printf("\nUsername   : %s", mybbsuser.user_name);
             printf("\nPassword   : %s\n", mybbsuser.user_pwd);
             printf("\nAccess lvl.: %03d\n", mybbsuser.access_req);
             enterUserData(&mybbsuser, &count);
             writeUserData(&mybbsuser, &file, &count);
      }
      break;

      case 'l':
      case 'L': {
             count = 1;
             scrollScreen();
             printf("\n\nID# |Acc. | Username");
             printf("\n----+-----+----------------------------");

             readUserIndex(&user_count, &file);

             do {
                readUserData(&mybbsuser, &file, &count);
                printf("\n%03d | %03d | %s",  count, mybbsuser.access_req, mybbsuser.user_name);
                count++;
             } while (count < user_count);

             printf("\n\nPress key"); 
             input=getchar();
      }   
      break;

   }
   return 0;
}