Changelog


- rockhopper-0.2.b1-021 [2015/12/17]


  • [New] The NULL Authentication Method in IKEv2 [RFC7619].
  • [New] [Web Console/Remote Client] A simple and easy view to cinfigure a remote client. By checking 'Advanced Settings', a VPN user can configure details as usual.
  • [Improved] [IKEv2/Web Console] A setting to explicitly limit authentication methods for remote peers.
  • [Improved] [IKEv2] Specifying a remote peer address as a hostname(FQDN).
  • [New] [Web Console/Tool] Clering dormant connections.
  • [Improved] [Web Console] A VPN config's summary pane was implemented properly.
  • [Improved] [IKEv2/Child SA] A setting not to narrow traffic selectors. [Exact Match]
  • [Improved] [Gateway/Packet Forwarding] A setting not to forward decrypted packets between VPN connections (i.e. Remote IPsec nodes). In this case, decrypted packets are forwarded only between a remote IPsec node and protected network.
  • [Fixed] [IKEv2/IPv6:Remote Client] There may be a case where internal network info (internal route info) was not cleared when a VPN connection was closed.
  • [Fixed] [ESP/IKEv2 MOBIKE] A bug, which may potentially cause a dead lock when I/F address or state is dynamically changed, was fixed.
  • [Improved] [Packet Forwarding] A cached MAC address is immediately cleaned when receiving a resolution request (ARP/ND) for the same IP address from a different side (RHP_BRIDGE_SIDE_VPN or RHP_BRIDGE_SIDE_TUNTAP).
  • [Improved] [IKEv2 Sess Resumption] A few additional security checks.
  • [NEW] [VPN connection] A VPN connection's lifetime. If it expires, the connection is closed.
  • [NEW] [IKEv2/Remote Configutaion] IPv6 address Auto-configuration for a remote client. This spec includes a Rockhopper's private extension (See app/rhp_ikev2_cfg.c for protocol details).
  • [Improved] [Web Console/IKEv2:Remote Configutaion] A UI for a setting to narrow traffic selectors for remote clients by using assigned address(es).
  • [NEW] [IKEv2/Remote Configutaion] A setting to reject VPN connections with peers other than remote clients.
  • [NEW] [IKEv2/Remote Configutaion] A setting not to forward decrypted packets between remote clients.
  • [NEW] [IKEv2/Remote Configutaion] A setting to disable Non-IP traffic. IP encapsulation (IP over IP) is automatically configured as Encapsulation Mode for remote clients.
  • [NEW] [IKEv2/Remote Configutaion] A setting to reject traffic selectors requested by remote client. This means that a remote client need to obey traffic selectors specified by remote configuration server.
  • [New] [Installer] Tested on Ubuntu 15.10, Debian 8.2, LinuxMint 17.2 and Fedora 23.
  • [Fixed] [Web Console/js] When a Web browser shutdowns a httpBusRead connection (HTTP GET), it may return an empty content instead of an error event (e.g. Firefox 43.0). In this case, the event is just ignored.

- rockhopper-0.2.b1-018-3 [2015/12/17]


  • [Fixed] [Web Console/js] When a Web browser shutdowns a httpBusRead connection (HTTP GET), it may return an empty content instead of an error event (e.g. Firefox 43.0). In this case, the event is just ignored.

