gmid/site/index.gmi
Omar Polo 62a46b03c6 tag 1.8.2 -- "Lightbulb Sun" bugfix release
gmid 1.8.2 "Lightbulb Sun" bugfix release
=========================================

Released March 26, 2022.

signify(1) pubkeys for this release:
RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC


Bug Fixes
~~~~~~~~~

    * fix a CGI timing issue: if a connection handled by a CGI scripts
      is interrupted with the right timing it causes the server
      process to exit with "fatal in client_by_id: invalid id X".


New Features
~~~~~~~~~~~~

    * add a new block `type { ... }' to define mime types mapping.


Improvements
~~~~~~~~~~~~

    * use shell built-in `command' instead of which(1), prodded by
      cage and Allen Sobot.

    * configure script: allow to set MANDIR from cmdline (Allen Sobot)

    * add systemd-sysusers sample file in contrib/ (Nakaya)

    * [linux/seccomp] allow fstatat64(2), llseek(2) and sigreturn(2),
      needed by glibc on armv7.  (Tobias Berger)

    * [linux/seccomp] tightens rules by allowing openat(2) only with
      the O_RDONLY flag.
2022-03-26 13:22:22 +00:00

75 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
* reverse proxying
* CGI and FastCGI support
* virtual hosts and per-location rules
* low memory footprint
* event-based asynchronous I/O model
* rich configuration file
gmid also bundles a small gemini client called gg (gemini get)
=> gmid.1.MANEXT gmid(1) manpage
=> gg.1.MANEXT gg(1) manpage
## Install
Some distros provide a package — thanks to the maintainers!
=> REPOLOGY Repology: packaging status for gmid
Source code and precompiled binaries for linux are available:
=> GITHUB/releases/download/VERS/gmid-VERS.tar.gz gmid-VERS.tar.gz
=> https://git.omarpolo.com/gmid/ git repository
=> gemini://git.omarpolo.com/gmid.git/ git repository via Gemini
=> GITHUB GitHub mirror
=> GITHUB/releases/download/VERS/gmid.linux.aarch64 gmid.linux.aarch64
=> GITHUB/releases/download/VERS/gmid.linux.amd64 gmid.linux.amd64
When in doubt, compile from source: its 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 GITHUB/releases/download/VERS/gmid-VERS.tar.gz
$ tar xzvf gmid-VERS.tar.gz
$ cd gmid-VERS
$ ./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-CURV.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-NEXTV.pub is also included.
=> GITHUB/releases/download/VERS/SHA256 SHA256
=> GITHUB/releases/download/VERS/SHA256 SHA256.gpg
=> GITHUB/releases/download/VERS/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.8.pub -x SHA256.sig
Signature Verified
gg.linux.amd64: OK
gmid-1.8.2-binaries.tar.gz: OK
gmid-1.8.2.tar.gz: OK
gmid-1.8.pub: OK
gmid-1.9.pub: OK
gmid.linux.amd64: OK
```