X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fgdc_certificate_panel.cc;h=d78b1b56dfd2397bda51331cda5c7e0c0e43c938;hb=1c1676c83d5785e4c6a2212e68a8dff46eab4847;hp=bc1087fd164a46b21d832f2830c82e2f9d9008c0;hpb=c04fec82d25127fafa73c3daff87bece9aa8c8e8;p=dcpomatic.git diff --git a/src/wx/gdc_certificate_panel.cc b/src/wx/gdc_certificate_panel.cc index bc1087fd1..d78b1b56d 100644 --- a/src/wx/gdc_certificate_panel.cc +++ b/src/wx/gdc_certificate_panel.cc @@ -18,20 +18,25 @@ */ -#include "gdc_certificate_panel.h" + #include "download_certificate_dialog.h" +#include "gdc_certificate_panel.h" #include "wx_util.h" -#include "lib/internet.h" #include "lib/compose.hpp" #include "lib/config.h" +#include "lib/internet.h" +#include + using std::string; -using boost::optional; +using namespace boost::algorithm; using boost::bind; +using boost::optional; #if BOOST_VERSION >= 106100 using namespace boost::placeholders; #endif + GDCCertificatePanel::GDCCertificatePanel (DownloadCertificateDialog* dialog) : CredentialsDownloadCertificatePanel ( dialog, @@ -49,14 +54,21 @@ GDCCertificatePanel::GDCCertificatePanel (DownloadCertificateDialog* dialog) void GDCCertificatePanel::do_download () { - string const url = String::compose( + string serial = wx_to_std (_serial->GetValue()); + trim(serial); + if (!serial.empty() && serial[0] == 'A') { + /* We're adding the A ourselves */ + serial = serial.substr(1); + } + string url = String::compose( "ftp://%1:%2@ftp.gdc-tech.com/SHA256/A%3.crt.pem", Config::instance()->gdc_username().get(), Config::instance()->gdc_password().get(), - wx_to_std(_serial->GetValue()) + serial ); + trim(url); - optional error = get_from_url (url, true, false, boost::bind(&DownloadCertificatePanel::load_certificate, this, _1)); + auto error = get_from_url (url, true, false, boost::bind(&DownloadCertificatePanel::load_certificate, this, _1, _2)); if (error) { _dialog->message()->SetLabel(wxT(""));