diff options
Diffstat (limited to 'src/wx/doremi_certificate_panel.cc')
| -rw-r--r-- | src/wx/doremi_certificate_panel.cc | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/src/wx/doremi_certificate_panel.cc b/src/wx/doremi_certificate_panel.cc deleted file mode 100644 index bdc0b0377..000000000 --- a/src/wx/doremi_certificate_panel.cc +++ /dev/null @@ -1,137 +0,0 @@ -/* - Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include "doremi_certificate_panel.h" -#include "download_certificate_dialog.h" -#include "wx_util.h" -#include "lib/compose.hpp" -#include "lib/util.h" -#include "lib/signal_manager.h" -#include "lib/internet.h" -#include <curl/curl.h> -#include <zip.h> -#include <boost/foreach.hpp> -#include <iostream> - -using std::string; -using std::cout; -using std::list; -using boost::function; -using boost::optional; - -DoremiCertificatePanel::DoremiCertificatePanel (wxWindow* parent, DownloadCertificateDialog* dialog) - : DownloadCertificatePanel (parent, dialog) -{ - add_label_to_sizer (_table, this, _("Server serial number"), true); - _serial = new wxTextCtrl (this, wxID_ANY, wxT (""), wxDefaultPosition, wxSize (300, -1)); - _table->Add (_serial, 1, wxEXPAND); - - _serial->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DownloadCertificateDialog::setup_sensitivity, _dialog)); - - layout (); -} - -void -DoremiCertificatePanel::download (wxStaticText* message) -{ - message->SetLabel (_("Downloading certificate")); - - /* Hack: without this the SetLabel() above has no visible effect */ - wxMilliSleep (200); - - signal_manager->when_idle (boost::bind (&DoremiCertificatePanel::finish_download, this, wx_to_std (_serial->GetValue ()), message)); -} - -void -DoremiCertificatePanel::finish_download (string serial, wxStaticText* message) -{ - /* Try dcp2000, imb and ims prefixes (see mantis #375) */ - - list<string> errors; - - optional<string> error = get_from_zip_url ( - String::compose ( - "ftp://service:t3chn1c1an@ftp.doremilabs.com/Certificates/%1xxx/dcp2000-%2.dcicerts.zip", - serial.substr(0, 3), serial - ), - String::compose ("dcp2000-%1.cert.sha256.pem", serial), - true, - boost::bind (&DownloadCertificatePanel::load, this, _1) - ); - - if (error) { - errors.push_back (error.get ()); - error = get_from_zip_url ( - String::compose ( - "ftp://service:t3chn1c1an@ftp.doremilabs.com/Certificates/%1xxx/dcp2000-%2.certs.zip", - serial.substr(0, 3), serial - ), - String::compose ("dcp2000-%1.cert.sha256.pem", serial), - true, - boost::bind (&DownloadCertificatePanel::load, this, _1) - ); - } - - if (error) { - errors.push_back (error.get ()); - error = get_from_zip_url ( - String::compose ( - "ftp://service:t3chn1c1an@ftp.doremilabs.com/Certificates/%1xxx/imb-%2.dcicerts.zip", - serial.substr(0, 3), serial - ), - String::compose ("imb-%1.cert.sha256.pem", serial), - true, - boost::bind (&DownloadCertificatePanel::load, this, _1) - ); - } - - if (error) { - errors.push_back (error.get ()); - error = get_from_zip_url ( - String::compose ( - "ftp://service:t3chn1c1an@ftp.doremilabs.com/Certificates/%1xxx/ims-%2.dcicerts.zip", - serial.substr(0, 3), serial - ), - String::compose ("ims-%1.cert.sha256.pem", serial), - true, - boost::bind (&DownloadCertificatePanel::load, this, _1) - ); - } - - if (error) { - errors.push_back (error.get ()); - message->SetLabel (wxT ("")); - - SafeStringStream s; - BOOST_FOREACH (string e, errors) { - s << e << "\n"; - } - - error_dialog (this, std_to_wx (s.str ())); - } else { - message->SetLabel (_("Certificate downloaded")); - _dialog->setup_sensitivity (); - } -} - -bool -DoremiCertificatePanel::ready_to_download () const -{ - return !_serial->IsEmpty (); -} |