- rockhopper-0.2.b1-020 [2015/08/15]


  • [New] IKEv2 Session Resumption [RFC5723].
  • [New] [Web Console] On the Management view, resetting a QCD key. A command-line tool
    (/usr/local/sbin/rockhopper) also supports it.
  • [New] [Installer] Tested on Debian 8.1 and LinuxMint 17.2.

  • [New] Interoperability with Windows 10.
    Avoid adding a new VPN connection on the new 'Network & Internet' Window (Start Menu > Settings > VPN > 'Add a VPN connection') because there may be a case where an IPv4 defaut route via the connection is not added. Instead, set up the new connection on the 'Network and Sharing Center' window (Start Menu > Settings > Network & Internet > VPN > Network and Sharing Center > 'Set up a new connection and network') and configure IKEv2 for it on the each VPN adapter's 'Properties' window. (Start Menu > Settings > Network & Internet > VPN > 'Change adapter options' > Right-click The created VPN adapter's icon.) Of course, you can open the 'Network and Sharing Center' window from the Control Panel like Windows 7/8. I hope this spec or problem will be clarified by Microsoft.

  • [New] [Web Console] On the VPN Configuration view, showing created-time and updated-time of a VPN realm's config.
  • [Improved] [Web Console/rockhopper] When a configuration's backup file saved for an old software package is uploaded and restored, required settings for a new package are automatically added.
  • [New] [Tool] A script to reset all configuration is included. (rockhopper-/installer/reset_config.sh)
  • [Fixed] [IKEv2/IPv6] A VPN client's linklocal address is not included in a CP payload (CFG_REQUEST).
  • [Fixed] [Debug Trace] A few bad format args.
  • [Improved] [IKEv2/EAP Server] If an only single VPN realm is configured, it is treated as a default EAP server by default. (Global setting: rhp_gcfg_def_eap_server_if_only_single_rlm_defined)
  • [Improved] [Debug Trace] Add rhp_trace's new conversion specifiers for time_t.
  • [Improved] [IKEv2/QCD] A token taker checks a source address of a received IKEv2 INVALID_IKE_SPI error notification with token maker's addresses including MOBIKE's additional addresses and a secondary address configured by user or resoloved by DNS-query.

- rockhopper-0.2.b1-019 [2015/05/23]


  • [New] IPv6 support.
    If you configure a Split DNS for your VPN (IPv6), it requires kernel v3.7 and later (supporting IPv6 NAT) and corresponding ip6tables (e.g. Ubuntu 13.04 or later).
  • [New] [IKEv2] IKEv2 Message Fragmentation [RFC7383].
  • [New] [Tool] A command-line admin tool (/usr/local/sbin/rockhopper) supports additional features.
    • /usr/local/sbin/rockhopper.pl was renamed /usr/local/sbin/rockhopper.
    • Uploading a PKCS#12 file and PEM files.
    • Uploading a CRL file (PEM).
    • Uploading a configuration achive file (a backup file including configurations, keys and certificates).
    • Showing information about tuntap-interfaces and source-interfaces.
    • Connecting VPN by EAP-MSCHAPv2.
    • Some obsolete or unsupported features were removed.
    • Improvements related to authentication info.
    • MOBIKE initiator's routability check.
    • Enabling or disabling a VPN realm's config.
    • Showing remote peer's certificates.
  • [New] [Tool] A command-line event-log tool (/usr/local/sbin/rockhopper_log).
    • Showing or following events.
    • Saving events as a text file.
    • Clearing old events.
  • [New] [Net Config] Network configuration scripts call iproute2's utilities instead of legacy tools like ifconfig and route commands.
  • [Improved] [Bridge] Using a system's defaut gateway to forward decrypted packets destinated to other subnets if no static gateway's setting exists.
  • [New] [Web Console] On the VPN status view, showing results of MOBIKE initiator's routability check (available paths to a remote peer).
  • [New] [Web Console] Saving events as a text file.
  • [Improved] [Web Console] When a password/key string is submitted by a <form> or <input> tag on Firefox, it shows a prompt dialog to save it into the browser's cache. As a workaround, the passwords/keys are submitted in other XML messages.
  • [Improved] [IKEv2/Remote Config Server] Cached assigned addresses for an EAP client are bound only to the EAP identity value not including a IDi payload's value(an IPv4/IPv6 address).
  • [Improved] [Web Console] On the realm status view, showing bridge I/F's info a Rockhopper's VPN I/F links to.
  • [New] [Installer] Tested on Fedora 21.
  • [New] [Installer] Systemd configuration for Cent OS 7, Fedora 21, Ubuntu 15.04 and Debian 8.0.
  • [Improved] [IKEv2/EAP] An IDi payload's value is set to a random IP address when EAP-MSCHAPv2 is used as a client's auth method. (Global setting: eap_client_use_ikev2_random_addr_id)
  • [Improved] [IKEv2/ESP] Multiple IPv4 addresses configured for a single network I/F are supported.
  • [Improved] [Tuntap I/F] When many virtual I/Fs are created, netlink's buffers to send NEWLINK and NEWROUTE messages may overflow. As a workaround, after receiving the messages related to a created interface from netlink, Rockhopper continues to create the next interface one by one.
  • [Fixed] [IKEv2/Remote client] Static internal dev routes locally configured for a remote client are added into the system after VPN connection is established.
  • [Fixed] [IKEv2/EAP peer(client)] A few memory leaks.
  • [New] [Config] Disabling or enabling a VPN realm's config by management tools.

