changeset 1827:50e570b598b2

security
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 15 Sep 2024 10:36:46 -0600
parents 3cd1d267508c
children 09e90d94b7b5
files website/src/diff.html.luan website/src/examples/upload-and-email.html.luan website/src/goodjava.html.luan website/src/index.html.luan website/src/init.luan website/src/lib/Shared.luan website/src/manual.html.luan website/src/manual_old.html.luan website/src/pil.html.luan website/src/support.html.luan website/src/tutorial.html.luan website/src/why.html.luan
diffstat 12 files changed, 25 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/website/src/diff.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/diff.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -278,7 +278,7 @@
 <%		docs_header() %>
 		<div content>
 			<h1><a href="diff.html">How Luan differs from Lua</a></h1>
-			<p>This document explains how Luan differs from <a href="http://www.lua.org">Lua</a> as described in the <a href="http://www.lua.org/manual/5.3/">Lua 5.3 Reference Manual</a>.</p>
+			<p>This document explains how Luan differs from <a href="https://www.lua.org/">Lua</a> as described in the <a href="https://www.lua.org/manual/5.3/">Lua 5.3 Reference Manual</a>.</p>
 			<hr>
 			<h2>Contents</h2>
 			<div toc>
--- a/website/src/examples/upload-and-email.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/examples/upload-and-email.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -5,9 +5,9 @@
 
 local send = Mail.sender{
 	host = "smtpcorp.com"
+	port = 465
 	username = "luan"
 	password = "luanhost2"
-	port = 2525
 }.send
 
 local function form()
--- a/website/src/goodjava.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/goodjava.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -24,9 +24,9 @@
 		title = "goodjava.logger"
 		content = function()
 %>
-<p>This includes <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger">goodjava.logger</a> which replaces <a href="https://logging.apache.org/log4j/1.2/">log4j</a>, and <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging">goodjava.logging</a> which replaces <a href="http://www.slf4j.org/">slf4j</a>.  You can see <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/examples">some examples</a> of how to use my logger.  Configuration is in Java, where it should be.</p>
+<p>This includes <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger">goodjava.logger</a> which replaces <a href="https://logging.apache.org/log4j/1.2/">log4j</a>, and <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging">goodjava.logging</a> which replaces <a href="https://www.slf4j.org/">slf4j</a>.  You can see <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/examples">some examples</a> of how to use my logger.  Configuration is in Java, where it should be.</p>
 
-<p>slf4j is a typical modern mess.  Just look at <a href="http://www.slf4j.org/apidocs/org/slf4j/Logger.html">slf4j's logger</a> and compare to the interface of <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging/Logger.java">my logger</a>.  log4j isn't horrible but has significant problems.  This project was abandoned by its author so that he could create a horrible depraved logger called <a href="http://logback.qos.ch/">Logback</a> to fit with his depraved culture.  log4j's biggest problem is that it doesn't handle logging separation properly.  Its <a href="https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> is a hack.  goodjava.logger's <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/ThreadLocalAppender.java">ThreadLocalAppender</a> solves the problem properly.</p>
+<p>slf4j is a typical modern mess.  Just look at <a href="https://www.slf4j.org/apidocs/org/slf4j/Logger.html">slf4j's logger</a> and compare to the interface of <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging/Logger.java">my logger</a>.  log4j isn't horrible but has significant problems.  This project was abandoned by its author so that he could create a horrible depraved logger called <a href="https://logback.qos.ch/">Logback</a> to fit with his depraved culture.  log4j's biggest problem is that it doesn't handle logging separation properly.  Its <a href="https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> is a hack.  goodjava.logger's <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/ThreadLocalAppender.java">ThreadLocalAppender</a> solves the problem properly.</p>
 
 <p>I implemented full bridging with slf4j, both slf4j to goodjava.logging and goodjava.logging to slf4j.  This way my code is completely compatible with depraved modern code.</p>
 <%
--- a/website/src/index.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/index.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -21,7 +21,7 @@
 		<div content>
 			<h1>The Luan Programming Language</h1>
 
