1
0
mirror of https://git.sr.ht/~sircmpwn/gmnisrv synced 2024-09-01 05:54:15 -04:00
Go to file
nytpu ae7ca3db39 Send client certificate hash for CGI scripts.
Set SSL_VERIFY_PEER to request a client certificate from the server,
when available.  Have to shim the certificate verification function or
else it will fail on self-signed client certs.

In serve_cgi retrieve client certificate, create a fingerprint, and set
proper environment variables.  It's pretty barebones, it doesn't parse
the certificate to give any other useful info like the common name, but
it's acceptable IMO.  For most CGI uses the fingerprint is the only
thing that is needed anyways.
2021-02-11 09:19:16 -05:00
doc Send client certificate hash for CGI scripts. 2021-02-11 09:19:16 -05:00
include implement handling of ROUTE_EXACT definitions 2021-01-29 08:55:43 -05:00
src Send client certificate hash for CGI scripts. 2021-02-11 09:19:16 -05:00
.gitignore gitignore: add *.5 2020-11-15 12:00:48 -05:00
config.ini config.ini: change suggested root directory 2020-09-26 17:46:56 -04:00
config.sh Implement MIME database support 2020-10-28 12:38:32 -04:00
configure Initial pass on regex routing support 2020-10-29 22:47:56 -04:00
COPYING Initial commit 2020-09-23 10:21:44 -04:00
Makefile Documentation 2020-09-26 16:45:06 -04:00
README.md Add mailcap to dependencies 2020-11-01 14:24:31 -05:00

gmnisrv

gmnisrv is a simple Gemini protocol server.

Installation

Dependencies:

  • A C11 compiler and a POSIX-like system
  • OpenSSL
  • Mailcap (for /etc/mime.types)
  • scdoc (optional)
$ mkdir build
$ cd build
$ ../configure --prefix=/usr
$ make
# make install

Configuration

By default it reads from /etc/gmnisrv.ini, but this can be changed by passing the -C flag to the gmnisrv daemon. A sample config.ini is provided at /usr/share/gmnisrv/gmnisrv.ini:

# Space-separated list of hosts
listen=0.0.0.0:1965 [::]:1965

[:tls]
# Path to store certificates on disk
store=/var/lib/gemini/certs

# Optional details for new certificates
organization=gmnisrv user

[example.org]
root=/srv/gemini/example.org

[example.com]
root=/srv/gemini/example.com

For full details on gmnisrv configuration, consult the gmnisrv(5) manual page.

Usage

See gmnisrv(1).