- rockhopper-0.2.b1-018-2 [2015/05/04]


  • [New] [Installer] Tested on Ubuntu 15.04.
  • [Fixed] [IKEv2] Initializing attributes of a packet buffer(rhp_packet) used for a MOBIKE(Initiator) probe packet when it is released. This bug may cause a parse error of a received IKEv2 packet and a connection failure later when the same rhp_packet is reallocated for the packet.
  • [Fixed] [Tuntap I/F] When read() returns with no data (length=0), the call is ignored.
  • [Fixed] [Debug Trace] A few bad format args.

- rockhopper-0.2.b1-018-1 [2015/01/29]


  • [New] [Installer] CentOS 7 and Ubuntu 14.10 are supported.
  • [Fixed] [Debug Trace] Undef user-space APIs(rhp_trace.h).

- rockhopper-0.2.b1-018 [2013/12/21]


  • [Fixed] [IKEv2] A memory leak of rhp_packet. [rhp_ikev2.c:_rhp_ikev2_rx_verify_request()]

- rockhopper-0.2.b1-017 [2013/12/20]


  • [New] [IKEv2] An initiator can send a realm ID to a remote responder in the IKE_AUTH exchange. When multiple realms are configured and multiple VPN connections are established between the two nodes, the responder can distinguish the initiator's membership for each connection by using the received realm ID. Therefore, each peer can use a common PSK's ID or certificate for the realms.
    (VPN Configuration -> IKE SA Settings: send_realm_id)
  • [Improved] [ESP] Preferentially forwarding ARP, OSPF, RIP and BGP packets.
    (Global setting: forward_critical_pkt_preferentially)
  • [Improved] [IKEv2] [Mesh] Rejecting a VPN connection between a mesh node and a hub node. When meshed VPN is deployed, each peer of the VPN connection must be configured as a mesh node.
  • [Improved] [ESP] [Hub and Spoke] A spoke node can flood packets from a virtual (TUN/TAP) interface to VPN connections beween spoke nodes when a VPN connection with a hub node is not available.
    (Global setting: flood_pkts_if_no_accesspoint_exists)
  • [Regression/Fixed] [IKEv2/RSA-Sig] Failed to establish a VPN connection when an initiator's peer is explicitly configured (i.e. not as ANY) on the responder's peer side and the initiator's certificate includes a subjectAltName.
  • [Improved] [Web Console] Show a hostname next to the title string.
  • [Improved] [IKEv2] Search configured peers for an initiator's realm ID on the responder's side.
    (Global setting: dont_search_cfg_peers_for_realm_id)
  • [New] [IKEv2] Peek in a received packet's header to get the packet's length before actually reading it. This is a relatively inefficent way because recvmesg() is called twice for each received packet. However, if the system has small memory and large IKEv2 packets, for example, IKE_AUTH packets including many CERT payloads, are exchanged, this optional feature may be useful. By default, it is disabled.
    (Global setting: peek_rx_packet_size)

