Add shutdown function to make actions before offline
[?]
Jan 22, 2019, 7:56 PM
5Y6YJ6UH55XJLPQ627ZGKTHW3IUFPFS5C4AYNCS6BX4BAWPLEZQACDependencies
- [2]
WBU7UOQWRead chatroom from config - [3]
IK3YDPTYUpdate deps - [4]
5A5UVGNMMove receiver closing logic out of xmpp processing - [5]
QTCUURXNAdd additional requirement for command stream - [6]
TDOR5XQUAccept destination - [7]
CBWCXUZZPrepare adding new items to roster - [8]
ALP2YJIURename XmppState to XmppProcessState - [9]
QWE26TMVupdate deps - [10]
RGOSS73UConvert self-presence to xmpp_parser's type - [11]
OGMBXBKPMove online to XmppConnection - [12]
VS6AHRWIMove XMPP to separate dir - [13]
HU3NZX5ZProcess self-presence via new processing code - [14]
PVCRPP3BSome servers don't send to in initial presence - [15]
5OBTKGDLUpdate deps - [16]
X6L47BHQUse different structure for established xmpp connection - [17]
ACXUIS63Update dependecies - [18]
77USPY5ISending messages works! - [19]
UCY2DO3DTry to read request body - [20]
QYY3KRGLUse failure instead Box<dyn Error> - [21]
3GEU7TC7Welcome to 2018! - [22]
5IKA4GO7Rename xmpp client field from "inner" to "client" - [23]
AGIW6YR3Use shared future for signal everywhere - [24]
BWDUANCVSecond part of processing result is only about stop_future - [25]
HKSQO7JZEnable hyper http server and configuration - [26]
ZI4GJ72VAdd message to xmpp command - [27]
EOHEZXX3Move request processing to structure - [28]
4LRBIGVTShow info about xmpp errors - [29]
XGP44R5HRework stopping xmpp connection - [30]
FV6BJ5K6Send self-presence and store account info in Rc so it willbe used in some future in parallel - [31]
AYQZ2UIAUpdate deps - [32]
FVVPKFTLInitial commit - [33]
V5HDBSZMUse jid for receiver address - [34]
OANBCLN5Move xmpp client into XmppState - [35]
NDDQQP2PUpdate deps - [36]
OB3HA2MDUse Client::new_with_jid to parse jid only once
Change contents
- edit in src/xmpp/stanzas.rs at line 3
use xmpp_parsers::message::{Body, Message, MessageType}; - replacement in src/xmpp/stanzas.rs at line 24
pub fn make_add_roster(id: &str, jid: xmpp_parsers::Jid) -> Element {pub fn make_add_roster(id: &str, jid: jid::Jid) -> Element { - edit in src/xmpp/stanzas.rs at line 30
ask: xmpp_parsers::roster::Ask::None, - edit in src/xmpp/stanzas.rs at line 37[3.796]→[3.796:952](∅→∅),[3.952]→[3.207:227](∅→∅),[3.207]→[3.207:227](∅→∅),[3.227]→[3.953:1191](∅→∅),[3.1191]→[3.455:457](∅→∅),[3.455]→[3.455:457](∅→∅)
pub fn make_ask_subscribe(jid: xmpp_parsers::Jid) -> Element {let mut presence = Presence::new(PresenceType::Subscribe);presence.to = Some(jid);presence.into()}pub fn make_chat_message(jid: xmpp_parsers::Jid, text: String) -> Element {let mut message = Message::new(Some(jid));message.bodies.insert(String::new(), Body(text));message.type_ = MessageType::Chat;message.into()} - replacement in src/xmpp/mod.rs at line 15
roster: HashMap<xmpp_parsers::Jid, (xmpp_parsers::roster::Subscription, Vec<String>)>,roster: HashMap<jid::Jid, ()>, - replacement in src/xmpp/mod.rs at line 20
pending_add_roster_ids: HashMap<String, (xmpp_parsers::Jid, String)>,pending_add_roster_ids: HashMap<String, (jid::Jid, String)>, - replacement in src/xmpp/mod.rs at line 86
as Box<dyn Future<Item = _, Error = _>>as Box<Future<Item = _, Error = _>> - replacement in src/xmpp/mod.rs at line 94
let client =Client::new_with_jid(account.jid.clone(), &account.password);info!("xmpp initialized");let res_client = Client::new(&account.jid, &account.password);match res_client {Err(_e) => Box::new(future::ok(future::Loop::Continue(account)))as Box<Future<Item = _, Error = _>>,Ok(client) => {info!("xmpp initialized"); - replacement in src/xmpp/mod.rs at line 101
let stop_future2 = stop_future.clone();let stop_future3 = stop_future.clone();let stop_future2 = stop_future.clone();let stop_future3 = stop_future.clone(); - replacement in src/xmpp/mod.rs at line 104
// future to wait for onlineBox::new(XmppConnection {state: XmppState {client,data: std::default::Default::default(),},account,// future to wait for onlineBox::new(XmppConnection {state: XmppState {client,data: std::default::Default::default(),},account,}.processing(XmppConnection::online, stop_future.clone()).map_err(|(acc, _)| acc).and_then(|(conn, r)| match r {Ok(Either::A(_)) => future::ok(conn),Ok(Either::B(_)) => future::err(conn.account),Err(_e) => future::err(conn.account),}).and_then(|conn| conn.initial_roster(stop_future2)).and_then(|conn| conn.self_presence(stop_future3)).then(|r| match r {Ok(conn) => future::ok(future::Loop::Break(conn)),Err(acc) => future::ok(future::Loop::Continue(acc)),},),) - replacement in src/xmpp/mod.rs at line 130
.processing(XmppConnection::online, stop_future.clone()).map_err(|(acc, _)| acc).and_then(|(conn, r)| match r {Ok(Either::A(_)) => future::ok(conn),Ok(Either::B(_)) => future::err(conn.account),Err(_e) => future::err(conn.account),}).and_then(|conn| conn.initial_roster(stop_future2)).and_then(|conn| conn.self_presence(stop_future3)).then(|r| match r {Ok(conn) => future::ok(future::Loop::Break(conn)),Err(acc) => future::ok(future::Loop::Continue(acc)),}),)} - replacement in src/xmpp/mod.rs at line 161
if let Some((_, (jid, message))) =if let Some((_, (jid, _message))) = - edit in src/xmpp/mod.rs at line 166
if let Some(ref mut rdata) = self.state.data.roster.get_mut(&jid) {rdata.1.push(message);} else {self.state.data.roster.insert(jid,(xmpp_parsers::roster::Subscription::None, vec![message]),);}} else {warn!("Wrong payload when adding {} to roster: {:?}",jid, iq.payload); - replacement in src/xmpp/mod.rs at line 173
for i in roster.items {if let Some(ref mut rdata) = self.state.data.roster.get_mut(&i.jid){info!("Update {} in roster", i.jid);rdata.0 = i.subscription;if !rdata.1.is_empty() {let sub_to = match rdata.0 {xmpp_parsers::roster::Subscription::To => true,xmpp_parsers::roster::Subscription::Both => true,_ => false,};if sub_to {info!("Subscribed to {}", i.jid);let jid = i.jid.clone();self.state.data.send_queue.extend(rdata.1.drain(..).map(|message| {stanzas::make_chat_message(jid.clone(), message)}),)} else {info!("Not subscribed to {}", i.jid);self.state.data.send_queue.push_back(stanzas::make_ask_subscribe(i.jid));}}} else {self.state.data.roster.extend(roster.items.into_iter().map(|i| { - replacement in src/xmpp/mod.rs at line 178
self.state.data.roster.insert(i.jid, (i.subscription, vec![]));}}(i.jid, ())})); - replacement in src/xmpp/mod.rs at line 387
self.state.data.roster.insert(i.jid, (i.subscription, vec![]));self.state.data.roster.insert(i.jid, ()); - replacement in src/xmpp/mod.rs at line 518
if let Some(ref mut rdata) = self.state.data.roster.get_mut(&cmd.xmpp_to) {if self.state.data.roster.get(&cmd.xmpp_to).is_some() { - edit in src/xmpp/mod.rs at line 520
let sub_to = match rdata.0 {xmpp_parsers::roster::Subscription::To => true,xmpp_parsers::roster::Subscription::Both => true,_ => false,};if sub_to {info!("Subscribed to {}", cmd.xmpp_to);self.state.data.send_queue.push_back(stanzas::make_chat_message(cmd.xmpp_to, cmd.message));} else {info!("Not subscribed to {}", cmd.xmpp_to);rdata.1.push(cmd.message);self.state.data.send_queue.push_back(stanzas::make_ask_subscribe(cmd.xmpp_to));} - edit in src/xmpp/mod.rs at line 535
fn shutdown(self) -> impl Future<Item = (), Error = failure::Error> {info!("Shutdown connection");future::ok(())} - replacement in src/xmpp/mod.rs at line 543
pub struct XmppCommand {pub xmpp_to: xmpp_parsers::Jid,pub message: String,}pub struct XmppCommand; - replacement in src/xmpp/mod.rs at line 592
future::err(format_err!("Command receiver is gone"))error!("Command receiver is gone");future::ok(future::Loop::Break(Some(conn))) - replacement in src/xmpp/mod.rs at line 606
future::ok(future::Loop::Break(()))future::ok(future::Loop::Break(Some(conn))) - replacement in src/xmpp/mod.rs at line 609
Err(_) => future::err(format_err!("Command receiver is broken")),Err(_) => {error!("Command receiver is broken");future::ok(future::Loop::Break(Some(conn)))} - replacement in src/xmpp/mod.rs at line 635
future::ok(future::Loop::Break(()))future::ok(future::Loop::Break(None)) - edit in src/xmpp/mod.rs at line 643
.and_then(|opt_conn| {if let Some(conn) = opt_conn {Box::new(conn.shutdown()) as Box<dyn Future<Item = (), Error = _>>} else {Box::new(future::ok(()))}}) - edit in src/main.rs at line 1
#![deny(missing_docs)]//! XMPP client service - edit in src/main.rs at line 7
extern crate minidom; - edit in src/main.rs at line 9
extern crate log;extern crate env_logger;#[macro_use] - edit in src/main.rs at line 14
extern crate tokio_channel; - edit in src/main.rs at line 17
#[macro_use]extern crate failure; - edit in src/main.rs at line 20
extern crate xmpp_parsers; - replacement in src/main.rs at line 22
use hyper::service::service_fn_ok;use hyper::service::service_fn; - edit in src/main.rs at line 25
use tokio::runtime::current_thread; - edit in src/main.rs at line 27
use tokio::prelude::Sink; - replacement in src/main.rs at line 31
use config::Config;use crate::config::Config; - replacement in src/main.rs at line 33
fn hello_world(_req: Request<Body>) -> Response<Body> {Response::new(Body::from("Test"))}mod xmpp;use crate::xmpp::{xmpp_process, XmppCommand};mod stoppable_receiver;use crate::stoppable_receiver::stop_receiver; - edit in src/main.rs at line 40
env_logger::init(); - replacement in src/main.rs at line 52
).get_matches();).get_matches(); - replacement in src/main.rs at line 55
let config = Config::new(args.value_of("config").expect("Mandatory option config"))let config = Config::read(args.value_of("config").expect("Mandatory option config")) - replacement in src/main.rs at line 63
.map_err(|_| ()).map_err(|e| {error!("Cann't get CTRL+C signal: {}", e.0);e.0}) - edit in src/main.rs at line 69
let (cmd_send, cmd_recv) = tokio_channel::mpsc::channel(10); - replacement in src/main.rs at line 72
.serve(|| service_fn_ok(hello_world)).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))),)}})})}) - replacement in src/main.rs at line 90
.map_err(|e| eprintln!("server error: {}", e));.map_err(|e| error!("server error: {}", e));let mut rt = Runtime::new().expect("Cann't start tokio"); - replacement in src/main.rs at line 94
hyper::rt::run(http_server);rt.spawn(http_server);let xmpp_join = std::thread::spawn(move || -> Result<(), failure::Error> {let recv = stop_receiver(cmd_recv, ctrl_c.clone().map(|_| ()));// Launch single-threaded runtimelet mut ctrt = current_thread::Runtime::new()?;let result = ctrt.block_on(xmpp_process(ctrl_c.clone(), recv, config.account));info!("Stopping xmpp thread");result});info!("Server started");rt.shutdown_on_idle().wait().expect("Shutdown error");info!("Server stopped");xmpp_join.join().expect("Join xmpp thread").expect("Result xmpp thread"); - replacement in src/config.rs at line 10
pub chatroom: HashMap<String, xmpp_parsers::Jid>,pub chatrooms: HashMap<String, xmpp_parsers::Jid>, - replacement in src/config.rs at line 20
pub fn new<P: AsRef<Path>>(path: P) -> io::Result<Config> {pub fn read<P: AsRef<Path>>(path: P) -> io::Result<Self> { - edit in Cargo.toml at line 6
edition = "2018" - edit in Cargo.toml at line 10
tokio-channel = "0.1" - edit in Cargo.toml at line 13
failure = "0.1" - edit in Cargo.toml at line 19
log = "0.4"env_logger = "0.6"minidom = "=0.9.1" # dependency of tokio-xmppxmpp-parsers = "0.11"try_from = "=0.2.2" # dependency of xmpp-parsers - edit in Cargo.lock at line 0
[[package]]name = "aho-corasick"version = "0.6.9"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 18
version = "0.3.4"version = "0.3.6" - replacement in Cargo.lock at line 28
version = "0.4.7"version = "0.4.8" - replacement in Cargo.lock at line 31
"nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)","nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 39
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 53
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 65
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 76
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 124
version = "0.4.10"version = "0.4.11" - replacement in Cargo.lock at line 189
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 197
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 202
version = "0.6.1"version = "0.6.2" - replacement in Cargo.lock at line 205
"crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)","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)", - replacement in Cargo.lock at line 211
version = "0.5.2"version = "0.6.1" - replacement in Cargo.lock at line 214
"arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)","arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 216
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 224
version = "0.5.0"version = "0.6.1" - edit in Cargo.lock at line 226
dependencies = ["cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 268
version = "0.8.10"version = "0.8.12" - edit in Cargo.lock at line 272
][[package]]name = "env_logger"version = "0.6.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)","humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)","regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)","termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 316
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)","synstructure 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)","synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 392
version = "0.1.13"version = "0.1.14" - replacement in Cargo.lock at line 396
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 399
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","http 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 401
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 403
"string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","string 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 412
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 418
version = "0.1.13"version = "0.1.14" - replacement in Cargo.lock at line 421
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 429
source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "humantime"version = "1.2.0" - edit in Cargo.lock at line 435
dependencies = ["quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 441
version = "0.12.13"version = "0.12.17" - replacement in Cargo.lock at line 444
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 447
"h2 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","h2 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)","http 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 452
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 455
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 458
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 460
"tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)","tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 485
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 491
version = "0.1.7"version = "0.1.9" - replacement in Cargo.lock at line 532
version = "1.1.0"version = "1.2.0" - edit in Cargo.lock at line 534
dependencies = ["version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 537
version = "1.2.0"version = "1.2.1" - replacement in Cargo.lock at line 542
version = "0.2.43"version = "0.2.44" - replacement in Cargo.lock at line 552
version = "0.1.4"version = "0.1.5" - replacement in Cargo.lock at line 555
"owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 557
][[package]]name = "log"version = "0.3.9"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 561
version = "0.4.5"version = "0.4.6" - replacement in Cargo.lock at line 589
"serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)","serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 602
version = "2.1.0"version = "2.1.1" - replacement in Cargo.lock at line 606
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 634
"lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 649
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 669
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 678
"tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)","tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 687
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 701
version = "0.1.12"version = "0.1.13" - replacement in Cargo.lock at line 722
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 733
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 749
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 756
version = "0.3.3"version = "0.4.0" - replacement in Cargo.lock at line 767
"lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)","lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 776
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 779
"smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 834
version = "0.4.20"version = "0.4.24" - replacement in Cargo.lock at line 850
"encoding_rs 0.8.10 (registry+https://github.com/rust-lang/crates.io-index)","encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 852
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 863
version = "0.6.8"version = "0.6.10" - replacement in Cargo.lock at line 866
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 875
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 886
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 888
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "rand"version = "0.6.1"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)","fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)","rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)","rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)","rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 907
][[package]]name = "rand_chacha"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 929
source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "rand_hc"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "rand_isaac"version = "0.1.1" - edit in Cargo.lock at line 943
dependencies = ["rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",] - edit in Cargo.lock at line 948
name = "rand_pcg"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "rand_xorshift"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]] - replacement in Cargo.lock at line 966
version = "0.1.40"version = "0.1.43" - edit in Cargo.lock at line 972
source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "regex"version = "1.0.6"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)","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)","thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)","utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "regex-syntax"version = "0.6.3" - replacement in Cargo.lock at line 994
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1029
version = "0.2.6"version = "0.2.7" - replacement in Cargo.lock at line 1051
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1067
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1077
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1098
"hyper 0.12.13 (registry+https://github.com/rust-lang/crates.io-index)","env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1105
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-signal 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","tokio-channel 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)","tokio-signal 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1109
"toml 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)","toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)","xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1124
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1131
version = "1.0.32"version = "1.0.33" - replacement in Cargo.lock at line 1135
"ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)","ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1174
version = "0.1.5"version = "0.1.6" - replacement in Cargo.lock at line 1177
"arc-swap 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","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)", - replacement in Cargo.lock at line 1193
version = "0.6.5"version = "0.6.6" - replacement in Cargo.lock at line 1205
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","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)", - replacement in Cargo.lock at line 1217
version = "0.1.1"version = "0.1.2" - replacement in Cargo.lock at line 1225
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1241
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1268
version = "0.15.14"version = "0.15.22" - replacement in Cargo.lock at line 1271
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1286
version = "0.10.0"version = "0.10.1" - replacement in Cargo.lock at line 1289
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1297
version = "3.0.4"version = "3.0.5" - replacement in Cargo.lock at line 1301
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1316
][[package]]name = "termcolor"version = "1.0.4"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1331
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","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)", - edit in Cargo.lock at line 1342
][[package]]name = "thread_local"version = "0.3.6"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1357
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","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)", - replacement in Cargo.lock at line 1364
version = "0.1.11"version = "0.1.13" - replacement in Cargo.lock at line 1367
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1370
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1372
"tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1376
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1378
"tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-uds 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)","tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-uds 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "tokio-channel"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1397
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1404
version = "0.1.3"version = "0.1.4" - replacement in Cargo.lock at line 1426
"tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1434
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1436
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1441
version = "0.1.6"version = "0.1.7" - replacement in Cargo.lock at line 1444
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1446
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1458
version = "0.2.6"version = "0.2.7" - replacement in Cargo.lock at line 1462
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1465
"signal-hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1468
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1477
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1482
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1487
version = "0.1.8"version = "0.1.9" - replacement in Cargo.lock at line 1490
"crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)","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)", - replacement in Cargo.lock at line 1493
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1495
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1501
version = "0.2.7"version = "0.2.8" - replacement in Cargo.lock at line 1504
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1522
version = "0.1.2"version = "0.1.3" - replacement in Cargo.lock at line 1525
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1527
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1531
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1536
version = "0.2.3"version = "0.2.4" - replacement in Cargo.lock at line 1539
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1542
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1546
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1548
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1556
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1565
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1572
"xml5ever 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)","xml5ever 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1578
version = "0.4.8"version = "0.4.10" - replacement in Cargo.lock at line 1593
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1596
"smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1600
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1602
"tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)","tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1615
"ipconfig 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","ipconfig 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)","lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1620
"smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1638
source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "ucd-util"version = "0.1.3" - replacement in Cargo.lock at line 1683
version = "1.7.1"version = "1.7.2" - edit in Cargo.lock at line 1694
source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "utf8-ranges"version = "1.0.2" - replacement in Cargo.lock at line 1727
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1761
name = "winapi-util"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",][[package]] - edit in Cargo.lock at line 1771
source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "wincolor"version = "1.0.1" - edit in Cargo.lock at line 1777
dependencies = ["winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)","winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 1809
version = "0.12.0"version = "0.12.1" - replacement in Cargo.lock at line 1812
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)","log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1836
"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e" - replacement in Cargo.lock at line 1838
"checksum arc-swap 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "af192669a9f44d2fb63c691a04183c8e12428f34041449270b08c0456587f5a5""checksum arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5ed110e2537bdd3f5b9091707a8a5556a72ac49bbd7302ae0b28fdccb3246c" - replacement in Cargo.lock at line 1840
"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef""checksum arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f405cc4c21cd8b784f6c8fc2adf9bc00f59558f0049b5ec21517f875963040cc" - replacement in Cargo.lock at line 1851
"checksum bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0ce55bd354b095246fc34caf4e9e242f5297a7fd938b090cadfea6eee614aa62""checksum bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "40ade3d27603c2cb345eb0912aec461a6dec7e06a4ae48589904e808335c7afa" - replacement in Cargo.lock at line 1861
"checksum crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3486aefc4c0487b9cb52372c97df0a48b8c249514af1ee99703bf70d2f2ceda1""checksum crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9""checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015""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" - replacement in Cargo.lock at line 1868
"checksum encoding_rs 0.8.10 (registry+https://github.com/rust-lang/crates.io-index)" = "065f4d0c826fdaef059ac45487169d918558e3cf86c9d89f6e81cf52369126e5""checksum encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ca20350a7cb5aab5b9034731123d6d412caf3e92d4985e739e411ba0955fd0eb""checksum env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "afb070faf94c85d17d50ca44f6ad076bce18ae92f0037d350947240a36e9d42e" - replacement in Cargo.lock at line 1884
"checksum h2 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "7dd33bafe2e6370e6c8eb0cf1b8c5f93390b90acde7e9b03723f166b28b648ed""checksum h2 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "1ac030ae20dee464c5d0f36544d8b914a6bc606da44a57e052d2b0f5dae129e0" - replacement in Cargo.lock at line 1886
"checksum http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "24f58e8c2d8e886055c3ead7b28793e1455270b5fb39650984c224bc538ba581""checksum http 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "02096a6d2c55e63f7fcb800690e4f889a25f6ec342e3adb4594e293b625215ab" - replacement in Cargo.lock at line 1888
"checksum hyper 0.12.13 (registry+https://github.com/rust-lang/crates.io-index)" = "95ffee0d1d30de4313fdaaa485891ce924991d45bbc18adfc8ac5b1639e62fbb""checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114""checksum hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c49a75385d35ff5e9202755f09beb0b878a05c4c363fcc52b23eeb5dcb6782cc" - replacement in Cargo.lock at line 1893
"checksum ipconfig 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "fccb81dd962b29a25de46c4f46e497b75117aa816468b6fff7a63a598a192394""checksum ipconfig 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "08f7eadeaf4b52700de180d147c4805f199854600b36faa963d91114827b2ffc" - replacement in Cargo.lock at line 1898
"checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7""checksum lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0""checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d""checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1""checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f""checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311" - replacement in Cargo.lock at line 1902
"checksum lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775751a3e69bde4df9b38dd00a1b5d6ac13791e4223d4a0506577f0dd27cfb7a""checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b""checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f""checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c""checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" - replacement in Cargo.lock at line 1908
"checksum memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b3629fe9fdbff6daa6c33b90f7c08355c1aca05a3d01fa8063b822fcf185f3b""checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16" - replacement in Cargo.lock at line 1917
"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2""checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" - replacement in Cargo.lock at line 1924
"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37""checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" - replacement in Cargo.lock at line 1934
"checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee""checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09" - replacement in Cargo.lock at line 1938
"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5""checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c" - edit in Cargo.lock at line 1941
"checksum rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9d223d52ae411a33cf7e54ec6034ec165df296ccd23533d671a28252b6f66a""checksum rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "771b009e3a508cb67e8823dda454aaa5368c7bc1c16829fb77d3e980440dd34a" - replacement in Cargo.lock at line 1945
"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1""checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4""checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08""checksum rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05""checksum rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "effa3fcaa47e18db002bdde6060944b6d2f9cfd8db471c30e873448ad9187be3""checksum redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d" - edit in Cargo.lock at line 1951
"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" - replacement in Cargo.lock at line 1957
"checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7""checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7" - replacement in Cargo.lock at line 1968
"checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce""checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811" - replacement in Cargo.lock at line 1972
"checksum signal-hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7ca1f1c0ed6c8beaab713ad902c041e4f09d06e1b4bb74c5fc553c078ed0110""checksum signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8941ae94fa73d0f73b422774b3a40a7195cecd88d1c090f4b37ade7dc795ab66" - replacement in Cargo.lock at line 1975
"checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d""checksum smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "622df2d454c29a4d89b30dc3b27b42d7d90d6b9e587dbf8f67652eb7514da484" - replacement in Cargo.lock at line 1978
"checksum string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00caf261d6f90f588f8450b8e1230fa0d5be49ee6140fdfbcb55335aff350970""checksum string 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "98998cced76115b1da46f63388b909d118a37ae0be0f82ad35773d4a4bc9d18d" - replacement in Cargo.lock at line 1984
"checksum syn 0.15.14 (registry+https://github.com/rust-lang/crates.io-index)" = "baaba45c6bf60fe29aaf241fa33306c0b75c801edea8378263a8f043b09a5634""checksum syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)" = "ae8b29eb5210bc5cf63ed6149cbf9adfc82ac0be023d8735c176ee74a2db4da7" - replacement in Cargo.lock at line 1986
"checksum synstructure 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec37f4fab4bafaf6b5621c1d54e6aa5d4d059a8f84929e87abfdd7f9f04c6db2""checksum tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "55c1195ef8513f3273d55ff59fe5da6940287a0d7a98331254397f464833675b""checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015""checksum tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7e91405c14320e5c79b3d148e1c86f40749a36e490642202a31689cb1a3452b2" - edit in Cargo.lock at line 1989
"checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f" - edit in Cargo.lock at line 1992
"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" - replacement in Cargo.lock at line 1994
"checksum tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6e93c78d23cc61aa245a8acd2c4a79c4d7fa7fb5c3ca90d5737029f043a84895""checksum tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "a7817d4c98cc5be21360b3b37d6036fe9b7aefa5b7a201b7b16ff33423822f7d""checksum tokio-channel 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "530d0fb87416dd531600f7cccc438bb35c5b91883065c9e6dca7cdecee991cfa" - replacement in Cargo.lock at line 1997
"checksum tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f90fcd90952f0a496d438a976afba8e5c205fb12123f813d8ab3aa1c8436638c""checksum tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "331c8acc267855ec06eb0c94618dcbbfea45bed2d20b77252940095273fb58f6" - replacement in Cargo.lock at line 2001
"checksum tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4b26fd37f1125738b2170c80b551f69ff6fecb277e6e5ca885e53eec2b005018""checksum tokio-signal 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "40da88e6445ed335e14746b60986a6c8b3632b09bc9097df76b4a6ddd16f1f92""checksum tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "502b625acb4ee13cbb3b90b8ca80e0addd263ddacf6931666ef751e610b07fb5""checksum tokio-signal 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "dd6dc5276ea05ce379a16de90083ec80836440d5ef8a6a39545a3207373b8296" - replacement in Cargo.lock at line 2004
"checksum tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3929aee321c9220ed838ed6c3928be7f9b69986b0e3c22c972a66dbf8a298c68""checksum tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3a52f00c97fedb6d535d27f65cccb7181c8dd4c6edc3eda9ea93f6d45d05168e""checksum tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "56c5556262383032878afad66943926a1d1f0967f17e94bd7764ceceb3b70e7f""checksum tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4f37f0111d76cc5da132fe9bc0590b9b9cfd079bc7e75ac3846278430a299ff8" - replacement in Cargo.lock at line 2007
"checksum tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c""checksum tokio-uds 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "df195376b43508f01570bacc73e13a1de0854dc59e79d1ec09913e8db6dd2a70""checksum tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "66268575b80f4a4a710ef83d087fdfeeabdce9b74c797535fbac18a2cb906e92""checksum tokio-uds 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "99ce87382f6c1a24b513a72c048b2c8efe66cb5161c9061d00bee510f08dc168" - replacement in Cargo.lock at line 2010
"checksum toml 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4a2ecc31b0351ea18b3fe11274b8db6e4d82bce861bbb22e6dbed40417902c65""checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" - edit in Cargo.lock at line 2016
"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" - replacement in Cargo.lock at line 2023
"checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6""checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" - edit in Cargo.lock at line 2025
"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" - edit in Cargo.lock at line 2036
"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab" - edit in Cargo.lock at line 2038
"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba" - replacement in Cargo.lock at line 2042
"checksum xml5ever 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ead952cf8bab253fb5cb56e1fff780747bbf7a7258fb0451afe645a166050b1f""checksum xml5ever 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "32cd7ebf0203c620906230ce22caa5df0b603c32b6fef72a275a48f6a2ae64b9"