cd5e01edd9
`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
27 lines
917 B
Nix
27 lines
917 B
Nix
{ stdenv, fetchFromGitLab, autoreconfHook, pkgconfig, nettle, gnutls
|
|
, libev, protobufc, guile, geoip, libseccomp, gperf, readline
|
|
, lz4, libgssglue, ronn, coreutils, pam
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "ocserv-${version}";
|
|
version = "0.12.1";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "openconnect";
|
|
repo = "ocserv";
|
|
rev = "ocserv_${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
|
|
sha256 = "0jn91a50r3ryj1ph9fzxwy2va877b0b37ahargxzn7biccd8nh0y";
|
|
};
|
|
|
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
|
buildInputs = [ nettle gnutls libev protobufc guile geoip libseccomp gperf readline lz4 libgssglue ronn pam ];
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://gitlab.com/openconnect/ocserv;
|
|
license = licenses.gpl2;
|
|
description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client.";
|
|
maintainers = with maintainers; [ ma27 ];
|
|
};
|
|
}
|