-			<p>Luan is a <a href="http://www.lua.org">Lua</a>-like language implemented in <a href="https://www.oracle.com/java/technologies/downloads/#java8">Java</a>.</p>
+			<p>Luan is a <a href="https://www.lua.org/">Lua</a>-like language implemented in <a href="https://www.oracle.com/java/technologies/downloads/#java8">Java</a>.</p>
 
 			<ul links>
 				<li><a href="why.html">Why Luan?</a></li>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/website/src/init.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -0,0 +1,5 @@
+local Hosted = require "luan:host/Hosted.luan"
+
+Hosted.set_https and Hosted.set_https(true)
+
+return true
--- a/website/src/lib/Shared.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/lib/Shared.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -24,7 +24,7 @@
 				/ <%=crumb%>
 <%	end %>
 			</span>
-			<span><a href="http://www.reactionary.software/">reactionary software</a> by <a href="https://linkmy.style/fschmidt">fschmidt</a></span>
+			<span><a href="https://www.reactionary.software/">reactionary software</a> by <a href="https://linkmy.style/fschmidt">fschmidt</a></span>
 		</div>
 <%
 end
--- a/website/src/manual.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/manual.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -15,7 +15,7 @@
 		content = function()
 %>
 <p>
-Luan is a high level programming language based on <a href="http://www.lua.org">Lua</a>.  A great strength of Lua is its simplicity and Luan takes this even further, being even simpler than Lua.  The goal is to provide a simple programming language for the casual programmer with as few concepts as possible so that one can quickly learn the language and then easily understand any code written in Luan.
+Luan is a high level programming language based on <a href="https://www.lua.org/">Lua</a>.  A great strength of Lua is its simplicity and Luan takes this even further, being even simpler than Lua.  The goal is to provide a simple programming language for the casual programmer with as few concepts as possible so that one can quickly learn the language and then easily understand any code written in Luan.
 </p>
 
 <p>
@@ -161,7 +161,7 @@
 				content = function()
 %>
 <p>
-The environment of a chunk starts with only one local variable: <code><a href="#require">require</a></code>.  This function is used to load and access libraries and other modules.  All other variables must be added to the environment using <a href="http://localhost:8080/manual.html#local_stmt">local declarations</a>.
+The environment of a chunk starts with only one local variable: <code><a href="#require">require</a></code>.  This function is used to load and access libraries and other modules.  All other variables must be added to the environment using <a href="/manual.html#local_stmt">local declarations</a>.
 </p>
 
 <p>
@@ -1176,7 +1176,7 @@
 						title = "Template Statements"
 						content = function()
 %>
-<p>Template statements provide the full equivalent of <a href="http://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a> but in a general way.  Template statements write to standard output.  For example:</p>
+<p>Template statements provide the full equivalent of <a href="https://en.wikipedia.org/wiki/Jakarta_Server_Pages">JSP</a> but in a general way.  Template statements write to standard output.  For example:</p>
 </p>
 
 <code block>
@@ -2552,7 +2552,7 @@
 
 <code block>
 function String.digest_message(algorithm,s)
-	return <a href="http://localhost:8080/manual.html#Binary.to_hex">Binary.to_hex</a>( <a href="http://localhost:8080/manual.html#Binary.digest_message">Binary.digest_message</a>( algorithm, <a href="http://localhost:8080/manual.html#String.to_binary">String.to_binary(s)</a> ) )
+	return <a href="/manual.html#Binary.to_hex">Binary.to_hex</a>( <a href="/manual.html#Binary.digest_message">Binary.digest_message</a>( algorithm, <a href="/manual.html#String.to_binary">String.to_binary(s)</a> ) )
 end
 </code>
 <%
@@ -3712,7 +3712,7 @@
 			<p small>
 				Original copyright &copy; 2015 Lua.org, PUC-Rio.
 				Freely available under the terms of the
-				<a href="http://www.lua.org/license.html">Lua license</a>.
+				<a href="https://www.lua.org/license.html">Lua license</a>.
 				Modified for Luan.
 			</p>
 			<hr>
