[ocserv/f21] new upstream release
Nikos Mavrogiannopoulos
nmav at fedoraproject.org
Mon Feb 16 10:10:27 UTC 2015
commit f2992ce97bb50465660ce75914fbaeabedd59ebe
Author: Nikos Mavrogiannopoulos <nmav at redhat.com>
Date: Mon Feb 16 11:03:04 2015 +0100
new upstream release
ocserv.conf | 236 +++++++++++++++++++++++++++++++++++++----------------------
ocserv.spec | 8 ++-
sources | 4 +-
3 files changed, 157 insertions(+), 91 deletions(-)
---
diff --git a/ocserv.conf b/ocserv.conf
index 04e5b0e..20da17f 100644
--- a/ocserv.conf
+++ b/ocserv.conf
@@ -1,36 +1,41 @@
# User authentication method. Could be set multiple times and in
# that case all should succeed. To enable multiple methods use
-# multiple auth directives. Available options: certificate, certificate[optional],
-# plain, pam.
-#auth = "certificate"
-#auth = "plain[./sample.passwd]"
-auth = "pam"
+# multiple auth directives. Available options: certificate,
+# plain, pam, radius[configfile,groupconfig].
-# This indicates that a user may present a certificate. When that option
-# is set, individual users or user groups can be forced to present a valid
-# certificate by using "require-cert=true".
-#auth = "certificate[optional]"
-
-# The gid-min option is used by auto-select-group option, in order to
-# select the minimum group ID.
-#auth = "pam[gid-min=1000]"
-
-# The plain option requires specifying a password file which contains
+# certificate:
+# This indicates that all connecting users must present a certificate.
+#
+# pam[gid-min=1000]:
+# The gid-min option is used by auto-select-group option, in order to
+# select the minimum valid group ID.
+#
+# plain[/etc/ocserv/ocpasswd]
+# The plain option requires specifying a password file which contains
# entries of the following format.
-# "username:groupname:encoded-password"
-# One entry must be listed per line, and 'ocpasswd' can be used
+# "username:groupname1,groupname2:encoded-password"
+# One entry must be listed per line, and 'ocpasswd' should be used
# to generate password entries.
+#
+# radius[/etc/radiusclient/radiusclient.conf,groupconfig]:
+# The radius option requires specifying freeradius-client configuration
+# file. If the groupconfig option is set, then config-per-user will be overriden,
+# and all configuration will be read from radius. The supported atributes for
+# radius configuration are:
+# Group-Name, Framed-IPv6-Address, Framed-IPv6-Prefix, DNS-Server-IPv6-Address,
+# Framed-IP-Address, Framed-IP-Netmask, MS-Primary-DNS-Server, MS-Secondary-DNS-Server
+
+#auth = "certificate"
+auth = "pam"
+#auth = "pam[gid-min=1000]"
#auth = "plain[/etc/ocserv/ocpasswd]"
+#auth = "radius[/etc/radiusclient/radiusclient.conf,groupconfig]"
-# Whether to enable seccomp worker isolation. That restricts the number of
+# Whether to enable seccomp/Linux namespaces worker isolation. That restricts the number of
# system calls allowed to a worker process, in order to reduce damage from a
# bug in the worker process. It is available on Linux systems at a performance cost.
-#use-seccomp = true
-
-# Whether to enable the authentication method's session control (i.e., PAM).
-# That requires more resources on the server, and makes cookies one-time-use;
-# thus don't enable unless you need it.
-#session-control = true
+# The performance cost is roughly 2% overhead at transfer time (tested on a Linux 3.17.8).
+isolate-workers = true
# A banner to be displayed on clients
#banner = "Welcome"
@@ -60,21 +65,34 @@ max-same-clients = 2
tcp-port = 443
udp-port = 443
-# Accept connections using a socket file. The connections are
-# forwarded without SSL/TLS.
-listen-clear-file = /var/run/ocserv-conn.socket
+# Accept connections using a socket file. It accepts HTTP
+# connections (i.e., without SSL/TLS unlike its TCP counterpart),
+# and uses it as the primary channel. That option cannot be
+# combined with certificate authentication.
+#listen-clear-file = /var/run/ocserv-conn.socket
+
+# Stats report time. The number of seconds after which each
+# worker process will report its usage statistics (number of
+# bytes transferred etc). This is useful when accounting like
+# radius is in use.
+#stats-report-time = 360
# Keepalive in seconds
keepalive = 32400
# Dead peer detection in seconds.
+# Note that when the client is behind a NAT this value
+# needs to be short enough to prevent the NAT disassociating
+# his UDP session from the port number. Otherwise the client
+# could have his UDP connection stalled, for several minutes.
dpd = 90
-# Dead peer detection for mobile clients. The needs to
-# be much higher to prevent such clients being awaken too
+# Dead peer detection for mobile clients. That needs to
+# be higher to prevent such clients being awaken too
# often by the DPD messages, and save battery.
-# (clients that send the X-AnyConnect-Identifier-DeviceType)
-#mobile-dpd = 1800
+# The mobile clients are distinguished from the header
+# 'X-AnyConnect-Identifier-DeviceType'.
+mobile-dpd = 1800
# MTU discovery (DPD must be enabled)
try-mtu-discovery = false
@@ -84,8 +102,11 @@ try-mtu-discovery = false
# tpmkey:uuid=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx;storage=user
# or pkcs11:object=my-vpn-key;object-type=private)
#
-# There may be multiple certificate and key pairs and each key
-# should correspond to the preceding certificate.
+# The server-cert file may contain a single certificate, or
+# a sorted certificate chain.
+#
+# There may be multiple server-cert and server-key directives,
+# but each key should correspond to the preceding certificate.
server-cert = /etc/pki/ocserv/public/server.crt
server-key = /etc/pki/ocserv/private/server.key
@@ -128,13 +149,29 @@ ca-cert = /etc/pki/ocserv/cacerts/ca.crt
#cert-group-oid = 2.5.4.11
# The revocation list of the certificates issued by the 'ca-cert' above.
+# See the manual to generate an empty CRL initially.
#crl = /path/to/crl.pem
-# GnuTLS priority string
-#tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-VERS-SSL3.0:-ARCFOUR-128"
+# Uncomment this to enable compression negotiation (LZS, LZ4).
+#compression = true
+
+# Set the minimum size under which a packet will not be compressed.
+# That is to allow low-latency for VoIP packets. The default size
+# is 256 bytes. Modify it if the clients typically use compression
+# as well of VoIP with codecs that exceed the default value.
+#no-compress-limit = 256
+
+# GnuTLS priority string; note that SSL 3.0 is disabled by default
+# as there are no openconnect (and possibly anyconnect clients) using
+# that protocol. The string below does not enforce perfect forward
+# secrecy, in order to be compatible with legacy clients.
+#tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-RSA:-VERS-SSL3.0"
tls-priorities = "@SYSTEM"
-# To enforce perfect forward secrecy (PFS) on the main channel.
+# More combinations in priority strings are available, check
+# http://gnutls.org/manual/html_node/Priority-Strings.html
+# E.g., the string below enforces perfect forward secrecy (PFS)
+# on the main channel.
#tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-RSA:-VERS-SSL3.0:-ARCFOUR-128"
# The time (in seconds) that a client is allowed to stay connected prior
@@ -181,16 +218,25 @@ rekey-time = 172800
# option.
rekey-method = ssl
-# Script to call when a client connects and obtains an IP
-# Parameters are passed on the environment.
+# Script to call when a client connects and obtains an IP.
+# The following parameters are passed on the environment.
# REASON, USERNAME, GROUPNAME, HOSTNAME (the hostname selected by client),
# DEVICE, IP_REAL (the real IP of the client), IP_LOCAL (the local IP
# in the P-t-P connection), IP_REMOTE (the VPN IP of the client),
+# IPV6_LOCAL (the IPv6 local address if there are both IPv4 and IPv6
+# assigned), IPV6_REMOVE (the IPv6 remote address), and
# ID (a unique numeric ID); REASON may be "connect" or "disconnect".
+
+# The disconnect script will receive the additional values: STATS_BYTES_IN,
+# STATS_BYTES_OUT, STATS_DURATION that contain a 64-bit counter of the bytes
+# output from the tun device, and the duration of the session in seconds.
+
#connect-script = /usr/bin/ocserv-script
#disconnect-script = /usr/bin/ocserv-script
# UTMP
+# Register the connected clients to utmp. This will allow viewing
+# the connected clients using the command 'who'.
use-utmp = true
# Whether to enable support for the occtl tool (i.e., either through D-BUS,
@@ -201,14 +247,13 @@ use-occtl = true
# if you use more than a single servers.
#occtl-socket-file = /var/run/occtl.socket
-
# PID file. It can be overriden in the command line.
#pid-file = /var/run/ocserv.pid
# The default server directory. Does not require any devices present.
chroot-dir = /var/lib/ocserv
-# socket file used for IPC, will be appended with .PID
+# socket file used for server IPC (worker-main), will be appended with .PID
# It must be accessible within the chroot environment (if any)
socket-file = ocserv.sock
@@ -232,7 +277,7 @@ run-as-group = ocserv
# Network settings
#
-# The name of the tun device
+# The name to use for the tun device
device = vpns
# Whether the generated IPs will be predictable, i.e., IP stays the
@@ -242,32 +287,41 @@ predictable-ips = true
# The default domain to be advertised
default-domain = example.com
-# The pool of addresses that leases will be given from.
-ipv4-network = 192.168.1.0
-ipv4-netmask = 255.255.255.0
+# The pool of addresses that leases will be given from. If the leases
+# are given via Radius, or via explicit-ip? per-user config option then
+# these network values should contain a network with at least a single
+# address that will remain under the full control of ocserv (that is
+# to be able to assign the local part of the tun device address).
+#ipv4-network = 192.168.1.0
+#ipv4-netmask = 255.255.255.0
+
+# An alternative way of specifying the network:
+#ipv4-network = 192.168.1.0/24
+
+# The IPv6 subnet that leases will be given from.
+#ipv6-network = fda9:4efe:7e3b:03ea::/64
# The advertized DNS server. Use multiple lines for
# multiple servers.
# dns = fc00::4be0
-dns = 192.168.1.2
+#dns = 192.168.1.2
# The NBNS server (if any)
#nbns = 192.168.1.3
-# The IPv6 subnet that leases will be given from.
-#ipv6-network = fc00::
-#ipv6-prefix = 16
-
# The domains over which the provided DNS should be used. Use
# multiple lines for multiple domains.
#split-dns = example.com
# Prior to leasing any IP from the pool ping it to verify that
# it is not in use by another (unrelated to this server) host.
+# Only set to true, if there can be occupied addresses in the
+# IP range for leases.
ping-leases = false
-# Unset to assign the default MTU of the device
-# mtu =
+# Use this option to enforce an MTU value to the incoming
+# connections. Unset to use the default MTU of the TUN device.
+#mtu = 1420
# Unset to enable bandwidth restrictions (in bytes/sec). The
# setting here is global, but can also be set per user or per group.
@@ -284,84 +338,92 @@ ping-leases = false
# config-per-user/group or even connect and disconnect scripts.
#
# To set the server as the default gateway for the client just
-# comment out all routes from the server.
+# comment out all routes from the server, or use the special keyword
+# 'default'.
+
#route = 192.168.1.0/255.255.255.0
#route = 192.168.5.0/255.255.255.0
#route = fef4:db8:1000:1001::/64
+# Groups that a client is allowed to select from.
+# A client may belong in multiple groups, and in certain use-cases
+# it is needed to switch between them. For these cases the client can
+# select prior to authentication. Add multiple entries for multiple groups.
+# The group may be followed by a user-friendly name in brackets.
+#select-group = group1
+#select-group = group2[My special group]
+
+# The name of the (virtual) group that if selected it would assign the user
+# to its default group.
+#default-select-group = DEFAULT
+
+# Instead of specifying manually all the allowed groups, you may instruct
+# ocserv to scan all available groups and include the full list.
+#auto-select-group = true
+
# Configuration files that will be applied per user connection or
# per group. Each file name on these directories must match the username
# or the groupname.
# The options allowed in the configuration files are dns, nbns,
-# ipv?-network, ipv4-netmask, ipv6-prefix, rx/tx-per-sec, iroute, route,
-# net-priority and cgroup.
+# ipv?-network, ipv4-netmask, rx/tx-per-sec, iroute, route,
+# net-priority, deny-roaming, no-udp, user-profile, require-cert, and cgroup.
#
# Note that the 'iroute' option allows to add routes on the server
# based on a user or group. The syntax depends on the input accepted
-# by the commands route-add-cmd and route-del-cmd (see below).
+# by the commands route-add-cmd and route-del-cmd (see below). The no-udp
+# is a boolean option (e.g., no-udp = true), and will prevent a UDP session
+# for that specific user or group.
#config-per-user = /etc/ocserv/config-per-user/
#config-per-group = /etc/ocserv/config-per-group/
# When config-per-xxx is specified and there is no group or user that
# matches, then utilize the following configuration.
-
#default-user-config = /etc/ocserv/defaults/user.conf
#default-group-config = /etc/ocserv/defaults/group.conf
-# Groups that a client is allowed to select from.
-# A client may belong in multiple groups, and in certain use-cases
-# it is needed to switch between them. For these cases the client can
-# select prior to authentication. Add multiple entries for multiple groups.
-#select-group = group1
-#select-group = group2[My group 2]
-#select-group = tost[The tost group]
-
-# The name of the group that if selected it would allow to use
-# the assigned by default group.
-#default-select-group = DEFAULT
-
-# Instead of specifying manually all the allowed groups, you may instruct
-# ocserv to scan all available groups and include the full list. That
-# option is only functional on plain authentication.
-#auto-select-group = true
-
# The system command to use to setup a route. %{R} will be replaced with the
# route/mask and %{D} with the (tun) device.
#
-# The following example is from linux systems. %{R} should be something
-# like 192.168.2.0/24
+# The following example is from linux systems. %R should be something
+# like 192.168.2.0/24 (the argument of iroute).
route-add-cmd = "ip route add %{R} dev %{D}"
route-del-cmd = "ip route delete %{R} dev %{D}"
-# This option allows to forward a proxy. The special strings '%{U}'
+# This option allows to forward a proxy. The special keywords '%{U}'
# and '%{G}', if present will be replaced by the username and group name.
#proxy-url = http://example.com/
-#proxy-url = http://example.com/%{U}/%{G}/hello
+#proxy-url = http://example.com/%{U}/
#
# The following options are for (experimental) AnyConnect client
# compatibility.
+# This option must be set to true to support legacy CISCO clients.
+# A side effect of this option is that it will no longer be required
+# for clients to present their certificate on every connection.
+# That is they may resume a cookie without presenting a certificate
+# (when certificate authentication is used).
+cisco-client-compat = true
+
# Client profile xml. A sample file exists in doc/profile.xml.
+# It is required by some of the CISCO clients.
# This file must be accessible from inside the worker's chroot.
-# It is not used by the openconnect client.
user-profile = profile.xml
# Binary files that may be downloaded by the CISCO client. Must
-# be within any chroot environment.
+# be within any chroot environment. Normally you don't need
+# to use this option.
#binary-files = /path/to/binaries
-# Unless set to false it is required for clients to present their
-# certificate even if they are authenticating via a previously granted
-# cookie and complete their authentication in the same TCP connection.
-# Legacy CISCO clients do not do that, and thus this option should be
-# set for them.
-cisco-client-compat = true
-
#Advanced options
# Option to allow sending arbitrary custom headers to the client after
-# authentication and prior to VPN tunnel establishment.
+# authentication and prior to VPN tunnel establishment. You shouldn't
+# need to use this option normally; if you do and you think that
+# this may help others, please send your settings and reason to
+# the openconnect mailing list. The special keywords '%{U}'
+# and '%{G}', if present will be replaced by the username and group name.
#custom-header = "X-My-Header: hi there"
+
diff --git a/ocserv.spec b/ocserv.spec
index c4fcd0a..065c751 100644
--- a/ocserv.spec
+++ b/ocserv.spec
@@ -1,8 +1,8 @@
%global _hardened_build 1
Name: ocserv
-Version: 0.8.9
-Release: 5%{?dist}
+Version: 0.9.1
+Release: 1%{?dist}
Summary: OpenConnect SSL VPN server
# For a breakdown of the licensing, see PACKAGE-LICENSING
@@ -40,6 +40,7 @@ BuildRequires: libtalloc-devel
BuildRequires: http-parser-devel
BuildRequires: tcp_wrappers-devel
BuildRequires: automake, autoconf
+BuildRequires: freeradius-client-devel
# we don't build with dbus support
#BuildRequires: dbus-devel
@@ -151,6 +152,9 @@ rm -rf %{buildroot}
%{_localstatedir}/lib/ocserv/profile.xml
%changelog
+* Mon Feb 16 2015 Nikos Mavrogiannopoulos <nmav at redhat.com> - 0.9.1-1
+- New upstream release
+
* Thu Jan 29 2015 Nikos Mavrogiannopoulos <nmav at redhat.com> - 0.8.9-5
- only enable seccomp in x86-64. It seems to be broken in x86:
http://sourceforge.net/p/libseccomp/mailman/message/33275762/
diff --git a/sources b/sources
index 3900854..7c25dd1 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-5ea9824e39ca125260b67a1379f42036 ocserv-0.8.9.tar.xz.sig
-cd935cc89bffac75c825e66ef71f6a73 ocserv-0.8.9.tar.xz
+c7e0d60139372b9fbb866cd271ded8c4 ocserv-0.9.1.tar.xz.sig
+5dee08e1386258a32a73caf2cb47749c ocserv-0.9.1.tar.xz
More information about the scm-commits
mailing list