ISocketMultiplexerJob* SecureSocket::serviceConnect(ISocketMultiplexerJob* job, bool, bool write, bool error) { Lock lock(&getMutex()); int status = 0; #ifdef SYSAPI_WIN32 status = secureConnect(static_cast<int>(getSocket()->m_socket)); #elif SYSAPI_UNIX status = secureConnect(getSocket()->m_fd); #endif // If status < 0, error happened if (status < 0) { return NULL; } // If status > 0, success if (status > 0) { sendEvent(m_events->forIDataSocket().secureConnected()); return newJob(); } // Retry case return new TSocketMultiplexerMethodJob<SecureSocket>( this, &SecureSocket::serviceConnect, getSocket(), isReadable(), isWritable()); }
ISocketMultiplexerJob* SecureSocket::serviceConnect(ISocketMultiplexerJob* job, bool, bool write, bool error) { Lock lock(&getMutex()); int status = 0; #ifdef SYSAPI_WIN32 status = secureConnect(static_cast<int>(getSocket()->m_socket)); #elif SYSAPI_UNIX status = secureConnect(getSocket()->m_fd); #endif if (status > 0) { return newJob(); } else if (status == 0) { return job; } // If status < 0, error happened return NULL; }
SslClient::SslClient(QWidget *parent) : QWidget(parent), socket(0), padLock(0), executingDialog(false) { form = new Ui_Form; form->setupUi(this); form->hostNameEdit->setSelection(0, form->hostNameEdit->text().size()); form->sessionOutput->setHtml(tr("<not connected>")); connect(form->hostNameEdit, SIGNAL(textChanged(QString)), this, SLOT(updateEnabledState())); connect(form->connectButton, SIGNAL(clicked()), this, SLOT(secureConnect())); connect(form->sendButton, SIGNAL(clicked()), this, SLOT(sendData())); }
void SslClient::setupUi() { if (form) return; form = new Ui_Form; form->setupUi(this); form->hostNameEdit->setSelection(0, form->hostNameEdit->text().size()); form->sessionOutput->setHtml(tr("<not connected>")); connect(form->hostNameEdit, SIGNAL(textChanged(QString)), this, SLOT(updateEnabledState())); connect(form->connectButton, SIGNAL(clicked()), this, SLOT(secureConnect())); connect(form->sendButton, SIGNAL(clicked()), this, SLOT(sendData())); padLock = new QToolButton; padLock->setIcon(QIcon(":/encrypted.png")); connect(padLock, SIGNAL(clicked()), this, SLOT(displayCertificateInfo())); #if QT_CONFIG(cursor) padLock->setCursor(Qt::ArrowCursor); #endif padLock->setToolTip(tr("Display encryption details.")); const int extent = form->hostNameEdit->height() - 2; padLock->resize(extent, extent); padLock->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Ignored); QHBoxLayout *layout = new QHBoxLayout(form->hostNameEdit); layout->setMargin(form->hostNameEdit->style()->pixelMetric(QStyle::PM_DefaultFrameWidth)); layout->setSpacing(0); layout->addStretch(); layout->addWidget(padLock); form->hostNameEdit->setLayout(layout); padLock->hide(); }
QgsAuthSslImportDialog::QgsAuthSslImportDialog( QWidget *parent ) : QDialog( parent ) , mSocket( nullptr ) , mExecErrorsDialog( false ) , mTimer( nullptr ) , mSslErrors( QList<QSslError>() ) , mTrustedCAs( QList<QSslCertificate>() ) , mAuthNotifyLayout( nullptr ) , mAuthNotify( nullptr ) { if ( QgsAuthManager::instance()->isDisabled() ) { mAuthNotifyLayout = new QVBoxLayout; this->setLayout( mAuthNotifyLayout ); mAuthNotify = new QLabel( QgsAuthManager::instance()->disabledMessage(), this ); mAuthNotifyLayout->addWidget( mAuthNotify ); } else { setupUi( this ); QStyle *style = QApplication::style(); lblWarningIcon->setPixmap( style->standardIcon( QStyle::SP_MessageBoxWarning ).pixmap( 48, 48 ) ); lblWarningIcon->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); closeButton()->setDefault( false ); saveButton()->setEnabled( false ); leServer->setSelection( 0, leServer->text().size() ); pteSessionStatus->setReadOnly( true ); spinbxTimeout->setValue( 15 ); grpbxServer->setCollapsed( false ); radioServerImport->setChecked( true ); frameServerImport->setEnabled( true ); radioFileImport->setChecked( false ); frameFileImport->setEnabled( false ); connect( radioServerImport, SIGNAL( toggled( bool ) ), this, SLOT( radioServerImportToggled( bool ) ) ); connect( radioFileImport, SIGNAL( toggled( bool ) ), this, SLOT( radioFileImportToggled( bool ) ) ); connect( leServer, SIGNAL( textChanged( QString ) ), this, SLOT( updateEnabledState() ) ); connect( btnConnect, SIGNAL( clicked() ), this, SLOT( secureConnect() ) ); connect( leServer, SIGNAL( returnPressed() ), btnConnect, SLOT( click() ) ); connect( buttonBox, SIGNAL( accepted() ), this, SLOT( accept() ) ); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( reject() ) ); connect( wdgtSslConfig, SIGNAL( readyToSaveChanged( bool ) ), this, SLOT( widgetReadyToSaveChanged( bool ) ) ); wdgtSslConfig->setEnabled( false ); mTrustedCAs = QgsAuthManager::instance()->getTrustedCaCertsCache(); } }