ref: 9c91eb7d6fc918527c0518d6134c948414196833
parent: 10274876313f8dabe8a8db8a94073d15b68f1807
author: sirjofri <sirjofri@sirjofri.de>
date: Tue Dec 15 06:14:38 EST 2020
adds new blog post, fixes older posts
--- a/changeblog.ht
+++ b/changeblog.ht
@@ -5,6 +5,7 @@
<a href="changeblog.pdf">Download pdf</a><br>
<a href="/changeblog.xml">Feed</a><br>
<ul>
+<li><a href="/changeblog/1608028434/">Tue, 15 Dec 2020 11:33:54 +0100: 9front on Lenovo Thinkpad Twist</a></li>
<li><a href="/changeblog/1596011563/">Wed, 29 Jul 2020 10:32:43 +0200: Restrict RCPU User Access to Groups</a></li>
<li><a href="/changeblog/1594885496/">Thu, 16 Jul 2020 09:44:56 +0200: lib/profile quick hack</a></li>
<li><a href="/changeblog/1594881674/">Thu, 16 Jul 2020 08:41:14 +0200: Mail Server Configuration</a></li>
--- a/changeblog/1590105600.ht
+++ b/changeblog/1590105600.ht
@@ -17,7 +17,7 @@
<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="margin-top: 0; margin-bottom: 0.50in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">Today I want to share with you, that I use the plan9 distribution ’9front’ as my main computer.
+<span style="font-size: 10pt">Today I want to share with you, that I use the plan9 distribution “9front” as my main computer.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Of course there are things that are almost impossible to do there, for example: all gamedev related stuff. This is of course an issue, because I am a game developer. I still have my windows machine with relevant tools, so I can still fiddle around with those complex things.
--- a/changeblog/1590105600.ms
+++ b/changeblog/1590105600.ms
@@ -2,7 +2,7 @@
.TL
I use 9front
.LP
-Today I want to share with you, that I use the plan9 distribution '9front' as my main computer.
+Today I want to share with you, that I use the plan9 distribution “9front” as my main computer.
.LP
Of course there are things that are almost impossible to do there, for example: all gamedev related stuff. This is of course an issue, because I am a game developer. I still have my windows machine with relevant tools, so I can still fiddle around with those complex things.
.LP
--- a/changeblog/1593448779.ht
+++ b/changeblog/1593448779.ht
@@ -29,7 +29,10 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Before we can install our custom ISO we first must upload it somewhere.
This is done via FTP (you get the access data from the SCP), I used windows default file explorer
-(ftp://user@address, enter password). Copy the 9front ISO in /cdrom. This will take some time.
+(</span><span style="font-size: 10pt"><tt>ftp://user@address</tt></span><span style="font-size: 10pt">,
+enter password). Copy the 9front ISO in
+</span><span style="font-size: 10pt"><tt>/cdrom</tt></span><span style="font-size: 10pt">.
+This will take some time.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Meanwhile you can delete the virtual disk and create a new one. You need your SCP password for this.
@@ -42,7 +45,9 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">At this point you can proceed with the default 9front installation described in the fqa.
Don’t forget to install the MBR and activate the partition.
-Otherwise there are no additional special steps besides manually configuring the /lib/ndb/local after installation.
+Otherwise there are no additional special steps besides manually configuring the
+</span><span style="font-size: 10pt"><tt>/lib/ndb/local</tt></span><span style="font-size: 10pt">
+after installation.
In my case I made an auth server.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
--- a/changeblog/1593448779.ms
+++ b/changeblog/1593448779.ms
@@ -11,7 +11,10 @@
.LP
Before we can install our custom ISO we first must upload it somewhere.
This is done via FTP (you get the access data from the SCP), I used windows default file explorer
-(ftp://user@address, enter password). Copy the 9front ISO in /cdrom. This will take some time.
+.CW ftp://user@address , (
+enter password). Copy the 9front ISO in
+.CW /cdrom .
+This will take some time.
.LP
Meanwhile you can delete the virtual disk and create a new one. You need your SCP password for this.
This step is necessary to remove the GPT. Of course you could manually reformat the disk, but deleting the disk will save time.
@@ -21,7 +24,9 @@
.LP
At this point you can proceed with the default 9front installation described in the fqa.
Don't forget to install the MBR and activate the partition.
-Otherwise there are no additional special steps besides manually configuring the /lib/ndb/local after installation.
+Otherwise there are no additional special steps besides manually configuring the
+.CW /lib/ndb/local
+after installation.
In my case I made an auth server.
.LP
Currently it seems to work fine. I installed the machine today, so there might be some issues I didn't find yet.
--- a/changeblog/1593621046.ht
+++ b/changeblog/1593621046.ht
@@ -28,16 +28,20 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">You can install it like that:
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># bind your client $home to /n/rclient</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># bind your server $home to /n/rserver</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># follow the prompts</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># bind your client $home to /n/rclient
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># bind your server $home to /n/rserver
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># follow the prompts
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This will also install two helper scripts to
</span><span style="font-size: 10pt"><tt>$home/bin/rc/replica/</tt></span><span style="font-size: 10pt">.
Reproto copies one proto over the other. You can choose which one you want to keep.
@@ -45,11 +49,14 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"></span><span style="font-size: 10pt"><b>Update:</b></span><span style="font-size: 10pt">
+</span><span style="font-size: 10pt"><i>replica</i></span><span style="font-size: 10pt">(1)
has issues. Often it does a bad job tracking changes, leaving removed files there and vice versa. I never encountered data loss, only inconsistencies in the copies.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Many people use
+</span><span style="font-size: 10pt"><i>mkfs</i></span><span style="font-size: 10pt">(8),
which does not overwrite changed files. At some point I will build some scripts around it and use that instead of
+</span><span style="font-size: 10pt"><i>replica</i></span><span style="font-size: 10pt">(1).
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">(Files:
--- a/changeblog/1593621046.ms
+++ b/changeblog/1593621046.ms
@@ -12,14 +12,12 @@
.LP
You can install it like that:
.LP
-.CW
+.P1
# bind your client $home to /n/rclient
-.br
# bind your server $home to /n/rserver
-.br
hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc
-.br
# follow the prompts
+.P2
.LP
This will also install two helper scripts to
.CW $home/bin/rc/replica/ .
@@ -27,13 +25,13 @@
Reupdate is helpful if there are update-update errors. It should automatically solve them (untested, but should work).
.LP
.B Update:
-.IR replica (1)
+.I replica (1)
has issues. Often it does a bad job tracking changes, leaving removed files there and vice versa. I never encountered data loss, only inconsistencies in the copies.
.LP
Many people use
-.IR mkfs (8),
+.I mkfs (8),
which does not overwrite changed files. At some point I will build some scripts around it and use that instead of
-.IR replica (1).
+.I replica (1).
.LP
(Files:
.CW https://sirjofri.de/files/guidedreplica/README
--- a/changeblog/1594881674.ht
+++ b/changeblog/1594881674.ht
@@ -21,6 +21,7 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Right at the beginning the FQA mentions how the executing user needs write permissions for the mailboxes. This is
+</span><span style="font-size: 10pt"><i>very important</i></span><span style="font-size: 10pt">!
If upas can’t write the mailboxes the mail server will </span><span style="font-size: 10pt"><i>not</i></span><span style="font-size: 10pt"> accept incoming mail!
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
@@ -31,24 +32,29 @@
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">To make things short, here are the necessary lines in my setup. The server handles authenticated incoming mail for sending to other providers as well as incoming mail for local accounts.
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>defaultdomain sirjofri.de
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>norelay on
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>verifysenderdom on
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>saveblockedmsg off
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>ourdomains sirjofri.de
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>defaultdomain sirjofri.de</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>norelay on</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>verifysenderdom on</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>saveblockedmsg off</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>ourdomains sirjofri.de</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Note that the server is no relay for unauthenticated/untrusted requests, it will still relay if you authenticate.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">At this point it might be a good idea to check your user password.
-Use </span><span style="font-size: 10pt"><i>auth/changeuser</i></span><span style="font-size: 10pt"> to add </span><span style="font-size: 10pt"><i>Inferno/POP secrets</i></span><span style="font-size: 10pt"> to your user accounts. Use these passwords to authenticate to the smtp server.
+Use
+</span><span style="font-size: 10pt"><tt>auth/changeuser</tt></span><span style="font-size: 10pt">
+to add </span><span style="font-size: 10pt"><i>Inferno/POP secrets</i></span><span style="font-size: 10pt"> to your user accounts. Use these passwords to authenticate to the smtp server.
</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>/mail/lib/rewrite
@@ -58,45 +64,57 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">In my setup I added three aliases:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>pOsTmAsTeR alias postmaster
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>aBuSe alias abuse
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>wEbMaStEr alias webmaster
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>pOsTmAsTeR alias postmaster</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>aBuSe alias abuse</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>wEbMaStEr alias webmaster</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Use regular expressions to define your domain:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\l!(.*) alias \1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\l\.sirjofri.de!(.*) alias \1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>sirjofri.de!(.*) alias \1
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\l!(.*) alias \1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\l\.sirjofri.de!(.*) alias \1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>sirjofri.de!(.*) alias \1</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">For translating mails I added one more rule for mail address </span><span style="font-size: 10pt"><i>tags</i></span><span style="font-size: 10pt">. These tags are in the form of </span><span style="font-size: 10pt"><i>user+tag@example.com</i></span><span style="font-size: 10pt">. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
+<span style="font-size: 10pt">For translating mails I added one more rule for mail address </span><span style="font-size: 10pt"><i>tags</i></span><span style="font-size: 10pt">. These tags are in the form of </span><span style="font-size: 10pt"><i>user+tag@example.com</i></span><span style="font-size: 10pt">. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">We need rules for those plus signs:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\"(.+)\+(.*)\" translate "echo ‘{/bin/upas/aliasmail ’\1’}^’+\2’"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># The other translate rules are default
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\"(.+)\+(.*)\" translate "echo ‘{/bin/upas/aliasmail ’\1’}^’+\2’"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># The other translate rules are default</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">For delivering local mails, I added extra rules:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># leave the other rules untouched.
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># leave the other rules untouched.</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">With this settings, mails to user+</span><span style="font-size: 10pt"><i>tag</i></span><span style="font-size: 10pt"> will be checked. If a mailbox folder for </span><span style="font-size: 10pt"><i>tag</i></span><span style="font-size: 10pt"> exists, mail is sent to this folder. Otherwise it is sent to the user’s default inbox.
</span><span style="font-size: 10pt"><b>Note:</b></span><span style="font-size: 10pt">
@@ -107,46 +125,52 @@
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This file is pretty easy. Just add your alias mail addresses:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>postmaster sirjofri
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>webmaster sirjofri
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>abuse sirjofri
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>postmaster sirjofri</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>webmaster sirjofri</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>abuse sirjofri</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>/mail/lib/remotemail
-</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>sender=$1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>addr=$1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fd=‘{/bin/upas/aliasmail -f $sender}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>switch($fd){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case *.*
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> ;
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case *
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> fd=sirjofri.de
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec /bin/upas/smtp -h $fd $addr $sender $*
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>sender=$1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>addr=$1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fd=‘{/bin/upas/aliasmail -f $sender}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>switch($fd){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case *.*</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ;</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case *</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> fd=sirjofri.de</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec /bin/upas/smtp -h $fd $addr $sender $*</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>SMTP over TLS
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
@@ -155,14 +179,17 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">/rc/bin/service/tcp25
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>user=‘{cat /dev/user}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>user=‘{cat /dev/user}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Don’t forget to create your TLS certificate!
</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
--- a/changeblog/1594881674.ms
+++ b/changeblog/1594881674.ms
@@ -5,7 +5,7 @@
Recently I installed my mail server on 9front. Most of the time I followed the guide in the FQA, but still there are things to explain. In this document I'll go through the section of the FQA and annotate things.
.LP
Right at the beginning the FQA mentions how the executing user needs write permissions for the mailboxes. This is
-.IR "very important" !
+.I "very important" !
If upas can't write the mailboxes the mail server will \fInot\fR accept incoming mail!
.LP
In my setup I can skip all DNS stuff, because I have my DNS hosted somewhere else. Make sure to add proper MX records as well as (at least) an SPF record.
@@ -13,22 +13,20 @@
/mail/lib/smtpd.conf
.LP
To make things short, here are the necessary lines in my setup. The server handles authenticated incoming mail for sending to other providers as well as incoming mail for local accounts.
-.IP
-.CW
+.P1
defaultdomain sirjofri.de
-.br
norelay on
-.br
verifysenderdom on
-.br
saveblockedmsg off
-.br
ourdomains sirjofri.de
+.P2
.LP
Note that the server is no relay for unauthenticated/untrusted requests, it will still relay if you authenticate.
.LP
At this point it might be a good idea to check your user password.
-Use \fIauth/changeuser\fR to add \fIInferno/POP secrets\fR to your user accounts. Use these passwords to authenticate to the smtp server.
+Use
+.CW auth/changeuser
+to add \fIInferno/POP secrets\fR to your user accounts. Use these passwords to authenticate to the smtp server.
.SH
/mail/lib/rewrite
.LP
@@ -35,40 +33,33 @@
The program that handles sending mail uses this file to rewrite mail addresses. This file is responsible for filtering out local mail as well as sending other mails to the mailer.
.LP
In my setup I added three aliases:
-.IP
-.CW
+.P1
pOsTmAsTeR alias postmaster
-.br
aBuSe alias abuse
-.br
wEbMaStEr alias webmaster
+.P2
.LP
Use regular expressions to define your domain:
-.IP
-.CW
+.P1
\\l!(.*) alias \\1
-.br
\\l\\.sirjofri\.de!(.*) alias \\1
-.br
sirjofri.de!(.*) alias \\1
+.P2
.LP
For translating mails I added one more rule for mail address \fItags\fR. These tags are in the form of \fIuser+tag@example.com\fR. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
.LP
We need rules for those plus signs:
-.IP
-.CW
+.P1
\\"(.+)\\+(.*)\\" translate "echo `{/bin/upas/aliasmail '\\1'}^'+\\2'"
-.br
# The other translate rules are default
+.P2
.LP
For delivering local mails, I added extra rules:
-.IP
-.CW
+.P1
local!(.+)\\+(.+) | "/bin/test -d /mail/box/\\1/\\2 \\&\\& /bin/upas/mbappend /mail/box/\\1/\\2 || /bin/upas/mbappend /mail/box/\\1/mbox"
-.br
local!"(.+)\+(.+) | "/bin/test -d /mail/box/\\1/\\2 \\&\\& /bin/upas/mbappend /mail/box/\\1/\\2 || /bin/upas/mbappend /mail/box/\\1/mbox"
-.br
# leave the other rules untouched.
+.P2
.LP
With this settings, mails to user+\fItag\fR will be checked. If a mailbox folder for \fItag\fR exists, mail is sent to this folder. Otherwise it is sent to the user's default inbox.
.B Note:
@@ -77,44 +68,29 @@
/mail/lib/names.local
.LP
This file is pretty easy. Just add your alias mail addresses:
-.IP
-.CW
+.P1
postmaster sirjofri
-.br
webmaster sirjofri
-.br
abuse sirjofri
+.P2
.SH
/mail/lib/remotemail
-.IP
-.CW
+.P1
#!/bin/rc
-.br
shift
-.br
sender=$1
-.br
shift
-.br
addr=$1
-.br
shift
-.br
fd=`{/bin/upas/aliasmail -f $sender}
-.br
switch($fd){
-.br
case *.*
-.br
;
-.br
case *
-.br
fd=sirjofri.de
-.br
}
-.br
exec /bin/upas/smtp -h $fd $addr $sender $*
+.P2
.SH
SMTP over TLS
.LP
@@ -121,13 +97,11 @@
I don't use port 587. I use 25 for this. Mail servers relay mails to this port by default, so it makes sense.
.LP
/rc/bin/service/tcp25
-.IP
-.CW
+.P1
#!/bin/rc
-.br
user=`{cat /dev/user}
-.br
exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3
+.P2
.LP
Don't forget to create your TLS certificate!
.SH
--- a/changeblog/1594885496.ht
+++ b/changeblog/1594885496.ht
@@ -21,27 +21,34 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">There are reasons why you not run </span><span style="font-size: 10pt"><i>rio</i></span><span style="font-size: 10pt"> in your lib/profile. For me the main reason would be: You can no longer use
-commands</span><span style="font-size: 10pt"><tt>rcpu</tt></span><span style="font-size: 10pt">-c
+</span><span style="font-size: 10pt"><tt>rcpu -c commands</tt></span><span style="font-size: 10pt">
in your shell. Rio opens and there you are, stuck in front of a gray background.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">My solution:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case cpu
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> # … lots of stuff …
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rcpucmd=‘{cat /mnt/term/env/cmd >[2]/dev/null}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $#rcpucmd 0)
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rio
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> # … lots of stuff …
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case cpu</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> # … lots of stuff …</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rcpucmd=‘{cat /mnt/term/env/cmd >[2]/dev/null}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $#rcpucmd 0)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rio</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> # … lots of stuff …</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">Now I can </span><span style="font-size: 10pt"><i>rcpu</i></span><span style="font-size: 10pt"> and have my rio, or </span><span style="font-size: 10pt"><i>rcpu -c command</i></span><span style="font-size: 10pt"> and run the command without leaving my shell.
+<span style="font-size: 10pt">Now I can
+</span><span style="font-size: 10pt"><tt>rcpu</tt></span><span style="font-size: 10pt">
+and have my rio, or
+</span><span style="font-size: 10pt"><tt>rcpu -c command</tt></span><span style="font-size: 10pt">
+and run the command without leaving my shell.
</span></p><p style="margin-top: 0; margin-bottom: 0.50in"></p>
</article>
--- a/changeblog/1594885496.ms
+++ b/changeblog/1594885496.ms
@@ -5,22 +5,21 @@
Some smaller change that can change your life.
.LP
There are reasons why you not run \fIrio\fR in your lib/profile. For me the main reason would be: You can no longer use
-.CW rcpu -c commands
+.CW "rcpu -c commands"
in your shell. Rio opens and there you are, stuck in front of a gray background.
.LP
My solution:
-.IP
-.CW
+.P1
case cpu
-.br
# … lots of stuff …
-.br
rcpucmd=`{cat /mnt/term/env/cmd >[2]/dev/null}
-.br
if(~ $#rcpucmd 0)
-.br
rio
-.br
# … lots of stuff …
+.P2
.LP
-Now I can \fIrcpu\fR and have my rio, or \fIrcpu -c command\fR and run the command without leaving my shell.
+Now I can
+.CW rcpu
+and have my rio, or
+.CW "rcpu -c command"
+and run the command without leaving my shell.
--- a/changeblog/1596011563.ht
+++ b/changeblog/1596011563.ht
@@ -28,60 +28,63 @@
</span><span style="font-size: 10pt"><tt>sys</tt></span><span style="font-size: 10pt">
group members: adjust your
</span><span style="font-size: 10pt"><tt>/rc/bin/service/tcp17019</tt></span><span style="font-size: 10pt">
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>userfile=/adm/users
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fn useringroup{
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> grep $1 $userfile | {
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> found=0
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> while(~ $found 0 && line=‘:{read}){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $line(2) $2){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> found=1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $found 1)
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> status=’’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if not
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> status=’not found’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>if(~ $#* 3){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> netdir=$3
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> remote=$2!‘{cat $3/remote}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fn server {
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> ~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rm -f /env/’fn#server’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> . <{n=‘{read} && ! ~ $#n 0 && read -c $n} >[2=1]
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec tlssrv -a /bin/rc -c ’useringroup $user sys && server’
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>userfile=/adm/users</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fn useringroup{</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> grep $1 $userfile | {</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> found=0</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> while(~ $found 0 && line=‘:{read}){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $line(2) $2){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> found=1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $found 1)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> status=’’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if not</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> status=’not found’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(~ $#* 3){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> netdir=$3</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> remote=$2!‘{cat $3/remote}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fn server {</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rm -f /env/’fn#server’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> . <{n=‘{read} && ! ~ $#n 0 && read -c $n} >[2=1]</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec tlssrv -a /bin/rc -c ’useringroup $user sys && server’</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This checks if the user is in group
</span><span style="font-size: 10pt"><tt>sys</tt></span><span style="font-size: 10pt">
--- a/changeblog/1596011563.ms
+++ b/changeblog/1596011563.ms
@@ -12,59 +12,34 @@
.CW sys
group members: adjust your
.CW /rc/bin/service/tcp17019
-.IP
-.CW
+.P1
#!/bin/rc
-.br
userfile=/adm/users
-.br
fn useringroup{
-.br
grep $1 $userfile | {
-.br
found=0
-.br
while(~ $found 0 && line=`:{read}){
-.br
if(~ $line(2) $2){
-.br
found=1
-.br
}
-.br
}
-.br
if(~ $found 1)
-.br
status=''
-.br
if not
-.br
status='not found'
-.br
}
-.br
}
-.br
if(~ $#* 3){
-.br
netdir=$3
-.br
remote=$2!`{cat $3/remote}
-.br
}
-.br
fn server {
-.br
~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args
-.br
rm -f /env/'fn#server'
-.br
. <{n=`{read} && ! ~ $#n 0 && read -c $n} >[2=1]
-.br
}
-.br
exec tlssrv -a /bin/rc -c 'useringroup $user sys && server'
+.P2
.LP
This checks if the user is in group
.CW sys
--- /dev/null
+++ b/changeblog/1608028434.ht
@@ -1,0 +1,146 @@
+<article>
+<header>
+<h2>9front on Lenovo Thinkpad Twist</h2>
+<b>Tue, 15 Dec 2020 11:33:54 +0100</b>
+</header>
+<p style="margin-top: 0; margin-bottom: 0.50in"></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="line-height: 1.4em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: center;">
+<span style="font-size: 12pt"><b>9front on Lenovo Thinkpad Twist</b></span></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.42in"></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="margin-top: 0; margin-bottom: 0.50in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">A few weeks ago I removed archlinux from my remaining machine.
+I noticed how the new lenovo keyboards aren’t good and the trackpoint is crap.
+That’s why I still prefer the Thinkpad T61, even without battery.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">Anyways, I’ll try to describe the process of the installation.
+The installation itself went according to the FQA, I’ll just add some notes.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Process
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">First I had to disable UEFI completely and switch to legacy BIOS.
+I know 9front can handle UEFI somehow, but I never got it working on any machine.
+To make 9front work with legacy BIOS I had to change the SSD layout from GPT to MBR.
+This was possible, just remove all partitions and use the command line to create DOS partitions.
+Then the SSD was detected as MBR/non-GPT and I could proceed with default installation.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">After installation I needed to get WIFI working.
+Thanks to 9front developers I was able to use BSD drivers as documented in the FQA.
+In my case I just grabbed the
+</span><span style="font-size: 10pt"><tt>iwn-2030</tt></span><span style="font-size: 10pt">
+drivers, placed them in
+</span><span style="font-size: 10pt"><tt>/lib/firmware</tt></span><span style="font-size: 10pt">
+and built the kernel from scratch.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">Enabling ACPI in the
+</span><span style="font-size: 10pt"><tt>plan9.ini</tt></span><span style="font-size: 10pt">
+and starting
+</span><span style="font-size: 10pt"><tt>aux/acpi</tt></span><span style="font-size: 10pt">
+went without errors, only
+</span><span style="font-size: 10pt"><tt>bad opcode</tt></span><span style="font-size: 10pt">
+warnings showed up.
+Still, everything works as expected, so I didn’t investigate further.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Issues and Troubleshooting
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">I had exactly
+</span><span style="font-size: 10pt"><b>two</b></span><span style="font-size: 10pt">
+issues.
+The first is the
+</span><span style="font-size: 10pt"><tt>bad opcode</tt></span><span style="font-size: 10pt">
+as described earlier.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">The second is a big surprise.
+Backlight controls work out of the box!
+I know older machines handle this directly without using the operating system, but this was a modern machine.
+Still it worked with only one tradeoff:
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">It always prints
+</span><span style="font-size: 10pt"><i>lapicerrors</i></span><span style="font-size: 10pt">
+on the console.
+I didn’t find a good way to disable them, so I just added a hidden window in my riostart that just
+</span><span style="font-size: 10pt"><tt>cat</tt></span><span style="font-size: 10pt">/dev/kprint
+so the errors don’t fill the screen.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Bonus: conntosrv
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">As a bonus I have a small script that saves me lots of installation time.
+I have a server with my $home directory, including some configuration in my
+</span><span style="font-size: 10pt"><tt>lib/profile</tt></span><span style="font-size: 10pt">.
+On my terminals (laptops) I just work in my $home like it was right there on my machine.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">To make this happen I placed the little script in my terminal’s
+</span><span style="font-size: 10pt"><tt>/cfg/$sysname/conntosrv</tt></span><span style="font-size: 10pt">
+and called in the
+</span><span style="font-size: 10pt"><tt>/cfg/$sysname/termrc</tt></span><span style="font-size: 10pt">.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">The script contains:
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>echo -n ’connect to server: ’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>server=‘{read}</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(~ $#server 0){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> echo not connecting to services >[1=2]</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> exit</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(! test -e /net/dns)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ndb/dns -r</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>auth/factotum</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>for(i in $server){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rimport -Cc $i /n/$i</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>bind -c ’/n/’^$server(1)^’/usr/’^$user /usr/$user</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">As you can see, the scrips connects to all servers you input at the prompt.
+It takes the first to be your $home, all others are imported to
+</span><span style="font-size: 10pt"><tt>/n</tt></span><span style="font-size: 10pt">.
+</span></p><p style="margin-top: 0; margin-bottom: 0.50in"></p>
+
+</article>
--- /dev/null
+++ b/changeblog/1608028434.ms
@@ -1,0 +1,94 @@
+.HTML 9front on Lenovo Thinkpad Twist
+.TL
+9front on Lenovo Thinkpad Twist
+.LP
+A few weeks ago I removed archlinux from my remaining machine.
+I noticed how the new lenovo keyboards aren't good and the trackpoint is crap.
+That's why I still prefer the Thinkpad T61, even without battery.
+.PP
+Anyways, I'll try to describe the process of the installation.
+The installation itself went according to the FQA, I'll just add some notes.
+.SH
+Process
+.PP
+First I had to disable UEFI completely and switch to legacy BIOS.
+I know 9front can handle UEFI somehow, but I never got it working on any machine.
+To make 9front work with legacy BIOS I had to change the SSD layout from GPT to MBR.
+This was possible, just remove all partitions and use the command line to create DOS partitions.
+Then the SSD was detected as MBR/non-GPT and I could proceed with default installation.
+.PP
+After installation I needed to get WIFI working.
+Thanks to 9front developers I was able to use BSD drivers as documented in the FQA.
+In my case I just grabbed the
+.CW iwn-2030
+drivers, placed them in
+.CW /lib/firmware
+and built the kernel from scratch.
+.PP
+Enabling ACPI in the
+.CW plan9.ini
+and starting
+.CW aux/acpi
+went without errors, only
+.CW "bad opcode"
+warnings showed up.
+Still, everything works as expected, so I didn't investigate further.
+.SH
+Issues and Troubleshooting
+.LP
+I had exactly
+.B two
+issues.
+The first is the
+.CW "bad opcode"
+as described earlier.
+.PP
+The second is a big surprise.
+Backlight controls work out of the box!
+I know older machines handle this directly without using the operating system, but this was a modern machine.
+Still it worked with only one tradeoff:
+.PP
+It always prints
+.I lapicerrors
+on the console.
+I didn't find a good way to disable them, so I just added a hidden window in my riostart that just
+.CW cat /dev/kprint
+so the errors don't fill the screen.
+.SH
+Bonus: conntosrv
+.LP
+As a bonus I have a small script that saves me lots of installation time.
+I have a server with my $home directory, including some configuration in my
+.CW lib/profile .
+On my terminals (laptops) I just work in my $home like it was right there on my machine.
+.PP
+To make this happen I placed the little script in my terminal's
+.CW /cfg/$sysname/conntosrv
+and called in the
+.CW /cfg/$sysname/termrc .
+.PP
+The script contains:
+.P1
+#!/bin/rc
+
+echo -n 'connect to server: '
+server=`{read}
+
+if(~ $#server 0){
+ echo not connecting to services >[1=2]
+ exit
+}
+
+if(! test -e /net/dns)
+ ndb/dns -r
+
+auth/factotum
+for(i in $server){
+ rimport -Cc $i /n/$i
+}
+bind -c '/n/'^$server(1)^'/usr/'^$user /usr/$user
+.P2
+.PP
+As you can see, the scrips connects to all servers you input at the prompt.
+It takes the first to be your $home, all others are imported to
+.CW /n .
--- a/mkfile
+++ b/mkfile
@@ -24,6 +24,8 @@
echo `"{date -m `{basename $i | sed 's:\.ms$::g' | tr -d $nl}}^:
echo .R
cat $i
+ echo
+ echo .bp
}
} | troff -ms | lp -dstdout | ps2pdf > $target
echo '√ '^$target^' created'
--- a/pub/changeblog.plain.xml
+++ b/pub/changeblog.plain.xml
@@ -8,8 +8,103 @@
<rights>© Copyright 2020 sirjofri</rights>
<id>https://sirjofri.de/</id>
<title>changeblog</title>
-<updated>2020-12-15T11:24:57+01:00</updated>
+<updated>2020-12-15T12:12:41+01:00</updated>
<entry>
+ <title>9front on Lenovo Thinkpad Twist</title>
+ <id>https://sirjofri.de/changeblog/1608028434/</id>
+ <link href="https://sirjofri.de/changeblog/1608028434/"/>
+ <updated>2020-12-15T11:33:54+01:00</updated>
+ <content type="text">
+
+
+
+ 9front on Lenovo Thinkpad Twist
+
+
+
+A few weeks ago I removed archlinux from my remaining machine. I noticed how the new lenovo key-
+boards aren't good and the trackpoint is crap. That's why I still prefer the Thinkpad T61, even without bat-
+tery.
+
+ Anyways, I'll try to describe the process of the installation. The installation itself went according to
+the FQA, I'll just add some notes.
+
+Process
+
+ First I had to disable UEFI completely and switch to legacy BIOS. I know 9front can handle UEFI
+somehow, but I never got it working on any machine. To make 9front work with legacy BIOS I had to
+change the SSD layout from GPT to MBR. This was possible, just remove all partitions and use the com-
+mand line to create DOS partitions. Then the SSD was detected as MBR/non-GPT and I could proceed
+with default installation.
+
+ After installation I needed to get WIFI working. Thanks to 9front developers I was able to use BSD
+drivers as documented in the FQA. In my case I just grabbed the iwn-2030 drivers, placed them in
+/lib/firmware and built the kernel from scratch.
+
+ Enabling ACPI in the plan9.ini and starting aux/acpi went without errors, only bad
+opcode warnings showed up. Still, everything works as expected, so I didn't investigate further.
+
+Issues and Troubleshooting
+
+I had exactly two issues. The first is the bad opcode as described earlier.
+
+ The second is a big surprise. Backlight controls work out of the box! I know older machines handle
+this directly without using the operating system, but this was a modern machine. Still it worked with only
+one tradeoff:
+
+ It always prints lapicerrors on the console. I didn't find a good way to disable them, so I just added
+a hidden window in my riostart that just cat/dev/kprint so the errors don't fill the screen.
+
+Bonus: conntosrv
+
+As a bonus I have a small script that saves me lots of installation time. I have a server with my $home
+directory, including some configuration in my lib/profile. On my terminals (laptops) I just work in
+my $home like it was right there on my machine.
+
+ To make this happen I placed the little script in my terminal's /cfg/$sysname/conntosrv and
+called in the /cfg/$sysname/termrc.
+
+ The script contains:
+
+
+
+
+
+
+ - 2 -
+
+
+ #!/bin/rc
+
+ echo -n 'connect to server: '
+ server=`{read}
+
+ if(~ $#server 0){
+ echo not connecting to services >[1=2]
+ exit
+ }
+
+ if(! test -e /net/dns)
+ ndb/dns -r
+
+ auth/factotum
+ for(i in $server){
+ rimport -Cc $i /n/$i
+ }
+ bind -c '/n/'^$server(1)^'/usr/'^$user /usr/$user
+
+
+ As you can see, the scrips connects to all servers you input at the prompt. It takes the first to be your
+$home, all others are imported to /n.
+
+
+
+
+
+</content>
+</entry>
+
+<entry>
<title>Restrict RCPU User Access to Groups</title>
<id>https://sirjofri.de/changeblog/1596011563/</id>
<link href="https://sirjofri.de/changeblog/1596011563/"/>
@@ -31,17 +126,17 @@
userfile=/adm/users
fn useringroup{
grep $1 $userfile | {
- found=0
- while(~ $found 0 && line=`:{read}){
- if(~ $line(2) $2){
- found=1
+ found=0
+ while(~ $found 0 && line=`:{read}){
+ if(~ $line(2) $2){
+ found=1
+ }
+ }
+ if(~ $found 1)
+ status=''
+ if not
+ status='not found'
}
- }
- if(~ $found 1)
- status=''
- if not
- status='not found'
- }
}
if(~ $#* 3){
netdir=$3
@@ -54,6 +149,7 @@
}
exec tlssrv -a /bin/rc -c 'useringroup $user sys && server'
+
This checks if the user is in group sys and only then calls the server function. Otherwise the connection
is terminated.
@@ -83,24 +179,26 @@
Some smaller change that can change your life.
There are reasons why you not run rio in your lib/profile. For me the main reason would be: You can no
-longer use commandsrcpu-c in your shell. Rio opens and there you are, stuck in front of a gray back-
+longer use rcpu -c commands in your shell. Rio opens and there you are, stuck in front of a gray back-
ground.
My solution:
case cpu
- # … lots of stuff …
- rcpucmd=`{cat /mnt/term/env/cmd >[2]/dev/null}
- if(~ $#rcpucmd 0)
- rio
- # … lots of stuff …
+ # … lots of stuff …
+ rcpucmd=`{cat /mnt/term/env/cmd >[2]/dev/null}
+ if(~ $#rcpucmd 0)
+ rio
+ # … lots of stuff …
-Now I can rcpu and have my rio, or rcpu -c command and run the command without leaving my shell.
+Now I can rcpu and have my rio, or rcpu -c command and run the command without leaving my
+shell.
+
</content>
</entry>
@@ -121,7 +219,8 @@
there are things to explain. In this document I'll go through the section of the FQA and annotate things.
Right at the beginning the FQA mentions how the executing user needs write permissions for the mail-
-boxes. This is If upas can't write the mailboxes the mail server will not accept incoming mail!
+boxes. This is very important! If upas can't write the mailboxes the mail server will not accept incoming
+mail!
In my setup I can skip all DNS stuff, because I have my DNS hosted somewhere else. Make sure to add
proper MX records as well as (at least) an SPF record.
@@ -137,6 +236,7 @@
saveblockedmsg off
ourdomains sirjofri.de
+
Note that the server is no relay for unauthenticated/untrusted requests, it will still relay if you authenticate.
At this point it might be a good idea to check your user password. Use auth/changeuser to add
@@ -153,12 +253,14 @@
aBuSe alias abuse
wEbMaStEr alias webmaster
+
Use regular expressions to define your domain:
- \l!(.*) alias \1
- \l\.sirjofri.de!(.*) alias \1
- sirjofri.de!(.*) alias \1
+
+ de!(.*) alias 1
+ sirjofri.de!(.*) alias 1
+
For translating mails I added one more rule for mail address tags. These tags are in the form of
user+tag@example.com. Official specifications say that everything behind that “+” must be ignored, but it
can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
@@ -165,26 +267,25 @@
We need rules for those plus signs:
- \"(.+)\+(.*)\" translate "echo `{/bin/upas/aliasmail '\1'}^'+\2'"
+
# The other translate rules are default
+
For delivering local mails, I added extra rules:
- local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\&
- /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend
- /mail/box/\1/mbox"
- local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\&
+
- 2 -
- /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend
- /mail/box/\1/mbox"
+ local!(.+)+(.+) | "/bin/test -d /mail/box/1/2 /bin/upas/mbappend /mail/box/1/2 || /bin/upas/mbappend /mail/box/1/mbox"
+ local!"(.+)+(.+) | "/bin/test -d /mail/box/1/2 /bin/upas/mbappend /mail/box/1/2 || /bin/upas/mbappend /mail/box/1/mbox"
# leave the other rules untouched.
+
With this settings, mails to user+tag will be checked. If a mailbox folder for tag exists, mail is sent to this
folder. Otherwise it is sent to the user's default inbox. Note: I tested, but this does not work with aliased
mail. If my aliasmail changes userA to userB, mails to userA+tag will be rejected! If you know how I can
@@ -198,6 +299,7 @@
webmaster sirjofri
abuse sirjofri
+
/mail/lib/remotemail
#!/bin/rc
@@ -209,12 +311,13 @@
fd=`{/bin/upas/aliasmail -f $sender}
switch($fd){
case *.*
- ;
+ ;
case *
- fd=sirjofri.de
+ fd=sirjofri.de
}
exec /bin/upas/smtp -h $fd $addr $sender $*
+
SMTP over TLS
I don't use port 587. I use 25 for this. Mail servers relay mails to this port by default, so it makes sense.
@@ -225,6 +328,7 @@
user=`{cat /dev/user}
exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3
+
Don't forget to create your TLS certificate!
IMAP4 over TLS
@@ -266,20 +370,22 @@
You can install it like that:
-# bind your client $home to /n/rclient
-# bind your server $home to /n/rserver
-hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc
-# follow the prompts
+ # bind your client $home to /n/rclient
+ # bind your server $home to /n/rserver
+ hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc
+ # follow the prompts
+
+
This will also install two helper scripts to $home/bin/rc/replica/. Reproto copies one proto over
the other. You can choose which one you want to keep. Reupdate is helpful if there are update-update
errors. It should automatically solve them (untested, but should work).
-Update: has issues. Often it does a bad job tracking changes, leaving removed files there and vice versa. I
-never encountered data loss, only inconsistencies in the copies.
+Update: replica(1) has issues. Often it does a bad job tracking changes, leaving removed files there and
+vice versa. I never encountered data loss, only inconsistencies in the copies.
-Many people use which does not overwrite changed files. At some point I will build some scripts around it
-and use that instead of
+Many people use mkfs(8), which does not overwrite changed files. At some point I will build some scripts
+around it and use that instead of replica(1).
(Files: https://sirjofri.de/files/guidedreplica/README
https://sirjofri.de/files/guidedreplica/guidedreplica.rc)
@@ -313,8 +419,8 @@
GPT, we can ignore that.
Before we can install our custom ISO we first must upload it somewhere. This is done via FTP (you get the
-access data from the SCP), I used windows default file explorer (ftp://user@address, enter password). Copy
-the 9front ISO in /cdrom. This will take some time.
+access data from the SCP), I used windows default file explorer (ftp://user@address, enter pass-
+word). Copy the 9front ISO in /cdrom. This will take some time.
Meanwhile you can delete the virtual disk and create a new one. You need your SCP password for this.
This step is necessary to remove the GPT. Of course you could manually reformat the disk, but deleting the
@@ -379,7 +485,7 @@
-Today I want to share with you, that I use the plan9 distribution '9front' as my main computer.
+Today I want to share with you, that I use the plan9 distribution “9front” as my main computer.
Of course there are things that are almost impossible to do there, for example: all gamedev related stuff.
This is of course an issue, because I am a game developer. I still have my windows machine with relevant
--- a/pub/changeblog.xml
+++ b/pub/changeblog.xml
@@ -8,8 +8,156 @@
<rights>© Copyright 2020 sirjofri</rights>
<id>https://sirjofri.de/</id>
<title>changeblog</title>
-<updated>2020-12-15T11:21:42+01:00</updated>
+<updated>2020-12-15T12:12:41+01:00</updated>
<entry>
+ <title>9front on Lenovo Thinkpad Twist</title>
+ <id>https://sirjofri.de/changeblog/1608028434/</id>
+ <link href="https://sirjofri.de/changeblog/1608028434/"/>
+ <updated>2020-12-15T11:33:54+01:00</updated>
+ <content type="html"><![CDATA[<p style="margin-top: 0; margin-bottom: 0.50in"></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="line-height: 1.4em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: center;">
+<span style="font-size: 12pt"><b>9front on Lenovo Thinkpad Twist</b></span></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.42in"></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="margin-top: 0; margin-bottom: 0.50in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">A few weeks ago I removed archlinux from my remaining machine.
+I noticed how the new lenovo keyboards aren’t good and the trackpoint is crap.
+That’s why I still prefer the Thinkpad T61, even without battery.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">Anyways, I’ll try to describe the process of the installation.
+The installation itself went according to the FQA, I’ll just add some notes.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Process
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">First I had to disable UEFI completely and switch to legacy BIOS.
+I know 9front can handle UEFI somehow, but I never got it working on any machine.
+To make 9front work with legacy BIOS I had to change the SSD layout from GPT to MBR.
+This was possible, just remove all partitions and use the command line to create DOS partitions.
+Then the SSD was detected as MBR/non-GPT and I could proceed with default installation.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">After installation I needed to get WIFI working.
+Thanks to 9front developers I was able to use BSD drivers as documented in the FQA.
+In my case I just grabbed the
+</span><span style="font-size: 10pt"><tt>iwn-2030</tt></span><span style="font-size: 10pt">
+drivers, placed them in
+</span><span style="font-size: 10pt"><tt>/lib/firmware</tt></span><span style="font-size: 10pt">
+and built the kernel from scratch.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">Enabling ACPI in the
+</span><span style="font-size: 10pt"><tt>plan9.ini</tt></span><span style="font-size: 10pt">
+and starting
+</span><span style="font-size: 10pt"><tt>aux/acpi</tt></span><span style="font-size: 10pt">
+went without errors, only
+</span><span style="font-size: 10pt"><tt>bad opcode</tt></span><span style="font-size: 10pt">
+warnings showed up.
+Still, everything works as expected, so I didn’t investigate further.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Issues and Troubleshooting
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">I had exactly
+</span><span style="font-size: 10pt"><b>two</b></span><span style="font-size: 10pt">
+issues.
+The first is the
+</span><span style="font-size: 10pt"><tt>bad opcode</tt></span><span style="font-size: 10pt">
+as described earlier.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">The second is a big surprise.
+Backlight controls work out of the box!
+I know older machines handle this directly without using the operating system, but this was a modern machine.
+Still it worked with only one tradeoff:
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">It always prints
+</span><span style="font-size: 10pt"><i>lapicerrors</i></span><span style="font-size: 10pt">
+on the console.
+I didn’t find a good way to disable them, so I just added a hidden window in my riostart that just
+</span><span style="font-size: 10pt"><tt>cat</tt></span><span style="font-size: 10pt">/dev/kprint
+so the errors don’t fill the screen.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Bonus: conntosrv
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">As a bonus I have a small script that saves me lots of installation time.
+I have a server with my $home directory, including some configuration in my
+</span><span style="font-size: 10pt"><tt>lib/profile</tt></span><span style="font-size: 10pt">.
+On my terminals (laptops) I just work in my $home like it was right there on my machine.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">To make this happen I placed the little script in my terminal’s
+</span><span style="font-size: 10pt"><tt>/cfg/$sysname/conntosrv</tt></span><span style="font-size: 10pt">
+and called in the
+</span><span style="font-size: 10pt"><tt>/cfg/$sysname/termrc</tt></span><span style="font-size: 10pt">.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">The script contains:
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>echo -n ’connect to server: ’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>server=‘{read}</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(~ $#server 0){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> echo not connecting to services >[1=2]</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> exit</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(! test -e /net/dns)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ndb/dns -r</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>auth/factotum</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>for(i in $server){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rimport -Cc $i /n/$i</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>bind -c ’/n/’^$server(1)^’/usr/’^$user /usr/$user</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">As you can see, the scrips connects to all servers you input at the prompt.
+It takes the first to be your $home, all others are imported to
+</span><span style="font-size: 10pt"><tt>/n</tt></span><span style="font-size: 10pt">.
+</span></p><p style="margin-top: 0; margin-bottom: 0.50in"></p>
+
+]]></content>
+</entry>
+
+<entry>
<title>Restrict RCPU User Access to Groups</title>
<id>https://sirjofri.de/changeblog/1596011563/</id>
<link href="https://sirjofri.de/changeblog/1596011563/"/>
@@ -39,60 +187,63 @@
</span><span style="font-size: 10pt"><tt>sys</tt></span><span style="font-size: 10pt">
group members: adjust your
</span><span style="font-size: 10pt"><tt>/rc/bin/service/tcp17019</tt></span><span style="font-size: 10pt">
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>userfile=/adm/users
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fn useringroup{
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> grep $1 $userfile | {
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> found=0
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> while(~ $found 0 && line=‘:{read}){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $line(2) $2){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> found=1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $found 1)
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> status=’’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if not
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> status=’not found’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>if(~ $#* 3){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> netdir=$3
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> remote=$2!‘{cat $3/remote}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fn server {
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> ~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rm -f /env/’fn#server’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> . <{n=‘{read} && ! ~ $#n 0 && read -c $n} >[2=1]
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec tlssrv -a /bin/rc -c ’useringroup $user sys && server’
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>userfile=/adm/users</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fn useringroup{</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> grep $1 $userfile | {</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> found=0</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> while(~ $found 0 && line=‘:{read}){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $line(2) $2){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> found=1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $found 1)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> status=’’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if not</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> status=’not found’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(~ $#* 3){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> netdir=$3</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> remote=$2!‘{cat $3/remote}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fn server {</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rm -f /env/’fn#server’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> . <{n=‘{read} && ! ~ $#n 0 && read -c $n} >[2=1]</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec tlssrv -a /bin/rc -c ’useringroup $user sys && server’</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This checks if the user is in group
</span><span style="font-size: 10pt"><tt>sys</tt></span><span style="font-size: 10pt">
@@ -133,27 +284,34 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">There are reasons why you not run </span><span style="font-size: 10pt"><i>rio</i></span><span style="font-size: 10pt"> in your lib/profile. For me the main reason would be: You can no longer use
-commands</span><span style="font-size: 10pt"><tt>rcpu</tt></span><span style="font-size: 10pt">-c
+</span><span style="font-size: 10pt"><tt>rcpu -c commands</tt></span><span style="font-size: 10pt">
in your shell. Rio opens and there you are, stuck in front of a gray background.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">My solution:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case cpu
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> # … lots of stuff …
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rcpucmd=‘{cat /mnt/term/env/cmd >[2]/dev/null}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $#rcpucmd 0)
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rio
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> # … lots of stuff …
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case cpu</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> # … lots of stuff …</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rcpucmd=‘{cat /mnt/term/env/cmd >[2]/dev/null}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $#rcpucmd 0)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rio</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> # … lots of stuff …</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">Now I can </span><span style="font-size: 10pt"><i>rcpu</i></span><span style="font-size: 10pt"> and have my rio, or </span><span style="font-size: 10pt"><i>rcpu -c command</i></span><span style="font-size: 10pt"> and run the command without leaving my shell.
+<span style="font-size: 10pt">Now I can
+</span><span style="font-size: 10pt"><tt>rcpu</tt></span><span style="font-size: 10pt">
+and have my rio, or
+</span><span style="font-size: 10pt"><tt>rcpu -c command</tt></span><span style="font-size: 10pt">
+and run the command without leaving my shell.
</span></p><p style="margin-top: 0; margin-bottom: 0.50in"></p>
]]></content>
@@ -182,6 +340,7 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Right at the beginning the FQA mentions how the executing user needs write permissions for the mailboxes. This is
+</span><span style="font-size: 10pt"><i>very important</i></span><span style="font-size: 10pt">!
If upas can’t write the mailboxes the mail server will </span><span style="font-size: 10pt"><i>not</i></span><span style="font-size: 10pt"> accept incoming mail!
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
@@ -192,24 +351,29 @@
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">To make things short, here are the necessary lines in my setup. The server handles authenticated incoming mail for sending to other providers as well as incoming mail for local accounts.
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>defaultdomain sirjofri.de
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>norelay on
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>verifysenderdom on
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>saveblockedmsg off
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>ourdomains sirjofri.de
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>defaultdomain sirjofri.de</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>norelay on</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>verifysenderdom on</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>saveblockedmsg off</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>ourdomains sirjofri.de</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Note that the server is no relay for unauthenticated/untrusted requests, it will still relay if you authenticate.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">At this point it might be a good idea to check your user password.
-Use </span><span style="font-size: 10pt"><i>auth/changeuser</i></span><span style="font-size: 10pt"> to add </span><span style="font-size: 10pt"><i>Inferno/POP secrets</i></span><span style="font-size: 10pt"> to your user accounts. Use these passwords to authenticate to the smtp server.
+Use
+</span><span style="font-size: 10pt"><tt>auth/changeuser</tt></span><span style="font-size: 10pt">
+to add </span><span style="font-size: 10pt"><i>Inferno/POP secrets</i></span><span style="font-size: 10pt"> to your user accounts. Use these passwords to authenticate to the smtp server.
</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>/mail/lib/rewrite
@@ -219,45 +383,57 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">In my setup I added three aliases:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>pOsTmAsTeR alias postmaster
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>aBuSe alias abuse
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>wEbMaStEr alias webmaster
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>pOsTmAsTeR alias postmaster</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>aBuSe alias abuse</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>wEbMaStEr alias webmaster</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Use regular expressions to define your domain:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\l!(.*) alias \1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\l\.sirjofri.de!(.*) alias \1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>sirjofri.de!(.*) alias \1
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\l!(.*) alias \1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\l\.sirjofri.de!(.*) alias \1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>sirjofri.de!(.*) alias \1</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">For translating mails I added one more rule for mail address </span><span style="font-size: 10pt"><i>tags</i></span><span style="font-size: 10pt">. These tags are in the form of </span><span style="font-size: 10pt"><i>user+tag@example.com</i></span><span style="font-size: 10pt">. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
+<span style="font-size: 10pt">For translating mails I added one more rule for mail address </span><span style="font-size: 10pt"><i>tags</i></span><span style="font-size: 10pt">. These tags are in the form of </span><span style="font-size: 10pt"><i>user+tag@example.com</i></span><span style="font-size: 10pt">. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">We need rules for those plus signs:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\"(.+)\+(.*)\" translate "echo ‘{/bin/upas/aliasmail ’\1’}^’+\2’"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># The other translate rules are default
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\"(.+)\+(.*)\" translate "echo ‘{/bin/upas/aliasmail ’\1’}^’+\2’"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># The other translate rules are default</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">For delivering local mails, I added extra rules:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># leave the other rules untouched.
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># leave the other rules untouched.</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">With this settings, mails to user+</span><span style="font-size: 10pt"><i>tag</i></span><span style="font-size: 10pt"> will be checked. If a mailbox folder for </span><span style="font-size: 10pt"><i>tag</i></span><span style="font-size: 10pt"> exists, mail is sent to this folder. Otherwise it is sent to the user’s default inbox.
</span><span style="font-size: 10pt"><b>Note:</b></span><span style="font-size: 10pt">
@@ -268,46 +444,52 @@
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This file is pretty easy. Just add your alias mail addresses:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>postmaster sirjofri
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>webmaster sirjofri
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>abuse sirjofri
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>postmaster sirjofri</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>webmaster sirjofri</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>abuse sirjofri</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>/mail/lib/remotemail
-</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>sender=$1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>addr=$1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fd=‘{/bin/upas/aliasmail -f $sender}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>switch($fd){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case *.*
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> ;
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case *
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> fd=sirjofri.de
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec /bin/upas/smtp -h $fd $addr $sender $*
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>sender=$1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>addr=$1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fd=‘{/bin/upas/aliasmail -f $sender}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>switch($fd){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case *.*</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ;</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case *</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> fd=sirjofri.de</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec /bin/upas/smtp -h $fd $addr $sender $*</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>SMTP over TLS
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
@@ -316,14 +498,17 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">/rc/bin/service/tcp25
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>user=‘{cat /dev/user}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>user=‘{cat /dev/user}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Don’t forget to create your TLS certificate!
</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
@@ -379,16 +564,20 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">You can install it like that:
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># bind your client $home to /n/rclient</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># bind your server $home to /n/rserver</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># follow the prompts</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># bind your client $home to /n/rclient
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># bind your server $home to /n/rserver
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># follow the prompts
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This will also install two helper scripts to
</span><span style="font-size: 10pt"><tt>$home/bin/rc/replica/</tt></span><span style="font-size: 10pt">.
Reproto copies one proto over the other. You can choose which one you want to keep.
@@ -396,11 +585,14 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"></span><span style="font-size: 10pt"><b>Update:</b></span><span style="font-size: 10pt">
+</span><span style="font-size: 10pt"><i>replica</i></span><span style="font-size: 10pt">(1)
has issues. Often it does a bad job tracking changes, leaving removed files there and vice versa. I never encountered data loss, only inconsistencies in the copies.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Many people use
+</span><span style="font-size: 10pt"><i>mkfs</i></span><span style="font-size: 10pt">(8),
which does not overwrite changed files. At some point I will build some scripts around it and use that instead of
+</span><span style="font-size: 10pt"><i>replica</i></span><span style="font-size: 10pt">(1).
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">(Files:
@@ -442,7 +634,10 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Before we can install our custom ISO we first must upload it somewhere.
This is done via FTP (you get the access data from the SCP), I used windows default file explorer
-(ftp://user@address, enter password). Copy the 9front ISO in /cdrom. This will take some time.
+(</span><span style="font-size: 10pt"><tt>ftp://user@address</tt></span><span style="font-size: 10pt">,
+enter password). Copy the 9front ISO in
+</span><span style="font-size: 10pt"><tt>/cdrom</tt></span><span style="font-size: 10pt">.
+This will take some time.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Meanwhile you can delete the virtual disk and create a new one. You need your SCP password for this.
@@ -455,7 +650,9 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">At this point you can proceed with the default 9front installation described in the fqa.
Don’t forget to install the MBR and activate the partition.
-Otherwise there are no additional special steps besides manually configuring the /lib/ndb/local after installation.
+Otherwise there are no additional special steps besides manually configuring the
+</span><span style="font-size: 10pt"><tt>/lib/ndb/local</tt></span><span style="font-size: 10pt">
+after installation.
In my case I made an auth server.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
@@ -518,7 +715,7 @@
<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="margin-top: 0; margin-bottom: 0.50in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">Today I want to share with you, that I use the plan9 distribution ’9front’ as my main computer.
+<span style="font-size: 10pt">Today I want to share with you, that I use the plan9 distribution “9front” as my main computer.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Of course there are things that are almost impossible to do there, for example: all gamedev related stuff. This is of course an issue, because I am a game developer. I still have my windows machine with relevant tools, so I can still fiddle around with those complex things.
--- a/pub/changeblog/1590105600/index.html
+++ b/pub/changeblog/1590105600/index.html
@@ -43,7 +43,7 @@
<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="margin-top: 0; margin-bottom: 0.50in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">Today I want to share with you, that I use the plan9 distribution ’9front’ as my main computer.
+<span style="font-size: 10pt">Today I want to share with you, that I use the plan9 distribution “9front” as my main computer.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Of course there are things that are almost impossible to do there, for example: all gamedev related stuff. This is of course an issue, because I am a game developer. I still have my windows machine with relevant tools, so I can still fiddle around with those complex things.
--- a/pub/changeblog/1593448779/index.html
+++ b/pub/changeblog/1593448779/index.html
@@ -55,7 +55,10 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Before we can install our custom ISO we first must upload it somewhere.
This is done via FTP (you get the access data from the SCP), I used windows default file explorer
-(ftp://user@address, enter password). Copy the 9front ISO in /cdrom. This will take some time.
+(</span><span style="font-size: 10pt"><tt>ftp://user@address</tt></span><span style="font-size: 10pt">,
+enter password). Copy the 9front ISO in
+</span><span style="font-size: 10pt"><tt>/cdrom</tt></span><span style="font-size: 10pt">.
+This will take some time.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Meanwhile you can delete the virtual disk and create a new one. You need your SCP password for this.
@@ -68,7 +71,9 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">At this point you can proceed with the default 9front installation described in the fqa.
Don’t forget to install the MBR and activate the partition.
-Otherwise there are no additional special steps besides manually configuring the /lib/ndb/local after installation.
+Otherwise there are no additional special steps besides manually configuring the
+</span><span style="font-size: 10pt"><tt>/lib/ndb/local</tt></span><span style="font-size: 10pt">
+after installation.
In my case I made an auth server.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
--- a/pub/changeblog/1593621046/index.html
+++ b/pub/changeblog/1593621046/index.html
@@ -54,16 +54,20 @@
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">You can install it like that:
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># bind your client $home to /n/rclient</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># bind your server $home to /n/rserver</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># follow the prompts</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># bind your client $home to /n/rclient
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># bind your server $home to /n/rserver
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>hget https://sirjofri.de/files/guidedreplica/guidedreplica.rc | rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># follow the prompts
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This will also install two helper scripts to
</span><span style="font-size: 10pt"><tt>$home/bin/rc/replica/</tt></span><span style="font-size: 10pt">.
Reproto copies one proto over the other. You can choose which one you want to keep.
@@ -71,11 +75,14 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"></span><span style="font-size: 10pt"><b>Update:</b></span><span style="font-size: 10pt">
+</span><span style="font-size: 10pt"><i>replica</i></span><span style="font-size: 10pt">(1)
has issues. Often it does a bad job tracking changes, leaving removed files there and vice versa. I never encountered data loss, only inconsistencies in the copies.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Many people use
+</span><span style="font-size: 10pt"><i>mkfs</i></span><span style="font-size: 10pt">(8),
which does not overwrite changed files. At some point I will build some scripts around it and use that instead of
+</span><span style="font-size: 10pt"><i>replica</i></span><span style="font-size: 10pt">(1).
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">(Files:
--- a/pub/changeblog/1594881674/index.html
+++ b/pub/changeblog/1594881674/index.html
@@ -47,6 +47,7 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Right at the beginning the FQA mentions how the executing user needs write permissions for the mailboxes. This is
+</span><span style="font-size: 10pt"><i>very important</i></span><span style="font-size: 10pt">!
If upas can’t write the mailboxes the mail server will </span><span style="font-size: 10pt"><i>not</i></span><span style="font-size: 10pt"> accept incoming mail!
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
@@ -57,24 +58,29 @@
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">To make things short, here are the necessary lines in my setup. The server handles authenticated incoming mail for sending to other providers as well as incoming mail for local accounts.
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>defaultdomain sirjofri.de
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>norelay on
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>verifysenderdom on
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>saveblockedmsg off
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>ourdomains sirjofri.de
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>defaultdomain sirjofri.de</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>norelay on</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>verifysenderdom on</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>saveblockedmsg off</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>ourdomains sirjofri.de</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Note that the server is no relay for unauthenticated/untrusted requests, it will still relay if you authenticate.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">At this point it might be a good idea to check your user password.
-Use </span><span style="font-size: 10pt"><i>auth/changeuser</i></span><span style="font-size: 10pt"> to add </span><span style="font-size: 10pt"><i>Inferno/POP secrets</i></span><span style="font-size: 10pt"> to your user accounts. Use these passwords to authenticate to the smtp server.
+Use
+</span><span style="font-size: 10pt"><tt>auth/changeuser</tt></span><span style="font-size: 10pt">
+to add </span><span style="font-size: 10pt"><i>Inferno/POP secrets</i></span><span style="font-size: 10pt"> to your user accounts. Use these passwords to authenticate to the smtp server.
</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>/mail/lib/rewrite
@@ -84,45 +90,57 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">In my setup I added three aliases:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>pOsTmAsTeR alias postmaster
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>aBuSe alias abuse
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>wEbMaStEr alias webmaster
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>pOsTmAsTeR alias postmaster</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>aBuSe alias abuse</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>wEbMaStEr alias webmaster</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Use regular expressions to define your domain:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\l!(.*) alias \1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\l\.sirjofri.de!(.*) alias \1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>sirjofri.de!(.*) alias \1
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\l!(.*) alias \1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\l\.sirjofri.de!(.*) alias \1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>sirjofri.de!(.*) alias \1</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">For translating mails I added one more rule for mail address </span><span style="font-size: 10pt"><i>tags</i></span><span style="font-size: 10pt">. These tags are in the form of </span><span style="font-size: 10pt"><i>user+tag@example.com</i></span><span style="font-size: 10pt">. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
+<span style="font-size: 10pt">For translating mails I added one more rule for mail address </span><span style="font-size: 10pt"><i>tags</i></span><span style="font-size: 10pt">. These tags are in the form of </span><span style="font-size: 10pt"><i>user+tag@example.com</i></span><span style="font-size: 10pt">. Official specifications say that everything behind that “+” must be ignored, but it can be used to automatically sort incoming mail into folders. I do this, by the way, so I describe here, how.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">We need rules for those plus signs:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>\"(.+)\+(.*)\" translate "echo ‘{/bin/upas/aliasmail ’\1’}^’+\2’"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># The other translate rules are default
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>\"(.+)\+(.*)\" translate "echo ‘{/bin/upas/aliasmail ’\1’}^’+\2’"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># The other translate rules are default</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">For delivering local mails, I added extra rules:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt># leave the other rules untouched.
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>local!(.+)\+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>local!"(.+)+(.+) | "/bin/test -d /mail/box/\1/\2 \&\& /bin/upas/mbappend /mail/box/\1/\2 || /bin/upas/mbappend /mail/box/\1/mbox"</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt># leave the other rules untouched.</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">With this settings, mails to user+</span><span style="font-size: 10pt"><i>tag</i></span><span style="font-size: 10pt"> will be checked. If a mailbox folder for </span><span style="font-size: 10pt"><i>tag</i></span><span style="font-size: 10pt"> exists, mail is sent to this folder. Otherwise it is sent to the user’s default inbox.
</span><span style="font-size: 10pt"><b>Note:</b></span><span style="font-size: 10pt">
@@ -133,46 +151,52 @@
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This file is pretty easy. Just add your alias mail addresses:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>postmaster sirjofri
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>webmaster sirjofri
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>abuse sirjofri
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>postmaster sirjofri</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>webmaster sirjofri</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>abuse sirjofri</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>/mail/lib/remotemail
-</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>sender=$1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>addr=$1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>shift
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fd=‘{/bin/upas/aliasmail -f $sender}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>switch($fd){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case *.*
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> ;
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case *
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> fd=sirjofri.de
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec /bin/upas/smtp -h $fd $addr $sender $*
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>sender=$1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>addr=$1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>shift</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fd=‘{/bin/upas/aliasmail -f $sender}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>switch($fd){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case *.*</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ;</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case *</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> fd=sirjofri.de</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec /bin/upas/smtp -h $fd $addr $sender $*</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt"><b>SMTP over TLS
</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
@@ -181,14 +205,17 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">/rc/bin/service/tcp25
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>user=‘{cat /dev/user}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>user=‘{cat /dev/user}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec /bin/upas/smtpd -f -E -r -c /sys/lib/tls/cert -n $3</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">Don’t forget to create your TLS certificate!
</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
--- a/pub/changeblog/1594885496/index.html
+++ b/pub/changeblog/1594885496/index.html
@@ -47,27 +47,34 @@
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">There are reasons why you not run </span><span style="font-size: 10pt"><i>rio</i></span><span style="font-size: 10pt"> in your lib/profile. For me the main reason would be: You can no longer use
-commands</span><span style="font-size: 10pt"><tt>rcpu</tt></span><span style="font-size: 10pt">-c
+</span><span style="font-size: 10pt"><tt>rcpu -c commands</tt></span><span style="font-size: 10pt">
in your shell. Rio opens and there you are, stuck in front of a gray background.
</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">My solution:
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>case cpu
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> # … lots of stuff …
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rcpucmd=‘{cat /mnt/term/env/cmd >[2]/dev/null}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $#rcpucmd 0)
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rio
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> # … lots of stuff …
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>case cpu</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> # … lots of stuff …</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rcpucmd=‘{cat /mnt/term/env/cmd >[2]/dev/null}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $#rcpucmd 0)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rio</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> # … lots of stuff …</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt">Now I can </span><span style="font-size: 10pt"><i>rcpu</i></span><span style="font-size: 10pt"> and have my rio, or </span><span style="font-size: 10pt"><i>rcpu -c command</i></span><span style="font-size: 10pt"> and run the command without leaving my shell.
+<span style="font-size: 10pt">Now I can
+</span><span style="font-size: 10pt"><tt>rcpu</tt></span><span style="font-size: 10pt">
+and have my rio, or
+</span><span style="font-size: 10pt"><tt>rcpu -c command</tt></span><span style="font-size: 10pt">
+and run the command without leaving my shell.
</span></p><p style="margin-top: 0; margin-bottom: 0.50in"></p>
</article>
--- a/pub/changeblog/1596011563/index.html
+++ b/pub/changeblog/1596011563/index.html
@@ -54,60 +54,63 @@
</span><span style="font-size: 10pt"><tt>sys</tt></span><span style="font-size: 10pt">
group members: adjust your
</span><span style="font-size: 10pt"><tt>/rc/bin/service/tcp17019</tt></span><span style="font-size: 10pt">
-</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
-<p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>#!/bin/rc
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>userfile=/adm/users
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fn useringroup{
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> grep $1 $userfile | {
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> found=0
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> while(~ $found 0 && line=‘:{read}){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $line(2) $2){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> found=1
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if(~ $found 1)
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> status=’’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> if not
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> status=’not found’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> }
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>if(~ $#* 3){
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> netdir=$3
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> remote=$2!‘{cat $3/remote}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>fn server {
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> ~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> rm -f /env/’fn#server’
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt> . <{n=‘{read} && ! ~ $#n 0 && read -c $n} >[2=1]
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>}
-</tt></span></p><p style="line-height: 1.2em; margin-left: 1.35in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
-<span style="font-size: 10pt"><tt>exec tlssrv -a /bin/rc -c ’useringroup $user sys && server’
-</tt></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>userfile=/adm/users</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fn useringroup{</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> grep $1 $userfile | {</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> found=0</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> while(~ $found 0 && line=‘:{read}){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $line(2) $2){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> found=1</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if(~ $found 1)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> status=’’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> if not</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> status=’not found’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> }</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(~ $#* 3){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> netdir=$3</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> remote=$2!‘{cat $3/remote}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>fn server {</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ~ $#remote 0 || echo -n $netdir $remote >/proc/$pid/args</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rm -f /env/’fn#server’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> . <{n=‘{read} && ! ~ $#n 0 && read -c $n} >[2=1]</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>exec tlssrv -a /bin/rc -c ’useringroup $user sys && server’</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
<span style="font-size: 10pt">This checks if the user is in group
</span><span style="font-size: 10pt"><tt>sys</tt></span><span style="font-size: 10pt">
--- /dev/null
+++ b/pub/changeblog/1608028434/index.html
@@ -1,0 +1,183 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="my personal website with changeblog and shared resources">
+<title>sirjofri • changeblog/1608028434</title>
+<style type="text/css">
+body {
+ font-family: sans-serif;
+ max-width: 960px;
+ margin: auto;
+ padding: 10px;
+}
+</style>
+</head>
+<body>
+<header>
+<h1>changeblog/1608028434</h1>
+<nav>
+<a href="/">start</a> •
+<a href="/changeblog/">changeblog</a> •
+<a href="/files/">files</a>
+</nav>
+</header>
+<main>
+<article>
+<header>
+<h2>9front on Lenovo Thinkpad Twist</h2>
+<b>Tue, 15 Dec 2020 11:33:54 +0100</b>
+</header>
+<p style="margin-top: 0; margin-bottom: 0.50in"></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="line-height: 1.4em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: center;">
+<span style="font-size: 12pt"><b>9front on Lenovo Thinkpad Twist</b></span></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.42in"></p>
+<p style="margin-top: 0; margin-bottom: 0.21in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="margin-top: 0; margin-bottom: 0.50in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">A few weeks ago I removed archlinux from my remaining machine.
+I noticed how the new lenovo keyboards aren’t good and the trackpoint is crap.
+That’s why I still prefer the Thinkpad T61, even without battery.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">Anyways, I’ll try to describe the process of the installation.
+The installation itself went according to the FQA, I’ll just add some notes.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Process
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">First I had to disable UEFI completely and switch to legacy BIOS.
+I know 9front can handle UEFI somehow, but I never got it working on any machine.
+To make 9front work with legacy BIOS I had to change the SSD layout from GPT to MBR.
+This was possible, just remove all partitions and use the command line to create DOS partitions.
+Then the SSD was detected as MBR/non-GPT and I could proceed with default installation.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">After installation I needed to get WIFI working.
+Thanks to 9front developers I was able to use BSD drivers as documented in the FQA.
+In my case I just grabbed the
+</span><span style="font-size: 10pt"><tt>iwn-2030</tt></span><span style="font-size: 10pt">
+drivers, placed them in
+</span><span style="font-size: 10pt"><tt>/lib/firmware</tt></span><span style="font-size: 10pt">
+and built the kernel from scratch.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">Enabling ACPI in the
+</span><span style="font-size: 10pt"><tt>plan9.ini</tt></span><span style="font-size: 10pt">
+and starting
+</span><span style="font-size: 10pt"><tt>aux/acpi</tt></span><span style="font-size: 10pt">
+went without errors, only
+</span><span style="font-size: 10pt"><tt>bad opcode</tt></span><span style="font-size: 10pt">
+warnings showed up.
+Still, everything works as expected, so I didn’t investigate further.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Issues and Troubleshooting
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">I had exactly
+</span><span style="font-size: 10pt"><b>two</b></span><span style="font-size: 10pt">
+issues.
+The first is the
+</span><span style="font-size: 10pt"><tt>bad opcode</tt></span><span style="font-size: 10pt">
+as described earlier.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">The second is a big surprise.
+Backlight controls work out of the box!
+I know older machines handle this directly without using the operating system, but this was a modern machine.
+Still it worked with only one tradeoff:
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">It always prints
+</span><span style="font-size: 10pt"><i>lapicerrors</i></span><span style="font-size: 10pt">
+on the console.
+I didn’t find a good way to disable them, so I just added a hidden window in my riostart that just
+</span><span style="font-size: 10pt"><tt>cat</tt></span><span style="font-size: 10pt">/dev/kprint
+so the errors don’t fill the screen.
+</span></p><p style="margin-top: 0; margin-bottom: 0.17in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt"><b>Bonus: conntosrv
+</b></span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">As a bonus I have a small script that saves me lots of installation time.
+I have a server with my $home directory, including some configuration in my
+</span><span style="font-size: 10pt"><tt>lib/profile</tt></span><span style="font-size: 10pt">.
+On my terminals (laptops) I just work in my $home like it was right there on my machine.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">To make this happen I placed the little script in my terminal’s
+</span><span style="font-size: 10pt"><tt>/cfg/$sysname/conntosrv</tt></span><span style="font-size: 10pt">
+and called in the
+</span><span style="font-size: 10pt"><tt>/cfg/$sysname/termrc</tt></span><span style="font-size: 10pt">.
+</span></p><p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">The script contains:
+</span></p><p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>#!/bin/rc</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>echo -n ’connect to server: ’</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>server=‘{read}</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(~ $#server 0){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> echo not connecting to services >[1=2]</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> exit</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>if(! test -e /net/dns)</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> ndb/dns -r</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.15in"></p>
+
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>auth/factotum</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>for(i in $server){</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt> rimport -Cc $i /n/$i</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>}</tt></span></p>
+<p style="line-height: 1.1em; margin-left: 1.28in; text-indent: 0.00in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 9pt"><tt>bind -c ’/n/’^$server(1)^’/usr/’^$user /usr/$user</tt></span></p>
+<p style="margin-top: 0; margin-bottom: 0.17in"></p>
+
+<p style="margin-top: 0; margin-bottom: 0.08in"></p>
+<p style="margin-top: 0; margin-bottom: 0.05in"></p>
+<p style="line-height: 1.2em; margin-left: 1.00in; text-indent: 0.35in; margin-right: 1.00in; margin-top: 0; margin-bottom: 0; text-align: justify;">
+<span style="font-size: 10pt">As you can see, the scrips connects to all servers you input at the prompt.
+It takes the first to be your $home, all others are imported to
+</span><span style="font-size: 10pt"><tt>/n</tt></span><span style="font-size: 10pt">.
+</span></p><p style="margin-top: 0; margin-bottom: 0.50in"></p>
+
+</article>
+</main>
+<hr>
+<footer>
+<a href="/">start</a> •
+<a href="/changeblog/">changeblog</a> •
+<a href="/impressum/">impressum (german)</a>
+<br>
+© Copyright 2020 sirjofri
+</footer>
+</body>
+</html>
binary files a/pub/changeblog/changeblog.pdf b/pub/changeblog/changeblog.pdf differ
--- a/pub/changeblog/index.html
+++ b/pub/changeblog/index.html
@@ -31,6 +31,7 @@
<a href="changeblog.pdf">Download pdf</a><br>
<a href="/changeblog.xml">Feed</a><br>
<ul>
+<li><a href="/changeblog/1608028434/">Tue, 15 Dec 2020 11:33:54 +0100: 9front on Lenovo Thinkpad Twist</a></li>
<li><a href="/changeblog/1596011563/">Wed, 29 Jul 2020 10:32:43 +0200: Restrict RCPU User Access to Groups</a></li>
<li><a href="/changeblog/1594885496/">Thu, 16 Jul 2020 09:44:56 +0200: lib/profile quick hack</a></li>
<li><a href="/changeblog/1594881674/">Thu, 16 Jul 2020 08:41:14 +0200: Mail Server Configuration</a></li>