aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
blob: 6987b149dfe0a33ac0fb1d0bcdbb20f36ed59afe (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
OpenBSD httpd TODO
==================

There is no official bug tracker at the moment.  You can look at the
OpenBSD lists and the following summary which might be incomplete or
outdated:

#20150102-01 return **OPEN**
----------------------------

redirects / return 301 etc.: This can be done without regex by
using a few built-in variables.  Current workaround is to either do it
in the fastcgi backend or with, ahem, html refresh.  btw., nginx'
"return 444;" is such an ugly workaround...

#20150102-02 basic auth **OPEN**
--------------------------------

We don't have a satisfying implementation for authentication yet.  But
it is needed and will be done.

#20150102-03 block/deny **OPEN**
--------------------------------

We cannot deny access to specific locations but the current workaround
is to set a non-accessible root:

        location "*/.*" {
                # mkdir -m 0 /var/www/forbidden
                root "/forbidden"
        }

#20150102-04 server aliases **CLOSED**
---------------------------------------

Update: server aliases and multiple listen statements are supported:

> Support alias names and multiple listen statements per server block.
The implementation is done in the parser by expanding each
alias/listen into an independent server configuration; this makes it
easier to handle internally without adding additional loops or
conditions.

	server "www.example.com" {
		alias "example.com"
		listen on * port 80
		listen on * tls port 443
	}

Server aliases and a few restrictions of the grammar: Individual
server blocks can currently only have one name and listen statement.
This will be fixed in the parser later.  To avoid too much repeating
configuration, I currently use includes:

        server "www.example.com" {
                listen on $ip4_addr port 80
                include "/etc/httpd/example.com.inc"
        }
        server "www.example.com" {
                listen on $ip6_addr port 80
                include "/etc/httpd/example.com.inc"
        }
        server "www.example.com" {
                listen on $ip4_addr tls port 443
                include "/etc/httpd/example.com.ssl"
                include "/etc/httpd/example.com.inc"
        }
        server "www.example.com" {
                listen on $ip6_addr tls port 443
                include "/etc/httpd/example.com.ssl"
                include "/etc/httpd/example.com.inc"
        }

#20150102-05 charsets **OPEN**
------------------------------

Some minor things, eg. charsets (for auto index), fixes, ...

#20150102-06 FAQ **OPEN**
-------------------------

The web server needs some more FAQ-style documentation in addition to
our excellent man pages and examples.  Examples for each CMS would go
beyond the scope of them, and probably don't fit into the OpenBSD FAQ.
So I'm thinking about putting something on http://bsd.plumbing/.

#20150102-07 root strip **OPEN**
--------------------------------

Finish httpd URI stripping by Christopher Zimmermann.