This file documents recent notable changes to this project. The format of this file is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.10.0 - 2024-02-23
- Changed struct
Configuration
to enumConfigs
and defined configuration by module.
0.9.3 - 2024-02-16
- Add
RequestCode::Shutdown
to shutdown the host.
0.9.2 - 2023-12-07
- Add
RequestCode::SemiSupervisedModels
to update semi-supervised models of all Hogs.
0.9.1 - 2023-09-06
RequestCode::ProcessList
to request agent to collect host's process list.
- Fix clippy warnings.
0.9.0 - 2023-07-27
- Change to respond with an immediate
Ok
message when receiving anEchoRequest
message instead of calling the handler's function.
0.8.2 - 2023-06-15
- Introduced new request code:
RequestCode:TrustedUserAgentList
RequestCode::TrustedUserAgentList
: This new request code facilitates the REview sending a list of trusteduser-agents
to the agent. This request code is followed by aVec<String>
parameter, which is a list of trusted user-agents.
0.8.1 - 2023-06-05
- New Request Code:
RequestCode:EchoRequest
. This addition to the request code library is designed specifically for network latency testing, also commonly referred to as ping testing. When a request is made to a daemon using theRequestCode::EchoRequest
, the daemon will respond with an empty tuple. This allows users to measure round trip time between the client and the server without relying on the content of the response.
0.8.0 - 2023-05-24
-
The transfer data types of the following request codes have been changed:
RequestCode:InternalNetworkList
RequestCode:AllowList
RequestCode:BlockList
Prior to this update, these request codes were using a string array to transfer data. This approach has been replaced by the
HostNetworkGroup
data type.This change is backwards incompatible. Users are encouraged to update their request handling to accommodate the
HostNetworkGroup
data type.
0.7.1 - 2023-05-17
-
Introduced two new request codes:
RequestCode::AllowList
andRequestCode::BlockList
.RequestCode::AllowList
: This new request code facilitates REview to transmit the allow list to an agent. This request code is followed by a list of IP prefixes (represented asVec<String>
), which specifies the IP ranges allowed to communicate.RequestCode::BlockList
: This new request code enables REview to send the block list to an agent. This request code also follows aVec<String>
parameter which carries a list of IP prefixes that are to be blocked from communication.
Each of these IP prefixes are in the format of "10.20.81.1/24".
0.7.0 - 2023-05-11
- Upgrade minimum supported Rust version (MSRV) to 1.65.
- Upgrade rustls to 0.21.
- Upgrade quinn to 0.10.
- Remove
agent_id
andhost_id
fields fromAgentInfo
andclient_handshake
, as they are no longer passed to server manually. It's required that the server retrieve "{agent_id}@{host_id}" from Common Name (CN) of certificate used by the client.
0.6.1 - 2023-04-17
RequestCode::GetConfig
to get config toml fileRequestCode::SetConfig
to set config toml file- More fields to
Configuration
RequestCode::DeleteSamplingPolicy
RequestCode::InternalNetworkList
- Fix the trusted_domain_list update failure.
0.6.0 - 2022-11-28
- Add
RequestCode::SamplingPolicyList
for updating sampling policies. - Add
RequestCode::ReloadFilterRule
for updating traffic filtering rules of piglet.
ResourceUsage
and functions related with getting resource usage.
0.5.0 - 2022-11-07
- Requires Rust 1.64 or later.
- Requires quinn 0.9.0 or later.
server_handshake
takes&Connection
instead of&mut IncomingBiStreams
.
0.4.1 - 2022-08-24
- Add
RequestCode::TorExitNodeList
for updating tor exit nodes.
0.4.0 - 2022-06-26
- When the received request code is not recognized, the response code is set to
RequestCode::Unknown
. message::send_request
andmessage::send_forward_request
can accept any type implementingInto<u32>
ascode
.
RequestCode
no longer implementsSerialize
andDeserialize
; it should be converted to/fromu32
for serialization/deserialization.message::recv_request_raw
returns the request code asu32
instead ofRequestCode
.- A client sending an unknown request code will receive an error message.
0.3.0 - 2022-06-24
message::server_handshake
receives a handshake message and sends a response.AgentInfo
implementsDisplay
.AgentInfo::key
to obtain the agent's key.
- Requires Rust 1.57.0 or later.
message::handshake
is nowmessage::client_handshake
to differentiate itself from the server handshake.HandshakeError::NewerProtocolRequired
has been replaced withHandshakeError::IncompatibleProtocol
, which carries both the current version and the required version.HandhsakeError::StreamError
has been replaced withHandshakeError::ConnectionLost
.
0.2.7 - 2022-06-08
messages::handshake
and the types it uses:AgentInfo
andHandshakeError
. It sends a handshake request and processes the response.
0.2.6 - 2022-05-27
request::Handler
defines the interface for a request handler for an agent.request::handle
handles requests for an agent.
0.2.5 - 2022-05-23
send_ok
andsend_err
to send a response.
0.2.4 - 2022-05-18
handle_resource_usage
to handle theResourceUsage
request.
0.2.3 - 2022-05-17
RequestCode
supports serialization with serde.recv_request_raw
to receive a request without deserialization.send_request
to send a request with serialization.send_forward_request
to send aRequestCode::Forward
request.
0.2.2 - 2022-05-16
frame::send_raw
to send raw bytes in a frame.
0.2.1 - 2022-05-12
RequestCode::ReloadConfig
to request agent to reload configurationRequestCode::ResourceUsage
to request agent to collect resource usage stats
0.2.0 - 2022-05-11
RequestCode
that identifies the type of request.
recv_frame
,recv_raw_frame
, andrecv_raw_frame
are now underframe
; useframe::recv
,frame::recv_raw
, andframe::recv_raw_frame
instead.
0.1.1 - 2022-05-10
recv_raw_frame
to receive length-delimited frames without deserializing them.
0.1.0 - 2022-05-09
send_frame
andrecv_frame
to send and receive length-delimited frames.