From 3252e51af4a0fc082637f94c06b1e200d70843b1 Mon Sep 17 00:00:00 2001 From: ovibos Date: Sun, 8 Jan 2017 15:52:54 -0500 Subject: [PATCH 1/3] Fix typo in README.md Without a trailing comma for the `channels` member, the getting started example won't compile. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f8ce272..1e65e77 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ fn main() { let cfg = Config { nickname: Some(format!("irc-rs")), server: Some(format!("irc.example.com")), - channels: Some(vec![format!("#test")]) + channels: Some(vec![format!("#test")]), .. Default::default() }; let server = IrcServer::from_config(cfg).unwrap(); From f4f49c6dd3c433a1821bbe97a6f3c9454e10dc4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Miedzi=C5=84ski?= Date: Wed, 15 Mar 2017 17:11:19 +0100 Subject: [PATCH 2/3] Ignore CTCP PINGs without timestamps --- src/client/server/mod.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/client/server/mod.rs b/src/client/server/mod.rs index b48d7b8..c53f86e 100644 --- a/src/client/server/mod.rs +++ b/src/client/server/mod.rs @@ -469,7 +469,9 @@ impl IrcServer { try!(self.send_ctcp_internal(resp, "SOURCE https://github.com/aatxe/irc")); self.send_ctcp_internal(resp, "SOURCE") }, - "PING" => self.send_ctcp_internal(resp, &format!("PING {}", tokens[1])), + "PING" if tokens.len() > 1 => { + self.send_ctcp_internal(resp, &format!("PING {}", tokens[1])) + }, "TIME" => self.send_ctcp_internal(resp, &format!( "TIME :{}", now().rfc822z() )), @@ -860,4 +862,15 @@ mod test { assert_eq!(&get_server_value(server)[..], "NOTICE test :\u{001}USERINFO :Testing.\u{001}\ \r\n"); } + + #[test] + #[cfg(feature = "ctcp")] + fn ctcp_ping_no_timestamp() { + let value = ":test!test@test PRIVMSG test :\u{001}PING\u{001}\r\n"; + let server = IrcServer::from_connection(test_config(), MockConnection::new(value)); + for message in server.iter() { + println!("{:?}", message); + } + assert_eq!(&get_server_value(server)[..], ""); + } } From 59b79c06cc0ee8b8d1709c0213bac197a82a93bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Miedzi=C5=84ski?= Date: Wed, 15 Mar 2017 17:28:07 +0100 Subject: [PATCH 3/3] Remove unused imports and fix broken test --- src/client/conn.rs | 3 +-- src/client/server/mod.rs | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/client/conn.rs b/src/client/conn.rs index b5f11a0..a82fb48 100644 --- a/src/client/conn.rs +++ b/src/client/conn.rs @@ -231,12 +231,11 @@ impl Connection for MockConnection { } mod imp { - use std::io::prelude::*; use std::io::Result; use std::io::Error; use std::io::ErrorKind; use std::sync::Mutex; - #[cfg(feature = "encode")] use encoding::{DecoderTrap, EncoderTrap, Encoding}; + #[cfg(feature = "encode")] use encoding::{DecoderTrap, EncoderTrap}; #[cfg(feature = "encode")] use encoding::label::encoding_from_whatwg_label; use client::data::kinds::{IrcRead, IrcWrite}; diff --git a/src/client/server/mod.rs b/src/client/server/mod.rs index b48d7b8..3882adb 100644 --- a/src/client/server/mod.rs +++ b/src/client/server/mod.rs @@ -700,7 +700,7 @@ mod test { } #[test] - #[should_panic(message = "All specified nicknames were in use.")] + #[should_panic(expected = "All specified nicknames were in use or disallowed.")] fn ran_out_of_nicknames() { let value = ":irc.pdgn.co 433 * test :Nickname is already in use.\r\n\ :irc.pdgn.co 433 * test2 :Nickname is already in use.\r\n";