- rockhopper-0.2.b1-016 [2013/09/28]


  • [New] [IKEv2] Quick Crash Detection (QCD) [RFC6290].
  • [New] [IKEv2] Mobility and Multihoming Protocol (MOBIKE) [RFC4555].
  • [New] [IKEv2] EAP-MSCHAPv2 peer (client).
  • [New] [IKEv2] Hash and URL (X.509 Certificate).
  • [New] [IKEv2/ESP] Secondary source interface to establish VPN.
  • [Improved] [IKEv2] Longer timeout for EAP in the IKE_AUTH exchange. (Global setting: lifetime_eap_larval)
  • [Improved][IKEv2] Upper limit of queued request packets in the IKE_SA_INIT exchange while IKEv2 COOKIES is activated. (Global setting: ikesa_cookie_max_pend_packets)
  • [Improved] [ESP] By default, fowarding any DNS queries to VPN connected with other implementations. (Global setting: dns_pxy_fwd_any_queries_to_vpn_non_rockhopper)
  • [Improved] [IKEv2] Peer ID (FQDN) is used as peer's address if no peer's address is configured.
  • [Improved] [IKEv2] Add statistics values related to IKEv2 COOKIES in the IKE_SA_INIT echange.
  • [New] [IKEv2] Upper limit per second of retransmitted responses. (Global setting: ike_retransmit_reps_limit_per_sec)
  • [New] [IKEv2/ESP] Strictly check for rx interface. (Global setting: ikev2_rx_if_strictly_check)
  • [New] [IKEv2/ESP] Drop routing-looped packets. (Global setting: check_pkt_routing_loop)
  • [New] Upper limit of queued log records. (Global setting: log_pending_records_max)
  • [Fixed] [IKEv2] D-H public key: Correctly prepending zero bits (fixed wrong usage of OpenSSL API).
  • [Fixed] [IKEv2] Error N payload's protocol ID for some error types: Not set IKE(1) but zero.
  • [Fixed] [DNS proxy] Segfault when reading more than three nameservers (more than libc resolver's max) defined in /etc/resolv.conf.
  • [Improved] [IKEv2] Automatically add a dev route to forward packets to VPN when CP(INTERNAL_IP4_SUBNET) attributes are received and CP(INTERNAL_IP4_NETMASK) is /32 or is unkown.
  • [Improved] Add many log messages at the debug level.
  • [Improved] [IKEv2] EAP-MSCHAPv2: Add the optional Identity exchange before the MSCHAPv2 exchange starts.
  • [New] Add a RHP_WTS_DISP_RULE_MISC_BLOCKING worker thread for tasks which may sleep or need blocking I/O.
  • [New] Add resolution by the nano/micro second for timers.
  • [Improved] [Web Mng] Add the MIME types (application/pkix-cert and application/pkix-crl) to upload a PEM-encoded certificate or CRL by Web Console. But, currently, a DER-encoded file is not supported.
  • [Fixed] [Web Console] Correctly show saved certificate info when multiple realms are configured.
  • [New] [IKEv2] Upper limit of VPN connections. (Global setting: vpn_max_sessions)
  • [New] [IKEv2] Upper limit of half-open VPN connections. (Global setting: vpn_max_half_open_sessions)
  • [New] [Installer] Supported Debian 7.1 (i386 and amd64).
  • [Obsoleted] [Web Console] "Connect VPN by Address" pain was obsoleted.
  • [Fixed] [Web Console] "Reconnect" button for a responder on the VPN peer pane was removed.
  • [Improved] [DNS Proxy] Upper limit of open sockets to forward DNS queries. Also, aggressively cleaning up timed-out query sessions when the number of the open sockets reaches the limit.
  • [Fixed] [DNS Proxy] Memory leaks caused by rx packets from inet.
  • [New] [DNS Proxy] Add several statistics values.
Back to Top