YAIP/src
Jonathan Hodgson dd71d26245 Initial https proxy work
The proxy can now sit between a client and a https web server. It does
this by looking for a CONNECT request that conventional proxies use to
open a tunnel between a client and an https server. Instead of opening
an opaque tunnel, yaip immediately sends bacck a "connection
established" response. This tells the client (browser normally) to
proceed and initiate an HTTPS connection.

I use the host that was send in the connect request to set up a fake SSL
server. If we have seen the domain before, we re-use the certificate,
otherwise we generate a new one and sign it using YAIP's built in
certificate authority.

I still need to do work on forwarding the request upstream. This is my
next job. Currently, yaip responds with a valid response of "it worked".

```
$ curl https://example.com --cacert ~/.config/yaip/cert.pem
It worked
```

Notice, we don't get any certificate errors because we are telling curl
to trust the authority that yaip uses
2022-01-30 12:25:57 +00:00
..
config.c Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00
config.h Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00
database.c I have made a start 2021-12-27 21:43:11 +00:00
database.h I have made a start 2021-12-27 21:43:11 +00:00
main.c Initial https proxy work 2022-01-30 12:25:57 +00:00
proxy.c Initial https proxy work 2022-01-30 12:25:57 +00:00
proxy.h Initial https proxy work 2022-01-30 12:25:57 +00:00
request.c Initial https proxy work 2022-01-30 12:25:57 +00:00
request.h Initial https proxy work 2022-01-30 12:25:57 +00:00
requestresponse.c Now working for simple, non-encrypted requests 2022-01-18 21:45:58 +00:00
requestresponse.h Now working for simple, non-encrypted requests 2022-01-18 21:45:58 +00:00
response.c Initial https proxy work 2022-01-30 12:25:57 +00:00
response.h Initial https proxy work 2022-01-30 12:25:57 +00:00
ssl.c Initial https proxy work 2022-01-30 12:25:57 +00:00
ssl.h Initial https proxy work 2022-01-30 12:25:57 +00:00
util.c Initial https proxy work 2022-01-30 12:25:57 +00:00
util.h Initial https proxy work 2022-01-30 12:25:57 +00:00
webserver.c Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00
webserver.h Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00