--- a/website/src/manual_old.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/manual_old.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -45,7 +45,7 @@
 <p small>
 Original copyright &copy; 2015 Lua.org, PUC-Rio.
 Freely available under the terms of the
-<a href="http://www.lua.org/license.html">Lua license</a>.
+<a href="https://www.lua.org/license.html">Lua license</a>.
 Modified for Luan.
 </p>
 
@@ -123,7 +123,7 @@
 
 <h2 heading><a name="intro" href="#intro">Introduction</a></h2>
 
-<p>Luan is a high level programming language based on <a href="http://www.lua.org">Lua</a>.  A great strength of Lua is its simplicity and Luan takes this even further, being even simpler than Lua.  The goal is to provide a simple programming language for the casual programmer with as few concepts as possible so that one can quickly learn the language and then easily understand any code written in Luan.</p>
+<p>Luan is a high level programming language based on <a href="https://www.lua.org/">Lua</a>.  A great strength of Lua is its simplicity and Luan takes this even further, being even simpler than Lua.  The goal is to provide a simple programming language for the casual programmer with as few concepts as possible so that one can quickly learn the language and then easily understand any code written in Luan.</p>
 
 <p>Luan is implemented in Java and is tightly coupled with Java.  So it makes a great scripting language for Java programmers.</p>
 
@@ -256,7 +256,7 @@
 <h3 heading><a name="env" href="#env">Environments</a></h3>
 
 <p>
-The environment of a chunk starts with only one local variable: <code><a href="#require">require</a></code>.  This function is used to load and access libraries and other modules.  All other variables must be added to the environment using <a href="http://localhost:8080/manual.html#local_stmt">local declarations</a>.
+The environment of a chunk starts with only one local variable: <code><a href="#require">require</a></code>.  This function is used to load and access libraries and other modules.  All other variables must be added to the environment using <a href="/manual.html#local_stmt">local declarations</a>.
 
 <p>
 As will be discussed in <a href="#vars">Variables</a> and <a href=#assignment">Assignment</a>,
--- a/website/src/pil.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/pil.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -21,7 +21,7 @@
 		<div content>
 			<h1>Programming in Lua</h1>
 
-			<p>Even though <a href="http://www.lua.org/pil/">Programming in Lua</a> is about Lua, not Luan, it still serves as an excellent introduction to Luan since the languages are so close.</p>
+			<p>Even though <a href="https://www.lua.org/pil/">Programming in Lua</a> is about Lua, not Luan, it still serves as an excellent introduction to Luan since the languages are so close.</p>
 		</div>
 	</body>
 </html>
--- a/website/src/support.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/support.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -23,7 +23,7 @@
 
 			<ul links>
 				<li><a href="https://discord.gg/R6A3kaAJwj">Discord</a></li>
-				<li><a href="http://forum.luan.software/">Forum</a></li>
+				<li><a href="https://forum.luan.software/">Forum</a></li>
 			</ul>
 		</div>
 	</body>
--- a/website/src/tutorial.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/tutorial.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -33,7 +33,7 @@
 
 <p>To run this, type <b>luan hello.luan</b> on the command line.  This should print <b>Hello World</b>.</p>
 
-<p>The syntax here is based on <a href="http://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a>.  Let's change it a little:</p>
+<p>The syntax here is based on <a href="https://en.wikipedia.org/wiki/Jakarta_Server_Pages">JSP</a>.  Let's change it a little:</p>
 
 <code block>
 local name = "Bob"
@@ -53,7 +53,7 @@
 
 <p>In Luan, a function call with one string argument doesn't require parenthesis, so <b>print("Hello World")</b> is the same as <b>print "Hello World"</b> and <b>require "luan:Io.luan"</b> is the same as <b>require("luan:Io.luan")</b>.  Both <b>require</b> and <b>print</b> are functions.</p>
 
