ooni / minivpn

A minimalistic OpenVPN implementation in Go
GNU General Public License v3.0
38 stars 6 forks source link

feat: allow to parse inline certs in the config file #13

Closed ainghazal closed 2 years ago

ainghazal commented 2 years ago

In order to support constructing a single config file it's convenient to be able to pass inline certs, as OpenVPN itself does. These certs are identified by html-like tags:

<ca>, <key>, <cert>

While working on this feature, I also:

ainghazal commented 2 years ago

I have addressed the comments in the review and force-pushed to the branch for this MR. Additionally, while writing documentation for the inline cert feature I realized that there was a potential LFI, that I've addressed at https://github.com/ooni/minivpn/pull/13/commits/1edac4e631698fb316f95af8ba87f482d40cd7b3

Do note that I've spent some time squashing and reordering different commits together: I think it does make sense to preserve the 5 distinct commits linearly in the git history in this case (instead of further squashing all this PR into a single commit, since it's touching quite different things altogether).