Commit Graph

257 Commits

Author SHA1 Message Date
Nikos Mavrogiannopoulos
0ecef93423 .gitlab-ci.yml: reenable address sanitizer
This disables all the tests that use LD_PRELOAD, and thus limits
the test suite on the tests that are run as root.

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-08-05 23:08:43 +02:00
Nikos Mavrogiannopoulos
0fa951a06b .gitlab-ci.yml: introduced clang compilation
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-08-03 14:54:59 +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
770c4202f5 Provide option to suppress tests that depend on /dev/net/tun
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2020-07-08 14:31:35 -06:00
Alan Jowett
be17dac16f OpenBSD lacks support for procfs
Based on
60641282df.

Snapshot of config files are used to ensure that ocserv-sm and
ocserv-worker remain in sync. These snapshots are anonymous files that
are passed via a file descriptor. A worker creates a new file
description and file descriptor by using open(2) on /proc/self/fd.
Unfortunately OpenBSD lacks support for procfs.

Instead of using snapshot of config files let workers use the config
files.

While here add a note to README.md about this limitation, and add a CI
run (from @nmav).

Signed-off-by: Björn Ketelaars <bjorn.ketelaars@hydroxide.nl>
2020-07-01 16:20:46 +02:00
Nikos Mavrogiannopoulos
56794e4b0c bumped version
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-06-16 19:37:45 +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
Nikos Mavrogiannopoulos
350250ea82 worker: allow filtered calls to fail with a trap
This adds a fedora CI run to with filtered calls failing
with a signal in order to detect missing syscalls from our filters.

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-05-10 21:45:05 +02:00
Nikos Mavrogiannopoulos
626ca7f377 configure: fixed enable-oidc-auth help message
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2020-04-22 13:01:43 +02:00
Nikos Mavrogiannopoulos
fd2bd42cb2 .gitlab-ci.yml: corrected kerberos tests
This also corrects the kerberos test script environment
to enable running the test.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2020-04-10 23:06:07 +02:00
Nikos Mavrogiannopoulos
8cb14b7ebd released 1.0.1
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-09 23:07:19 +02:00
Nikos Mavrogiannopoulos
9246431590 tests: radius tests are not run when radius is disabled
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-08 19:25:56 +02:00
Nikos Mavrogiannopoulos
3382277e97 released 1.0.0
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-03-20 13:58:25 +01:00
Nikos Mavrogiannopoulos
13b92d3b11 Fix crypt.h detection
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2020-03-12 19:47:50 +01: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
1d7a7088bf released 0.12.6
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2019-12-28 20:19:44 +01:00
Nikos Mavrogiannopoulos
c9e907c841 tests: replaced docker-based kerberos test case with one that runs in CI
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-11-17 14:51:21 +01:00
Nikos Mavrogiannopoulos
962de41fba released 0.12.5
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-10-16 21:32:24 +02:00
Nikos Mavrogiannopoulos
960032e065 occtl: use maxminddb when available
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-10-15 12:11:17 +02:00
Nikos Mavrogiannopoulos
4da4ade2a3 bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-07-01 21:55:32 +02:00
Nikos Mavrogiannopoulos
03cd4a198c released 0.12.3
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-03-12 21:14:24 +01:00
Nikos Mavrogiannopoulos
579cfc0ead Added support for AES-256-CBC
This enables support for AES-256 for anyconnect clients which
do not support AES-GCM. Also prioritized the 256-bit ciphers
higher than the 128-bit ones.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-07-20 21:58:49 +02:00
Nikos Mavrogiannopoulos
c1aee4fe9a configure: bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-05-12 05:20:02 +00:00
Nikos Mavrogiannopoulos
ece70b0d6c configure: always work-around brokenness of gnutls_certificate_set_key
That is, instead of requiring the user to explicitly pass --with-broken-gnutls
warn at the end of the configure script.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-05-12 05:20:02 +00:00
Nikos Mavrogiannopoulos
094145bf54 configure: refuse to compile with known dependency issues
In particular require gnutls 3.5.5 which fixes cleanups in
gnutls_certificate_set_key(), or a recent version of
the 3.3.x branch. When forced to use a broken version work-around
issues (at the cost of a memory leak).

