diff options
author | Omar Polo <op@omarpolo.com> | 2021-10-04 10:42:35 +0000 |
---|---|---|
committer | Omar Polo <op@omarpolo.com> | 2021-10-04 10:42:35 +0000 |
commit | ae6870fa3bf25561a3f6bd8465ba86307af5d5bb (patch) | |
tree | 81c81327a0f223d6892e05d42bdaf64764a376ea /site | |
parent | 568419b2c1f71620095acd9bf3be6aaa2bbe43ee (diff) |
import the capsule/website
Diffstat (limited to 'site')
-rw-r--r-- | site/Makefile | 9 | ||||
-rw-r--r-- | site/README.md | 3 | ||||
-rw-r--r-- | site/contrib.gmi | 66 | ||||
-rw-r--r-- | site/contrib.html | 210 | ||||
-rw-r--r-- | site/index.gmi | 165 | ||||
-rw-r--r-- | site/index.html | 367 | ||||
-rwxr-xr-x | site/mdoc2html.sh | 21 | ||||
-rw-r--r-- | site/vim-screenshot.png | bin | 0 -> 32164 bytes |
8 files changed, 841 insertions, 0 deletions
diff --git a/site/Makefile b/site/Makefile new file mode 100644 index 0000000..77c7b22 --- /dev/null +++ b/site/Makefile @@ -0,0 +1,9 @@ +.PHONY: all + +all: gmid.1.html gmid.1.txt + +gmid.1.html: ../gmid.1 + ./mdoc2html.sh $? $@ + +gmid.1.txt: ../gmid.1 + MANWIDTH=72 man -Tutf8 -l $? | col -b > $@ diff --git a/site/README.md b/site/README.md new file mode 100644 index 0000000..83650fe --- /dev/null +++ b/site/README.md @@ -0,0 +1,3 @@ +# gmid website/capsule + +These are the sources for the gmid website and Gemini capsule. diff --git a/site/contrib.gmi b/site/contrib.gmi new file mode 100644 index 0000000..4f453a0 --- /dev/null +++ b/site/contrib.gmi @@ -0,0 +1,66 @@ +=> / Home +=> /gmid.1.txt docs + +# Contrib + +This directory is for additional contributed files which may be useful. + +## Dockerfile + +=> https://git.omarpolo.com/gmid/tree/contrib/Dockerfile contrib/Dockerfile + +A sample Dockerfile. The resulting image is a classic alpine linux image with a statically linked gmid installed as /bin/gmid. +To build the image: + +```instructions to build the image +# docker build -f contrib/Dockerfile -t gmid . +``` +and then run it with something along the lines of: +```instruction to run the image +# docker run --rm -it -p 1965:1965 \ + -v gmid.conf:/etc/gmid.conf:ro \ + -v path/to/keys:/tls:ro \ + -v /var/gemini:/var/gemini:ro \ + gmid -c /etc/gmid.conf +``` + +## OpenBSD rc file + +=> https://git.omarpolo.com/gmid/tree/contrib/gmid contrib/gmid + +contrib/gmid is a sample service file for OpenBSD rc(8). To install it: +```command to install the rc file +# cp contrib/gmid /etc/rc.d +``` +then the usual ‘rcctl [start|stop|enable|restart] gmid’ are available. + +## Systemd unit file + +=> https://git.omarpolo.com/gmid/tree/contrib/gmid.service gmid.service + +A simple service file for systemd. To install it +```instructions to install the system file +# cp contrib/gmid.service /lib/systemd/system/gmid.service +``` +then the usual ‘systemctl [status|start|enable|stop] gmid’ commands can be used to manage the server. + +Some things to keep in mind: +* the ExecStart path depends on the installation +* decomment “User” and “Group” to start gmid without root priviledges. It’s not needed, since gmid can lower its privileges, but may come in handy. + +## Vim syntax files + +=> https://git.omarpolo.com/gmid/tree/contrib/vim contrib/vim + +contrib/vim contains a syntax highlighting for vim. To install it, just copy the files to ~/.vim or to /usr/share/vim/vimfiles, e.g.: +```install the vim syntax highlight in your home +$ mkdir -p ~/.vim +$ cp -R contrib/vim/* ~/.vim/ +``` + +To enable Syntastic checker, add to your vimrc: +``` +let g:syntastic_gmid_checkers = ['gmid'] +``` + +=> vim-screenshot.png Screenshot of vim editing gmid.conf diff --git a/site/contrib.html b/site/contrib.html new file mode 100644 index 0000000..c9b5c2f --- /dev/null +++ b/site/contrib.html @@ -0,0 +1,210 @@ +<!doctype html> +<html lang="en"> + <head> + <title>gmid | contrib</title> + <meta charset="utf8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <style> + body { + font-family: monospace; + font-size: 14px; + max-width: 780px; + margin: 0 auto; + padding: 20px; + padding-bottom: 80px; + } + + h1::before { + content: "# "; + } + + h2 { + margin-top: 40px; + } + + h2::before { + content: "## "; + } + + h3::before { + content: "### "; + } + + blockquote { + margin: 0; + padding: 0; + } + + blockquote::before { + content: "> "; + } + + blockquote p { + font-style: italic; + display: inline; + } + + p.link::before { + content: "→ "; + } + + strong::before { content: "*" } + strong::after { content: "*" } + + hr { + border: 0; + height: 1px; + background-color: #222; + width: 100%; + display: block; + margin: 2em auto; + } + + img { + border-radius: 5px; + } + + pre { + overflow: auto; + padding: 1rem; + background-color: #f0f0f0; + border-radius: 3px; + } + + pre.banner { + display: flex; + flex-direction: row; + justify-content: center; + } + + code, kbd { + color: #9d109d; + } + + img { + display: block; + margin: 0 auto; + max-width: 100%; + } + + @media (prefers-color-scheme: dark) { + body { + background-color: #222; + color: white; + } + + a { + color: aqua; + } + + hr { + background-color: #ddd; + } + + pre { + background-color: #353535; + } + + code, kbd { + color: #ff4cff; + } + } + + @media (max-width: 400px) { + pre.banner { font-size: 9px; } + } + + @media (max-width: 500px) { + pre.banner { font-size: 10px; } + } + </style> + </head> + <body> + <header> + <nav> + <a href="/">Home</a> | contrib | <a href="gmid.1.html">docs</a> + </nav> + </header> + <h1>contrib</h1> + <p> + This directory is for additional contributed files which may be + useful. + </p> + <p>Contents:</p> + <ul> + <li><a href="#dockerfile">Dockerfile</a></li> + <li><a href="#openbsd-rc">OpenBSD rc file</a></li> + <li><a href="#systemd-unit-file">Systemd unit file</a></li> + <li><a href="#vim-syntax-files">Vim syntax files</a></li> + </ul> + <hr /> + <h2 id="dockerfile">Dockerfile</h2> + <p> + <a href="https://git.omarpolo.com/gmid/tree/contrib/Dockerfile"> + <code>contrib/Dockerfile</code></a> + is a simple Dockerfile. The resulting image is a classic alpine + linux image with a statically linked gmid installed as + <code>/bin/gmid</code>. + </p> + <p>To build the image:</p> + <pre># docker build -f contrib/Dockerfile -t gmid .</pre> + <p>and then run it with something along the lines of:</p> + <pre># docker run --rm -it -p 1965:1965 \ + -v gmid.conf:/etc/gmid.conf:ro \ + -v path/to/keys:/tls:ro \ + -v /var/gemini:/var/gemini:ro \ + gmid -c /etc/gmid.conf</pre> + <h2 id="openbsd-rc">OpenBSD rc file</h2> + <p> + <a href="https://git.omarpolo.com/gmid/tree/contrib/gmid">contrib/gmid</a> + is a sample service file for OpenBSD <code>rc(8)</code>. + To install it: + </p> + <pre># cp contrib/gmid /etc/rc.d</pre> + <p> + then the usual + <code>rcctl [start|stop|enable|restart] gmid</code> + are available. + </p> + <h2 id="systemd-unit-file">Systemd unit file</h2> + <p> + <a href="https://git.omarpolo.com/gmid/tree/contrib/gmid.service"> + <code>contrib/gmid.service</code></a> + is a simple service file for + systemd. To install it: + </p> + <pre># cp contrib/gmid.service /lib/systemd/system/gmid.service</pre> + <p> + then the usual + <code>systemctl [status|start|enable|stop] gmid</code> + commands can be used to manage the server. + </p> + <p>Some things to keep in mind:</p> + <ul> + <li> + the <code>ExecStart</code> path depends on the installation. + </li> + <li> + decomment <code>User</code> and <code>Group</code> to start + gmid without root priviledges. It's not needed, since gmid + can lower its privileges, but may come in handy. + </li> + </ul> + <h2 id="vim-syntax-files">Vim syntax files</h2> + <p> + <a href="https://git.omarpolo.com/gmid/tree/contrib/vim"> + <code>contrib/vim</code></a> + contains a syntax highlighting for vim. To install it, just + copy the files to <code>~/.vim</code> + or <code>/usr/share/vim/vimfiles</code>, e.g. + </p> + <pre>$ mkdir -p ~/.vim +$ cp -R contrib/vim/* ~/.vim/</pre> + <p>To enable Syntastic checker, add to your vimrc:</p> + <pre>let g:syntastic_gmid_checkers = ['gmid']</pre> + <p>The end result is something like this:</p> + <a href="vim-screenshot.png"> + <img src="vim-screenshot.png" alt="Screenshot of vim editing gmid.conf with syntax highlighting" /> + </a> + </body> +</html> diff --git a/site/index.gmi b/site/index.gmi new file mode 100644 index 0000000..bb7efef --- /dev/null +++ b/site/index.gmi @@ -0,0 +1,165 @@ +=> contrib.gmi contrib +=> /gmid.1.txt docs + +# gmid + +> A Gemini server + +## Features + +* sandboxed by default on OpenBSD, FreeBSD and Linux +* able to reload the configuration on-the-fly without loosing connections +* punycode and IRI support +* CGI and FastCGI support +* virtual hosts and per-location rules +* low memory footprint +* event-based asynchronous I/O model +* rich configuration file + +=> gmid.1.txt Read the manpage. + +## Install + +Some distros provide a package — thanks to the maintainers! + +=> https://repology.org/project/gmid/versions [https] Repology: packaging status for gmid + +Source code and precompiled binaries for linux are available: + +=> https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid-1.7.4.tar.gz gmid-1.7.4.tar.gz + +=> https://git.omarpolo.com/gmid/ git repository +=> gemini://git.omarpolo.com/gmid.git/ git repository via Gemini +=> https://github.com/omar-polo/gmid GitHub mirror + +=> https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid.linux.aarch64 gmid.linux.aarch64 +=> https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid.linux.amd64 gmid.linux.amd64 + +When in doubt, compile from source: it’s easy and takes less than a minute on a raspberry pi 3. The dependencies are: + +* libevent +* OpenSSL/LibreSSL +* libtls (from either LibreSSL or LibreTLS) +* yacc or GNU bison + +Once all the dependencies are installed, building is as easy as: + +```Example of how to compile from source +$ curl -LO https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid-1.7.4.tar.gz +$ tar xzvf gmid-1.7.4.tar.gz +$ cd gmid-1.7.4 +$ ./configure +$ make +$ sudo make install # eventually +``` + +A SHA256 file is available. However, that only checks for accidental corruption: you can use signify (SHA256.sig and the public key gmid-1.7.pub) or GPG. The hash of the signify public key is also included in the SHA256 file and thus signed with my GPG. The signify public key for the next release ‘gmid-1.8.pub’ is also included. + +=> https://github.com/omar-polo/gmid/releases/download/1.7.4/SHA256 SHA256 +=> https://github.com/omar-polo/gmid/releases/download/1.7.4/SHA256 SHA256.gpg +=> https://github.com/omar-polo/gmid/releases/download/1.7.4/SHA256.sig SHA256.sig + +To verify the signatures with signify(1) + +```Example of how to verify the signature with signify +$ signify -C -p gmid-1.7.pub -x SHA256.sig +Signature Verified +gmid-1.7.pub: OK +gmid-1.7.4.tar.gz: OK +gmid-1.8.pub: OK +gmid.linux.aarch64: OK +gmid.linux.amd64: OK +``` + +## Change log for the last versions + + +1.7.4 “Space-dye Vest” fourth bugfix release — Released September 24, 2021 + +This version incudes the following bugfix: + +* fix a possible out-of-bound access when handling a request for a non-existent file in the root directory of a vhost that's matched by the cgi option + +and the relative regression test. + + + + +1.7.3 “Space-dye Vest” third bugfix release — Released September 19, 2021 + +### Improvements + +* follows symlinks +* improved documentation and added key generation example (thanks! Anna) + +### Bugfix + +* fix syslog logging on FreeBSD. Reported by Karl Jeacle, thanks! +* don't crash if ``-c'' is missing in configtest mode (-n). Reported by heph, thanks! +* allow fstat64 on linux (needed by glibc on aarch64). Reported by pine, thanks! + + + + +1.7.2 “Space-dye Vest” second bugfix release — Released July 19, 2021 + +This version incudes the following bugfix: + +* an un-initialized field in the configless code path leads to a crash on the first request. + +and the relative regression test. + + + +1.7.1 “Space-dye Vest” bugfix release — Released July 11, 2021 + +This version includes two bugfixes: +* use ${MAKE} to recursively call make. +* fix the misleading example in the manpage: macros may not be reserved words + + + +1.7 “Space-dye Vest” — Released July 10, 2021 + +Starting from this version gmid doesn't depend on lex anymore, but yacc is still needed. + +### New features + +* initial fastcgi support! (it's still young!) +* added user-defined macros, either via ‘-Dname=val’ or directly in the configuration file. +* new ‘include’ keyword to load additional configuration files. +* new ‘env’ rule to define environment vars for CGI scripts. +* new ‘alias’ rule to define hostname aliases for a server. +* allow ‘root’ to be specified per-location block. +* pidfile support with the new ‘-P’ cli flag. +* define ‘TLS_VERSION’, ‘TLS_CIPHER’ and ‘TLS_CIPHER_STRENGTH’ for CGI scripts. + +### Improvements + +* remove limits on the number of virtual hosts and location blocks that can be defined. +* print the datetime when logging to stderr. +* use ‘text/x-patch’ for ‘.patch’ and ‘.diff’ files. +* sort the auto index alphabetically. +* various improvements to the log management. +* drop the dependency on lex. +* added ‘--help’ as synonym of ‘-h’ and ‘-V’/‘--version‘ to print the version. +* c-like handling of strings in the configuration file: when two or more strings are next to each-others, are automatically joined into a single string. This is particularly useful with $-macros. + +### Bug fixes + +* correctly handle CGI scripts that replies with the maxium header length allowed. +* fixed the static target. +* fixed recursive mkdirs for configless mode (i.e. create ‘~/.local/share/gmid’) +* logs sent to syslog now have proper priority (before every message ended up as LOG_CRIT). Found by Anna “CyberTailor”, thanks! +* ensure ‘%p’ (path) is always absolute in ‘block return’ rules. +* fix automatic certificate generation, it caused problems on some adroid devices. Found by Gnuserland, thanks! +* document the ‘log’ rule. +* the seccomp filter was reworked and now it's known to work properly on a vast range of architectures (to be more specific: all the architectures supported by alpine linux), see github issue #4. Prompted and tested by @begss, thanks! +* various improvements to the configure script, notified and fixed by Anna “CyberTailor”, thanks! +* added a timeout to the regression tests. + +### Breaking changes + +* if duplicate rules are found in the configuration file, an error is now raised instead of silently using only the last value. +* (sort of) ‘gg’ moved to ‘regress’ as it's only used in the regression suite. +* (notice) the “mime "mime-type" "extension"” rule was deprecated and replaced by the new “map "mime-type" to-ext "extension"”. The ‘mime’ rule will be removed in a future version because its syntax is incompatible with the new string auto-concat mechanism. diff --git a/site/index.html b/site/index.html new file mode 100644 index 0000000..c97b689 --- /dev/null +++ b/site/index.html @@ -0,0 +1,367 @@ +<!doctype html> +<html lang="en"> + <head> + <title>gmid</title> + <meta charset="utf8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <style> + body { + font-family: monospace; + font-size: 14px; + max-width: 780px; + margin: 0 auto; + padding: 20px; + padding-bottom: 80px; + } + + h1::before { + content: "# "; + } + + h2 { + margin-top: 40px; + } + + h2::before { + content: "## "; + } + + h3::before { + content: "### "; + } + + blockquote { + margin: 0; + padding: 0; + } + + blockquote::before { + content: "> "; + } + + blockquote p { + font-style: italic; + display: inline; + } + + p.link::before { + content: "→ "; + } + + strong::before { content: "*" } + strong::after { content: "*" } + + hr { + border: 0; + height: 1px; + background-color: #222; + width: 100%; + display: block; + margin: 2em auto; + } + + img { + border-radius: 5px; + } + + pre { + overflow: auto; + padding: 1rem; + background-color: #f0f0f0; + border-radius: 3px; + } + + pre.banner { + display: flex; + flex-direction: row; + justify-content: center; + } + + code, kbd { + color: #9d109d; + } + + img { + display: block; + margin: 0 auto; + max-width: 100%; + } + + @media (prefers-color-scheme: dark) { + body { + background-color: #222; + color: white; + } + + a { + color: aqua; + } + + hr { + background-color: #ddd; + } + + pre { + background-color: #353535; + } + + code, kbd { + color: #ff4cff; + } + } + + @media (max-width: 400px) { + pre.banner { font-size: 9px; } + } + + @media (max-width: 500px) { + pre.banner { font-size: 10px; } + } + </style> + </head> + <body> + <header> + <nav> + Home | <a href="contrib.html">contrib</a> | <a href="gmid.1.html">docs</a> + </nav> + </header> + <h1>gmid</h1> + <blockquote> + <p>A Gemini server</p> + </blockquote> + <h2>Features</h2> + <ul> + <li>sandboxed by default on OpenBSD, FreeBSD and Linux</li> + <li>able to reload the configuration on-the-fly without loosing connections</li> + <li>punycode and IRI support</li> + <li>CGI and FastCGI support</li> + <li>virtual hosts and per-location rules</li> + <li>low memory footprint</li> + <li>event-based asynchronous I/O model</li> + <li>rich configuration file</li> + </ul> + <h2>Install</h2> + <p>Some distros provide a package — thanks to the maintainers!</p> + <p> + <a href="https://repology.org/project/gmid/versions"> + <img src="https://repology.org/badge/vertical-allrepos/gmid.svg" alt="Packaging status"> + </a> + </p> + <p>Source code and precompiled binaries for linux are available:</p> + <ul> + <li> + <a href="https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid-1.7.4.tar.gz">gmid-1.7.4.tar.gz</a> + </li> + </ul> + <ul> + <li> + <a href="https://git.omarpolo.com/gmid/">git repository</a> + </li> + <li> + <a href="gemini://git.omarpolo.com/gmid.git/">git repository via Gemini</a> + </li> + <li> + <a href="https://github.com/omar-polo/gmid">GitHub mirror</a> + </li> + </ul> + <ul> + <li> + <a href="https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid.linux.aarch64">gmid.linux.aarch64</a> + </li> + <li> + <a href="https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid.linux.amd64">gmid.linux.amd64</a> + </li> + </ul> + <p> + When in doubt, compile from source: it’s easy and takes less + than a minute on a raspberry pi 3. The dependencies are: + </p> + <ul> + <li>libevent</li> + <li>OpenSSL/LibreSSL</li> + <li>libtls (from either LibreSSL or LibreTLS)</li> + <li>yacc or GNU bison</li> + </ul> + <p>Once all the dependencies are installed, building is as easy as:</p> + <pre>$ curl -LO https://github.com/omar-polo/gmid/releases/download/1.7.4/gmid-1.7.4.tar.gz +$ tar xzvf gmid-1.7.4.tar.gz +$ cd gmid-1.7.4 +$ ./configure +$ make +$ sudo make install # eventually</pre> + <p> + A SHA256 file is available. However, that only checks for + accidental corruption: you can use signify (SHA256.sig and the + public key gmid-1.7.pub) or GPG. The hash of the signify public + key is also included in the SHA256 file and thus signed with my + GPG. The signify public key for the next release ‘gmid-1.8.pub’ + is also included. + </p> + <ul> + <li> + <a href="https://github.com/omar-polo/gmid/releases/download/1.7.4/SHA256">SHA256</a> + </li> + <li> + <a href="https://github.com/omar-polo/gmid/releases/download/1.7.4/SHA256.gpg">SHA256.gpg</a> + </li> + <li> + <a href="https://github.com/omar-polo/gmid/releases/download/1.7.4/SHA256.sig">SHA256.sig</a> + </li> + </ul> + <p>To verify the signatures with signify(1)</p> + <pre>$ signify -C -p gmid-1.7.pub -x SHA256.sig +Signature Verified +gmid-1.7.pub: OK +gmid-1.7.4.tar.gz: OK +gmid-1.8.pub: OK +gmid.linux.aarch64: OK +gmid.linux.amd64: OK</pre> + <h2>Changelog for the last versions</h2> + <p>1.7.4 “Space-dye Vest” fourth bugfix release — Released September 24, 2021</p> + <p>This version includes the following bugfix:</p> + <ul> + <li> + fix a possible out-of-bound access when handling a request for + a non-existent file in the root directory of a vhost that's + matched by the cgi option + </li> + </ul> + <p>and the relative regression test.</p> + <hr /> + <p>1.7.3 “Space-dye Vest” third bugfix release — Released September 18, 2021</p> + <h3>Improvements</h3> + <ul> + <li>follows symlinks</li> + <li>improved documentation and added key generation example (thanks! Anna)</li> + </ul> + <h3>Bugfix</h3> + <ul> + <li>fix syslog logging on FreeBSD. Reported by Karl Jeacle, thanks!</li> + <li>don't crash if <code>-c</code> is missing in configtest mode (<code>-n</code>). Reported by heph, thanks!</li> + <li>allow fstat64 on linux (needed by glibc on aarch64). Reported by pine, thanks!</li> + </ul> + <hr /> + <p>1.7.2 “Space-dye Vest” second bugfix release — Released July 19, 2021</p> + <p>This version includes the following bugfix:</p> + <ul> + <li> + An un-initialized field in the configless code path leads to a + crash on the first request. + </li> + </ul> + <p>and the relative regression test.</p> + <hr /> + <p>1.7.1 “Space-dye Vest” bugfix release — Released July 11, 2021</p> + <p>This version includes two bugfixes:</p> + <ul> + <li>use <code>${MAKE}</code> to recursively call make.</li> + <li> + fix the misleading example in the manpage: macros name may not + be reserved words. + </li> + </ul> + <hr /> + <p>1.7 “Space-dye Vest” — Released July 10, 2021</p> + <p> + Starting from this version gmid doesn't depend on lex anymore, + but yacc is still needed. + </p> + <h3>New Features</h3> + <ul> + <li>initial fastcgi support! (it’s still young!)</li> + <li> + added user-defined macros, either via <code>-Dname=val</code> or + directly in the configuration file. + </li> + <li>new <code>include</code> keyword to load additional configuration files.</li> + <li>new <code>env</code> rule to define environment vars for CGI scripts.</li> + <li>new <code>alias</code> rule to define hostname aliases for a server.</li> + <li>allow <code>root</code> to be specified per-location block.</li> + <li>pidfile support with the new <code>-P</code> cli flag.</li> + <li> + define <code>TLS_VERSION</code>, <code>TLS_CIPHER</code> and + <code>TLS_CIPHER_STRENGTH</code> for CGI scripts. + </li> + </ul> + <h3>Improvements</h3> + <ul> + <li> + remove limits on the number of virtual hosts and location + blocks that can be defined. + </li> + <li>print the datetime when logging to stderr.</li> + <li> + use <code>text/x-patch</code> for <code>.patch</code> and <code>.diff</code> files. + </li> + <li>sort the auto index alphabetically.</li> + <li>various improvements to the log management.</li> + <li>drop the dependency on lex.</li> + <li> + added <code>--help</code> as synonym of <code>-h</code> and + <code>-V</code>/<code>--version</code> to print the version. + </li> + <li> + c-like handling of strings in the configuration file: when + two or more strings are next to each-others, are + automatically joined into a single string. This is + particularly useful with <code>$</code>-macros. + </li> + </ul> + <h3>Bug fixes</h3> + <ul> + <li> + correctly handle CGI scripts that replies with the maxium + header length allowed. + </li> + <li>fixed the <code>static</code> target.</li> + <li> + fixed recursive mkdirs for configless mode (i.e. create + <code>~/.local/share/gmid</code>) + </li> + <li> + logs sent to syslog now have proper priority (before every + message ended up as LOG_CRIT). Found by Anna + “CyberTailor”, thanks! + </li> + <li> + ensure <code>%p</code> (path) is always absolute in + <code>block return</code> rules. + </li> + <li> + fix automatic certificate generation, it caused problems on + some adroid devices. Found by Gnuserland, thanks! + </li> + <li>document the <code>log</code> rule.</li> + <li> + the seccomp filter was reworked and now it’s known to + work properly on a vast range of architectures (to be more + specific: all the architectures supported by alpine linux), + see github issue #4. Prompted and tested by @begss, thanks! + </li> + <li> + various improvements to the configure script, notified and + fixed by Anna “CyberTailor”, thanks! + </li> + <li>added a timeout to the regression tests.</li> + </ul> + <h3>Breaking changes</h3> + <ul> + <li> + if duplicate rules are found in the configuration file, an + error is now raised instead of silently using only the last + value. + </li> + <li> + (sort of) <code>gg</code> moved to <code>regress</code> as + it's only used in the regression suite. + </li> + <li> + (notice) the <code>mime "mime-type" "extension"</code> rule was deprecated and + replaced by the new <code>map "mime-type" to-ext "extension"</code>. The + <code>mime</code> rule will be removed in a future version + because its syntax is incompatible with the new string + auto-concat mechanism. + </li> + </ul> + </body> +</html> diff --git a/site/mdoc2html.sh b/site/mdoc2html.sh new file mode 100755 index 0000000..fae8467 --- /dev/null +++ b/site/mdoc2html.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# +# usage: mdoc2html.sh src out +# +# converts the manpage `src' to the HTML file `out', tweaking the +# style + +set -e + +: ${1:?missing input file} +: ${2:?missing output file} + +man -Thtml -l "$1" > "$2" + +exec ed "$2" <<EOF +/<style> +a + body { max-width: 960px; margin: 0 auto; } +. +wq +EOF diff --git a/site/vim-screenshot.png b/site/vim-screenshot.png Binary files differnew file mode 100644 index 0000000..8cc182e --- /dev/null +++ b/site/vim-screenshot.png |