Starts work on https as well as some moving about

I now start the listener in the main.c file rather than proxy given that
I didn't feel proxy was the right place if a normal (non-proxied)
request came in. webserver.{c,h} and proxy.{c,h} had some changes
relating to this.

The config changed slightly - we now create a folder in ~/.config/
called yaip. This is where certificates and so on will be stored along
with the user configuration

I created a helper function to get files inside this directory (it
changes based on xdg_config_home) and updated relevant tests.

In ssl.{c,h} I have started work. If they don't exist, the tool now
creates and stores a key and certificate for the CA that this tool will
need to pretend to be. I still need to write tests for this.
This commit is contained in:
Jonathan Hodgson 2022-01-20 16:53:35 +00:00
parent 6eaad263be
commit bb62ed3b1f
14 changed files with 366 additions and 100 deletions

View file

@ -6,3 +6,18 @@ Response* webserverGetResponse( Request *req ){
responseSetBody(rsp, "Test", 1);
return rsp;
}
void webserverRequest( Request *req, int client ){
Response *rsp = webserverGetResponse( req );
char *responseStr = responseToString( rsp );
// I'm also not convinced that strlen is the best function to use here
// When we get to dealing with binary requests / responses, they may
// well have null characters in them
send(client , responseStr, strlen(responseStr) , 0 );
free( responseStr );
freeResponse( rsp );
}