Commit Graph

291 Commits

Author SHA1 Message Date
Nikos Mavrogiannopoulos
7a7d432d0f use REMOTE_HOSTNAME to pass the user's advertised hostname
The previously used HOSTNAME variable is being overriden by bash and
thus was not a reliable one. We switch to setting REMOTE_HOSTNAME,
but keep the HOSTNAME for compatibility.

This also changes 'test-pass-script' to check for the new variable.

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-08-05 23:05:24 +02:00
Nikos Mavrogiannopoulos
68eccaedf7 sample.config: documented host-update-script and added unit test
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-28 20:12:52 +02:00
Nikos Mavrogiannopoulos
9460367822 Added the config option of a pre-login banner
Resolves: #313

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-27 22:15:12 +02:00
Nikos Mavrogiannopoulos
e75e8d2471 README.md/sample.config: underline the need for a dedicated user
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-20 19:48:11 +02:00
William Dauchy
f4c7d41d14 add basic namespace support for listen address
- this patch adds `listen-netns` parameter
- when set the listening socket will be created in the given namespace

it allows to properly segregate your traffic:
- do the backend traffic in the root namespace
- receive the VIP traffic in a given namespace

All this patch is widely inspired by haproxy implementation which allows
to bind each IP in a given namespace.

Resolves: #316

Signed-off-by: William Dauchy <w.dauchy@criteo.com>
2020-07-13 18:11:30 +02:00
Alan Jowett
6533299b78 Improve accept rate limitation and make it conditional on queue depth.
Resolves: #310

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2020-07-11 12:51:29 +02:00
Alan Jowett
722e030e58 Add reporting of RX latency
Resolve: #258

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2020-05-26 18:14:36 -06:00
Alan Jowett
ce66485ee6 Uses fork/exec to limit memory footprint of ocserv-worker processes
Capture all the required worker process state in a protobuf and
pass to worker via env. Snapshot all config files to ensure ocserv-sm
and ocserv-worker remain in sync. Split ocserv-worker functionality
into it's own executable with minimal dependencies.

Resolves: #285

Signed-off-by: Alan Jowett alanjo@microsoft.com
2020-05-25 08:33:16 +02:00
Nikos Mavrogiannopoulos
33f225108a config: removed reference of user-profile in group config
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-09 22:56:52 +02:00
Nikos Mavrogiannopoulos
b24c427b15 config: document that user-profile cannot be set per user
Relates: #270
Resolves: #179

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-09 22:53:02 +02:00
Alan Jowett
b43e782b12 Add support for RFC6750 bearer tokens to ocserv
This permits the validation of OpenID Connect auth tokens OpenID
Connect is an OAuth 2.0 protocol used to identify a resource owner
(VPN client end-user) to a resource server (VPN server) intermediated
by an Authorization server.

Resolves: #240

