Commit Graph

464 Commits

Author SHA1 Message Date
Nikos Mavrogiannopoulos
37856ba314 doc update
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-10-19 21:38:35 +02:00
Alan Jowett
3436705a9c Allow setup of new DTLS session while processing on old session
Resolves: #359

Signed-off-by: Alan Jowett alan.jowett@microsoft.com
2020-10-19 10:36:03 -06:00
Nikos Mavrogiannopoulos
e7233819da inih: increased max line size
This also removes the stop on first error directive
which was set but not used for very long time.

Resolves: #364

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-10-18 13:30:00 +02:00
Nikos Mavrogiannopoulos
f8ff70a098 NEWS: updated
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-10-02 21:56:48 +02:00
Alan Jowett
12c3d62276 Stop listening on ocserv-sm socket on error to prevent looping.
Resolves #356

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
2020-09-29 22:51:52 +02:00
Nikos Mavrogiannopoulos
b9f8ea6b6c bumped version for 1.1.1 release
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-09-21 12:21:21 +02:00
Nikos Mavrogiannopoulos
6be284dd63 radius: ignore redundant group class
This ignores any items following the first group class attribute.

Resolves: #332

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-09-03 14:35:31 +02:00
Alan Jowett
945699097d Modify ocserv-sm to permit it to scale up to the number of CPUs. This permits a higher rate of client connections and prevents TLS signing from becoming a bottleneck for clients connecting.
Resolves: #341

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2020-08-26 09:46:04 -06:00
Nikos Mavrogiannopoulos
2f9d534e2c NEWS: corrected issue number [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-30 22:41:14 +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
8aa39b0106 Improved user disconnection to avoid race conditions
Previously when we were disconnecting a user there were few seconds
after which the cookie was still valid, so a reconnect would succeed
by the same user. This change ensures that a disconnected (via occtl)
user cannot re-use the same cookie to connect. That enables a safe
user removal from the authentication database, and from run-time.

Resolves: #59

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-25 21:38:55 +02:00
Nikos Mavrogiannopoulos
5b8f3320d3 ocserv: disable TLS1.3 when cisco client compatibility is requested
There are certain anyconnect clients which seem to fail connecting using
TLS1.3.

Resolves: #318

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-16 13:20:21 +02:00
Nikos Mavrogiannopoulos
5882c9468c doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2020-07-15 09:05:07 +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
Nikos Mavrogiannopoulos
9ae0c9831d NEWS: doc update
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-07-03 18:25:53 +02:00
Nikos Mavrogiannopoulos
56794e4b0c bumped version
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-06-16 19:37:45 +02:00
Nikos Mavrogiannopoulos
2df4eb71fe NEWS: mention ocserv-worker binary
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2020-05-25 08:37:26 +02: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
Alan Jowett
75470d99c3 When setting up the DTLS session, close the previous DTLS session if it exists.
Resolves: #293

Signed-off-by: Alan Jowett alanjo@microsoft.com
2020-04-29 13:39:28 +02:00
Nikos Mavrogiannopoulos
c407ef9cc5 doc update
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-22 21:36:48 +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
304dc8af2d doc update [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-09 23:06:05 +02:00
Nikos Mavrogiannopoulos
2d9bc11f59 occtl: list actual banned entries
This fixes the ban entries listing from printing all the items in
the database, to all the items that are actually banned from
connecting.

Resolves: #272

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2020-04-03 22:09:14 +02:00
Nikos Mavrogiannopoulos
aa9c401cac Prevent clients with a broken GnuTLS version from connecting using DTLS
That prevents clients that send an all-zero DTLS client hello from being
able to establish a connection.

That also introduces the OCSERV_ALLOW_BROKEN_CLIENTS environment variable
which when set to 1 it allows broken clients to connect. This is used
mainly to allow test cases to pass to existing vulnerable systems in our
CI.

Resolves: #277

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-04-03 12:51:22 +02:00
Nikos Mavrogiannopoulos
ced7ba9fd3 doc update
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-03-27 08:24:15 +01: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
cf0bca2cae radius: do not include NAS-Port via rc_aaa()
We were previously asking rc_aaa() to include NAS-Port pair to
the request which has undesirable results.

Resolves: #269

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-03-19 22:20:40 +01:00
Nikos Mavrogiannopoulos
3475e2b0fc Provide a special IPv6 route for iOS
When IPv6 is requested by iphone we provide a special route that is
necessary by these clients to use IPv6.

Resolves: #254

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-03-15 13:23:37 +01:00
Nikos Mavrogiannopoulos
b0c885ca63 ocserv: fix PSK negotiation
This fixes a regression which prevented DTLS-PSK (or PSK-NEGOTIATE)
from being negotiated.

Resolves: #262

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2020-03-12 16:14:22 +01:00
Alan Jowett
780fbb89a0 Script needs access to additional client metadata.
Export more information to the script, including client device platform,
type and user agent.

Resolves: #256

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2020-03-11 09:13:55 +01:00
Nikos Mavrogiannopoulos
9a41a27b18 NEWS: documented bearer token support
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-03-09 21:51:06 +01:00
Nikos Mavrogiannopoulos
4aeb5ea52e NEWS: doc update
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-02-28 22:50:29 +01:00
Nikos Mavrogiannopoulos
cc651b9de5 Ensure scripts have all the information on all disconnection types
When a client re-uses a cookie and takes over a previous connection
previously the disconnect script of the old connection wouldn't receive
the IP information. Ensure that all information is provided to scripts
at this case.

Resolves: #231

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-02-23 13:44:19 +01:00
Nikos Mavrogiannopoulos
1bce6526f3 updated NEWS entries [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-02-07 22:50:00 +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
79f6671237 doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-12-28 20:14:59 +01:00
Nikos Mavrogiannopoulos
55d5af2ebc check_multiple_users: do not account disconnected ones
When max-same-clients is set to 1 and a user re-using a cookie
connects, check_multiple_users() would prevent the user from
reconnecting. This corrects the issue by taking into account
only valid sessions that have not yet been disconnected.

Resolves: #223

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-12-16 21:30:24 +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
Leendert van Doorn
f73269175a AnyConnect clients expect a different verb (X-CSTP-DNS-IP6) for passing IPv6 DNS addresses.
Signed-off-by: Leendert van Doorn <leendert@paramecium.org>
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-11-17 09:07:16 +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
b9ff297c7d NEWS: updated
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-10-03 09:21:25 +02:00
Nikos Mavrogiannopoulos
92b5db7b26 occtl: fix json in show status
This removes a trailing comma from the end of the listing, and
adds a missing one.

Resolves: #220

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-09-25 20:37:16 +02:00
Nikos Mavrogiannopoulos
e892ba4faa released 0.12.4
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-07-03 21:18:43 +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
ee2f5e8c05 remove_proc: remove script watcher from libev list
This ensures that libev will not be notified by already
terminated and handled scripts.

Resolves: #208

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-07-01 15:04:18 +02:00
Nikos Mavrogiannopoulos
a89fbec81d doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-06-26 11:38:20 +02:00
Nikos Mavrogiannopoulos
33633560b4 NEWS: doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2019-03-12 21:15:54 +01: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
d9967aa63a doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
2019-02-22 08:47:00 +01:00