summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2021-02-15 23:55:13 +0000
committerRob Austein <sra@hactrn.net>2021-02-15 23:55:13 +0000
commit86202308b68db7a6cf299c5fe3cdee4dc1850330 (patch)
tree267929b96cc0f386112b07ab49a4debc0af347dd
parenta255b67f6d487703db648c58ee1e50c0aa85c2a6 (diff)
Try mapping source: and browser: links
This turns out to be less useful than expected, because somehow for every single link in the wiki, the source repository is not quite in the obvios plae with cgit. Might be a cgit configuration issue, but this gets wonky enough that it's probably simpler just to expand the JSON file we already have for the filter rules so that it includes other magic stuff like a URL map for this kind of link.
-rw-r--r--pelican/content/AlphaSchematics.md2
-rw-r--r--pelican/content/BuildingFromSource.md2
-rw-r--r--pelican/content/CoretestHashesC5G.md12
-rw-r--r--pelican/content/CoretestHashesNovena.md12
-rw-r--r--pelican/content/Joachim%20Str%C3%B6mbergson.md4
-rw-r--r--pelican/content/ReleaseNotes.md2
-rwxr-xr-xtrac2md.py13
7 files changed, 27 insertions, 20 deletions
diff --git a/pelican/content/AlphaSchematics.md b/pelican/content/AlphaSchematics.md
index ae59fdc..09b176d 100644
--- a/pelican/content/AlphaSchematics.md
+++ b/pelican/content/AlphaSchematics.md
@@ -4,7 +4,7 @@ Date: 2016-12-15 22:39
The Alpha schematics are almost finished!
-PDF and Eagle files available for download here in the [hardware](source:/hardware/eagle/alpha/rev02) repository.
+PDF and Eagle files available for download here in the [hardware](https://git.cryptech.is/hardware/eagle/alpha/rev02) repository.
`https://wiki.cryptech.is/browser/hardware/eagle/alpha/rev02`
diff --git a/pelican/content/BuildingFromSource.md b/pelican/content/BuildingFromSource.md
index e17fc16..55a4460 100644
--- a/pelican/content/BuildingFromSource.md
+++ b/pelican/content/BuildingFromSource.md
@@ -39,7 +39,7 @@ goo necessary to make the whole thing work. Do `git help submodule`
for an introduction to git's submodule mechanism.
With this model, one just checks out a copy of
-[the superrepository](source:/releng/alpha),
+[the superrepository](https://git.cryptech.is/releng/alpha),
runs `make` in its top directory, and eventually
the complete package pops out the other side.
diff --git a/pelican/content/CoretestHashesC5G.md b/pelican/content/CoretestHashesC5G.md
index 57c0310..381fba8 100644
--- a/pelican/content/CoretestHashesC5G.md
+++ b/pelican/content/CoretestHashesC5G.md
@@ -40,24 +40,24 @@ SHA-1 and SHA-256 hash functions from a host computer via a serial
interface connected to a FPGA device. The subsystem consists of:
-- [sha1](browser:/core/sha1): A HW implementation of the SHA-1 hash function.
+- [sha1](https://git.cryptech.is/core/sha1): A HW implementation of the SHA-1 hash function.
-- [sha56](browser:/core/sha256): A HW implementation of the SHA-256 hash function.
+- [sha56](https://git.cryptech.is/core/sha256): A HW implementation of the SHA-256 hash function.
-- [coretest](browser:/core/coretest): A command parser that accepts read/write commands from a
+- [coretest](https://git.cryptech.is/core/coretest): A command parser that accepts read/write commands from a
host, executes the commands and sends the response.
-- [uart](browser:/core/usrt): A simple serial interface that connects coretest to the host.
+- [uart](https://git.cryptech.is/core/usrt): A simple serial interface that connects coretest to the host.
-- [coretest_hashes](browser:/core/coretest_hashes): A top level wrapper that connects all the cores as
+- [coretest_hashes](https://git.cryptech.is/core/coretest_hashes): A top level wrapper that connects all the cores as
well as connecting the rxd and txd ports on the uart to external pins as well as clk and reset. This core repo also contains the Python command line program hash_tester we will be using to talk to coretester and perform tests of the sha1 and sha256 cores.
@@ -417,7 +417,7 @@ hash_tester.py
This is a Python2.x program that uses Pyserial [5] to open up a serial
port and talk to coretest via the uart. The command and response format
used is a very simple byte oriented format. For more info, see the
-README.md in [the top of coretest](browser:/core/coretest).
+README.md in [the top of coretest](https://git.cryptech.is/core/coretest).
The program hash_tester.py needs to know which serial interface to
use. This is defined in the main() function (yes, VERY ugly). You will
diff --git a/pelican/content/CoretestHashesNovena.md b/pelican/content/CoretestHashesNovena.md
index 43e9838..f761f4c 100644
--- a/pelican/content/CoretestHashesNovena.md
+++ b/pelican/content/CoretestHashesNovena.md
@@ -41,31 +41,31 @@ of the SHA-1 and SHA-2 hash functions from the host computer via an
I2C serial bus. The subsystem consists of:
-- [sha1](browser:/core/sha1): A HW implementation of the SHA-1 hash function.
+- [sha1](https://git.cryptech.is/core/sha1): A HW implementation of the SHA-1 hash function.
-- [sha256](browser:/core/sha256): A HW implementation of the SHA-256 hash
+- [sha256](https://git.cryptech.is/core/sha256): A HW implementation of the SHA-256 hash
function.
-- [sha512](browser:/core/sha512): A HW implementation of the SHA-512 hash
+- [sha512](https://git.cryptech.is/core/sha512): A HW implementation of the SHA-512 hash
function.
-- [coretest](browser:/core/coretest): A command parser that accepts read/write
+- [coretest](https://git.cryptech.is/core/coretest): A command parser that accepts read/write
commands from a host, executes the commands and sends the response.
-- [i2c](browser:/core/i2c): A serial interface that connects coretest to the
+- [i2c](https://git.cryptech.is/core/i2c): A serial interface that connects coretest to the
host.
-- [novena](browser:/core/novena): A top-level wrapper that connects all
+- [novena](https://git.cryptech.is/core/novena): A top-level wrapper that connects all
the cores, and connects i2c to external pins as well as clk and
reset. This repo also contains userland software that talks to
diff --git a/pelican/content/Joachim%20Str%C3%B6mbergson.md b/pelican/content/Joachim%20Str%C3%B6mbergson.md
index eed092e..c5e5f14 100644
--- a/pelican/content/Joachim%20Str%C3%B6mbergson.md
+++ b/pelican/content/Joachim%20Str%C3%B6mbergson.md
@@ -21,8 +21,8 @@ Date: 2016-12-15 22:54
## Work Notes
### Presentations from meeting 2014-03-10 (updated and extended):
-* [Cryptech HW status 2014-03-10](browser:/doc/presentations/Cryptech_HW_status_2014-03-10.pdf)
-* [Cryptech TRNG Ideas 2014-03-17](browser:/doc/presentations/Cryptech_TRNG_Ideas_2014-03-17.pdf)
+* [Cryptech HW status 2014-03-10](https://git.cryptech.is/doc/presentations/Cryptech_HW_status_2014-03-10.pdf)
+* [Cryptech TRNG Ideas 2014-03-17](https://git.cryptech.is/doc/presentations/Cryptech_TRNG_Ideas_2014-03-17.pdf)
### Open EDA Tools
diff --git a/pelican/content/ReleaseNotes.md b/pelican/content/ReleaseNotes.md
index 8282557..a95050a 100644
--- a/pelican/content/ReleaseNotes.md
+++ b/pelican/content/ReleaseNotes.md
@@ -22,7 +22,7 @@ Modified: 2017-05-13 19:18
* Python client implementations of libhal RPC mechanism and PKCS #11 now installed as `cryptech.libhal` and `cryptech.py11`, respectively.
* Python PKCS #11 client hacked to play nicely with `pkcs11-spy` debugging tool.
* RTOS replaced by simple non-preemptive (voluntary yield) tasking system, eliminating a huge morass of potential race conditions, debugging nightmares, priority inversions, and similar horrors. Lack of preemption means that console acess may have to wait for something else to yield the ARM CPU, but it's more than worth it to get rid of all the stability problems the RTOS was causing.
-* [Sample code for using the HSM as an OpenSSL engine](source:/user/sra/openssl-engine) is available. This only works with RSA for the moment, due to apparent limitations of the engine implementation.
+* [Sample code for using the HSM as an OpenSSL engine](https://git.cryptech.is/user/sra/openssl-engine) is available. This only works with RSA for the moment, due to apparent limitations of the engine implementation.
Getting started with 3.0:
diff --git a/trac2md.py b/trac2md.py
index ab8a558..cf8ecdf 100755
--- a/trac2md.py
+++ b/trac2md.py
@@ -20,7 +20,7 @@ traclink_pattern = re.compile(r"(?<!\[)\[([^][]+)\]")
image_pattern = re.compile(r"\[\[Image\((.*)\)\]\]")
-wikilink_pattern = re.compile(r"\[\[(wiki:|attachment:)?([^]|[]+)(?:[|]([^][]+))?\]\]")
+wikilink_pattern = re.compile(r"\[\[(wiki:|attachment:|source:|browser:)?([^]|[]+)(?:[|]([^][]+))?\]\]")
strikethrough_pattern = re.compile(r"~~([^~]+)~~")
bangquote_pattern = re.compile(r"!((?:\w|[#])+)")
@@ -62,7 +62,12 @@ def convert_traclink_to_creolelink(line):
return line
-def convert_wikilinks(line, slug):
+# Probably most of the non-wiki scheme tests should become a table in an
+# extended JSON config file which maps
+#
+# { "source:fee/fie/foe/fum": "https://git.cryptech.is/blarg/blee/blue" }
+
+def convert_wikilinks(line, slug, giturl):
for m in wikilink_pattern.finditer(line):
scheme, link, text = [p.strip() if p else p for p in m.groups()]
if text is None:
@@ -75,6 +80,8 @@ def convert_wikilinks(line, slug):
mdlink = "<{}>".format(link)
elif scheme == "attachment:":
mdlink = "[{}]({{attach}}{}/{})".format(text, slug, link)
+ elif scheme in ("source:", "browser:"):
+ mdlink = "[{}]({}/{})".format(text, giturl.rstrip("/"), link.lstrip("/"))
elif scheme == "wiki:" or (scheme is None and camelcase_pattern.match(link)):
mdlink = "[{}]({{filename}}{}.md)".format(text, link)
else:
@@ -190,7 +197,7 @@ def WikiToMD(content, slug):
line = delete_pattern.sub("", line)
# Convert wiki links
- line = convert_wikilinks(line, slug)
+ line = convert_wikilinks(line, slug, "https://git.cryptech.is/")
# Convert striked through text
line = strikethrough_pattern.sub(r"<s>\1</s>", line)