Signed-off-by: Alan TG Jowett <alan.jowett@microsoft.com>
2020-03-09 21:48:04 +01:00
Nikos Mavrogiannopoulos
1a6776c3a7 doc: updated ronn usage and fail when manpage cannot be generated
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2020-02-07 17:12:59 +01:00
Nikos Mavrogiannopoulos
4bcf29643d ocserv: added support for per-user split-dns directive
Resolves: #229

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-11-17 11:06:47 +01:00
Nikos Mavrogiannopoulos
cb138ede03 sample.config: documented script exit code handling [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-10-30 08:24:06 +01:00
Lele Long
17ed47488d Add udp-listen-host option for DTLS
This option supports different listen addresses for tcp and
udp such as haproxy for tcp, but support dtls at the same time (haproxy
does not support UDP at the moment)
2019-09-30 09:01:55 +08:00
Nikos Mavrogiannopoulos
e2b1246003 design.md: updated URI [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-07-14 20:49:27 +02:00
Nikos Mavrogiannopoulos
9d7339f317 Perform quicker cleanup of sessions which their user explicitly disconnected
When a user explicitly disconnects after the session is open,
cleanup its entry immediatelly. That ensures that a radius
server will be notified sooner, while anyconnect clients which
disconnect early (before session is open), remain unaffected.

Resolves: #210

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-07-01 21:57:08 +02:00
Nikos Mavrogiannopoulos
39c6d578b5 doc: clarification on cookie operation
This clarifies how cookies are expired, and how they affect
session accounting in radius.

Relates #166

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-09-22 21:35:57 +02:00
Timo Förster
8f7a416aa4 Change documentation url for UsersFile. Fixes #163
Signed-off-by: Timo Förster <tfoerster@webfoersterei.de>
2018-08-07 10:35:31 +02:00
Nikos Mavrogiannopoulos
2c460034a3 ocserv.8: link to openconnect(8)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-06-26 02:24:34 +02:00
Nikos Mavrogiannopoulos
20f7ea1355 README-radius.md: mention groupconfig=true relevance for Class attribute [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-05-13 08:37:54 +02:00
Nikos Mavrogiannopoulos
bbc7958490 doc: fail safe when ronn is not available
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-04-23 22:07:10 +02:00
Nikos Mavrogiannopoulos
d989b925c4 doc: corrected typo in manpage generation
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-04-23 21:57:16 +02:00
Nikos Mavrogiannopoulos
3a74ea81ea doc: dist_man_MANS are defined unconditionally
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2018-04-23 11:16:56 +02:00
Nikos Mavrogiannopoulos
601ce35a89 doc: added missing file
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-04-22 10:54:58 +02:00
Nikos Mavrogiannopoulos
2ae4c2b2ed sample.config: the example paths reflect real system paths
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-04-15 17:25:27 +02:00
Nikos Mavrogiannopoulos
8245843166 updated URI
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-03-10 08:05:07 +01:00
Nikos Mavrogiannopoulos
ecf9132495 doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-03-06 20:42:33 +01:00
Nikos Mavrogiannopoulos
ba6921ed9a Introduced the notion of virtual hosts
This provides virtualized server configurations which take
effect after client connection when client hello is received.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-03-06 20:42:31 +01:00
Nikos Mavrogiannopoulos
b7a14f1c4a doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-02-19 20:18:38 +01:00
Nikos Mavrogiannopoulos
a157fc7068 doc: clarify auth and enable-auth
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2018-02-19 15:41:36 +01:00
Nikos Mavrogiannopoulos
760199a33c doc: man-pages are modified to be generated using ronn
That eliminates the need for autogen and also combines
doc/sample.config and manpage contents. Now the doc/sample.config
is the primary config documentation location.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-23 21:07:18 +01:00
Nikos Mavrogiannopoulos
bdb5ae4516 sample.config: added session-timeout parameter
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-12-11 08:26:48 +01:00
Nikos Mavrogiannopoulos
6ac543e3a0 document that not all methods can be combined
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-05-31 09:34:23 +02:00
Nikos Mavrogiannopoulos
0d8ee5e6a9 config: increased the default max-ban-score to 8 wrong password attempts
This still prevents abuse, while allowing few more attempts than 5, which
are typically easily reached through software which remembers passwords.
At the same time increase the default ban time to 20 minutes.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-04-23 19:09:39 +02:00
Nikos Mavrogiannopoulos
e8b19309f1 sample.config: added server-stats-reset-time
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-04-14 16:39:00 +03:00
Nikos Mavrogiannopoulos
b2e199577d doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-04-14 11:36:42 +03:00
Nikos Mavrogiannopoulos
18fa25fea2 doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-03-28 08:08:49 +02:00
Nikos Mavrogiannopoulos
fa3dad2e37 doc: document limitations of listen-clear-file
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-03-25 19:55:46 +01:00
Nikos Mavrogiannopoulos
3033591343 doc update [ci skip] 2017-01-29 15:29:51 +01:00
Johannes Sjøkvist
ae2fd78580 Add support for oid 2.5.29.17 RFC822Name
This is needed to be able to retreive email from the Subject
Alternative Name from the certificate.

Signed-off-by: Johannes Sjøkvist <johannes@konsept-it.no>
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-01-28 15:04:20 +01:00
Nikos Mavrogiannopoulos
3d940695d8 Added contribution guide and require DCO
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-01-10 16:52:18 +01:00
Nikos Mavrogiannopoulos
0b47b305de improved documentation of user-profile option 2017-01-04 16:20:57 +01:00
Mike Miller
34fd11d3a8 Fix typos in man pages, config files, and comments
Signed-off-by: Mike Miller <mtmiller@debian.org>
2016-12-13 18:01:23 -08:00
Nikos Mavrogiannopoulos
1b7e00ed02 Use unique names for autogen files
This addresses issue in parallel builds caused by autogen
using the same temporary files for both occtl and ocpasswd
files.

Resolves #76
2016-12-13 09:39:51 +01:00
Nikos Mavrogiannopoulos
b5c39e2edf sample.config: include switch-to-tcp-timeout directive 2016-11-15 14:57:48 +01:00
Nikos Mavrogiannopoulos
135ee6dd75 doc update 2016-10-20 16:28:49 +02:00
Nikos Mavrogiannopoulos
f0f25dde00 doc: point to README-radius.md for radius configuration attributes 2016-10-09 17:39:37 +02:00
Nikos Mavrogiannopoulos
7f1297959b doc: mention about NAS-Port in radius README file 2016-09-27 15:41:48 +02:00
Nikos Mavrogiannopoulos
5fce6c8c86 Use the X-AnyConnect-Identifier-Platform header to identify mobile clients
That is, if the header contains "android" or "apple-ios" mark it as
a mobile client. The header X-AnyConnect-Identifier-DeviceType is only
considered for logging purposes and appended to the user-agent name
if present.
2016-09-25 15:44:43 +02:00