The net/eduvpn/vpn-user-portal port
vpn-user-portal-3.9.5 – user and admin portal for Let's Connect/eduVPN (cvsweb github mirror)
Description
The user and admin portal and API for Let's Connect! and eduVPN allowing for self-management by users and administrative tasks by designated administrators.WWW: https://git.sr.ht/~fkooman/vpn-user-portal
Readme
+------------------------------------------------------------------------------- | Running ${PKGSTEM} on OpenBSD +------------------------------------------------------------------------------- Introduction ------------ eduVPN consists of several parts which work together to provide a VPN configuration with flexible web-based authentication. User-friendly clients for various platforms are provided under two different brandings: eduVPN is intended for academic users and the client software is preconfigured to allow choosing from registered institutions; Let's Connect! is a more generic branding and allows direct entry of the VPN server hostname. "vpn-server-node" runs on one or more machines to actually provide the VPN endpoints (the software supports using OpenVPN or WireGuard as a backend; at this point the port maintainer has only tested with OpenVPN; it's possible that WireGuard will work, however to configure wg(4) on OpenBSD vpn-daemon will need to run as root). "vpn-user-portal" handles logins and communicates with "vpn-server-node" via an API. It is written in PHP and the provided configuration examples are suitable for use with Apache httpd ("pkg_add apache-httpd") using php-fpm. They should also work with Apache httpd and mod_php with only minor changes. Both vpn-server-node and vpn-user-portal can be installed on the same machine, and in most non-complex cases usually are. Basic configuration ------------------- - Install the required packages (others are pulled in via dependencies): # pkg_add vpn-server-node vpn-user-portal apache-httpd - Run the vpn-user-portal command to generate secrets: $ doas -u _eduvpn /usr/local/libexec/vpn-user-portal/generate-secrets - Copy the node key generated in the previous step to the location for the server node: $ doas -u _eduvpn cp /etc/vpn-user-portal/keys/node.0.key \ /etc/vpn-server-node/keys/node.key - Run the vpn-server-node command to generate secrets: $ doas -u _eduvpn /usr/local/libexec/vpn-server-node/generate-secrets - Create an initial user account: $ doas -u _eduvpn vpn-user-portal-account --add $username - Add that account to adminUserIdList and review other configuration (the branding is controlled by "styleName" and in most cases you will want "LC"; you will also need to configure at least the default profile in ProfileList). # vi /etc/vpn-user-portal/config.php - Add a configuration section to php-fpm to handle eduVPN requests, for example: (Note that this PHP instance is run as the _eduvpn user, and that chroot is not used here). # cat >> /etc/php-fpm.conf << EOF [eduvpn] user = _eduvpn group = _eduvpn listen = 127.0.0.1:32184 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 EOF # rcctl enable ${PHPFPM} # rcctl restart ${PHPFPM} - Enable proxy_module, proxy_fcgi_module, ssl_module and rewrite_module in /etc/apache2/httpd.conf. - Symlink Apache config files from modules.sample into the "live" directory: # ln -s ../modules.sample/localhost.conf /var/www/conf/modules/ # ln -s ../modules.sample/vpn-user-portal.conf /var/www/conf/modules/ # ln -s ../modules.sample/vpn.host.conf /var/www/conf/modules/ - Update hostnames (replace "vpn.example" with your chosen name) and certificate paths in /var/www/conf/modules/vpn.host.conf. You will need a signed certificate for your chosen hostname. If you don't already have one, you can use acme-client or an alternative client. This guide will not go into full details for this. If using ACME with the common HTTP-01 authentication type, you'll need to arrange to serve the challenge file from the correct directory. You may need to comment-out parts of the TLS configuration to get the server running sufficiently to do this (alternatively use a simpler webserver while getting set up initially). Make sure you are still able to renew the certificate after you've got the system running; the example vpn.host.conf includes an http->https redirect with an exemption for the challenge dir; unless wider changes are made to your Apache httpd configuration this will serve the files from /var/www/htdocs/.well-known/acme-challenge. - Start (or restart) Apache httpd, it will probably be helpful to use the -d flag to rcctl to show output in case you have any errors to fix: # rcctl enable apache2 # rcctl -d restart apache2 - Generate OpenVPN config files: this will make a call to the API URL defined in vpn-server-node configuration, typically to localhost. $ doas -u _eduvpn /usr/local/libexec/vpn-server-node/server-config If you encounter authentication errors, make sure the request is handled by the expected configuration section that's in the example /var/www/conf/modules.sample/localhost.conf and that the keys match between vpn-user-portal and vpn-server-node. - Start OpenVPN using the rc scripts provided by vpn-server-node: # rcctl enable eduvpn_openvpn0 eduvpn_openvpn1 # rcctl start eduvpn_openvpn0 eduvpn_openvpn1 - At this point, you should be able to login to the user interface from a browser using the admin user you created earlier, or login to the VPN using one of the client applications. You can also connect to the web interface and download an OpenVPN configuration file for manual use. - Maintenance scripts for various tasks are provided, you can add them to /etc/crontab: @daily _eduvpn /usr/local/libexec/vpn-user-portal/housekeeping */5 * * * * _eduvpn /usr/local/libexec/vpn-user-portal/daemon-sync */5 * * * * _eduvpn /usr/local/libexec/vpn-user-portal/stats @hourly _eduvpn /usr/local/libexec/vpn-user-portal/fetch-server-list Feedback welcome ---------------- If you have suggestions to improve this quick-start documentation, please contact the port maintainer. For ease of reference, upstream's documentation is available in the eduvpn-documentation package. It is understandably Linux-centric however you may still find it useful.
Maintainer
The OpenBSD ports mailing-list
Categories
Build dependencies
Run dependencies
Files
- /etc/vpn-user-portal/
- /etc/vpn-user-portal/config.php
- /etc/vpn-user-portal/data/
- /etc/vpn-user-portal/keys/
- /usr/local/bin/vpn-user-portal-account
- /usr/local/bin/vpn-user-portal-generate-dns-zones
- /usr/local/bin/vpn-user-portal-status
- /usr/local/libexec/vpn-user-portal/
- /usr/local/libexec/vpn-user-portal/daemon-sync
- /usr/local/libexec/vpn-user-portal/db
- /usr/local/libexec/vpn-user-portal/fetch-server-list
- /usr/local/libexec/vpn-user-portal/generate-prefix
- /usr/local/libexec/vpn-user-portal/generate-secrets
- /usr/local/libexec/vpn-user-portal/housekeeping
- /usr/local/libexec/vpn-user-portal/prefix-calculator
- /usr/local/libexec/vpn-user-portal/stats
- /usr/local/share/doc/pkg-readmes/vpn-user-portal
- /usr/local/share/doc/vpn-user-portal/
- /usr/local/share/doc/vpn-user-portal/CHANGES.md
- /usr/local/share/doc/vpn-user-portal/CONFIG_CHANGES.md
- /usr/local/share/doc/vpn-user-portal/LICENSE
- /usr/local/share/doc/vpn-user-portal/NEW_RELEASE.md
- /usr/local/share/doc/vpn-user-portal/README.md
- /usr/local/share/examples/vpn-user-portal/
- /usr/local/share/examples/vpn-user-portal/config.php.example
- /usr/local/share/examples/vpn-user-portal/localhost.conf
- /usr/local/share/examples/vpn-user-portal/vpn-user-portal.conf
- /usr/local/share/examples/vpn-user-portal/vpn.host.conf
- /var/www/conf/modules.sample/
- /var/www/conf/modules.sample/localhost.conf
- /var/www/conf/modules.sample/vpn-user-portal.conf
- /var/www/conf/modules.sample/vpn.host.conf
- /var/www/vpn-user-portal/
- /var/www/vpn-user-portal/VERSION
- /var/www/vpn-user-portal/config
- /var/www/vpn-user-portal/data
- /var/www/vpn-user-portal/locale/
- /var/www/vpn-user-portal/locale/CREDITS.md
- /var/www/vpn-user-portal/locale/af-ZA.php
- /var/www/vpn-user-portal/locale/ar-MA.php
- /var/www/vpn-user-portal/locale/ca-ES.php
- /var/www/vpn-user-portal/locale/cs-CZ.php
- /var/www/vpn-user-portal/locale/da-DK.php
- /var/www/vpn-user-portal/locale/de-DE.php
- /var/www/vpn-user-portal/locale/empty.php
- /var/www/vpn-user-portal/locale/es-ES.php
- /var/www/vpn-user-portal/locale/es-LA.php
- /var/www/vpn-user-portal/locale/et-EE.php
- /var/www/vpn-user-portal/locale/fr-FR.php
- /var/www/vpn-user-portal/locale/lt-LT.php
- /var/www/vpn-user-portal/locale/nb-NO.php
- /var/www/vpn-user-portal/locale/nl-NL.php
- /var/www/vpn-user-portal/locale/pl-PL.php
- /var/www/vpn-user-portal/locale/pt-PT.php
- /var/www/vpn-user-portal/locale/ro-RO.php
- /var/www/vpn-user-portal/locale/sk-SK.php
- /var/www/vpn-user-portal/locale/sv-SE.php
- /var/www/vpn-user-portal/locale/tr-TR.php
- /var/www/vpn-user-portal/locale/uk-UA.php
- /var/www/vpn-user-portal/phpunit.xml.dist
- /var/www/vpn-user-portal/schema/
- /var/www/vpn-user-portal/schema/2022022201.schema
- /var/www/vpn-user-portal/schema/2022022201_2023011801.migration
- /var/www/vpn-user-portal/schema/2023011801.schema
- /var/www/vpn-user-portal/schema/2023011801_2024052701.migration
- /var/www/vpn-user-portal/schema/2024052701.schema
- /var/www/vpn-user-portal/schema/2024052701_2023011801.migration
- /var/www/vpn-user-portal/schema/2024052701_2024052801.migration
- /var/www/vpn-user-portal/schema/2024052801.schema
- /var/www/vpn-user-portal/schema/2024052801_2024052701.migration
- /var/www/vpn-user-portal/src/
- /var/www/vpn-user-portal/src/Base64.php
- /var/www/vpn-user-portal/src/Base64UrlSafe.php
- /var/www/vpn-user-portal/src/Cfg/
- /var/www/vpn-user-portal/src/Cfg/ApiConfig.php
- /var/www/vpn-user-portal/src/Cfg/Config.php
- /var/www/vpn-user-portal/src/Cfg/ConfigTrait.php
- /var/www/vpn-user-portal/src/Cfg/DbConfig.php
- /var/www/vpn-user-portal/src/Cfg/Exception/
- /var/www/vpn-user-portal/src/Cfg/Exception/ConfigException.php
- /var/www/vpn-user-portal/src/Cfg/LdapAuthConfig.php
- /var/www/vpn-user-portal/src/Cfg/LogConfig.php
- /var/www/vpn-user-portal/src/Cfg/MellonAuthConfig.php
- /var/www/vpn-user-portal/src/Cfg/MemcacheSessionConfig.php
- /var/www/vpn-user-portal/src/Cfg/OidcAuthConfig.php
- /var/www/vpn-user-portal/src/Cfg/PhpSamlSpAuthConfig.php
- /var/www/vpn-user-portal/src/Cfg/ProfileConfig.php
- /var/www/vpn-user-portal/src/Cfg/RadiusAuthConfig.php
- /var/www/vpn-user-portal/src/Cfg/ShibAuthConfig.php
- /var/www/vpn-user-portal/src/Cfg/StaticPermissionsConfig.php
- /var/www/vpn-user-portal/src/Cfg/WireGuardConfig.php
- /var/www/vpn-user-portal/src/ClientConfigInterface.php
- /var/www/vpn-user-portal/src/ConfigCheck.php
- /var/www/vpn-user-portal/src/ConnectionHookInterface.php
- /var/www/vpn-user-portal/src/ConnectionHooks.php
- /var/www/vpn-user-portal/src/ConnectionLogHook.php
- /var/www/vpn-user-portal/src/ConnectionManager.php
- /var/www/vpn-user-portal/src/Crypto/
- /var/www/vpn-user-portal/src/Crypto/Exception/
- /var/www/vpn-user-portal/src/Crypto/Exception/CryptoException.php
- /var/www/vpn-user-portal/src/Crypto/Hmac.php
- /var/www/vpn-user-portal/src/Crypto/HmacKey.php
- /var/www/vpn-user-portal/src/Crypto/Minisign/
- /var/www/vpn-user-portal/src/Crypto/Minisign/Exception/
- /var/www/vpn-user-portal/src/Crypto/Minisign/Exception/MinisignException.php
- /var/www/vpn-user-portal/src/Crypto/Minisign/PublicKey.php
- /var/www/vpn-user-portal/src/Crypto/Minisign/Signature.php
- /var/www/vpn-user-portal/src/Crypto/Minisign/Verifier.php
- /var/www/vpn-user-portal/src/Crypto/VerifierInterface.php
- /var/www/vpn-user-portal/src/Dns.php
- /var/www/vpn-user-portal/src/DnsZoneGenerator.php
- /var/www/vpn-user-portal/src/Dt.php
- /var/www/vpn-user-portal/src/Exception/
- /var/www/vpn-user-portal/src/Exception/ConnectionHookException.php
- /var/www/vpn-user-portal/src/Exception/ConnectionManagerException.php
- /var/www/vpn-user-portal/src/Exception/IpException.php
- /var/www/vpn-user-portal/src/Exception/LdapClientException.php
- /var/www/vpn-user-portal/src/Exception/MigrationException.php
- /var/www/vpn-user-portal/src/Exception/ProtocolException.php
- /var/www/vpn-user-portal/src/Exception/QrCodeException.php
- /var/www/vpn-user-portal/src/Exception/ServerConfigException.php
- /var/www/vpn-user-portal/src/Exception/TplException.php
- /var/www/vpn-user-portal/src/Expiry.php
- /var/www/vpn-user-portal/src/FileIO.php
- /var/www/vpn-user-portal/src/GeoIp.php
- /var/www/vpn-user-portal/src/Hex.php
- /var/www/vpn-user-portal/src/Http/
- /var/www/vpn-user-portal/src/Http/AbstractHook.php
- /var/www/vpn-user-portal/src/Http/AccessHook.php
- /var/www/vpn-user-portal/src/Http/AdminApiModule.php
- /var/www/vpn-user-portal/src/Http/AdminApiService.php
- /var/www/vpn-user-portal/src/Http/AdminHook.php
- /var/www/vpn-user-portal/src/Http/AdminPortalModule.php
- /var/www/vpn-user-portal/src/Http/ApiService.php
- /var/www/vpn-user-portal/src/Http/ApiServiceInterface.php
- /var/www/vpn-user-portal/src/Http/ApiServiceModuleInterface.php
- /var/www/vpn-user-portal/src/Http/ApiUserInfo.php
- /var/www/vpn-user-portal/src/Http/Auth/
- /var/www/vpn-user-portal/src/Http/Auth/AbstractAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/AdminApiAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/ClientCertAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/CredentialValidatorInterface.php
- /var/www/vpn-user-portal/src/Http/Auth/DbCredentialValidator.php
- /var/www/vpn-user-portal/src/Http/Auth/Exception/
- /var/www/vpn-user-portal/src/Http/Auth/Exception/CredentialValidatorChallengeException.php
- /var/www/vpn-user-portal/src/Http/Auth/Exception/CredentialValidatorException.php
- /var/www/vpn-user-portal/src/Http/Auth/LdapCredentialValidator.php
- /var/www/vpn-user-portal/src/Http/Auth/MellonAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/NodeAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/NullAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/OidcAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/PhpSamlSpAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/RadiusCredentialValidator.php
- /var/www/vpn-user-portal/src/Http/Auth/RadiusLogger.php
- /var/www/vpn-user-portal/src/Http/Auth/ShibAuthModule.php
- /var/www/vpn-user-portal/src/Http/Auth/UserPassAuthModule.php
- /var/www/vpn-user-portal/src/Http/AuthModuleInterface.php
- /var/www/vpn-user-portal/src/Http/CookieInterface.php
- /var/www/vpn-user-portal/src/Http/CsrfProtectionHook.php
- /var/www/vpn-user-portal/src/Http/DisabledUserHook.php
- /var/www/vpn-user-portal/src/Http/Exception/
- /var/www/vpn-user-portal/src/Http/Exception/HttpException.php
- /var/www/vpn-user-portal/src/Http/Exception/NodeApiException.php
- /var/www/vpn-user-portal/src/Http/GuestApiService.php
- /var/www/vpn-user-portal/src/Http/HmacUserIdHook.php
- /var/www/vpn-user-portal/src/Http/HookInterface.php
- /var/www/vpn-user-portal/src/Http/HtmlResponse.php
- /var/www/vpn-user-portal/src/Http/JsonResponse.php
- /var/www/vpn-user-portal/src/Http/LogoutModule.php
- /var/www/vpn-user-portal/src/Http/NodeApiModule.php
- /var/www/vpn-user-portal/src/Http/NodeApiService.php
- /var/www/vpn-user-portal/src/Http/NullSession.php
- /var/www/vpn-user-portal/src/Http/OAuthModule.php
- /var/www/vpn-user-portal/src/Http/OAuthTokenModule.php
- /var/www/vpn-user-portal/src/Http/OAuthTokenService.php
- /var/www/vpn-user-portal/src/Http/PasswdModule.php
- /var/www/vpn-user-portal/src/Http/PortalService.php
- /var/www/vpn-user-portal/src/Http/RedirectResponse.php
- /var/www/vpn-user-portal/src/Http/Request.php
- /var/www/vpn-user-portal/src/Http/Response.php
- /var/www/vpn-user-portal/src/Http/SeCookie.php
- /var/www/vpn-user-portal/src/Http/SeSession.php
- /var/www/vpn-user-portal/src/Http/Service.php
- /var/www/vpn-user-portal/src/Http/ServiceInterface.php
- /var/www/vpn-user-portal/src/Http/ServiceModuleInterface.php
- /var/www/vpn-user-portal/src/Http/SessionInterface.php
- /var/www/vpn-user-portal/src/Http/UpdateUserInfoHook.php
- /var/www/vpn-user-portal/src/Http/UserInfo.php
- /var/www/vpn-user-portal/src/Http/VpnApiThreeModule.php
- /var/www/vpn-user-portal/src/Http/VpnPortalModule.php
- /var/www/vpn-user-portal/src/HttpClient/
- /var/www/vpn-user-portal/src/HttpClient/CurlHttpClient.php
- /var/www/vpn-user-portal/src/HttpClient/Exception/
- /var/www/vpn-user-portal/src/HttpClient/Exception/HttpClientException.php
- /var/www/vpn-user-portal/src/HttpClient/HttpClientInterface.php
- /var/www/vpn-user-portal/src/HttpClient/HttpClientRequest.php
- /var/www/vpn-user-portal/src/HttpClient/HttpClientResponse.php
- /var/www/vpn-user-portal/src/Ip.php
- /var/www/vpn-user-portal/src/IpInfo.php
- /var/www/vpn-user-portal/src/IpNetList.php
- /var/www/vpn-user-portal/src/Json.php
- /var/www/vpn-user-portal/src/LdapClient.php
- /var/www/vpn-user-portal/src/LogConnectionHook.php
- /var/www/vpn-user-portal/src/LoggerInterface.php
- /var/www/vpn-user-portal/src/Migration.php
- /var/www/vpn-user-portal/src/NodeInfo.php
- /var/www/vpn-user-portal/src/NullLogger.php
- /var/www/vpn-user-portal/src/OAuth/
- /var/www/vpn-user-portal/src/OAuth/NullAccessTokenVerifier.php
- /var/www/vpn-user-portal/src/OAuth/VpnClientDb.php
- /var/www/vpn-user-portal/src/OAuth/VpnOAuthServer.php
- /var/www/vpn-user-portal/src/OpenVpn/
- /var/www/vpn-user-portal/src/OpenVpn/CA/
- /var/www/vpn-user-portal/src/OpenVpn/CA/CaInfo.php
- /var/www/vpn-user-portal/src/OpenVpn/CA/CaInterface.php
- /var/www/vpn-user-portal/src/OpenVpn/CA/CertInfo.php
- /var/www/vpn-user-portal/src/OpenVpn/CA/Exception/
- /var/www/vpn-user-portal/src/OpenVpn/CA/Exception/CaException.php
- /var/www/vpn-user-portal/src/OpenVpn/CA/VpnCa.php
- /var/www/vpn-user-portal/src/OpenVpn/ClientConfig.php
- /var/www/vpn-user-portal/src/OpenVpn/Exception/
- /var/www/vpn-user-portal/src/OpenVpn/Exception/ClientConfigException.php
- /var/www/vpn-user-portal/src/OpenVpn/ServerConfig.php
- /var/www/vpn-user-portal/src/OpenVpn/TlsCrypt.php
- /var/www/vpn-user-portal/src/PermissionSourceInterface.php
- /var/www/vpn-user-portal/src/PermissionSourceManager.php
- /var/www/vpn-user-portal/src/Protocol.php
- /var/www/vpn-user-portal/src/QrCode.php
- /var/www/vpn-user-portal/src/ScriptConnectionHook.php
- /var/www/vpn-user-portal/src/ServerConfig.php
- /var/www/vpn-user-portal/src/ServerInfo.php
- /var/www/vpn-user-portal/src/ServerList.php
- /var/www/vpn-user-portal/src/StaticPermissionsSource.php
- /var/www/vpn-user-portal/src/Storage.php
- /var/www/vpn-user-portal/src/SysLogger.php
- /var/www/vpn-user-portal/src/Tpl.php
- /var/www/vpn-user-portal/src/TplInterface.php
- /var/www/vpn-user-portal/src/Validator.php
- /var/www/vpn-user-portal/src/VpnDaemon.php
- /var/www/vpn-user-portal/src/WireGuard/
- /var/www/vpn-user-portal/src/WireGuard/ClientConfig.php
- /var/www/vpn-user-portal/src/WireGuard/Key.php
- /var/www/vpn-user-portal/src/WireGuard/ServerConfig.php
- /var/www/vpn-user-portal/vendor/
- /var/www/vpn-user-portal/vendor/autoload.php
- /var/www/vpn-user-portal/vendor/composer/
- /var/www/vpn-user-portal/vendor/composer/ClassLoader.php
- /var/www/vpn-user-portal/vendor/composer/InstalledVersions.php
- /var/www/vpn-user-portal/vendor/composer/LICENSE
- /var/www/vpn-user-portal/vendor/composer/autoload_classmap.php
- /var/www/vpn-user-portal/vendor/composer/autoload_namespaces.php
- /var/www/vpn-user-portal/vendor/composer/autoload_psr4.php
- /var/www/vpn-user-portal/vendor/composer/autoload_real.php
- /var/www/vpn-user-portal/vendor/composer/autoload_static.php
- /var/www/vpn-user-portal/vendor/composer/installed.json
- /var/www/vpn-user-portal/vendor/composer/installed.php
- /var/www/vpn-user-portal/vendor/composer/platform_check.php
- /var/www/vpn-user-portal/vendor/fkooman/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/.build.yml
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/.forgejo/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/.forgejo/workflows/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/.forgejo/workflows/tests.yml
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/.php-cs-fixer.dist.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/CHANGES.md
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/LICENSE
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/Makefile
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/README.md
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/TOKEN_FORMAT.md
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/composer.json
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/php.mod
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/phpstan.neon
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/phpunit.xml.dist
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/psalm.xml.dist
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/AccessToken.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/AccessTokenVerifierInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Authorization.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/AuthorizationCode.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Base64UrlSafe.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/BearerValidator.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/ClientDbInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/ClientInfo.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Dt.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/InsufficientScopeException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/InvalidClientException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/InvalidGrantException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/InvalidRequestException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/InvalidScopeException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/InvalidTokenException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/OAuthException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Exception/SignerException.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Extractor.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/JsonResponse.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/Post.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/Query.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/RedirectResponse.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/Request.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Http/Response.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Json.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/LocalAccessTokenVerifier.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/OAuthServer.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/PdoStorage.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/PublicKeySourceInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/RefreshToken.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Scope.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/Signer.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/SignerInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/SimpleClientDb.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/StorageInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/src/ValidatorInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/tools/
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/tools/decode_token.php
- /var/www/vpn-user-portal/vendor/fkooman/oauth2-server/tools/generate_key.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/
- /var/www/vpn-user-portal/vendor/fkooman/radius/.build.yml
- /var/www/vpn-user-portal/vendor/fkooman/radius/.forgejo/
- /var/www/vpn-user-portal/vendor/fkooman/radius/.forgejo/workflows/
- /var/www/vpn-user-portal/vendor/fkooman/radius/.forgejo/workflows/tests.yml
- /var/www/vpn-user-portal/vendor/fkooman/radius/.php-cs-fixer.dist.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/CHANGES.md
- /var/www/vpn-user-portal/vendor/fkooman/radius/LICENSE
- /var/www/vpn-user-portal/vendor/fkooman/radius/Makefile
- /var/www/vpn-user-portal/vendor/fkooman/radius/README.md
- /var/www/vpn-user-portal/vendor/fkooman/radius/composer.json
- /var/www/vpn-user-portal/vendor/fkooman/radius/phpstan.neon
- /var/www/vpn-user-portal/vendor/fkooman/radius/phpunit.xml.dist
- /var/www/vpn-user-portal/vendor/fkooman/radius/psalm.xml.dist
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/AttributeCollection.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/ClientConfig.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/AccessChallengeException.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/AccessRejectException.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/AttributeCollectionException.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/PasswordException.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/RadiusException.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Exception/SocketException.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/LoggerInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/MessageAuthenticator.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/NullLogger.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Password.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/PhpSocket.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/RadiusClient.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/RadiusPacket.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/ResponseAuthenticator.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/ServerInfo.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/SocketInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/radius/src/Utils.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/
- /var/www/vpn-user-portal/vendor/fkooman/secookie/.build.yml
- /var/www/vpn-user-portal/vendor/fkooman/secookie/.php-cs-fixer.dist.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/AUTHORS.md
- /var/www/vpn-user-portal/vendor/fkooman/secookie/CHANGES.md
- /var/www/vpn-user-portal/vendor/fkooman/secookie/LICENSE
- /var/www/vpn-user-portal/vendor/fkooman/secookie/Makefile
- /var/www/vpn-user-portal/vendor/fkooman/secookie/README.md
- /var/www/vpn-user-portal/vendor/fkooman/secookie/composer.json
- /var/www/vpn-user-portal/vendor/fkooman/secookie/extra/
- /var/www/vpn-user-portal/vendor/fkooman/secookie/extra/test_memcache.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/extra/test_mysql.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/phpstan.neon
- /var/www/vpn-user-portal/vendor/fkooman/secookie/psalm.xml.dist
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/ActiveSession.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/Cookie.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/CookieOptions.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/Exception/
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/Exception/CookieException.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/Exception/SessionException.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/FileSessionStorage.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/JsonSerializer.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/MemcacheSessionStorage.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/PdoSessionStorage.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/PhpSerializer.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/SerializerInterface.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/Session.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/SessionOptions.php
- /var/www/vpn-user-portal/vendor/fkooman/secookie/src/SessionStorageInterface.php
- /var/www/vpn-user-portal/views/
- /var/www/vpn-user-portal/views/authorizeOAuthClient.php
- /var/www/vpn-user-portal/views/base.php
- /var/www/vpn-user-portal/views/errorPage.php
- /var/www/vpn-user-portal/views/languageSwitcher.php
- /var/www/vpn-user-portal/views/logoutButton.php
- /var/www/vpn-user-portal/views/manualConfiguration.php
- /var/www/vpn-user-portal/views/menu.php
- /var/www/vpn-user-portal/views/userPassAuth.php
- /var/www/vpn-user-portal/views/vpnAdminConnections.php
- /var/www/vpn-user-portal/views/vpnAdminInfo.php
- /var/www/vpn-user-portal/views/vpnAdminLog.php
- /var/www/vpn-user-portal/views/vpnAdminStats.php
- /var/www/vpn-user-portal/views/vpnAdminUserConfigList.php
- /var/www/vpn-user-portal/views/vpnAdminUserList.php
- /var/www/vpn-user-portal/views/vpnPortalAccount.php
- /var/www/vpn-user-portal/views/vpnPortalHome.php
- /var/www/vpn-user-portal/views/vpnPortalPasswd.php
- /var/www/vpn-user-portal/views/vpnPortalWgConfig.php
- /var/www/vpn-user-portal/web/
- /var/www/vpn-user-portal/web/admin-api.php
- /var/www/vpn-user-portal/web/api.php
- /var/www/vpn-user-portal/web/css/
- /var/www/vpn-user-portal/web/css/screen.css
- /var/www/vpn-user-portal/web/img/
- /var/www/vpn-user-portal/web/img/icon-LC.png
- /var/www/vpn-user-portal/web/img/icon-Unknown.png
- /var/www/vpn-user-portal/web/img/icon-eduVPN.png
- /var/www/vpn-user-portal/web/img/icon-govVPN.png
- /var/www/vpn-user-portal/web/index.php
- /var/www/vpn-user-portal/web/node-api.php
- /var/www/vpn-user-portal/web/oauth.php
- /var/www/vpn-user-portal/web/well-known.php
- @newgroup _eduvpn:886
- @newuser _eduvpn:886:_eduvpn::eduvpn user:/nonexistent:/sbin/nologin