Use jid for receiver address
[?]
Dec 31, 2018, 5:27 PM
V5HDBSZM7GHPKTQAVSOXVF6UTSQTXSU3SJFWL7CIBFNBLJ4Q4V6QCDependencies
- [2]
PVCRPP3BSome servers don't send to in initial presence - [3]
PFC7OJQFQuery roster - [4]
ZI4GJ72VAdd message to xmpp command - [5]
VS6AHRWIMove XMPP to separate dir - [6]
IK3YDPTYUpdate deps - [7]
AGIW6YR3Use shared future for signal everywhere - [8]
HU3NZX5ZProcess self-presence via new processing code - [9]
NDDQQP2PUpdate deps - [10]
OGMBXBKPMove online to XmppConnection - [11]
UCY2DO3DTry to read request body - [12]
EOHEZXX3Move request processing to structure - [13]
QWE26TMVupdate deps - [14]
XGP44R5HRework stopping xmpp connection - [15]
BTOZT4JPUse failure - [16]
TDOR5XQUAccept destination - [17]
FV6BJ5K6Send self-presence and store account info in Rc so it willbe used in some future in parallel - [18]
FVVPKFTLInitial commit - [19]
X6L47BHQUse different structure for established xmpp connection - [20]
4LRBIGVTShow info about xmpp errors - [21]
5A5UVGNMMove receiver closing logic out of xmpp processing - [22]
QYY3KRGLUse failure instead Box<dyn Error> - [23]
5OBTKGDLUpdate deps
Change contents
- edit in src/xmpp/stanzas.rs at line 2
use xmpp_parsers::iq::Iq; - edit in src/xmpp/stanzas.rs at line 4
use xmpp_parsers::roster::Roster; - edit in src/xmpp/stanzas.rs at line 14[3.419]
pub fn make_get_roster(id: &str) -> Element {let mut get_roster = Iq::from_get(Roster {ver: None,items: vec![],});get_roster.id = Some(id.to_string());get_roster.into()} - edit in src/xmpp/mod.rs at line 68
let stop_future3 = stop_future.clone(); - replacement in src/xmpp/mod.rs at line 79
.and_then(|conn| conn.self_presence(stop_future2)).and_then(|conn| conn.initial_roster(stop_future2)).and_then(|conn| conn.self_presence(stop_future3)) - replacement in src/xmpp/mod.rs at line 129
S: FnMut(&mut Self, &Event) -> Result<bool, failure::Error>,S: FnMut(&mut Self, Event) -> Result<bool, failure::Error>, - replacement in src/xmpp/mod.rs at line 143
match stop_condition(&mut xmpp, &event) {match stop_condition(&mut xmpp, event) { - replacement in src/xmpp/mod.rs at line 184
fn online(&mut self, event: &Event) -> Result<bool, failure::Error> {fn online(&mut self, event: Event) -> Result<bool, failure::Error> { - edit in src/xmpp/mod.rs at line 201
fn initial_roster<F, E>(self,stop_future: F,) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>>whereF: Future<Error = E>,E: Into<failure::Error>,{let XmppConnection {account,inner: client,} = self;use tokio::prelude::Sink;let id_get_roster: String = "id_get_roster0".to_string();let get_roster = stanzas::make_get_roster(&id_get_roster);let account2 = account.clone();info!("Quering roster... {:?}", get_roster);client.send(get_roster).map_err(move |e| {error!("Error on querying roster: {}", e);(account2, Err(failure::SyncFailure::new(e).into()))}).and_then(move |client| {XmppConnection {inner: client,account,}.processing(move |_conn, event| {if let Event::Stanza(s) = event {use try_from::TryInto;match s.try_into() as Result<xmpp_parsers::iq::Iq, _> {Ok(iq) => {if let Some(id) = iq.id {if id == id_get_roster {match iq.payload {xmpp_parsers::iq::IqType::Error(_e) => {Err(format_err!("Get error instead of roster"))}_ => Ok(true),}} else {Ok(false)}} else {Err(format_err!("Iq stanza without id"))}}Err(_e) => Ok(false),}} else {Err(format_err!("Wrong event while waiting roster"))}},stop_future,)}).then(|r| match r {Err((account, e)) => {error!("Cann't wait roster: {}",e.err().map_or_else(|| std::borrow::Cow::Borrowed("None"),|e| e.to_string().into()));future::err(account)}Ok((conn, _)) => future::ok(conn),})} - replacement in src/xmpp/mod.rs at line 285
let XmppConnection { account, inner } = self;let client = inner;let XmppConnection {account,inner: client,} = self; - edit in src/xmpp/mod.rs at line 292
info!("Sending presence..."); - edit in src/xmpp/mod.rs at line 293
info!("Sending presence... {:?}", presence); - edit in src/xmpp/mod.rs at line 311
&& s.attr("to").map_or(false, |f| f == conn.account.jid) - replacement in src/xmpp/mod.rs at line 325
Err((account, e)) => {Err((account, _e)) => { - replacement in src/xmpp/mod.rs at line 335
pub struct XmppCommand;pub struct XmppCommand {pub xmpp_to: jid::Jid,pub message: String,} - replacement in src/xmpp/mod.rs at line 403
future::err(format_err!("Cmd error"))future::err(e) - edit in src/main.rs at line 22
use hyper::service::service_fn; - replacement in src/main.rs at line 27
use tokio::prelude::Sink;use tokio::prelude::{Future, Sink, Stream}; - edit in src/main.rs at line 37
struct ServiceCmd {cmd_send: tokio_channel::mpsc::Sender<XmppCommand>,}impl hyper::service::Service for ServiceCmd {type ReqBody = Body;type ResBody = Body;type Error = Box<dyn std::error::Error + Sync + Send + 'static>;type Future =Box<dyn Future<Item = Response<Self::ResBody>, Error = Self::Error> + Send + 'static>;fn call(&mut self, req: Request<Self::ReqBody>) -> Self::Future {let xmpp_to_opt = req.headers().get("X-XMPP-To");let xmpp_to_res: Result<jid::Jid, failure::Error> = xmpp_to_opt.map_or_else(|| Err(format_err!("No X-XMPP-To header")),|xmpp_to| {std::str::from_utf8(xmpp_to.as_bytes()).map_err(|e| e.into()).and_then(|s| {std::str::FromStr::from_str(s).map_err(|e: jid::JidParseError| e.into())})},); - edit in src/main.rs at line 62
match xmpp_to_res {Err(err) => {warn!("Unknown destination: {}", err);Box::new(tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from(format!("Unknown destination: {}", err))).map_err(|e| {Box::new(e) as Box<dyn std::error::Error + Sync + Send + 'static>}),)) as Box<Future<Item = _, Error = _> + Send + 'static>}Ok(xmpp_to) => {info!("Got request. Reading body...");let cmd_send = self.cmd_send.clone();Box::new(req.into_body().map_err(|e| {Box::new(e) as Box<dyn std::error::Error + Sync + Send + 'static>}).fold(String::new(), |mut acc, ch| {std::str::from_utf8(&*ch).map(|s| {acc.push_str(s);acc})}).and_then(move |message: String| {if !message.is_empty() {Box::new(cmd_send.clone().send(XmppCommand { xmpp_to, message }).then(|r| match r {Ok(_) => tokio::prelude::future::ok(Response::new(Body::from("Accepted"),)),Err(e) => {error!("Command sent error: {}", e);tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from(format!("Command sent error: {}",e))),)}}).map_err(|e| {Box::new(e)as Box<dyn std::error::Error + Sync + Send + 'static,>}),)} else {warn!("Empty message");Box::new(tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from("Empty message")).map_err(|e| {Box::new(e)as Box<dyn std::error::Error + Sync + Send + 'static,>}),))as Box<Future<Item = _, Error = _> + Send + 'static>}}),) as Box<Future<Item = _, Error = _> + Send + 'static>}}}}struct MakeServiceCmd {cmd_send: tokio_channel::mpsc::Sender<XmppCommand>,}impl<Ctx> hyper::service::MakeService<Ctx> for MakeServiceCmd {type ReqBody = Body;type ResBody = Body;type Error = Box<dyn std::error::Error + Sync + Send + 'static>;type Service = ServiceCmd;type Future = tokio::prelude::future::FutureResult<ServiceCmd, Self::MakeError>;type MakeError = hyper::http::Error;fn make_service(&mut self, _ctx: Ctx) -> Self::Future {tokio::prelude::future::ok(ServiceCmd {cmd_send: self.cmd_send.clone(),})}} - replacement in src/main.rs at line 191
.serve(move || {let cmd_send = cmd_send.clone();service_fn(move |_req: Request<Body>| {info!("Got request");cmd_send.clone().send(XmppCommand {}).then(|r| match r {Ok(_) => tokio::prelude::future::ok(Response::new(Body::from("Accepted"))),Err(e) => {error!("Command sent error: {}", e);tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from(format!("Command sent error: {}", e))),)}})})}).serve(MakeServiceCmd { cmd_send }) - replacement in Cargo.toml at line 23[3.7111]
try_from = "=0.2.2" # dependency of xmpp-parsersjid = "=0.5.2" # dependency of xmpp-parsers - edit in Cargo.lock at line 0
[[package]]name = "MacTypes-sys"version = "1.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 13
"memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 26
version = "0.3.6"version = "0.3.7" - replacement in Cargo.lock at line 36
version = "0.4.8"version = "0.4.10" - replacement in Cargo.lock at line 47
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 53
name = "autocfg"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"[[package]] - replacement in Cargo.lock at line 62
"backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)","backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 66
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 73
version = "0.3.9"version = "0.3.13" - replacement in Cargo.lock at line 76
"backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)","autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 79
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 86
version = "0.1.24"version = "0.1.28" - replacement in Cargo.lock at line 89
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 152
version = "1.0.25"version = "1.0.28" - replacement in Cargo.lock at line 167
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 203
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 211
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 216
version = "0.6.2"version = "0.6.3" - replacement in Cargo.lock at line 219
"crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-epoch 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 225
version = "0.6.1"version = "0.7.0" - replacement in Cargo.lock at line 228
"arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)","arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 230
"crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 238
version = "0.6.1"version = "0.6.3" - replacement in Cargo.lock at line 282
version = "0.8.12"version = "0.8.13" - replacement in Cargo.lock at line 296
"regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)","regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 313
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)","backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 321
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)","backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 332
"syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 393
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 426
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 455
version = "0.12.17"version = "0.12.19" - replacement in Cargo.lock at line 468
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 499
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 556
version = "0.2.44"version = "0.2.45" - replacement in Cargo.lock at line 596
version = "0.7.3"version = "0.7.5" - replacement in Cargo.lock at line 601
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 606
"tendril 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)","tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 616
version = "2.1.1"version = "2.1.2" - replacement in Cargo.lock at line 620
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 649
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 663
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 684
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 686
"openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)","openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 688
"openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)","openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 691
"security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 701
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 733
version = "1.8.0"version = "1.9.0" - replacement in Cargo.lock at line 736
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 741
version = "0.10.15"version = "0.10.16" - replacement in Cargo.lock at line 748
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 759
version = "0.9.39"version = "0.9.40" - replacement in Cargo.lock at line 762
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 790
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 793
"smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 864
"encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)","encoding_rs 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 867
"memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 889
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 900
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 912
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 980
version = "0.1.43"version = "0.1.44" - replacement in Cargo.lock at line 988
"redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 993
version = "1.0.6"version = "1.1.0" - replacement in Cargo.lock at line 997
"memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)","regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)","regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1005
version = "0.6.3"version = "0.6.4" - replacement in Cargo.lock at line 1030
version = "0.1.9"version = "0.1.11" - replacement in Cargo.lock at line 1057
"openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)","openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1081
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1087
version = "0.2.1"version = "0.2.2" - edit in Cargo.lock at line 1090
"MacTypes-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1092
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1115
"hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)","hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)","jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1119
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1124
"tokio-xmpp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","tokio-xmpp 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1126
"try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1132
version = "1.0.80"version = "1.0.83" - replacement in Cargo.lock at line 1137
version = "1.0.80"version = "1.0.83" - replacement in Cargo.lock at line 1142
"syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1152
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1190
version = "0.1.6"version = "0.1.7" - replacement in Cargo.lock at line 1193
"arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","arc-swap 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1209
version = "0.6.6"version = "0.6.7" - replacement in Cargo.lock at line 1221
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1245
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1284
version = "0.15.22"version = "0.15.23" - replacement in Cargo.lock at line 1307
"syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1317
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1319
"redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1326
version = "0.4.0"version = "0.4.1" - replacement in Cargo.lock at line 1347
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1370
version = "0.1.40"version = "0.1.41" - replacement in Cargo.lock at line 1373
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1386
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1460
"crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1465
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1478
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1481
"signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","signal-hook 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1506
"crossbeam-deque 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1510
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1520
"crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1558
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1569
version = "0.2.0"version = "0.2.1" - replacement in Cargo.lock at line 1597
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1612
"smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1636
"smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1830
"markup5ever 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","markup5ever 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1852
"checksum MacTypes-sys 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7dbbe033994ae2198a18517c7132d952a29fb1db44249a1234779da7c50f4698" - replacement in Cargo.lock at line 1855
"checksum arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5ed110e2537bdd3f5b9091707a8a5556a72ac49bbd7302ae0b28fdccb3246c""checksum arc-swap 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1025aeae2b664ca0ea726a89d574fe8f4e77dd712d443236ad1de00379450cf6" - replacement in Cargo.lock at line 1857
"checksum arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f405cc4c21cd8b784f6c8fc2adf9bc00f59558f0049b5ec21517f875963040cc""checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" - edit in Cargo.lock at line 1859
"checksum autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4e5f34df7a019573fb8bdc7e24a2bfebe51a2a1d6bfdbaeccedb3c41fc574727" - replacement in Cargo.lock at line 1861
"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a""checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0""checksum backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b5b493b66e03090ebc4343eb02f94ff944e0cbc9ac6571491d170ba026741eb5""checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" - replacement in Cargo.lock at line 1871
"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16""checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749" - replacement in Cargo.lock at line 1879
"checksum crossbeam-deque 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe1b6f945f824c7a25afe44f62e25d714c0cc523f8e99d8db5cd1026e1269d3""checksum crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2449aaa4ec7ef96e5fb24db16024b935df718e9ae1cec0a1e68feeca2efca7b8""checksum crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c55913cc2799171a550e307918c0a360e8c16004820291bf3b638969b4a01816""checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13""checksum crossbeam-epoch 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f10a4f8f409aaac4b16a5474fb233624238fcdeefb9ba50d5ea059aab63ba31c""checksum crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "41ee4864f4797060e52044376f7d107429ce1fb43460021b126424b7180ee21a" - replacement in Cargo.lock at line 1886
"checksum encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ca20350a7cb5aab5b9034731123d6d412caf3e92d4985e739e411ba0955fd0eb""checksum encoding_rs 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1a8fa54e6689eb2549c4efed8d00d7f3b2b994a064555b0e8df4ae3764bcc4be" - replacement in Cargo.lock at line 1907
"checksum hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c49a75385d35ff5e9202755f09beb0b878a05c4c363fcc52b23eeb5dcb6782cc""checksum hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)" = "f1ebec079129e43af5e234ef36ee3d7e6085687d145b7ea653b262d16c6b65f1" - replacement in Cargo.lock at line 1918
"checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311""checksum libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "2d2857ec59fadc0773853c664d2d18e7198e83883e7060b63c924cb077bd5c74" - replacement in Cargo.lock at line 1924
"checksum markup5ever 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a87c4100d614080c8ab43334fb028ebe387f273fb61ed4ff0eae9189b94b6be8""checksum markup5ever 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "897636f9850c3eef4905a5540683ed53dc9393860f0846cab2c2ddf9939862ff" - replacement in Cargo.lock at line 1926
"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16""checksum memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db4c41318937f6e76648f42826b1d9ade5c09cafb5aef7e351240a70f39206e9" - replacement in Cargo.lock at line 1938
"checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30""checksum openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "5e1309181cdcbdb51bc3b6bedb33dfac2a83b3d585033d3f6d9e22e8c1928613""checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238""checksum openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "ec7bd7ca4cce6dbdc77e7c1230682740d307d1218a87fb0349a571272be749f9" - replacement in Cargo.lock at line 1941
"checksum openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)" = "278c1ad40a89aa1e741a1eed089a2f60b18fab8089c3139b542140fc7d674106""checksum openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)" = "1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6" - replacement in Cargo.lock at line 1967
"checksum redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d""checksum redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "a84bcd297b87a545980a2d25a0beb72a1f490c31f0a9fde52fca35bfbb1ceb70" - replacement in Cargo.lock at line 1969
"checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467""checksum regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fbc557aac2b708fe84121caf261346cc2eed71978024337e42eb46b8a252ac6e""checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f""checksum regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4e47a2ed29da7a9e1960e1639e7a982e6edc6d49be308a3b02daf511504a16d1" - replacement in Cargo.lock at line 1973
"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395""checksum rustc-demangle 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "01b90379b8664dd83460d59bdc5dd1fd3172b8913788db483ed1325171eab2f7" - replacement in Cargo.lock at line 1981
"checksum security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab01dfbe5756785b5b4d46e0289e5a18071dfa9a7c2b24213ea00b9ef9b665bf""checksum security-framework-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "40d95f3d7da09612affe897f320d78264f0d2320f3e8eea27d12bd1bd94445e2" - replacement in Cargo.lock at line 1984
"checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef""checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c""checksum serde 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)" = "157e12af46859e968da75dea9845530e13d03bcab2009a41b9b7bb3cf4eb3ec2""checksum serde_derive 1.0.83 (registry+https://github.com/rust-lang/crates.io-index)" = "9469829702497daf2daf3c190e130c3fa72f719920f73c86160d43e8f8d76951" - replacement in Cargo.lock at line 1990
"checksum signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8941ae94fa73d0f73b422774b3a40a7195cecd88d1c090f4b37ade7dc795ab66""checksum signal-hook 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1f272d1b7586bec132ed427f532dd418d8beca1ca7f2caf7df35569b1415a4b4" - replacement in Cargo.lock at line 1993
"checksum smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "622df2d454c29a4d89b30dc3b27b42d7d90d6b9e587dbf8f67652eb7514da484""checksum smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b73ea3738b47563803ef814925e69be00799a8c07420be8b996f8e98fb2336db" - replacement in Cargo.lock at line 2002
"checksum syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)" = "ae8b29eb5210bc5cf63ed6149cbf9adfc82ac0be023d8735c176ee74a2db4da7""checksum syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9545a6a093a3f0bd59adb472700acc08cad3776f860f16a897dfce8c88721cbc" - replacement in Cargo.lock at line 2006
"checksum tendril 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9de21546595a0873061940d994bbbc5c35f024ae4fd61ec5c5b159115684f508""checksum tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b" - replacement in Cargo.lock at line 2011
"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b""checksum time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "847da467bf0db05882a9e2375934a8a55cffdc9db0d128af1518200260ba1f6c" - replacement in Cargo.lock at line 2027
"checksum tokio-xmpp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c27385c4781afc851c61ac66d79463c511bf073d3a5d71b8bfd13a816e475989""checksum tokio-xmpp 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f6583920d10a72bd1605adec50f5efb298e0ba5dcad1ff987560675a7280013b"