Skip to content

Commit

Permalink
Relax the error type in handle
Browse files Browse the repository at this point in the history
Signed-off-by: Wiktor Kwapisiewicz <[email protected]>
  • Loading branch information
wiktor-k committed Mar 12, 2024
1 parent 8721f83 commit ed1635d
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 9 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@ This example starts listening on a Unix socket `ssh-agent.sock` and processes re
use tokio::net::UnixListener;
use ssh_agent_lib::agent::{Session, Agent};
use ssh_agent_lib::error::AgentError;
use ssh_agent_lib::proto::message::Message;
#[derive(Default)]
struct MyAgent;
#[ssh_agent_lib::async_trait]
impl Session for MyAgent {
async fn handle(&mut self, message: Message) -> Result<Message, AgentError> {
async fn handle(&mut self, message: Message) -> Result<Message, Box<dyn std::error::Error>> {
match message {
Message::SignRequest(request) => {
// get the signature by signing `request.data`
Expand Down
8 changes: 2 additions & 6 deletions examples/key_storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ use log::info;
use tokio::net::UnixListener;

use ssh_agent_lib::agent::{Agent, Session};
use ssh_agent_lib::error::AgentError;
use ssh_agent_lib::proto::message::{self, Message, SignRequest};
use ssh_agent_lib::proto::private_key::{PrivateKey, RsaPrivateKey};
use ssh_agent_lib::proto::public_key::PublicKey;
Expand Down Expand Up @@ -148,11 +147,8 @@ impl KeyStorage {

#[async_trait]
impl Session for KeyStorage {
async fn handle(&mut self, message: Message) -> Result<Message, AgentError> {
self.handle_message(message).or_else(|error| {
println!("Error handling message - {:?}", error);
Ok(Message::Failure)
})
async fn handle(&mut self, message: Message) -> Result<Message, Box<dyn std::error::Error>> {
self.handle_message(message)
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/agent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ impl ListeningSocket for TcpListener {

#[async_trait]
pub trait Session: 'static + Sync + Send + Sized {
async fn handle(&mut self, message: Message) -> Result<Message, AgentError>;
async fn handle(&mut self, message: Message) -> Result<Message, Box<dyn std::error::Error>>;

async fn handle_socket<S>(
&mut self,
Expand Down

0 comments on commit ed1635d

Please sign in to comment.