<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Troy,<br>
</p>
<p>here are the screenshots from Ezra Bible App. This shows the
repository list - filtered to English and German language modules.</p>
<p>Note that the module counts per repository are correct, but the
CrossWire repository (and only that one!) does not show at all
anymore with the new SWORD version, because the number of returned
modules is 0. Is it a repository-specific bug?<br>
</p>
<p>Repository list before:</p>
<p><img src="cid:part1.4A671951.78DA1674@tklein.info" alt=""></p>
<p>Repository list after:</p>
<p><img src="cid:part2.0C93D2E4.582927E2@tklein.info" alt=""></p>
<p>Best regards,<br>
Tobias</p>
<br>
<div class="moz-cite-prefix">On 1/21/24 9:28 PM, Tobias Klein wrote:<br>
</div>
<blockquote type="cite"
cite="mid:E1rReQH-000000004wF-3p9F@smtprelay01.ispgateway.de">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style>@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:"Segoe UI Emoji";
panose-1:2 11 5 2 4 2 4 2 2 3;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}</style>
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi Troy,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">my Windows build of
SWORD has already been including CURL (currently used tag:
curl-7_68_0).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Here is what CMake
outputs (extract from build log on GitHub).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3799672Z
-- CONFIGURING SOURCE LIST<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3800942Z
-- ZLib: system
D:\a\sword-build-win32\sword-build-win32\dist\lib\zlib.lib<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3802219Z
-- bzip2: system
D:/a/sword-build-win32/sword-build-win32/dist/lib/libbz2.lib<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3803606Z
-- xz: system
D:/a/sword-build-win32/sword-build-win32/dist/lib/liblzma.lib<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="color:#4472C4" lang="EN-US">2024-01-21T14:39:13.3804732Z
-- cURL: system
D:\a\sword-build-win32\sword-build-win32\dist\lib\libcurl_imp.lib
and D:/a/sword-build-win32/sword-build-win32/curl/include<o:p></o:p></span></b></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3805695Z
-- CLucene: no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3806800Z
-- PkgConfig: yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3807142Z
-- ICU: no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3807647Z
-- Regex.h: internal<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3814178Z
-- Building Shared library.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3818932Z
-- Building Static library.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3821940Z
-- Setting SOVERSION to 1.9.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2024-01-21T14:39:13.3972004Z
-- Setting link libraries to
D:\a\sword-build-win32\sword-build-win32\dist\lib\zlib.lib;D:/a/sword-build-win32/sword-build-win32/dist/lib/libbz2.lib;D:/a/sword-build-win32/sword-build-win32/dist/lib/liblzma.lib;D:\a\sword-build-win32\sword-build-win32\dist\lib\libcurl_imp.lib<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I am attaching the full
build log from GitHub for reference, not sure if it helps.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In a moment I will share
screenshots from Ezra Bible App (before and after) with the
available repository list – maybe that helps.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Best regards,<br>
Tobias<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div
style="mso-element:para-border-div;border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none;padding:0cm"><b>From:
</b><a href="mailto:scribe@crosswire.org"
moz-do-not-send="true">Troy A. Griffitts</a><br>
<b>Sent: </b>Sonntag, 21. Januar 2024 19:57<br>
<b>To: </b><a href="mailto:sword-devel@crosswire.org"
moz-do-not-send="true">SWORD Developers' Collaboration
Forum</a>; <a href="mailto:contact@tklein.info"
moz-do-not-send="true">Tobias Klein</a><br>
<b>Subject: </b>Re: [sword-devel] HTTPS Transport</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi Tobias,<br>
<br>
Thank you so much for testing. My guess is that the
difference is likely due to the way SWORD is compiled--
which dependencies SWORD is using. My speculation is that
libcurl is probably available on Linux and your Windows
build probably isn't using this library.<br>
<br>
Can you let me know if SWORD is compiled with libcurl on
your Windows build? I will try to test a Linux build without
libcurl. I tried to make the new feature fallback to
previous behavior if it couldn't use the new feature
successfully. I obviously have failed in my backward
compatibility effort. <span style="font-family:"Segoe
UI Emoji",sans-serif">😊</span> I will try to get it
right.<br>
<br>
Troy<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On January 21, 2024 09:44:12 MST,
Tobias Klein <a class="moz-txt-link-rfc2396E" href="mailto:contact@tklein.info"><contact@tklein.info></a> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC
1.0pt;padding:0cm 0cm 0cm
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<pre>Hi Troy,
I have just done some testing with the latest changes in sword (SVN Rev. 3894).
I have not observed any issues on Linux. However, on Windows 10 the following happens:
Repository data does not seem to be returned in the same way as before (I was previously on SVN Rev. 3873, which is from November 7 2021).
E.g. a helper function in node-sword-interface that returns the number of modules per repository suddenly returns 0 modules for the CrossWire repository.
Is there any explanation for that?
I did not change anything in node-sword-interface, but only updated the sword dependency to the latest version 3894.
Best regards,
Tobias
On 12/16/23 11:11 PM, Troy A. Griffitts wrote:</pre>
</div>
<blockquote style="border:none;border-left:solid #729FCF
1.0pt;padding:0cm 0cm 0cm
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:6.0pt">
<div>
<pre>Hey guys,
For a while now, we've been working on a new mechanism for allowing a remote module installation repository to use only HTTPS traffic to supply their modules, if they wish. A little history and how things work in the released SWORD engine and what we have in SVN trunk now... (skip to === NEW === if you don't care about the history and why)
>From the beginning of SWORD we have had as a core value the simple enabling of Bible distribution. The very first versions of our installer could use as an installation source any working installation of a SWORD library. E.g., user 1 sets up Xiphos and manually unzips 100 Bibles, commentaries, lexicons, dictionaries, etc. for use with Xiphos. User 1 can then share (network drive, USB stick, FTP) their installation folder where they have unzipped all the data for their library, and user 2 can come along and install Bibletime or Xiphos or any other SWORD application and point their installer to this shared location and install from there any Bible, commentary, lexicon, dictionary, etc., from user 1's working installation. Then user 2 can travel to their school in Zimbabwe, plug into their school's network and share their data folder from their working SWORD application and students on that network can install Bibles from them.
None of this has changed. This is still a core value and still works with all the same mechanisms.
Over the years, we have added on top of this behavior optional optimizations for remote repositories. For example, instead of looking for the mods.d/ folder and downloading individually all the .conf files found there to present to a user a list of which Bibles, commentaries, etc. are available, we first look for a mods.d.tar.gz file with all the .conf files bundled into a single download. This saves a lot of time working with large remote repositories. If we don't find this file, we still fallback to downloading the individual files. We don't want a failure to happen when passing along Bibles if this optimization is not in place, but we do want to speed things up if the manager of the remote repository knows how to manage their repository optimally and is willing to do this extra work to keep this file in place and up to date.
Over the years, the FTP protocol, which SWORD has primarily used for remote module installation over the internet, has seen data providers block traffic due to its unencrypted nature. Being Bible distributors, in most cases we don't care if anyone snoops on our data packets. Generally, again in most cases, we WANT people to snoop. We don't require user / password for distribution so the security issues involved in sending those in plain text don't apply to our applications, generally. Now, of course there are scenarios which people may wish to distribute Bibles without public knowledge, and sometimes users may wish to protect their modules with username / password credentials, and for this we have historically also supported SFTP.
One driving factor for the latest improvement described below is that we have found some mobile data providers blocking FTP traffic on their network, requiring our users to get to a WiFi connection before they can install Bibles, etc.
=== NEW ===
In SVN trunk there is code to handle a new facility for remote module installation. Like the optional optimization with the mods.d.tar.gz file, this new mechanism is optional. All will work as before if nothing is changed.
Fully enabling the new mechanism consists of 4 steps:
1. assuring https access to the root folder of your module repository.
2. mods.d.tar.gz is required for this mechanism to be successful.
3. module.zip files must be available from a packages/ folder at the root of your module repository folder. These .zip files have been historically required for JSword-based apps because JSword does not yet know how to install from an working installation of modules, as described at the beginning of this email. So because many of our repository maintainers support JSword, this step might be as simple as creating a packages/ -> symbolic link to your JSword .zip module files folder, if you are already maintaining zip files.
4. adding an HTTPSPackagePreference entry into our master repository list telling us the server, and path on that server, to find your repository with https
The main CrossWire repository now has this mechanism enabled and can be used as a reference to test frontends and can be used as an example for remote module installation repository maintainers.
For CrossWire main, #1 is available here, and at the root of this location you can also see #2 mods.d.tar.gz and #3 packages/ :
<a href="https://crosswire.org/ftpmirror/pub/sword/raw/" moz-do-not-send="true">https://crosswire.org/ftpmirror/pub/sword/raw/</a>
Step 4 can be seen in our master repo list, the first entry under [Repos] here:
<a href="https://crosswire.org/ftpmirror/pub/sword/masterRepoList.conf" moz-do-not-send="true">https://crosswire.org/ftpmirror/pub/sword/masterRepoList.conf</a>
Any SWORD app compiled against SVN trunk should now only use HTTPS when installing modules from CrossWire main.
May I ask to please test and give feedback? Thank you for all the advice and encouragement to add this functionality. I pray this enhances our ability to distribute more Bibles to those who have yet to hear the Good New of Jesus Christ and to be used by Him to build up His church,
Troy</pre>
<pre><img style="width:4.868in;height:.0069in" id="Horizontal_x0020_Line_x0020_1" src="cid:image001.png@01DA4CB0.BAC998A0" moz-do-not-send="true" width="467" height="1" border="0"></pre>
<pre>sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</div>
</blockquote>
<div>
<pre><img style="width:4.8819in;height:.0069in" id="Horizontal_x0020_Line_x0020_2" src="cid:image002.png@01DA4CB0.BAC998A0" moz-do-not-send="true" width="469" height="1" border="0"></pre>
<pre>sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</div>
</blockquote>
</div>
<p class="MsoNormal">-- <br>
Sent from my Android device with K-9 Mail. Please excuse my
brevity.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page
</pre>
</blockquote>
</body>
</html>