In ProtoContext::KeyContext::raw_recv() when state == C_WAIT_RESET,
Antonio noticed that the send_reset() is likely superfluous.
proto.cpp test seems to confirm.
Comment it out for now.
Signed-off-by: James Yonan <james@openvpn.net>
In VPNServerNetblock::Netblock, break out IP::Range clients
and IP::Addr bcast into a separate derived class ClientNetblock,
which provides a more minimalisic Netblock for use cases that
don't need to manage client VPN IP address pools.
Signed-off-by: James Yonan <james@openvpn.net>
* renamed ManClientInstanceSend to ManClientInstance::Send
* renamed ManClientInstanceRecv to ManClientInstance::Recv
* renamed ManClientInstanceFactory to ManClientInstance::Factory
* renamed TransportClientInstanceSend to TransportClientInstance::Send
* renamed TransportClientInstanceRecv to TransportClientInstance::Recv
* renamed TransportClientInstanceFactory to TransportClientInstance::Factory
* renamed TunClientInstanceRecv to TunClientInstance::Recv
* renamed TunClientInstanceSend to TunClientInstance::Send
* renamed TunClientInstanceFactory to TunClientInstance::Factory
Other related refactorings/removals:
Changes to ManClientInstance::Send:
* Added pre_stop() method.
* Renamed set_acl_id() to set_acl_index().
Changes to ManClientInstance::Recv:
* In push_reply(), removed routes and initial_fwmark parameters.
* Removed set_fwmark() method.
* Added tun_native_handle() method to return the tun socket
file descriptor and peer_id of a client instance.
Changes to ServerProto:
* Added C++11 override attribute to overridden virtual methods
Signed-off-by: James Yonan <james@openvpn.net>
* Use C++11 range-based iterators.
* Use std::string rather than std::ostringstream
for string formatting.
* Added to_string() method.
* Added local_addr() method.
Signed-off-by: James Yonan <james@openvpn.net>
SSLConst::SERVER_TO_SERVER allows X509 certificates to be
used in a meshed toplology, where a server certificate can
be used for either the client or server side of an SSL
connection.
Currently only implemented for OpenSSL.
Signed-off-by: James Yonan <james@openvpn.net>
This isn't strictly necessary because OpenSSL uses a
hardcoded RNG, but is added for consistency with other
SSL libraries.
Signed-off-by: James Yonan <james@openvpn.net>
Add a .travis.yml file with related scripts in order to
have a special branch built by travis-ci after each push.
At the moment travis-ci has been configured to build for
linux and macos using gcc-5 and clang-5, with both mbedtls
and openssl.
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
OVPN3-13
Passing a static empty string as port to async_resolve() was
systematically triggering an exception when std::stoi() was
trying to parse it. On top of that, the port_ member of the
Preresolve object would not be instantiated with the right port value.
Fix it by passing the parsed port value coming from the config as
argument.
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
This requires following environment variables defined:
OVPN3_BUILD - path where dependencies are build (BUILD in parms.py)
OVPN3_CORE - path where ovpn3-core was checked out (OVPN3 in parms.py)
OVPN3_TAP_WINDOWS - path where tap-windows was checked out (TAP in parms.py)
OVPN3-18
Signed-off-by: Lev Stipakov <lev@openvpn.net>