<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Hi all,</p>
<p><br>
</p>
<p>Levente, thanks for the improvements! I attempted to only patch as much as required for updating the image via the docking bar menu or the Monticello Browser.</p>
<p>Why aren't you using '<span>MCHttpRepository allInstancesDo:</span>' in your version?</p>
<p>And I used the Compiler in my version in order not to change the DefaultUpdateURL class variable if it was not set before.</p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">
<div class="x__rp_U4 x_ms-font-weight-regular x_ms-font-color-neutralDark x_rpHighlightAllClass x_rpHighlightBodyClass" id="x_Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="x_divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="x_Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont">
<div><font size="3" color="black"><span style="font-size:12pt"><a href="http://www.hpi.de/" target="_blank" rel="noopener noreferrer" id="LPNoLP"><font size="2"><span id="LPlnk909538"><font color="#757B80"></font></span></font></a></span></font></div>
</font></div>
</div>
</font></div>
</div>
</div>
</div>
<div class="x__rp_T4" id="x_Item.MessagePartBody"><br>
</div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">> <span style="font-size:12pt">That would mean, changing the update maps.</span>
<div><br>
</div>
<div>+1 for doing so. Could there be any possible problems? Environments that do not support SSL today? Possible performance problems?</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Levente Uzonyi <leves@caesar.elte.hu><br>
<b>Gesendet:</b> Mittwoch, 9. September 2020 10:57:08<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] How to change the update URL for Trunk HTTPS?</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hi Christoph,<br>
<br>
On Tue, 8 Sep 2020, Thiede, Christoph wrote:<br>
<br>
> <br>
> Hi Marcel, hi all,<br>
> <br>
> <br>
> phew, this turned out to be a bit more complicated than I had assumed.<br>
> <br>
> <br>
> The attached script should patch every in the image required to upgrade the update URLs to HTTPS. Eventually, I would like to ship it via a postscript in a regular trunk version.<br>
<br>
I just checked your script. It's behavior seems to match what I wrote a <br>
while ago. My variant changes all source.squeak.org urls to https:<br>
<br>
MCMcmUpdater allInstances<br>
         select: [ :each | each repository beginsWith: '<a href="http://source.squeak.org">http://source.squeak.org</a>' ]<br>
         thenDo: [ :httpUpdater |<br>
                 | httpsUrl newUpdater |<br>
                 httpsUrl := 'https', (httpUpdater repository allButFirst: 4).<br>
                 newUpdater := MCMcmUpdater<br>
                         repository: httpsUrl<br>
                         updateMap: httpUpdater updateMapName<br>
                         lastUpdateMap: (Dictionary new<br>
                                 at: httpsUrl<br>
                                         put: (httpUpdater lastUpdateMap at: httpUpdater repository);<br>
                                 yourself).<br>
                 newUpdater register.<br>
                 httpUpdater unregister ].<br>
MCRepositoryGroup default repositories<br>
         select: [ :each |<br>
                 (each isKindOf: MCHttpRepository)<br>
                         and: [ each description beginsWith: '<a href="http://source.squeak.org">http://source.squeak.org</a>' ]]<br>
         thenDo: [ :repository |<br>
                 repository location: 'https', (repository description allButFirst: 4) ].<br>
MCMcmUpdater defaultUpdateURL in: [ :updateUrl |<br>
         (updateUrl beginsWith: '<a href="http://source.squeak.org">http://source.squeak.org</a>') ifTrue: [<br>
                 MCMcmUpdater defaultUpdateURL: 'https', (updateUrl allButFirst: 4) ] ]<br>
<br>
<br>
However, such scripts on their own are not enough. Besides the update <br>
maps, the image has several references to the http urls. Most of those <br>
need to be updated as well.<br>
<br>
<br>
Levente<br>
<br>
> <br>
> Still, the server code must be updated, because unfortunately, it returns URLs with hard-coded HTTP, even if the request is made via HTTPS:<br>
> <br>
><br>
>       (<br>
> name 'update-eem.477'<br>
> repository ('<a href="http://source.squeak.org/trunk">http://source.squeak.org/trunk</a>')<br>
> dependency ('Squeak-Version' 'Squeak-Version-mt.5252' 'b9a3cd5b-b708-8646-a99f-5f3ae294ceb1')<br>
> ...<br>
> <br>
> <br>
> I don't have access to the server code, but apparently the protocol should be checked there. And isn't it a general convention to favor relative over absolute URLs? Why doesn't the server simply return '/trunk' here?<br>
> <br>
> Best,<br>
> Christoph<br>
> <br>
> _________________________________________________________________________________________________________________________________________________________________________________________________________________________________<br>
> Von: Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
> Gesendet: Freitag, 12. Juni 2020 16:17 Uhr<br>
> An: squeak-dev<br>
> Betreff: Re: [squeak-dev] How to change the update URL for Trunk HTTPS?  <br>
> I suppose it is because the update map has "http" in it for each package version. And maybe also because your repositories in Monticello are configured as "http". So, the mechanism does not find any previous versions?<br>
> Seems like bug to me.<br>
> <br>
> Best,<br>
> Marcel<br>
><br>
>       Am 12.06.2020 15:51:51 schrieb Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de>:<br>
><br>
>       Hi all,<br>
> <br>
><br>
>       I spent a number of attempts during the latest months on changing my image's update URL to use HTTPS, but unfortunately, it gets reset each time.<br>
> <br>
><br>
>       Shouldn't I be able to simply change the update URL in the preferences by adding a small "s" behind the "http"? But if I do so, when I press the update button the next time, Squeak starts loading all packages from<br>
>       their initial version (Tools-xyz.1, Morphic-xyz.1, ...). Is there a way to easily change the URL?<br>
> <br>
><br>
>       Best,<br>
><br>
>       Christoph<br>
> <br>
> <br>
></div>
</span></font>
</body>
</html>