Commits
- Commit:
ce2c9edbc230a052627540e3fd0f8a8b190be850
- From:
- Omar Polo <op@omarpolo.com>
- Date:
define and use GMID_VERSION
- Commit:
1feaf2a618ee1c4771fee80ced7acf31fe40fdae
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use the correct document root
pass the correct loc_off to the executor, so the various variables
that depends on the matched location (like DOCUMENT_ROOT) are computed
correctly.
- Commit:
8ad1c570242cd93f0802931621b49b2510b338e7
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fastcgi: a first implementation
Not production-ready yet, but it's a start.
This adds a third ``backend'' for gmid: until now there it served
local files or CGI scripts, now FastCGI applications too.
FastCGI is meant to be an improvement over CGI: instead of exec'ing a
script for every request, it allows to open a single connection to an
``application'' and send the requests/receive the responses over that
socket using a simple binary protocol.
At the moment gmid supports three different methods of opening a
fastcgi connection:
- local unix sockets, with: fastcgi "/path/to/sock"
- network sockets, with: fastcgi tcp "host" [port]
port defaults to 9000 and can be either a string or a number
- subprocess, with: fastcgi spawn "/path/to/program"
the fastcgi protocol is done over the executed program stdin
of these, the last is only for testing and may be removed in the
future.
P.S.: the fastcgi rule is per-location of course :)
- Commit:
fdea6aa0bca24f6f947e2126ce101fd59caa7a31
- From:
- Omar Polo <op@omarpolo.com>
- Date:
allow ``root'' rule to be specified per-location block
- Commit:
9cc630aa63cfd22553912b5a1fc41a71776cb272
- From:
- Omar Polo <op@omarpolo.com>
- Date:
added ``env'' option to define environment vars for CGI scripts
- Commit:
3841a3693094ae7cc3cfd4f80da7f463e2756bcc
- From:
- Omar Polo <op@omarpolo.com>
- Date:
restore signal handlers before exec'ing CGI scripts
- Commit:
89541eeec019626df4651f44b90df6a31a844dab
- From:
- Omar Polo <op@omarpolo.com>
- Date:
define TLS_VERSION, TLS_CIPHER and TLS_CIPHER_STRENGTH for CGI scripts
- Commit:
b8e64ccd44290cdd34bdcd3fd85fb1a9cb7486dd
- From:
- Omar Polo <op@omarpolo.com>
- Date:
list instead of fixed-size array for vhosts and locations
saves some bytes of memory and removes the limit on the maximum number
of vhosts and location blocks.
- Commit:
c8249bada3df6ab700dadaae36e9570cc8e62d55
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gmid v1.6 -- "Stargazers"
- Commit:
62e001b06778c96d0deebceddf1913f7b57ab2d6
- From:
- Omar Polo <op@omarpolo.com>
- Date:
move all sandbox-related code to sandbox.c
while there, add capsicum for the logger process
- Commit:
bc99d868bc3745dcc65add06cd3f9b9ec3575cb5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
refactoring: imsg everywhere
use imsg to handle ALL kinds of IPC in gmid. This simplifies and shorten the
code, and makes everything more uniform too.
- Commit:
1fbac5ba7c6c04d59d1c1199cd9f57638967a504
- From:
- Omar Polo <op@omarpolo.com>
- Date:
handle SIGHUP gracefully
i.e. don't print scary messages with LOG_CRIT priority!
- Commit:
2c3e53dac6faed4d9502bd3310b4837f0d3112cf
- From:
- Omar Polo <op@omarpolo.com>
- Date:
give each server process its own socket for the executor
this fixes a bug introduced with the prefork mechanics: every server
process shared the same socket, and this would cause a race condition
when multiple server processes asked for a script cgi being executed.
This gives each server process its own socket to talk to the executor,
so the race cannot happen.
- Commit:
52418c8d828bc25e0e84cc25d5e349a84be0b397
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix various compilation errors
Include gmid.h as first header in every file, as it then includes
config.h (that defines _GNU_SOURCE for instance).
Fix also a warning about unsigned vs signed const char pointers in
openssl.
- Commit:
b63e30ff449ee1cf0091d5431f9b72cdd3b1e7e0
- From:
- Omar Polo <op@omarpolo.com>
- Date:
define TLS_CLIENT_NOT_BEFORE/NOT_AFTER in CGI scripts