<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        mso-fareast-language:EN-GB;}
span.gmail-pln
        {mso-style-name:gmail-pln;}
span.gmail-pun
        {mso-style-name:gmail-pun;}
span.gmail-typ
        {mso-style-name:gmail-typ;}
span.gmail-kwd
        {mso-style-name:gmail-kwd;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle27
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'>I would be wary of the proposed solution to 2 – I suspect it will do different things depending on which web browser is set as default (recipe for weird bugs when people have Chrome / IE / Edge / FireFox / Opera / Lynx as their default browser).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'>Is there any documentation regarding the issues with Python and SSL?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'>If we need a call to trigger the certificate download before we do it ‘for real’, can we use WinInet or WinHTTP instead? (if necessary a small native Windows app that performs the call for us?)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'>*<b>lightbulb moment</b>* Can we perform the call inside the OpenLP installer?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'>Just some thoughts.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>'Therefore, if anyone is in Christ, he is a new creation;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>the old has gone, the new has come!' - 2 Corinthians 5v17<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="mailto:chris@minkus.me.uk"><span style='color:#0563C1'>chris@minkus.me.uk</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> openlp-dev [mailto:openlp-dev-bounces@openlp.io] <b>On Behalf Of </b>Tim and Alison Bentley<br><b>Sent:</b> 18 February 2017 07:21<br><b>To:</b> OpenLP Developers <openlp-dev@openlp.io><br><b>Subject:</b> Re: [openlp-dev] Windows and SSL<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>My 2 Rand!<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>1) will be an endless set of changes trying to keep track of the root certificates and my give us different problems <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>2) it OpenLP has not run on a machine on windows issue a command to get the certificates. As you say it can be done in the background but could be done as a step in the FTW so it is obvious what is being done.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><pre style='background:#EFF0F1;max-height:600px;word-wrap:normal;overflow:auto'><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>process </span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>=</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'> subprocess</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>.</span></span><span class=gmail-typ><span style='font-family:Consolas;color:#2B91AF;border:none windowtext 1.0pt;padding:0cm'>Popen</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>(</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>"explore.exe <a href="https://get.openlp.io">https://get.openlp.io</a>"</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>,</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1'><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>                               shell</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>=</span></span><span class=gmail-kwd><span style='font-family:Consolas;color:#101094;border:none windowtext 1.0pt;padding:0cm'>True</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>,</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1'><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>                               stdout</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>=</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>subprocess</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>.</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>PIPE</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>,</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1'><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>                               stderr</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>=</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>subprocess</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>.</span></span><span class=gmail-pln><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>PIPE</span></span><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>)</span></span><span style='font-family:Consolas;color:#393318'><o:p></o:p></span></pre><pre style='background:#EFF0F1;max-height:600px;word-wrap:normal;overflow:auto'><span style='font-family:Consolas;color:#393318'><o:p> </o:p></span></pre><pre style='background:#EFF0F1;max-height:600px;word-wrap:normal;overflow:auto'><span class=gmail-pun><span style='font-family:Consolas;color:#303336;border:none windowtext 1.0pt;padding:0cm'>Tim</span></span><span style='font-family:Consolas;color:#393318'><o:p></o:p></span></pre></div></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On 18 February 2017 at 04:19, Raoul Snyman <<a href="mailto:raoul@snyman.info" target="_blank">raoul@snyman.info</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal>Hello everyone,<br><br>As some of you might know, we're having SSL issues on Windows. This is because Windows does not ship with all the root certificates and downloads them on the fly. Our current advice to people is to go to <a href="https://get.openlp.org/" target="_blank">https://get.openlp.org/</a> in Internet Explorer or Edge and then try the First Time Wizard again (same applies to SongSelect).<br><br>However, this is really tedious because we have to tell each and every person who visits the forums or IRC or e-mails the support system about it. There must be a better way. Sadly, Microsoft is not going to do anything about this, and unless Python changes the way they do things on Windows, we're probably going to be stuck with the problem.<br><br>I see only 2 real options here.<br><br>1. Bundle all the root certs with OpenLP on Windows. We can tell Python where to find them.<br><br>2. When we want to access an https page, do some sort of pre-flight calling some internal Windows function to get the certs for us.<br><br>Does anyone else have any ideas for how to solve this?<br><br>In the mean time I'm going to write up a blog post and put a sticky post in the forums about this.<span style='color:#888888'><br><br><span class=hoenzb>-- </span><br><span class=hoenzb>Raoul Snyman</span><br><span class=hoenzb><a href="tel:%2B1%20%28520%29%20490-9743" target="_blank">+1 (520) 490-9743</a></span><br><span class=hoenzb><a href="mailto:raoul@snyman.info" target="_blank">raoul@snyman.info</a></span><br><span class=hoenzb>_______________________________________________</span><br><span class=hoenzb>openlp-dev mailing list</span><br><span class=hoenzb><a href="mailto:openlp-dev@openlp.io" target="_blank">openlp-dev@openlp.io</a></span><br><span class=hoenzb><a href="https://lists.openlp.io/mailman/listinfo/openlp-dev" target="_blank">https://lists.openlp.io/mailman/listinfo/openlp-dev</a></span></span><o:p></o:p></p></blockquote></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- <o:p></o:p></p><div><p class=MsoNormal>Tim and Alison Bentley<br><a href="mailto:Home@TRARBentley.net">Home@TRARBentley.net</a><o:p></o:p></p></div></div></div></div></body></html>