Files
ocserv/NEWS
Nikos Mavrogiannopoulos 37f295b31a doc update
2014-05-14 14:54:02 +02:00

278 lines
11 KiB
Plaintext

* Version 0.4.0 (unreleased)
- By default unix sockets are being used for the communication with
occtl, instead of D-BUS. That allows for occtl to connect to any
of the running servers in the system, by specifying '-s' and the
server's occtl socket file.
- Ocserv was modified to utilize talloc, the samba allocation
library which can prevent memory leaks on the main server. As
this is not a memory intensive server the overhead should not be
significant.
- Ocserv was refactored and user authentication was moved to the security
module. That ensures that there can be no critical memory leaks to
the worker process.
- Added the default-user-config and default-group-config configuration
options. These allow setting a configuration file that will be loaded
if a user-specific or group-specific configuration file isn't found.
- Added the predictable-ips configuration option. That option allows
to disable the default "stable" IP assignment, and use completely
random assignment.
* Version 0.3.4 (released 2014-05-01)
- Execute disconnect script for users that their IP was hijacked by a
cookie reconnection.
- Several small bug fixes found by coverity.
- When receiving unexpected UDP packets, check if they match a known IP and
forward them appropriately.
- The disconnect script will now receive the STATS_BYTES_IN and
STATS_BYTES_OUT variables that contain the number of bytes transferred
from the TUN device.
- Fix segmentation fault during worker process exit when seccomp
is enabled.
* Version 0.3.3 (released 2014-04-08)
- When sending IPv6 link-local addresses to peer do not include the
zone-info.
- MTU calculations are now based on X-CSTP-Base-MTU which provides a
reasonable value that doesn't depend on the negotiated ciphersuite.
- No longer send IPv6 information to CISCO clients that may not be able
to handle it.
- Updated CRL support and documentation.
* Version 0.3.2 (released 2014-03-13)
- Allow a number of retries (3) in plain password authentication.
- Added doc/profile.xml to the distribution.
- ocserv's '-d' option accepts a numeric argument (0-9) that gradualy
increases verbosity.
- Added the 'mobile-dpd' config option. That allows providing a
longer DPD value to mobile clients to prevent waking them up
too often.
- Added the 'idle-timeout' and 'mobile-idle-timeout' config
options. They ensure that an idle session will be disconnected.
- Added the 'rekey-method' config option. With this option the
advertized rekey method to the client can be overriden.
- occtl will now print the bandwidth limits, routes, iroutes, dns
and nbns values per user.
- Added configure options to disable checking for certain libraries,
and disable features on request.
- Corrected issue where a client disconnection was not being detected.
- Updated the included http-parser.
* Version 0.3.1 (released 2014-02-16)
- Corrected decoding of cookies. That will prevent issues where
the server is unable to parse client cookies.
- Changed the method X-CSTP-MTU is taken into account to avoid
smaller MTU sizes than the intended.
- Corrected IPv6 address assignment in Linux (the equivalent code
for BSD-derivatives is untested).
- Default configuration file changed to /etc/ocserv/ocserv.conf and
default password file for ocpasswd to /etc/ocserv/ocpasswd.
- Added support for multiple DNS and NBNS servers in ocserv.conf.
The 'local' keyword is no longer supported.
- Added the new config options split-dns and custom-header.
- When seccomp is being used the forbidden system calls will
return error instead of the process being killed.
- Rekey time can now be configured using the rekey-time option, and
can also be disabled when setting it to zero.
- Rekey method changed to SSL to use rehandshakes instead of new tunnels.
- Added support for the "new" IPv6 address sending headers. That
is enabled if the client sends "X-CSTP-Full-IPv6-Capability: true".
- occtl: fixed gathering of interface statistics.
* Version 0.3.0 (released 2014-01-24)
- Added occtl a control tool for ocserv, that can be used to query
the server about the connected users, and perform certain actions
such as reload the server's configuration, stop the server or
disconnect a user.
- Added support for systemd socket-activatable service.
- Added priorities on the OpenConnect DTLS ciphersuites to ensure the
server has a say on the selected one (and prevent clients from negotiating
3DES when AES is supported by both).
- Better display of IP addresses in log messages.
- Added the use-dbus configuration option. It can be used to disable
the D-BUS service (and thus the usage of the occtl utility).
- Added (optional) dependency on protocolbuffer-c, allowing a simpler
handling and easier extension of the internal IPC protocol.
- Added configuration option cisco-client-compat which if enabled
it allows a client to authenticate by sending its credentials in
different TLS sessions. A cookie is used to associate the sessions.
- Updated seccomp rules to allow the system calls used by the
worker process.
- Allow TLS rehandshakes on the TCP channel.
* Version 0.2.4 (released 2014-01-08)
- Better AnyConnect client support for Mac and other systems. Patch by
Kevin Cernekee.
* Version 0.2.3 (released 2013-12-15)
- Added X-CSTP-License header to client reply for mobile client
compatibility. Patch by Kevin Cernekee.
- When a new connection presents a cookie of an existing session
the previous session of this cookie is disconnected (and its IP is hijacked).
If no previous session is active, the server will attempt to assign
the previously used IP.
- If udp-port is unset or set to zero then the server will not listen
for UDP sessions.
- When using PAM allow it to update the username.
- When always-require-cert is set to false do not require a certificate
for cookie authentication.
- Added the net-priority configuration option.
- Corrected sending of DPD in the main TLS channel. Report and initial
fix by Kevin Cernekee.
- Added support for cgroups in Linux.
* Version 0.2.2 (released 2013-11-23)
- The system http-parser library is used if present instead of the bundled.
- The system libopts library is used if autogen is present.
- Added --http-debug option to ocserv.
- Added support for AES-GCM under DTLS 1.2 (requires GnuTLS 3.2.7).
- More precise MTU calculation (needed in AES-GCM ciphersuites)
- Do not use an MTU larger than the one initially proposed to openconnect.
* Version 0.2.1 (released 2013-11-06)
- Added configuration directives 'rx-data-per-sec' and 'tx-data-per-sec' to allow
setting bandwidth limitations globally or per group/user.
- Call setgroups() after setgid() to avoid propagation of supplementary groups
to the unprivileged worker processes.
- If a system's libopts is available as well as automake then the system's
libopts will be used.
- Added --pid-file command line option to ocserv. This overrides any
configured pid-file.
- The ocserv binary is now installed in sbin instead of bin.
* Version 0.2.0 (released 2013-10-31)
- Added configuration directives 'config-per-user' and 'config-per-group'.
They allow loading an additional configuration file per user or per
group from a directory.
- Added the ipv6-prefix configuration option to replace ipv6-netmask. The
new option accepts IPv6 subnet prefixes.
- Added the 'iroute' configuration directive, applicable only to group or
user configuration files. It allows setting routes on the server based on
the connected client.
- Corrected authentication using only certificates.
- The UDP file descriptor from main to workers is forwarded once per minute
to avoid a duplicate DTLS client hello message tearing the worker's session.
- Corrected client disconnection issues when connect-script was specified.
* Version 0.1.7 (released 2013-10-25)
- Instead of suggesting different DTLS and CSTP MTU values, suggest a single
value to the peer. That avoids issues with openconnect which reads one of
the suggested values and ignores the other.
- Added config option "output-buffer" to allow selecting between high throughput
or low latency (following similar openconnect change).
- Enabled config option "mtu".
- Configuration file parsing was modified to allow detecting mispellings of
directives and unknown options.
* Version 0.1.6 (released 2013-09-02)
- Avoid a crash on the configuration file parser when non-ascii
characters are present. Reported by Artem Ivantsov.
* Version 0.1.5 (released 2013-07-15)
- More robust support of PAM by allowing more than one factor
authentication. In practice this allows authentication with more than
one password (e.g., with a permanent one and an one time password), as
well as changing the password.
- Cookies are no longer stored in the server side. The server is now
stateless. A randomly generated key is used to encrypt and authenticate
the cookies sent to the client.
- Added test suite. It requires "make check" to be run as root (in order
to be able to run the server).
- Bypass the AnyConnect auto-download mechanism. Patch by Kevin Cernekee.
- Unescape HTML-formatted passwords, or usernames. Reported by P.H. Vos.
* Version 0.1.4 (released 2013-06-15)
- On DTLS ensure that sent packets will not exceed the MTU.
* Version 0.1.3 (released 2013-06-12)
- Updated HTTP header parsing to correct issues seen with openconnect 3.20.
- seccomp will no longer force an exit if system calls cannot be disabled.
Patch by Faidon Liambiotis.
- Added support for Salsa20 + UMAC ciphers.
- Will now check X-CSTP-Address-Type header and will not send address types
that were not requested.
- X-CSTP-MTU and DTLS-MTU now contain the expected (but pretty non-sensical)
values.
* Version 0.1.2 (released 2013-05-07)
- Several updates to allow compilation in FreeBSD.
- Allow prior to leasing an IP to ping it in order to check if it is in use.
- ocpasswd accepts options to lock and unlock users.
- Several updates to allow CISCO's anyconnect clients to connect to this
server.
* Version 0.1.1 (released 2013-04-03)
- MTU discovery was simplified.
- Removed support for TLS session tickets to strengthen the
notion of privilege separation.
* Version 0.1.0 (released 2013-03-23)
- Corrected issue with ocsp-response configuration field.
- Added ability to specify multiple certificate and key pairs.
- Added support for TLS session tickets.
- Added the "plain" authentication option, which allows a simple password
file format. The ocpasswd tool can be used to generate entries for this
file.
- The private key operations are performed on a special process to
prevent loss of the private key in case of compromise of a worker
process.
* Version 0.0.2 (released 2013-03-05)
- Updated HTTP protocol handling (fixes issue with openconnect < 4).
Reported by Mike Miller.
- Use TCP wrappers (libwrap) when present.
- Fixed issue with the 'local' keyword in DNS server.
- Added configuration options 'user-profile' and 'always-require-cert' to
enable non-openconnect clients to connect. They are enabled with
the configure option --enable-anyconnect-compat.
- Allow setting a rate limit on the number of connections.
- Allow setting a reconnection delay time after a failed authentication
attempt (added min-reauth-time option).
- Eliminated memory leaks.
- Auto-detect xml content for username and password (fixes interoperability
with newer openconnect versions).
* Version 0.0.1 (released 2013-02-20)
- First public release