aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 9ad4b87c204fb4c66b2cb25cfa94fef1440566d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
2021-03-31  Omar Polo  <op@omarpolo.com>

	* gmid.h (struct vhost): remove limits on the number of vhosts and location blocks

	* gmid.c (mkdirs): fix recursive mkdirs for configless mode

2021-03-29  Omar Polo  <op@omarpolo.com>

	* Makefile (static): fixed `static' target

2021-03-29  kornellapacz @ github

	* Dockerfile: add missing libevent-dev dependency, thanks!

2021-03-27  Omar Polo  <op@omarpolo.com>

	* gmid.h (struct client): correctly handle CGI scripts that replies with the maximum header length allowed

2021-03-20  Omar Polo  <op@omarpolo.com>

	* 1.6 tagged

	* sandbox.c (sandbox_logger_process): add capsicum to the logger process

2021-03-19  Omar Polo  <op@omarpolo.com>

	* gmid.c (main): use imsg for all IPC; only the main process
	listens for SIGHUP: this means that finally the config reload will
	work with OpenBSD' rc (and probably other service manager too)

2021-02-22  Omar Polo  <op@omarpolo.com>

	* log.c (log_request): add `log on/off' to enable/disable logs per-server or per-location

2021-02-09  Omar Polo  <op@omarpolo.com>

	* parse.y (locopt): add `require client ca' rule to require client certs signed by a specified CA

2021-02-07  Omar Polo  <op@omarpolo.com>

	* ex.c (do_exec): [cgi] split the query in words if needed and add them to the argv
	(launch_cgi): define TLS_CLIENT_NOT_BEFORE/NOT_AFTER in CGI scripts

	* parse.y (option): added prefork option

2021-02-06  Omar Polo  <op@omarpolo.com>

	* parse.y (locopt): added ``block return'' and ``strip'' options
	(servopt): add the ``entrypoint'' option

2021-02-05  Omar Polo  <op@omarpolo.com>

	* iri.c (parse_query): don't %-decode the query part.  This affects the value of QUERY_STRING for CGI scripts too, since that must be %-encoded and we're currently shipping it decoded.

2021-02-04  Omar Polo  <op@omarpolo.com>

	* gmid.c (main): reload configuration on SIGHUP, without disconnecting the clients

2021-02-02  Omar Polo  <op@omarpolo.com>

	* server.c (handle_dirlist_head): print the header in the directory listing
	(open_file): cgi follows globbing rules, just like location and hostname matching

2021-02-01  Omar Polo  <op@omarpolo.com>

	* parse.y (servopt): require absolute paths in config file

2021-01-31  Omar Polo  <op@omarpolo.com>

	* gmid.c (main): cgi scripts now have only std{in,out,err} open

2021-01-30  Omar Polo  <op@omarpolo.com>

	* 1.5 tagged
	* server.c: change precedence of location rules

2021-01-29  Omar Polo  <op@omarpolo.com>

	* iri.c (parse_authority): accept a wider range of unicode
	codepoints while parsing the host name.

2021-01-26  Omar Polo  <op@omarpolo.com>

	* puny.c (puny_decode): initial punycode support!

2021-01-25  Omar Polo  <op@omarpolo.com>

	* gmid.1: manpage improvements (example and usage)

	* gmid.c (main): Dropping -C, -K, -f, changing the meaning of -d:
	now it's the certificate directory.  Serve the directory given as
	positional argument (or the current one) when running in
	config-less mode.
	(gen_certificate): automatically generate a certificate

	* parse.y (option): added chroot and user options

2021-01-24  Omar Polo  <op@omarpolo.com>

	* server.c (open_dir): add directory listing (disabled by default)

	* parse.y (vhost): added support for location blocks

	* server.c (send_dir): make the directory index customizable

2021-01-23  Omar Polo  <op@omarpolo.com>

	* gg.c (main): added gg, a barebone gemini client.  used by the
	regress suite

2021-01-21  Omar Polo  <op@omarpolo.com>

	* configure: added a configure script

	* server.c (handle_handshake): glob for vhost domain

	* gmid.c (log_request): logs the full IRI and the response code (even for CGI)

2021-01-19  Omar Polo  <op@omarpolo.com>

	* parse.y (servopt): add "lang" server option
	(servopt): moving "default type" from global options to server options

	* Dockerfile: add a dockerfile

2021-01-18  Omar Polo  <op@omarpolo.com>

	* parse.y (option): add mime and "default type" options for media types.

2021-01-17  Omar Polo  <op@omarpolo.com>

	* sandbox.c (sandbox): added initial seccomp(2) support

2021-01-15  Omar Polo  <op@omarpolo.com>

	* cgi.c (start_cgi): set SERVER_NAME to the vhost when executing CGI scripts

	* parse.y (option): add ability to specify the tls versions with "protocols"

	* gmid.c (handle_open_conn): ensure the port number of the request matches

	* sandbox.c (sandbox): sandbox on OpenBSD (pledge/unveil, as before) and on FreeBSD (capsicum) too

	* sample.conf: added sample configuration

	* gmid.c (main): changed behaviour: daemon off by default
	(main): changed -c in -C (cert option)
	(main): changed -k in -K (key option, for consistency with -C)
	(main): added -c to load a configuration
	(main): certs, key and doc (-C -K and -d) doesn't have a default value anymore
	(handle_handshake): add vhosts support

2021-01-13  Omar Polo  <op@omarpolo.com>

	* iri.c (parse_scheme): normalize scheme while parsing, so we're
	RFC3986 compliant.

2021-01-11  Omar Polo  <op@omarpolo.com>

	* 1.4 and 1.4.1 tagged

	* gmid.c (main): ipv6 disabled by default and -6 flag to enable it
	(handle): reject non-gemini protocols with 53

2021-01-10  Omar Polo  <op@omarpolo.com>

	* gmid.c (logs): log also the port of the client
	(loop): accept both ipv4 and ipv6

2020-12-26  Omar Polo  <op@omarpolo.com>

	* uri.c (parse_uri): IRI support

2020-12-21  Omar Polo  <op@omarpolo.com>

	* gmid.c (main): -d supports relative paths

2020-12-02  Omar Polo  <op@omarpolo.com>

	* gmid.c: logging reworked and daemonize.  The -l option was
	removed: now it logs on syslog if -f (foreground) is not passed.

2020-11-18  Omar Polo  <op@omarpolo.com>

	* 1.3.2 tagged

	* gmid.c (url_after_proto): fix bug introduced in last version
	regarding full URLs with explicit gemini protocol.

	* 1.3.1 tagged

	* gmid.c (url_after_proto): correct url parsing: accept URLs
	without explicit protocol
	(url_start_of_request): correct handling of relative URLs

2020-11-17  Omar Polo  <op@omarpolo.com>

	* gmid.c (main): add flag -p to change the port

2020-11-10  Omar Polo  <op@omarpolo.com>

	* ChangeLog: 1.3 tagged, fixed ChangeLog format

	* gmid.c (open_file): added support for path parameters for CGI
	scripts

2020-11-06  Omar Polo  <op@omarpolo.com>

	* gmid.1: great improvements to the documentation

	* gmid.c (url_after_proto): ensure that the requested protocol is
	“gemini” and not something else that’s long 6 bytes.

	* gmid.c (loop): added support for cgi scripts (can handle multiple
	concurrently)

2020-11-06  Omar Polo  <op@venera>

	* gmid.1: added option to log to a file

2020-11-05  Omar Polo  <op@omarpolo.com>

	* gmid.c (filetypes): add MIME type for xml files

2020-11-03  Omar Polo  <op@omarpolo.com>

	* 1.2 tagged

	* gmid.c (main): ignore SIGPIPE

2020-10-14  Omar Polo  <op@omarpolo.com>

	* 1.1 tagged

	* switching to mmap() based file handling

2020-10-07  Omar Polo  <op@omarpolo.com>

	* 1.0 tagged