# OpenVPN automatically creates an /etc/resolv.conf (or sends it to
# resolvconf) if given DNS information by the OpenVPN server.
# Set PEER_DNS="no" to stop this.
PEER_DNS="yes"

# OpenVPN can run in many modes. Most people will want the init script
# to automatically detect the mode and try and apply a good default
# configuration and setup scripts. However, there are cases where the
# OpenVPN configuration looks like a client, but it's really a peer or
# something else. DETECT_CLIENT controls this behaviour.
DETECT_CLIENT="yes"

# If DETECT_CLIENT is no and you have your own scripts to re-enter the openvpn
# init script (ie, it first becomes "inactive" and the script then starts the
# script again to make it "started") then you can state this below.
# In other words, unless you understand service dependencies and are a
# competent shell scripter, don't set this.
RE_ENTER="no"
