`ocserv` is a VPN server which follows the openconnect protocol
(https://github.com/openconnect/protocol). The packaging is slightly
inspired by the AUR version
(https://aur.archlinux.org/packages/ocserv/).
This patch initializes the package written in C, the man pages and a
module for a simple systemd unit to run the VPN server. The package
supports the following authentication methods for the server:
* `plain` (mostly username/password)
* `pam`
The third method (`radius`) is currently not supported since `nixpkgs`
misses a packaged client.
The module can be used like this:
``` nix
{
services.ocserv = {
enable = true;
config = ''
...
'';
};
}
```
The option `services.ocserv.config` is required on purpose to
ensure that nobody just enables the service and experiences unexpected
side-effects on the system. For a full reference, please refer to the
man pages, the online docs or the example value.
The docs recommend to simply use `nobody` as user, so no extra user has
been added to the internal user list. Instead a configuration like
this can be used:
```
run-as-user = nobody
run-as-group = nogroup
```
/cc @tenten8401
Fixes#42594
Until now it's impossible to override the attrs of the actual build
instruction for the `termite` package like this:
```
termite.overrideAttrs (_: {
# ...
})
```
This issue occurs since the `termite/default.nix` expressions returns
the `symlinkJoin` expression when I override termite (e.g. to provide a
config file).
I recently patched termite and wanted to apply this patch to my local
termite installation in my system config which is impossible this, so
splitting the wrapper and the build instruction into their own files
makes this way easier to maintian.
While I'm not sure whether it's suitable for my tasks it might be useful
for others doing reverse engineering, so I decided to package it.
The software seems to have stalled development since a while but became
active again recently, so hopefully some of the issues with packaging
will be fixed and they might want to move away from their handwritten
configure script.
I've tested the package on both i686-linux and x86_64-linux, however the
automated test suite seems to be broken upstream at the moment so I
didn't set doCheck to true, but once this is fixed, we can enable them
in a future update.
Signed-off-by: aszlig <aszlig@nix.build>