diff --git a/swisssurfer/configure.in b/swisssurfer/configure.in index 3a14289..14ef121 100644 --- a/swisssurfer/configure.in +++ b/swisssurfer/configure.in @@ -81,10 +81,6 @@ test "$enableval" = "yes" && HAVE_DOT="YES" || HAVE_DOT="NO"; AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"]) # Special Options -AC_CHECK_PROGS([QMAKE], [qmake-qt4 qmake-mac qmake]) -test -n "$QMAKE" || AC_MSG_ERROR([qmake for Qt 4 not found!]) -AC_MSG_NOTICE([QMAKE IS: $QMAKE]) -AC_SUBST(QMAKE) AC_CHECK_PROGS([LRELEASE], [lrelease-qt4 lrelease-mac lrelease]) test -n "$LRELEASE" || AC_MSG_ERROR([lrelease for Qt 4 not found!]) AC_SUBST(LRELEASE) @@ -118,6 +114,8 @@ AM_CONDITIONAL(BUILD_LIN32, test "$build_lin32" = "yes") # Environment Variables AC_ARG_VAR(LUPDATE_ARGS, [arguments for qt lupdate command, e.g. -no-obsolete]) +AC_PATH_PROG(QMAKE, [qmake qmake-qt4], []) +AC_ARG_VAR(QMAKE, [path to qmake program]) # Enviropnment Variables AC_ARG_VAR(EDITION, [name of the edition, e.g. comol]) @@ -137,7 +135,6 @@ AC_SUBST(PACKAGENAME) AC_SUBST(AM_CXXFLAGS) AC_SUBST(AM_CPPFLAGS) AC_SUBST(LIBS) -AC_SUBST(QMAKE) AC_SUBST(QMAKE_OPTIONS) AC_SUBST(STATIC_QTPLUGINS) AC_SUBST(STATIC_QCONFIG) diff --git a/swisssurfer/src/browser.hxx b/swisssurfer/src/browser.hxx index dd302e8..90422cd 100644 --- a/swisssurfer/src/browser.hxx +++ b/swisssurfer/src/browser.hxx @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -58,7 +59,7 @@ class Browser: public QMainWindow, protected Ui::Browser { _url(0), _clearUrl(0), _addBookmark(0), _find(0), _kiosk(kiosk), _settings(mimeTypes, this, settings, !kiosk), - _scAuth(actlib, this, login) { + _scAuth(actlib, this, login), _errorLog(this) { LOG<setPageStep(10); _zoom->setTickPosition(QSlider::TicksBothSides); assert(connect(_zoom, SIGNAL(valueChanged(int)), SLOT(zoom(int)))); - _toolbar->addWidget(_url = new QComboBox(_toolbar)); - on_actionNewTab_triggered(); + _url = new QComboBox(_toolbar); _url->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); + _url->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLength); _url->setEditable(!_kiosk); - _url->setVisible(!_kiosk); _url->addItems(urls); + _toolbar->addWidget(_url); assert(connect(_url, SIGNAL(currentIndexChanged(const QString&)), SLOT(load(QString)))); assert(connect(&_networkManager, SIGNAL(created(QNetworkReply*)), @@ -92,6 +93,9 @@ class Browser: public QMainWindow, protected Ui::Browser { SLOT(started()))); assert(connect(&_downloadManager, SIGNAL(finished()), SLOT(finished()))); + assert(connect(&_downloadManager, SIGNAL(error(QString)), + SLOT(downloadError(QString)))); + on_actionNewTab_triggered(); if (!settings || _kiosk) actionSettings->setVisible(false); if (_kiosk) { @@ -424,6 +428,9 @@ class Browser: public QMainWindow, protected Ui::Browser { statusBar()->showMessage(tr("Checking: %1").arg(page.toString())); if (page.scheme()=="https") { LOG<<"Need to login"; + if (!QSslSocket::supportsSsl()) + QMessageBox::critical(this, tr("SSL Not Supported"), + tr("SSL is not supported on your system")); _scAuth.login(); } if (!check(page)) { @@ -482,8 +489,6 @@ class Browser: public QMainWindow, protected Ui::Browser { } void on__tabs_tabCloseRequested(int index) { - _error.erase(_tabs->widget(index)); - _errorUrl.erase(_tabs->widget(index)); _tabs->removeTab(index); _tabs->setTabsClosable(_tabs->count()>1); } @@ -604,6 +609,10 @@ class Browser: public QMainWindow, protected Ui::Browser { void on_actionUnFind_triggered() { delete _find; _find=0; } + + void on_actionErrorLog_triggered() { + _errorLog.show(); + } void on_actionAbout_triggered() { QMessageBox::about(this, tr("About"), @@ -1109,6 +1118,10 @@ class Browser: public QMainWindow, protected Ui::Browser { _progress->setEnabled(false); } + void downloadError(QString error) { + _errorLog.append(error); + } + //@} //@name QNetworkAccessManager signals @@ -1130,34 +1143,6 @@ class Browser: public QMainWindow, protected Ui::Browser { void sslErrors(QNetworkReply* reply, const QList& errors) { LOG; statusBar()->showMessage(tr("ssl error")); - // QString e; - for (QList::const_iterator err(errors.begin()); - err!=errors.end(); ++err) { - LOG<<"SSL-Error: "<errorString(); - LOG<<"Certificate Issuer: " - <<"O="<certificate().issuerInfo(QSslCertificate::Organization) - <<"CN="<certificate().issuerInfo(QSslCertificate::CommonName) - <<"L="<certificate().issuerInfo(QSslCertificate::LocalityName) - <<"OU="<certificate().issuerInfo(QSslCertificate::OrganizationalUnitName) - <<"C="<certificate().issuerInfo(QSslCertificate::CountryName) - <<"ST="<certificate().issuerInfo(QSslCertificate::StateOrProvinceName); - LOG<<"Certificate Subject: " - <<"O="<certificate().subjectInfo(QSslCertificate::Organization) - <<"CN="<certificate().subjectInfo(QSslCertificate::CommonName) - <<"L="<certificate().subjectInfo(QSslCertificate::LocalityName) - <<"OU="<certificate().subjectInfo(QSslCertificate::OrganizationalUnitName) - <<"C="<certificate().subjectInfo(QSslCertificate::CountryName) - <<"ST="<certificate().subjectInfo(QSslCertificate::StateOrProvinceName); - } -// e+=tr("
  • %1
  • ", "single ssl error").arg(err->errorString()); -// _error[sender()] += tr("

    %1

    URL: %4

    %2

    " -// "

    SSL Errors

    " -// "

      %3

    ") -// .arg(tr("SSL Error")) -// .arg(_downloadManager.networkError(reply->error())) -// .arg(e) -// .arg(reply->url().toString()); -// _errorUrl[sender()] = reply->url(); } //@} @@ -1220,8 +1205,6 @@ class Browser: public QMainWindow, protected Ui::Browser { QProgressBar* _progress; QString _home; bool _kiosk; - std::map _error; - std::map _errorUrl; QPrinter _printer; SslClientAuthNetworkAccessManager _networkManager; DownloadManager _downloadManager; @@ -1229,6 +1212,7 @@ class Browser: public QMainWindow, protected Ui::Browser { DownloadProcesses _downloadProcesses; Settings _settings; SmartCardAuth _scAuth; + ErrorLog _errorLog; }; #endif diff --git a/swisssurfer/src/browser.ui b/swisssurfer/src/browser.ui index eef098c..14ca836 100644 --- a/swisssurfer/src/browser.ui +++ b/swisssurfer/src/browser.ui @@ -103,6 +103,7 @@ Info + @@ -300,6 +301,14 @@ Ctrl+R + + + Error Log + + + show error logs + + diff --git a/swisssurfer/src/downloadmanager.hxx b/swisssurfer/src/downloadmanager.hxx index 2d1e7c9..5fa267d 100644 --- a/swisssurfer/src/downloadmanager.hxx +++ b/swisssurfer/src/downloadmanager.hxx @@ -46,8 +46,7 @@ class DownloadManager: public QObject { " close() before it was finished."); case QNetworkReply::SslHandshakeFailedError: return tr("The SSL/TLS handshake failed and the encrypted channel" - " could not be established. The sslErrors() signal should" - " have been emitted."); + " could not be established. See SSL-Errors above."); case QNetworkReply::ProxyConnectionRefusedError: return tr("The connection to the proxy server was refused (the" " proxy server is not accepting requests)."); @@ -103,12 +102,13 @@ class DownloadManager: public QObject { void progress(qint64 done, qint64 total); void started(); void finished(); + void error(QString); public Q_SLOTS: void add(QNetworkReply* reply) { LOG<url().toString(); - _downloads[reply] = Progress(0, 0); + _downloads[reply].progress = Progress(0, 0); assert(connect(reply, SIGNAL(downloadProgress(qint64, qint64)), SLOT(downloadProgress(qint64, qint64)))); assert(connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), @@ -136,8 +136,8 @@ class DownloadManager: public QObject { qint64 total(0); for (Downloads::iterator it(_downloads.begin()); it!=_downloads.end(); ++it) { - done += it->second.first; - total += it->second.second; + done += it->second.progress.first; + total += it->second.progress.second; } progress(done, total); } @@ -146,16 +146,30 @@ class DownloadManager: public QObject { void downloadProgress(qint64 bytesReceived, qint64 bytesTotal) { //LOG<(sender())].first = bytesReceived; - _downloads[qobject_cast(sender())].second = bytesTotal; + _downloads[qobject_cast(sender())].progress.first + = bytesReceived; + _downloads[qobject_cast(sender())].progress.second + = bytesTotal; calcProgress(); } void error(QNetworkReply::NetworkError code) { LOG<<"Status:"<(sender())); + _downloads[reply].error += + tr("

    Network Error

    " + "
    URL:
    %1
    " + "
    Error Code:
    %3
    " + "
    Error Details:
    %2
    ") + .arg(reply->url().toString()) + .arg(networkError(code)) + .arg(code); } void slotFinished() { LOG; - _downloads.erase(qobject_cast(sender())); + QNetworkReply* reply(qobject_cast(sender())); + if (_downloads[reply].error.size()) + error(_downloads[reply].error); + _downloads.erase(reply); if (_downloads.size()==0) finished(); } void metaDataChanged() { @@ -163,7 +177,7 @@ class DownloadManager: public QObject { } void sslErrors(const QList & errors) { LOG; - qobject_cast(sender())->ignoreSslErrors(errors); + QNetworkReply* reply(qobject_cast(sender())); for (QList::const_iterator err(errors.begin()); err!=errors.end(); ++err) { LOG<<"SSL-Error: "<<(int)err->error()<<": "<errorString(); @@ -182,20 +196,64 @@ class DownloadManager: public QObject { <<"C="<certificate().subjectInfo(QSslCertificate::CountryName) <<"ST="<certificate().subjectInfo(QSslCertificate::StateOrProvinceName); LOG<<"Certificate:\n"<certificate().toPem(); + _downloads[reply].error += + tr("

    SSL Error

    " + "
    URL:
    %1
    " + "
    Error Code:
    %3
    " + "
    Error Details:
    %2
    " + "" + "" + "" + "" + "" + "" + "" + "" + "
    Certificate Issuer
    Organization:%4
    Common Name:%5
    Location:%6
    Organizational Unit:%7
    Country:%8
    State or Provive:%9
    " + "" + "" + "" + "" + "" + "" + "" + "" + "
    Certificate Subject
    Organization:%10
    Common Name:%11
    Location:%12
    Organizational Unit:%13
    Country:%14
    State or Provive:%15
    ") + .arg(reply->url().toString()) + .arg(err->errorString()) + .arg(err->error()) + .arg(err->certificate().issuerInfo(QSslCertificate::Organization)) + .arg(err->certificate().issuerInfo(QSslCertificate::CommonName)) + .arg(err->certificate().issuerInfo(QSslCertificate::LocalityName)) + .arg(err->certificate().issuerInfo(QSslCertificate::OrganizationalUnitName)) + .arg(err->certificate().issuerInfo(QSslCertificate::CountryName)) + .arg(err->certificate().issuerInfo(QSslCertificate::StateOrProvinceName)) + .arg(err->certificate().subjectInfo(QSslCertificate::Organization)) + .arg(err->certificate().subjectInfo(QSslCertificate::CommonName)) + .arg(err->certificate().subjectInfo(QSslCertificate::LocalityName)) + .arg(err->certificate().subjectInfo(QSslCertificate::OrganizationalUnitName)) + .arg(err->certificate().subjectInfo(QSslCertificate::CountryName)) + .arg(err->certificate().subjectInfo(QSslCertificate::StateOrProvinceName)); } } void uploadProgress(qint64 bytesSent, qint64 bytesTotal) { //LOG<(sender())].first = bytesSent; - _downloads[qobject_cast(sender())].second = bytesTotal; + _downloads[qobject_cast(sender())].progress.first + = bytesSent; + _downloads[qobject_cast(sender())].progress.second + = bytesTotal; calcProgress(); } private: typedef std::pair Progress; - typedef std::map Downloads; + struct Download { + Progress progress; + QString error; + }; + typedef std::map Downloads; Downloads _downloads; }; diff --git a/swisssurfer/src/qmake.pro.in b/swisssurfer/src/qmake.pro.in index 2853a2c..426ff60 100644 --- a/swisssurfer/src/qmake.pro.in +++ b/swisssurfer/src/qmake.pro.in @@ -22,9 +22,9 @@ SOURCES = main.cxx webpage.cxx HEADERS = browser.hxx smartcardauth.hxx pinentry.hxx \ downloadmanager.hxx settings.hxx sslclientnetworkmanager.hxx \ - authentication.hxx webpage.hxx + authentication.hxx webpage.hxx errorlog.hxx -FORMS = browser.ui settings.ui pinentry.ui authentication.ui +FORMS = browser.ui settings.ui pinentry.ui authentication.ui errorlog.ui RESOURCES = languages.qrc resources.qrc diff --git a/swisssurfer/src/smartcardauth.hxx b/swisssurfer/src/smartcardauth.hxx index a33728b..982aa98 100644 --- a/swisssurfer/src/smartcardauth.hxx +++ b/swisssurfer/src/smartcardauth.hxx @@ -57,7 +57,7 @@ class CryptokiEngine: public QObject, public openssl::Engine { } virtual RSA* setupRsa(RSA* r) { - RSA_free(r); + RSA_free(r); //→ occasional crashes? r = RSA_new_method(_e); r->n = BN_bin2bn((const unsigned char*)_modulus.data(), _modulus.size(), r->n); diff --git a/swisssurfer/src/swisssurfer_de.ts b/swisssurfer/src/swisssurfer_de.ts index 9cf34ae..b1700b7 100644 --- a/swisssurfer/src/swisssurfer_de.ts +++ b/swisssurfer/src/swisssurfer_de.ts @@ -64,250 +64,270 @@ - + neu laden - + F5 - + stoppen - + zurückkehren - + weitergehen - + Startseite - + Ctrl+Home - + &New Browser - + New Browser Window - + Ctrl+N - + &Close - + &Proxy... - + Ctrl+P - + Next Tab - + Shift+Right - + Previous Tab - + Shift+Left - + New Tab - + Add New Tab - + Ctrl+T - + Find - + Close Find - + &About - + &Settings ... - + &Reverse Find - + Ctrl+R - - + + Error Log + + + + + show error logs + + + + + Esc - + find in page - + Ctrl+F - + Print ... - + Quick &Print &Print - + Print Pre&view ... - + Checking: %1 Opening: %1 - + Reading: %1 Reading: %1% - + Zoom: %1% - + Illegal URL: %1 - + Print Document - + %1 - %2 Back to %1 - %2 statusbar actionBack_hovered %1=url %2=title - + Info: %1 - + done. - + page load error. - + %1 statusbar for hovered link %1=url - + Forbidden: %1 - + + SSL Not Supported + + + + + SSL is not supported on your system + + + + Access Denied - + <p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1. - + %1 - %2 statusbar actionForward_hovered %1=url %2=title - + About - + SwissSurfer %1 (%2) %3 @@ -321,22 +341,22 @@ Compiled: qt-%5 - + %1 - + Save File As ... - + authentication required - + ssl error @@ -375,89 +395,110 @@ Compiled: qt-%5 - The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. + The SSL/TLS handshake failed and the encrypted channel could not be established. See SSL-Errors above. + The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. - + The connection to the proxy server was refused (the proxy server is not accepting requests). - + The proxy server closed the connection prematurely, before the entire reply was received and processed. - + The proxy host name was not found (invalid proxy hostname). - + The connection to the proxy timed out or the proxy did not reply in time to the request sent. - + The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any). - + The access to the remote content was denied (similar to HTTP error 401). - + The operation requested on the remote content is not permitted. - + The remote content was not found at the server (similar to HTTP error 404). - + The remote server requires authentication to serve the content but the credentials provided were not accepted (if any). - + The Network Access API cannot honor the request because the protocol is not known. - + The requested operation is invalid for this protocol. - + An unknown network-related error was detected. - + An unknown proxy-related error was detected. - + An unknonwn error related to the remote content was detected. - + A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.). - + <strong>Unknown network error (code: %1).</string> + + + <h1>Network Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + <h1>Network Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + + + + + <h1>SSL Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + <h1>SSL Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + + + + + ErrorLog + + + Error Log + + PinEntry diff --git a/swisssurfer/src/swisssurfer_en.ts b/swisssurfer/src/swisssurfer_en.ts index 9cf34ae..b1700b7 100644 --- a/swisssurfer/src/swisssurfer_en.ts +++ b/swisssurfer/src/swisssurfer_en.ts @@ -64,250 +64,270 @@ - + neu laden - + F5 - + stoppen - + zurückkehren - + weitergehen - + Startseite - + Ctrl+Home - + &New Browser - + New Browser Window - + Ctrl+N - + &Close - + &Proxy... - + Ctrl+P - + Next Tab - + Shift+Right - + Previous Tab - + Shift+Left - + New Tab - + Add New Tab - + Ctrl+T - + Find - + Close Find - + &About - + &Settings ... - + &Reverse Find - + Ctrl+R - - + + Error Log + + + + + show error logs + + + + + Esc - + find in page - + Ctrl+F - + Print ... - + Quick &Print &Print - + Print Pre&view ... - + Checking: %1 Opening: %1 - + Reading: %1 Reading: %1% - + Zoom: %1% - + Illegal URL: %1 - + Print Document - + %1 - %2 Back to %1 - %2 statusbar actionBack_hovered %1=url %2=title - + Info: %1 - + done. - + page load error. - + %1 statusbar for hovered link %1=url - + Forbidden: %1 - + + SSL Not Supported + + + + + SSL is not supported on your system + + + + Access Denied - + <p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1. - + %1 - %2 statusbar actionForward_hovered %1=url %2=title - + About - + SwissSurfer %1 (%2) %3 @@ -321,22 +341,22 @@ Compiled: qt-%5 - + %1 - + Save File As ... - + authentication required - + ssl error @@ -375,89 +395,110 @@ Compiled: qt-%5 - The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. + The SSL/TLS handshake failed and the encrypted channel could not be established. See SSL-Errors above. + The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. - + The connection to the proxy server was refused (the proxy server is not accepting requests). - + The proxy server closed the connection prematurely, before the entire reply was received and processed. - + The proxy host name was not found (invalid proxy hostname). - + The connection to the proxy timed out or the proxy did not reply in time to the request sent. - + The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any). - + The access to the remote content was denied (similar to HTTP error 401). - + The operation requested on the remote content is not permitted. - + The remote content was not found at the server (similar to HTTP error 404). - + The remote server requires authentication to serve the content but the credentials provided were not accepted (if any). - + The Network Access API cannot honor the request because the protocol is not known. - + The requested operation is invalid for this protocol. - + An unknown network-related error was detected. - + An unknown proxy-related error was detected. - + An unknonwn error related to the remote content was detected. - + A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.). - + <strong>Unknown network error (code: %1).</string> + + + <h1>Network Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + <h1>Network Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + + + + + <h1>SSL Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + <h1>SSL Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + + + + + ErrorLog + + + Error Log + + PinEntry diff --git a/swisssurfer/src/swisssurfer_fr.ts b/swisssurfer/src/swisssurfer_fr.ts index 9cf34ae..b1700b7 100644 --- a/swisssurfer/src/swisssurfer_fr.ts +++ b/swisssurfer/src/swisssurfer_fr.ts @@ -64,250 +64,270 @@ - + neu laden - + F5 - + stoppen - + zurückkehren - + weitergehen - + Startseite - + Ctrl+Home - + &New Browser - + New Browser Window - + Ctrl+N - + &Close - + &Proxy... - + Ctrl+P - + Next Tab - + Shift+Right - + Previous Tab - + Shift+Left - + New Tab - + Add New Tab - + Ctrl+T - + Find - + Close Find - + &About - + &Settings ... - + &Reverse Find - + Ctrl+R - - + + Error Log + + + + + show error logs + + + + + Esc - + find in page - + Ctrl+F - + Print ... - + Quick &Print &Print - + Print Pre&view ... - + Checking: %1 Opening: %1 - + Reading: %1 Reading: %1% - + Zoom: %1% - + Illegal URL: %1 - + Print Document - + %1 - %2 Back to %1 - %2 statusbar actionBack_hovered %1=url %2=title - + Info: %1 - + done. - + page load error. - + %1 statusbar for hovered link %1=url - + Forbidden: %1 - + + SSL Not Supported + + + + + SSL is not supported on your system + + + + Access Denied - + <p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1. - + %1 - %2 statusbar actionForward_hovered %1=url %2=title - + About - + SwissSurfer %1 (%2) %3 @@ -321,22 +341,22 @@ Compiled: qt-%5 - + %1 - + Save File As ... - + authentication required - + ssl error @@ -375,89 +395,110 @@ Compiled: qt-%5 - The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. + The SSL/TLS handshake failed and the encrypted channel could not be established. See SSL-Errors above. + The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. - + The connection to the proxy server was refused (the proxy server is not accepting requests). - + The proxy server closed the connection prematurely, before the entire reply was received and processed. - + The proxy host name was not found (invalid proxy hostname). - + The connection to the proxy timed out or the proxy did not reply in time to the request sent. - + The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any). - + The access to the remote content was denied (similar to HTTP error 401). - + The operation requested on the remote content is not permitted. - + The remote content was not found at the server (similar to HTTP error 404). - + The remote server requires authentication to serve the content but the credentials provided were not accepted (if any). - + The Network Access API cannot honor the request because the protocol is not known. - + The requested operation is invalid for this protocol. - + An unknown network-related error was detected. - + An unknown proxy-related error was detected. - + An unknonwn error related to the remote content was detected. - + A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.). - + <strong>Unknown network error (code: %1).</string> + + + <h1>Network Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + <h1>Network Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + + + + + <h1>SSL Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + <h1>SSL Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + + + + + ErrorLog + + + Error Log + + PinEntry diff --git a/swisssurfer/src/swisssurfer_it.ts b/swisssurfer/src/swisssurfer_it.ts index 9cf34ae..b1700b7 100644 --- a/swisssurfer/src/swisssurfer_it.ts +++ b/swisssurfer/src/swisssurfer_it.ts @@ -64,250 +64,270 @@ - + neu laden - + F5 - + stoppen - + zurückkehren - + weitergehen - + Startseite - + Ctrl+Home - + &New Browser - + New Browser Window - + Ctrl+N - + &Close - + &Proxy... - + Ctrl+P - + Next Tab - + Shift+Right - + Previous Tab - + Shift+Left - + New Tab - + Add New Tab - + Ctrl+T - + Find - + Close Find - + &About - + &Settings ... - + &Reverse Find - + Ctrl+R - - + + Error Log + + + + + show error logs + + + + + Esc - + find in page - + Ctrl+F - + Print ... - + Quick &Print &Print - + Print Pre&view ... - + Checking: %1 Opening: %1 - + Reading: %1 Reading: %1% - + Zoom: %1% - + Illegal URL: %1 - + Print Document - + %1 - %2 Back to %1 - %2 statusbar actionBack_hovered %1=url %2=title - + Info: %1 - + done. - + page load error. - + %1 statusbar for hovered link %1=url - + Forbidden: %1 - + + SSL Not Supported + + + + + SSL is not supported on your system + + + + Access Denied - + <p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1. - + %1 - %2 statusbar actionForward_hovered %1=url %2=title - + About - + SwissSurfer %1 (%2) %3 @@ -321,22 +341,22 @@ Compiled: qt-%5 - + %1 - + Save File As ... - + authentication required - + ssl error @@ -375,89 +395,110 @@ Compiled: qt-%5 - The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. + The SSL/TLS handshake failed and the encrypted channel could not be established. See SSL-Errors above. + The SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted. - + The connection to the proxy server was refused (the proxy server is not accepting requests). - + The proxy server closed the connection prematurely, before the entire reply was received and processed. - + The proxy host name was not found (invalid proxy hostname). - + The connection to the proxy timed out or the proxy did not reply in time to the request sent. - + The proxy requires authentication in order to honour the request but did not accept any credentials offered (if any). - + The access to the remote content was denied (similar to HTTP error 401). - + The operation requested on the remote content is not permitted. - + The remote content was not found at the server (similar to HTTP error 404). - + The remote server requires authentication to serve the content but the credentials provided were not accepted (if any). - + The Network Access API cannot honor the request because the protocol is not known. - + The requested operation is invalid for this protocol. - + An unknown network-related error was detected. - + An unknown proxy-related error was detected. - + An unknonwn error related to the remote content was detected. - + A breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.). - + <strong>Unknown network error (code: %1).</string> + + + <h1>Network Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + <h1>Network Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl> + + + + + <h1>SSL Error</h1><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + <h1>SSL Error</h2><dl><dt>URL:</dt><dd>%1</dd><dt>Error Code:</dt><dd>%3</dd><dt>Error Details:</dt><dd>%2</dd></dl><table><caption>Certificate Issuer</caption><tr><th>Organization:</th><td>%4</td></tr><tr><th>Common Name:</th><td>%5</td></tr><tr><th>Location:</th><td>%6</td></tr><tr><th>Organizational Unit:</th><td>%7</td></tr><tr><th>Country:</th><td>%8</td></tr><tr><th>State or Provive:</th><td>%9</td></tr></table><table><caption>Certificate Subject</caption><tr><th>Organization:</th><td>%10</td></tr><tr><th>Common Name:</th><td>%11</td></tr><tr><th>Location:</th><td>%12</td></tr><tr><th>Organizational Unit:</th><td>%13</td></tr><tr><th>Country:</th><td>%14</td></tr><tr><th>State or Provive:</th><td>%15</td></tr></table> + + + + + ErrorLog + + + Error Log + + PinEntry