-<p>The <b>require</b> function takes a <a href="http://en.wikipedia.org/wiki/Uniform_resource_identifier">URI</a> as an argument.  Examples of URIs are "<b>luan:Io.luan</b>" and "<b>file:hello.luan</b>".  <b>require</b> is used to import a module, which is returned from the <b>require</b> function call.  In the case above, we assign the module to the local variable <b>Io</b>.  The function <b>print</b> is a member of this module.  We could have done <b>Io.print("Hello World")</b> but instead we chose to assign <b>print</b> to a local variable and use that to call the function.</p>
+<p>The <b>require</b> function takes a <a href="https://en.wikipedia.org/wiki/Uniform_Resource_Identifier">URI</a> as an argument.  Examples of URIs are "<b>luan:Io.luan</b>" and "<b>file:hello.luan</b>".  <b>require</b> is used to import a module, which is returned from the <b>require</b> function call.  In the case above, we assign the module to the local variable <b>Io</b>.  The function <b>print</b> is a member of this module.  We could have done <b>Io.print("Hello World")</b> but instead we chose to assign <b>print</b> to a local variable and use that to call the function.</p>
 
 <p>Luan starts with only one defined function: <b>require</b>.  You will use <b>require</b> to import whatever you need.  This is a little more work, but makes it clear in each file where each function comes from.</p>
 
--- a/website/src/why.html.luan	Sat Aug 24 21:36:47 2024 -0600
+++ b/website/src/why.html.luan	Sun Sep 15 10:36:46 2024 -0600
@@ -38,7 +38,7 @@
 
 		<p>Look at modern western culture, especially the culture of Silicon Valley.  Can any religious person deny that this culture is the product of Satan?  And so their software is inspired by Satan.  Is this the kind of software that a Muslim or any religious person should use?</p>
 
-		<p>As I use the Torah for inspiration, Muslims should use the Quran.  Consider how ideas are expressed in the Quran and try to apply the same style to your programming.  The Silicon Valley obsession with programming ideologies is really nothing more than idolatry.  Don't allow idolatry into your code.  Scripture is full of general wisdom.  I have <a href="http://mikraite.arkian.net/The-Old-Testament-on-Programming-tp1923.html">applied</a> the wisdom of the Old Testament to programming.  Muslims should try to do the same with the Quran.</p>
+		<p>As I use the Torah for inspiration, Muslims should use the Quran.  Consider how ideas are expressed in the Quran and try to apply the same style to your programming.  The Silicon Valley obsession with programming ideologies is really nothing more than idolatry.  Don't allow idolatry into your code.  Scripture is full of general wisdom.  I have <a href="https://mikraite.arkian.net/The-Old-Testament-on-Programming-tp1923.html">applied</a> the wisdom of the Old Testament to programming.  Muslims should try to do the same with the Quran.</p>
 
 		<p>The Muslim world will not improve until Muslims free themselves from dependencies on the degenerate West.  For programmers the place to start is with software tools.  Luan is one step in the right direction.</p>
 
@@ -52,7 +52,7 @@
 
 		<h2>For Japanese</h2>
 
-		<p>Japan is the only remaining culture that I know of that values quality.  The Japanese understand that quality is the result of keeping things clean and simple, and of continuous improvement.  I have applied these things to Luan.  I discussed how Japanese ideas apply to my programming <a href="http://mikraite.arkian.net/Core-Programming-Principles-tp1237.html">here</a>.  I think you can see all of these principles in my code.</p>
+		<p>Japan is the only remaining culture that I know of that values quality.  The Japanese understand that quality is the result of keeping things clean and simple, and of continuous improvement.  I have applied these things to Luan.  I discussed how Japanese ideas apply to my programming <a href="https://mikraite.arkian.net/Core-Programming-Principles-tp1237.html">here</a>.  I think you can see all of these principles in my code.</p>
 
 		<p>Western software does not follow these ideas.  Instead it just continuously gets more complicated and unreliable.  In contrast, Luan has been getting simpler and more reliable over the years as a result of continuous improvement.  You cannot expect to achieve Japanese standards of quality and reliability if you use modern western software.  So use Luan instead.</p>