Resolves #152

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-05-04 23:21:37 +02:00
Nikos Mavrogiannopoulos
9ecafa9d73 configure: do not warn on string truncation
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-04-14 14:23:21 +02:00
Nikos Mavrogiannopoulos
9cdd2be7f0 include crypt.h to use crypt()
This is necessary in Fedora28 as it doesn't provide
crypt() prototype in unistd.h

https://bugzilla.redhat.com/show_bug.cgi?id=1566464

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2018-04-12 14:59:05 +02:00
Nikos Mavrogiannopoulos
265e30dab7 tests: full-test was moved into traffic test
The new traffic test only requires namespaces and no docker.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-04-05 20:06:27 +02:00
Nikos Mavrogiannopoulos
d8731fbb99 configure: warn when no worker isolation is available
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-03-21 12:52:04 +01:00
Nikos Mavrogiannopoulos
dfab7f6e30 Create coverage report and depend on pre-built CI images
It will be made available at:
https://ocserv.gitlab.io/ocserv/coverage/

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-03-12 21:54:44 +01:00
Nikos Mavrogiannopoulos
5d0205332d tests: introduced test program to check basic vhost functionality
This checks whether connecting to different virtual hosts
with different authentication methods works.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-03-06 20:42:33 +01:00
Nikos Mavrogiannopoulos
66f9f97d1d test: replaced docker otp-test with cwrap test-otp
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-02-25 16:00:09 +01:00
Nikos Mavrogiannopoulos
e61029445c gnutls: increased dependency to 3.3.0
That way PKCS#11 reinitialization and global initialization are
implicit.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-02-11 12:02:30 +01:00
Nikos Mavrogiannopoulos
e6c4d5e492 bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-23 21:11:57 +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
1b8079a11a Replaced the configuration parser with inih parser
That eliminates the dependency on libopts as well as autogen.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-23 21:07:18 +01:00
Nikos Mavrogiannopoulos
533677bd73 ocserv: use getopt for command line parsing
The complexity of its command line options didn't require
the use of libopts, and by eliminating that dependency for cmd
parsing, we can chose another parser for config file parsing.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-23 21:07:18 +01:00
Nikos Mavrogiannopoulos
6b7d09485e ocpasswd: removed dependency on autogen
The complexity of its command line options didn't require
the linking to yet another library.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-23 21:07:18 +01:00
Nikos Mavrogiannopoulos
cbac133b07 .gitlab-ci.yml: added a -Werror build under F27
That helps catch any potential issues early.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-23 21:07:18 +01:00
Nikos Mavrogiannopoulos
924ebdf143 configure: use the -Wextra gcc flag for warnings
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2018-01-12 13:43:58 +01:00
Nikos Mavrogiannopoulos
f6a6f0bc34 bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2018-01-07 16:34:37 +01:00
Nikos Mavrogiannopoulos
7937fe2533 bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-10-09 21:45:43 +02:00
Nikos Mavrogiannopoulos
b5d77da7f4 Separate root from docker tests
This allows running the root tests under CI, even if the
docker tests (which cannot be run) are not.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-09-09 11:27:35 +02:00
Nikos Mavrogiannopoulos
7fcb1d835d configure.ac: also check /lib/security for PAMDIR
This is the path used in Debian.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-09-09 10:51:47 +02:00
Nikos Mavrogiannopoulos
077e16e36d tests: check server functionality with Ed25519/RSA-PSS certs
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-08-23 12:00:15 +02:00
Nikos Mavrogiannopoulos
f0969ffd3f configure: allow disabling libgeoip detection
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-05-03 00:12:26 +02:00
Nikos Mavrogiannopoulos
1c236a8abb occtl: print peer location on show user info
That utilizes libgeoip.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2017-05-02 13:45:38 +02:00
Nikos Mavrogiannopoulos
1627f09cc9 configure: bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-04-25 19:01:32 +02:00
Nikos Mavrogiannopoulos
d23215b584 bumped version 2017-02-12 10:19:02 +01:00