0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-20 20:13:05 +02:00
Commit Graph

12 Commits

Author SHA1 Message Date
James Yonan
cdf5afb57f Added classes Listen::List and Listen::Item for parsing
new "listen" directive.
2014-12-13 21:28:55 -07:00
James Yonan
4751376a7c Added VPNServerNetblockPool, a shared, mutex-protected
IP address pool.
2014-12-13 21:26:24 -07:00
James Yonan
1b84fdbfe9 Minor fix of misplaced parenthesis in servproto.hpp. 2014-11-04 07:21:51 -07:00
James Yonan
d7c2b9d55f Added ManClientInstanceFactory::start().
Added ServerProto delayed disconnect for AUTH_FAILED.
2014-11-03 08:16:38 -07:00
James Yonan
641e58d5ee Changes to openvpn/addr:
* Use standard naming convention in openvpn/addr template classes,
  where "ADDR" is the address class, the class template name
  ends with "Type", and the IP::Addr specialization of the class
  template has the "Type" suffix removed.

* Added class RangePartitionType and RangeType::pull_front to help
  with subnet subdivision.

* Misc convenience methods added to RangeType and RouteType.

New file openvpn/server/vpnservnetblock.hpp :

* Added class VPNServerNetblock for deriving useful info about the
  top-level VPN IP address block and helping to subdivide it
  across server threads.
2014-11-02 20:31:48 -07:00
James Yonan
4b0f95483e TransportClientInstanceRecv::disable_keepalive now returns the
previous keepalive parameters.
2014-10-31 13:57:41 -06:00
James Yonan
eb25f37d11 Route:
* Make class Route standalone, moving it out of namespace
  CIDRMap.

CryptoAlgs:

* Added comments

* For type-safety, mode() now returns a Mode rather than an
  int.

CryptoDC:

* Added CRYPTO_DEFINED flag to indicate when encrypt() and
  decrypt() methods are implemented by a data channel
  provider.

Manage:

* Implemented skeleton management API for server-side client
  authentication and managing client-instance properties.

Proto:

* Added Config::update_dc_factory() method.

* Support new CryptoDCInstance::CRYPTO_DEFINED flag.

* Updated server_auth() method to support SafeString transit
  of client-provided auth-user-pass password to management
  layer.

* control_send now does a reset() on the provided
  Ptr reference before returning to reflect the
  transfer-of-ownership of the underlying buffer.

* Implemented disable_keepalive() and override_dc_factory
  methods.

Transbase (server) new methods:

  // disable keepalive for rest of session
  virtual void disable_keepalive() = 0;

  // override the data channel factory
  virtual void override_dc_factory(const CryptoDCFactory::Ptr& dc_factory) = 0;

  // override the tun provider
  virtual TunClientInstanceRecv* override_tun(TunClientInstanceSend* tun) = 0;

ServProto:

* Added abstract base classes for Tun factories and client instance
  sender/receivers.

* Added Tun and Management linkages.

* Added new receiver methods for overriding the data channel
  factory, Tun factory, and keepalive config.

* Added AuthCreds support.
2014-10-30 10:41:53 -06:00
James Yonan
92ac73e4ed Updated ServerProto for new template-free ProtoContext. 2014-10-22 11:29:45 -06:00
James Yonan
12e3f20e92 Converted SSL_API from static to dynamic polymorphism
(using SSLFactoryAPI and SSLAPI as base classes).
2014-10-15 18:12:38 -06:00
James Yonan
8b71fa9800 Converted RAND_API from static to dynamic polymorphism
(using RandomAPI as base class).
2014-10-15 12:53:18 -06:00
James Yonan
5826910bbe Refactored server-side client instance object (ServerProto::Session)
to use Link abstraction (openvpn/common/link.hpp) to link with
transport layer (and other layers such as routing and management
as development progresses).
2014-08-19 15:41:59 -06:00
James Yonan
d87a9e3c1e Server development initial checkpoint:
1. UDP server
2. Client instance objects

No routing, authentication, or management.

Server will negotiate a client then push AUTH_FAILED.
2014-08-19 01:13:42 -06:00