Commit Graph
27 Commits
Author SHA1 Message Date
Nikos Mavrogiannopoulos 78b3685f7a Generate a new DTLS session ID on every cookie connection
That allows openconnect to distinguish when the DTLS key has switched.
2014-11-16 10:00:15 +01:00
Nikos Mavrogiannopoulos 365ca267d4 added new authentication mode optional-certificate
That mode allows having only specific group of users that are required
to present a certificate.
2014-09-24 12:41:31 +02:00
Nikos Mavrogiannopoulos 265e723cdb send the IPv6 netmask in a compatible with cisco servers way 2014-09-09 09:36:48 +02:00
Nikos Mavrogiannopoulos c781bea7cd user-profile is now allowed in per-user configuration 2014-07-31 14:57:09 +02:00
Nikos Mavrogiannopoulos 28dca2aa0c Added support for session control (relevant for PAM for now)
That in effect will utilize the pam_open_session() and pam_close_session().
It is disabled by default as it requires more resources from the security module.
2014-06-10 15:16:40 +02:00
Nikos Mavrogiannopoulos 01db3e5817 Include the SID into the cookie and store it in proc_st. 2014-06-10 10:41:10 +02:00
Nikos Mavrogiannopoulos 46f9327684 removed unused protobuf variable 2014-06-09 16:55:49 +02:00
Nikos Mavrogiannopoulos 28943341db Added the proxy-url option to allow sending a proxy URL.
This corresponds to the X-CSTP-MSIE-Proxy-Pac-URL CSTP header.
2014-05-23 11:04:30 +02:00
Nikos Mavrogiannopoulos 6dcc9acf77 Restrict cookies to a single IP address. 2014-05-21 16:19:07 +02:00
Nikos Mavrogiannopoulos 6ca3c4761c Cookies are packed using protocol buffers to reduce their size. 2014-05-21 16:11:05 +02:00
Nikos Mavrogiannopoulos aef5dc0633 Allow multiple groups to be present in a client certificate.
In that case the user will be prompted to select a group.
2014-05-20 15:36:40 +02:00
Nikos MavrogiannopoulosandNikos Mavrogiannopoulos 4755ee48c5 Added the select-group and auto-select-group config options.
These options allow to prompt the user for a group prior to login.
That in addition enhances the password file format and multiple groups
can be specified on a comma separated list, as:
user:group1,group2,group3:$5$encodedpassword
2014-05-19 18:25:25 +02:00
Nikos Mavrogiannopoulos 09704b8819 Password authentication is now delegated to sec-mod.
That prevents any memory from the authentication modules to be leaked
to a worker process. As a result, the status zombie and dead no longer
exists.
2014-05-14 11:37:01 +02:00
Nikos Mavrogiannopoulos 1465a5922c Added no-udp group configuration option.
That options allows disabling UDP for specific users or groups.
2014-05-12 10:29:29 +02:00
Nikos Mavrogiannopoulos 2a0cc77c2e Export TUN device statistics from the worker process.
When a worker process terminates in authenticated state, then
export statistics from the tun device (currently bytes_in and
bytes_out). These statistics are sent to main process using an
informational message just prior to process exit. The statistics
are also exported to the disconnect script using the STATS_BYTES_IN
and STATS_BYTES_OUT environment variables.
2014-04-28 17:32:51 +02:00
Nikos Mavrogiannopoulos 489368c58e When receiving unexpected UDP packets, check if they match a known IP and forward them.
This will not work for many clients that come from a single IP but will
work-around issues, when clients are behind a NAT that keeps their UDP port
state for shorter time than DPD.
2014-04-19 10:29:57 +02:00
Nikos Mavrogiannopoulos 991455065f simplified handling of CISCO reconnecting clients.
Instead of having a client use the initial SID over and over,
re-set the SID cookie, during authentication when needed. That
way we avoid having expensive checks to ensure uniqueness of SID.
2014-02-16 22:47:45 +01:00
Nikos Mavrogiannopoulos 3b9971b7e8 Added support for the "new" type of IP6 support in AnyConnect.
If the client sends "X-CSTP-Full-IPv6-Capability: true", then we
use the headers:
     X-CSTP-Address-IP6: 2001:db8:1000:1000::1/64
     X-CSTP-Split-Include-IP6: 2001:db8:1000:1001::/64
     X-CSTP-Split-Include-IP6: 2001:db8:1000:1002::/64

(see corresponding openconnect change)
2014-02-15 13:51:03 +01:00
Nikos Mavrogiannopoulos 0ec67882c0 Added support for multiple DNS and NBNS servers.
This patch also combines ipv4-dns and ipv6-dns options
that are now handled as aliases to dns.

A side-effect of this patch is that the local keyword is no
longer supported.
2014-02-01 14:50:52 +01:00
Nikos Mavrogiannopoulos 28e5d62f3f The worker process receives the client's IPs from the main process.
That eliminates the need to read the IP address from the tun device
(which can be quite tricky to implement in a clean portable way).
2014-01-31 20:53:45 +01:00
Nikos Mavrogiannopoulos 9d2b10de22 Use base64 to encode Cookies. That reduces the size of the cookie. 2014-01-19 09:14:11 +01:00
Nikos Mavrogiannopoulos b9fe6b6263 instead of using the TLS session ID as session identifier prior to authentication use the webvpncontext cookie. 2014-01-19 02:59:04 +01:00
Nikos Mavrogiannopoulos 7145db0d54 Added sketch of authentication protocol between main and worker. 2014-01-18 15:06:16 +01:00
Nikos Mavrogiannopoulos b1af6f2829 enabling cisco-client-compat allows 'stealing' of processes.
This change puts a proc_st that its client has terminated to a "zombie"
state. That state will allow a client that connects later using the
same TLS session ID to reclaim it. That way clients that try to authenticate
by sending their credentials in different sessions can still authenticate with
ocserv. That however puts more trust to worker processes (as the main
process has no way of telling whether a TLS session is certainly
resumed).
2014-01-18 15:06:10 +01:00
Nikos Mavrogiannopoulos 39572b3d48 Store User-Agent information and send to occtl. 2014-01-12 14:35:58 +01:00
Nikos Mavrogiannopoulos 33dfbdea56 worker will send information on the negotiated TLS/DTLS ciphersuites to main. 2014-01-10 09:17:59 +01:00
Nikos MavrogiannopoulosandNikos Mavrogiannopoulos 058b986967 Converted IPC messaging to protocolbuffers-c
That adds a dependency on protocolbuffers-c, but simplifies
the worker-main communication protocol handling.
2013-12-21 12:38:01 +01:00