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.
making requests to something like example.com over a non-encrypted
connection now works. Binary files are unlikely to work at the moment
although I haven't tried. Also, non-encrypted doesn't work.
I have also changed a little about how tests work. Requests tests now
display much better.
I have started writing tests for the config functions. This has resulted
in a few changes to the config code (tests working I guess)
I have also added a special "all" config file which (as the name
suggests) runs all test suites
In the makefile I have added the compiled test files to the clean target
and added targets for building and running tests
I have done some work on opening a socket and waiting for a connection.
This can be read line by line and I have started a request struct that
it will accept.
Also started on some docs. Not much is yet working. I am going to start
learning µnit for unit tests:
https://nemequ.github.io/munit/